From 662c2c6f9070a4f69d647f9a516fc537a7d01fa3 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 20 Feb 2021 13:08:12 +0100 Subject: =?UTF-8?q?tv=20xmonad:=20queryPrefix=20->=20(=3D=3F=3F)?= --- tv/5pkgs/haskell/xmonad-tv/src/main.hs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tv/5pkgs/haskell/xmonad-tv/src/main.hs b/tv/5pkgs/haskell/xmonad-tv/src/main.hs index e5a4473f..177f313c 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/main.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/main.hs @@ -60,9 +60,8 @@ main = getArgs >>= \case args -> hPutStrLn stderr ("bad arguments: " <> show args) >> exitFailure -queryPrefix :: Query String -> String -> Query Bool -queryPrefix query prefix = - fmap (Data.List.isPrefixOf prefix) query +(=??) :: Query a -> (a -> Bool) -> Query Bool +(=??) x p = fmap p x mainNoArgs :: IO () @@ -88,7 +87,7 @@ mainNoArgs = do , manageHook = composeAll [ appName =? "fzmenu-urxvt" --> doCenterFloat - , appName `queryPrefix` "pinentry" --> doCenterFloat + , appName =?? Data.List.isPrefixOf "pinentry" --> doCenterFloat , title =? "Upload to Imgur" --> doRectFloat (W.RationalRect 0 0 (1 % 8) (1 % 8)) , placeHook (smart (1,0)) -- cgit v1.2.3 From 156fbc44c886eb787aef685593deb4fd6ca191dd Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:02:05 +0100 Subject: tv gitrepos: add hack --- tv/2configs/gitrepos.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index 5b6a70b2..627326d3 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -114,6 +114,7 @@ let { }; } // mapAttrs (_: recursiveUpdate { cgit.section = "3. Haskell libraries"; }) { blessings = {}; + hack = {}; hc = {}; mime = {}; quipper = {}; -- cgit v1.2.3 From 24bb1ecfbcea720bd00a1c56d6b56156a1984835 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:18:03 +0100 Subject: hack: init at 1.0.0 --- krebs/5pkgs/haskell/hack.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 krebs/5pkgs/haskell/hack.nix diff --git a/krebs/5pkgs/haskell/hack.nix b/krebs/5pkgs/haskell/hack.nix new file mode 100644 index 00000000..4e157107 --- /dev/null +++ b/krebs/5pkgs/haskell/hack.nix @@ -0,0 +1,22 @@ +{ mkDerivation, base, blessings, containers, data-default, fetchgit +, lens, mtl, old-locale, process, scanner, stdenv, time, unix +, zippers +}: +mkDerivation { + pname = "hack"; + version = "1.0.0"; + src = fetchgit { + url = "https://cgit.krebsco.de/hack"; + sha256 = "0hi6frpnxbg3h6s7gd48ri57jc226qycy4rnhmpzpq195xf8y3pf"; + rev = "cb004b2e5f0fce6cea8d54e60558a1c1904dbe39"; + fetchSubmodules = true; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base ]; + executableHaskellDepends = [ + base blessings containers data-default lens mtl old-locale process + scanner time unix zippers + ]; + license = stdenv.lib.licenses.mit; +} -- cgit v1.2.3 From 07da2c7f9bdc3c815f7a516fcc331e63059ec493 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:31:02 +0100 Subject: tv gitrepos: add pager --- tv/2configs/gitrepos.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index 627326d3..d52a618c 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -96,6 +96,8 @@ let { nix-writers = { cgit.desc = "collection of package builders"; }; + pager = { + }; populate = { cgit.desc = "source code installer"; }; -- cgit v1.2.3 From 2556ba30facff99e719b30d6f96ab5e14d51e5f0 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:39:00 +0100 Subject: tv gitrepos: add X11-aeson --- tv/2configs/gitrepos.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index d52a618c..71f5e957 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -115,6 +115,7 @@ let { ni = { }; } // mapAttrs (_: recursiveUpdate { cgit.section = "3. Haskell libraries"; }) { + X11-aeson = {}; blessings = {}; hack = {}; hc = {}; -- cgit v1.2.3 From f465e0f49fe29c88dc32a5cdfbf6678cbef9f2e4 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:44:28 +0100 Subject: tv gitrepos: add xmonad-aeson --- tv/2configs/gitrepos.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index 71f5e957..7c6837ff 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -125,6 +125,7 @@ let { wai-middleware-time = {}; web-routes-wai-custom = {}; xintmap = {}; + xmonad-aeson = {}; xmonad-stockholm = {}; } // mapAttrs (_: recursiveUpdate { cgit.section = "4. museum"; }) { cac-api = { -- cgit v1.2.3 From 840f38b8e9332456e374f14157723105740f9ad3 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 21:55:12 +0100 Subject: X11-aeson: init at 1.0.0 --- krebs/5pkgs/haskell/X11-aeson.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 krebs/5pkgs/haskell/X11-aeson.nix diff --git a/krebs/5pkgs/haskell/X11-aeson.nix b/krebs/5pkgs/haskell/X11-aeson.nix new file mode 100644 index 00000000..7db6c28a --- /dev/null +++ b/krebs/5pkgs/haskell/X11-aeson.nix @@ -0,0 +1,13 @@ +{ mkDerivation, aeson, base, fetchgit, stdenv, X11 }: +mkDerivation { + pname = "X11-aeson"; + version = "1.0.0"; + src = fetchgit { + url = "https://cgit.krebsco.de/X11-aeson"; + sha256 = "0y9nvssqpvqgl46g7nz9738l8jmpa7an8r3am3qaqcvmvzgwxh0d"; + rev = "c0a70a62513baf2b437db4ebe3e5a32e3cfa5905"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ aeson base X11 ]; + license = stdenv.lib.licenses.mit; +} -- cgit v1.2.3 From 758a9422f55db2ce897d90d87348c7bfc55abb0d Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 22:07:08 +0100 Subject: xmonad-aeson: init at 1.0.0 --- krebs/5pkgs/haskell/xmonad-aeson.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 krebs/5pkgs/haskell/xmonad-aeson.nix diff --git a/krebs/5pkgs/haskell/xmonad-aeson.nix b/krebs/5pkgs/haskell/xmonad-aeson.nix new file mode 100644 index 00000000..3fccab46 --- /dev/null +++ b/krebs/5pkgs/haskell/xmonad-aeson.nix @@ -0,0 +1,13 @@ +{ mkDerivation, aeson, base, fetchgit, stdenv, X11-aeson, xmonad }: +mkDerivation { + pname = "xmonad-aeson"; + version = "1.0.0"; + src = fetchgit { + url = "https://cgit.krebsco.de/xmonad-aeson"; + sha256 = "0l1gna6p1498vzm6kj0ywj0i7775mz5n7k9nymwggvfb1pyxv3h9"; + rev = "a95f652b150f17db3f2439214a6346335d6d8d89"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ aeson base X11-aeson xmonad ]; + license = stdenv.lib.licenses.mit; +} -- cgit v1.2.3 From e217c289eec3f1a0d27b380b850b457a5421dd44 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 23 Feb 2021 22:42:18 +0100 Subject: tv gitrepos: add xmonad-web --- tv/2configs/gitrepos.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index 7c6837ff..2e73640f 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -127,6 +127,7 @@ let { xintmap = {}; xmonad-aeson = {}; xmonad-stockholm = {}; + xmonad-web = {}; } // mapAttrs (_: recursiveUpdate { cgit.section = "4. museum"; }) { cac-api = { cgit.desc = "CloudAtCost API command line interface"; -- cgit v1.2.3 From 79dab4b2aecd06f2a2a84196af096253a0296418 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 23 Feb 2021 23:41:38 +0100 Subject: news: allos all CORS --- krebs/2configs/news.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/krebs/2configs/news.nix b/krebs/2configs/news.nix index ce4e8340..780c270b 100644 --- a/krebs/2configs/news.nix +++ b/krebs/2configs/news.nix @@ -19,6 +19,10 @@ root /var/lib/brockman; index brockman.json; ''; + extraConfig = '' + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + ''; }; }; systemd.tmpfiles.rules = [ -- cgit v1.2.3 From 924471087c667640bad7ba38b5f9b00f2770f906 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 23 Feb 2021 23:42:12 +0100 Subject: news: build graph.svg on change --- krebs/2configs/news.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/krebs/2configs/news.nix b/krebs/2configs/news.nix index 780c270b..a6cf02c1 100644 --- a/krebs/2configs/news.nix +++ b/krebs/2configs/news.nix @@ -29,6 +29,36 @@ "d /var/lib/brockman 1750 brockman nginx -" ]; + systemd.services.brockman-graph = { + path = [ + pkgs.graphviz + pkgs.jq + pkgs.inotifyTools + ]; + serviceConfig = { + ExecStart = pkgs.writers.writeDash "brockman-graph" '' + + while :; do + graphviz="$(cat /var/lib/brockman/brockman.json \ + | jq -r ' + .bots | + to_entries | + map(select(.value.extraChannels|length > 1 )) | + .[] | + "\"\(.key)\" -> {\(.value.extraChannels|map("\""+.+"\"")|join(" "))}" + ')" + echo "digraph news { $graphviz }" | circo -Tsvg > /var/lib/brockman/graph.svg + + inotifywait -q -e MODIFY /var/lib/brockman/brockman.json + done + ''; + User = "brockman"; + }; + wantedBy = [ "multi-user.target" ]; + }; + + systemd.services.brockman.serviceConfig.LimitNOFILE = 16384; + systemd.services.brockman.environment.BROCKMAN_LOG_LEVEL = "DEBUG"; krebs.brockman = { enable = true; config = { @@ -57,6 +87,7 @@ "#all" "#aluhut" "#news" + "#lasstube" ]; }; } -- cgit v1.2.3 From 1f34fcdcd076003326a385db958b64820211dd78 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 23 Feb 2021 23:42:33 +0100 Subject: news candyman: add more helpers --- krebs/2configs/news.nix | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/krebs/2configs/news.nix b/krebs/2configs/news.nix index a6cf02c1..410beb04 100644 --- a/krebs/2configs/news.nix +++ b/krebs/2configs/news.nix @@ -122,13 +122,36 @@ add-youtube.filename = pkgs.writeDash "add-youtube" '' set -euf if [ "$#" -ne 1 ]; then - echo 'usage: ${name}: add-youtube $nick $channelid' + echo 'usage: ${name}: add-youtube $nick $channel/video/stream/id' exit 1 fi youtube_nick=$(echo "$1" | ${pkgs.jq}/bin/jq -Rr '[match("(\\S+)\\s*";"g").captures[].string][0]') - youtube_id=$(echo "$1" | ${pkgs.jq}/bin/jq -Rr '[match("(\\S+)\\s*";"g").captures[].string][1]') + youtube_url=$(echo "$1" | ${pkgs.jq}/bin/jq -Rr '[match("(\\S+)\\s*";"g").captures[].string][1]') + if [ ''${#youtube_url} -eq 24 ]; then + youtube_id=$youtube_url + else + youtube_id=$(${pkgs.youtube-dl}/bin/youtube-dl --max-downloads 1 -j "$youtube_url" | ${pkgs.jq}/bin/jq -r '.channel_id') + fi echo "brockman: add yt_$youtube_nick http://rss.r/?action=display&bridge=Youtube&context=By+channel+id&c=$youtube_id&duration_min=&duration_max=&format=Mrss" ''; + add-twitch.filename = pkgs.writeDash "add-twitch" '' + set -euf + if [ "$#" -ne 1 ]; then + echo 'usage: ${name}: add-twitch $handle' + exit 1 + fi + twitch_nick=$(echo "$1" | ${pkgs.jq}/bin/jq -Rr '[match("(\\S+)\\s*";"g").captures[].string][0]') + echo "brockman: add twitch_$twitch_nick http://rss.r/?action=display&bridge=Twitch&channel=$twitch_nick&type=all&format=Atom" + ''; + add-twitter.filename = pkgs.writeDash "add-twitter" '' + set -euf + if [ "$#" -ne 1 ]; then + echo 'usage: ${name}: add-twitter $handle' + exit 1 + fi + twitter_nick=$(echo "$1" | ${pkgs.jq}/bin/jq -Rr '[match("(\\S+)\\s*";"g").captures[].string][0]') + echo "brockman: add tw_$twitter_nick http://rss.r/?action=display&bridge=Twitch&channel=$twitter_nick&type=all&format=Atom" + ''; search.filename = pkgs.writeDash "search" '' set -euf if [ "$#" -ne 1 ]; then -- cgit v1.2.3 From 95dca0b99b4bb54d03c5f18d2a2939a1343d3e28 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 27 Feb 2021 22:57:19 +0100 Subject: tv mpvterm: init --- tv/5pkgs/simple/mpvterm/default.nix | 8 ++ tv/5pkgs/simple/mpvterm/mpvterm.patch | 146 ++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 tv/5pkgs/simple/mpvterm/default.nix create mode 100644 tv/5pkgs/simple/mpvterm/mpvterm.patch diff --git a/tv/5pkgs/simple/mpvterm/default.nix b/tv/5pkgs/simple/mpvterm/default.nix new file mode 100644 index 00000000..66ad08a7 --- /dev/null +++ b/tv/5pkgs/simple/mpvterm/default.nix @@ -0,0 +1,8 @@ +{ pkgs }: + +pkgs.mpv-unwrapped.overrideAttrs (old: rec { + pname = "mpvterm"; + patches = old.patches or [] ++ [ + ./mpvterm.patch + ]; +}) diff --git a/tv/5pkgs/simple/mpvterm/mpvterm.patch b/tv/5pkgs/simple/mpvterm/mpvterm.patch new file mode 100644 index 00000000..12636880 --- /dev/null +++ b/tv/5pkgs/simple/mpvterm/mpvterm.patch @@ -0,0 +1,146 @@ +commit 5ded4dac370ce5d8d727c5d3891448f942edbfdf +Author: tv +Date: Sat Feb 27 22:54:55 2021 +0100 + + x11: add input forwarding support + +diff --git a/video/out/x11_common.c b/video/out/x11_common.c +index ac551fae8e..2e95451d7f 100644 +--- a/video/out/x11_common.c ++++ b/video/out/x11_common.c +@@ -25,6 +25,10 @@ + #include + #include + ++#include ++#include ++#include ++ + #include + #include + #include +@@ -1097,6 +1101,73 @@ static void release_all_keys(struct vo *vo) + x11->win_drag_button1_down = false; + } + ++ ++#define FORWARD_START 1 ++#define FORWARD_READY 2 ++#define FORWARD_ERROR 3 ++static int forward_state = FORWARD_START; ++static int forward_fd, forward_len; ++static struct sockaddr_un forward_un; ++static char forward_buf[BUFSIZ]; ++ ++static void forward_start(void) { ++ const char *socket_path = getenv("FORWARD_SOCKET"); ++ if (socket_path == NULL) { ++ fprintf(stderr, "forward_start: environment variable FORWARD_SOCKET not set\n"); ++ forward_state = FORWARD_ERROR; ++ return; ++ } ++ ++ if ((forward_fd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) { ++ perror("socket"); ++ } else { ++ memset(&forward_un, 0, sizeof(forward_un)); ++ forward_un.sun_family = AF_UNIX; ++ strcpy(forward_un.sun_path, socket_path); ++ forward_len = offsetof(struct sockaddr_un, sun_path) + strlen(socket_path); ++ forward_state = FORWARD_READY; ++ } ++} ++static void forward_send(const char *fmt, ...) { ++ if (forward_state != FORWARD_READY) return; ++ ++ va_list argp; ++ va_start(argp, fmt); ++ int n1 = vsnprintf(forward_buf, BUFSIZ, fmt, argp); ++ if (n1 < BUFSIZ + 1) { ++ forward_buf[n1++] = '\n'; ++ forward_buf[n1] = '\0'; ++ int n2 = sendto(forward_fd, forward_buf, n1, 0, (struct sockaddr *)&forward_un, forward_len); ++ if (n2 < 0) { ++ perror("sendto"); ++ } ++ } ++} ++static const char *forward_keyname(KeySym keySym) { ++ const char *name; ++ if (keySym == NoSymbol) { ++ name = "NoSymbol"; ++ } else if (!(name = XKeysymToString(keySym))) { ++ name = "NoName"; ++ } ++ return name; ++} ++static void forward_keydown(KeySym keySym) { ++ forward_send("xdotool keydown %s", forward_keyname(keySym)); ++} ++static void forward_keyup(KeySym keySym) { ++ forward_send("xdotool keyup %s", forward_keyname(keySym)); ++} ++static void forward_mousedown(int button) { ++ forward_send("xdotool mousedown %d", button); ++} ++static void forward_mouseup(int button) { ++ forward_send("xdotool mouseup %d", button); ++} ++static void forward_mousemove(int x, int y) { ++ forward_send("xdotool mousemove %d %d", x, y); ++} ++ + void vo_x11_check_events(struct vo *vo) + { + struct vo_x11_state *x11 = vo->x11; +@@ -1105,6 +1176,10 @@ void vo_x11_check_events(struct vo *vo) + + xscreensaver_heartbeat(vo->x11); + ++ if (forward_state == FORWARD_START) { ++ forward_start(); ++ } ++ + while (XPending(display)) { + XNextEvent(display, &Event); + MP_TRACE(x11, "XEvent: %d\n", Event.type); +@@ -1146,6 +1221,7 @@ void vo_x11_check_events(struct vo *vo) + if (mpkey) + mp_input_put_key(x11->input_ctx, mpkey | modifiers); + } ++ forward_keydown(XLookupKeysym(&Event.xkey, 0)); + break; + } + case FocusIn: +@@ -1161,6 +1237,7 @@ void vo_x11_check_events(struct vo *vo) + break; + case KeyRelease: + release_all_keys(vo); ++ forward_keyup(XLookupKeysym(&Event.xkey, 0)); + break; + case MotionNotify: + if (x11->win_drag_button1_down && !x11->fs && +@@ -1182,6 +1259,7 @@ void vo_x11_check_events(struct vo *vo) + Event.xmotion.y); + } + x11->win_drag_button1_down = false; ++ forward_mousemove(Event.xmotion.x, Event.xmotion.y); + break; + case LeaveNotify: + if (Event.xcrossing.mode != NotifyNormal) +@@ -1204,6 +1282,7 @@ void vo_x11_check_events(struct vo *vo) + get_mods(Event.xbutton.state) | MP_KEY_STATE_DOWN); + long msg[4] = {XEMBED_REQUEST_FOCUS}; + vo_x11_xembed_send_message(x11, msg); ++ forward_mousedown(Event.xbutton.button); + break; + case ButtonRelease: + if (Event.xbutton.button - 1 >= MP_KEY_MOUSE_BTN_COUNT) +@@ -1213,6 +1292,7 @@ void vo_x11_check_events(struct vo *vo) + mp_input_put_key(x11->input_ctx, + (MP_MBTN_BASE + Event.xbutton.button - 1) | + get_mods(Event.xbutton.state) | MP_KEY_STATE_UP); ++ forward_mouseup(Event.xbutton.button); + break; + case MapNotify: + x11->window_hidden = false; -- cgit v1.2.3 From 009b9f735e9305d0e1c1e5678252b172f36fb449 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 28 Feb 2021 21:09:55 +0100 Subject: tv xmonad: doFloatCenter if appName ~ /Float/ --- tv/5pkgs/haskell/xmonad-tv/src/main.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/5pkgs/haskell/xmonad-tv/src/main.hs b/tv/5pkgs/haskell/xmonad-tv/src/main.hs index 177f313c..c93a9473 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/main.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/main.hs @@ -88,6 +88,7 @@ mainNoArgs = do composeAll [ appName =? "fzmenu-urxvt" --> doCenterFloat , appName =?? Data.List.isPrefixOf "pinentry" --> doCenterFloat + , appName =?? Data.List.isInfixOf "Float" --> doCenterFloat , title =? "Upload to Imgur" --> doRectFloat (W.RationalRect 0 0 (1 % 8) (1 % 8)) , placeHook (smart (1,0)) -- cgit v1.2.3 From 1f7fabbd272581d10576f86e7d6b64570e05518e Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 28 Feb 2021 21:08:39 +0100 Subject: tv xmonad: add xdeny --- tv/5pkgs/haskell/xmonad-tv/src/Paths.hs | 3 +++ tv/5pkgs/haskell/xmonad-tv/src/main.hs | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/tv/5pkgs/haskell/xmonad-tv/src/Paths.hs b/tv/5pkgs/haskell/xmonad-tv/src/Paths.hs index b2ad01ae..2569b60c 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/Paths.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/Paths.hs @@ -32,3 +32,6 @@ xcalib = findExecutable "xcalib" xdpychvt :: FilePath xdpychvt = findExecutable "xdpychvt" + +xterm :: FilePath +xterm = findExecutable "xterm" diff --git a/tv/5pkgs/haskell/xmonad-tv/src/main.hs b/tv/5pkgs/haskell/xmonad-tv/src/main.hs index c93a9473..532f3ed1 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/main.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/main.hs @@ -218,6 +218,19 @@ myKeys conf = Map.fromList $ def { XMonad.Prompt.font = myFont } +xdeny :: X () +xdeny = + forkFile + Paths.xterm + [ "-fn", myFont + , "-geometry", "300x100" + , "-name", "AlertFloat" + , "-bg", "#E4002B" + , "-e", "sleep", "0.05" + ] + Nothing + + pagerConfig :: PagerConfig pagerConfig = def { pc_font = myFont -- cgit v1.2.3 From 7e158f1c533de5ddc3a3cf77d360338c60ee3724 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 28 Feb 2021 21:12:46 +0100 Subject: tv xmonad: no layout changes while focusing floats --- tv/5pkgs/haskell/xmonad-tv/src/XMonad/Extra.hs | 14 ++++++++++++++ tv/5pkgs/haskell/xmonad-tv/src/main.hs | 7 ++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 tv/5pkgs/haskell/xmonad-tv/src/XMonad/Extra.hs diff --git a/tv/5pkgs/haskell/xmonad-tv/src/XMonad/Extra.hs b/tv/5pkgs/haskell/xmonad-tv/src/XMonad/Extra.hs new file mode 100644 index 00000000..74222712 --- /dev/null +++ b/tv/5pkgs/haskell/xmonad-tv/src/XMonad/Extra.hs @@ -0,0 +1,14 @@ +module XMonad.Extra where + +import XMonad +import qualified Data.Map as Map +import qualified XMonad.StackSet as W + + +isFloating :: Window -> WindowSet -> Bool +isFloating w = + Map.member w . W.floating + +isFloatingX :: Window -> X Bool +isFloatingX w = + isFloating w <$> gets windowset diff --git a/tv/5pkgs/haskell/xmonad-tv/src/main.hs b/tv/5pkgs/haskell/xmonad-tv/src/main.hs index 532f3ed1..48127a59 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/main.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/main.hs @@ -7,11 +7,12 @@ module Main (main) where import System.Exit (exitFailure) import Control.Exception -import Control.Monad.Extra (whenJustM) +import Control.Monad.Extra (ifM, whenJustM) import qualified Data.List import Graphics.X11.ExtraTypes.XF86 import Text.Read (readEither) import XMonad +import XMonad.Extra (isFloatingX) import System.IO (hPutStrLn, stderr) import System.Environment (getArgs, getEnv, getEnvironment, lookupEnv) import System.Posix.Process (executeFile) @@ -154,8 +155,8 @@ myKeys conf = Map.fromList $ , ((_S , xK_Menu ), gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) ) , ((_C , xK_Menu ), toggleWS) - , ((_4 , xK_space ), sendMessage NextLayout) - , ((_4M , xK_space ), resetLayout) + , ((_4 , xK_space ), withFocused $ \w -> ifM (isFloatingX w) xdeny $ sendMessage NextLayout) + , ((_4M , xK_space ), withFocused $ \w -> ifM (isFloatingX w) xdeny $ resetLayout) , ((_4 , xK_m ), windows W.focusMaster) , ((_4 , xK_j ), windows W.focusDown) -- cgit v1.2.3 From 317b9549a217e552bf8aa314a6d6f46b532c6a8a Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 3 Mar 2021 03:06:30 +0100 Subject: lib: add compose --- lib/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/default.nix b/lib/default.nix index 2efeec07..4190f8f5 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -15,6 +15,10 @@ let uri = import ./uri.nix { inherit lib; }; xml = import ./xml.nix { inherit lib; }; + # compose a list of functions to be applied from left to right, i.e. + # compose :: [ (xm -> xn) ... (x1 -> x2) (x0 -> x1) ] -> x0 -> xn + compose = foldl' (f: g: x: f (g x)) id; + eq = x: y: x == y; ne = x: y: x != y; mod = x: y: x - y * (x / y); -- cgit v1.2.3 From 6fe6298c3dcf9a0b237206e1fae715032a0e2768 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 4 Mar 2021 21:05:34 +0100 Subject: external: init hydrogen.r (sandro) --- krebs/3modules/external/default.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/krebs/3modules/external/default.nix b/krebs/3modules/external/default.nix index efe3ace0..c8e360a1 100644 --- a/krebs/3modules/external/default.nix +++ b/krebs/3modules/external/default.nix @@ -603,6 +603,30 @@ in { }; }; }; + hydrogen = { + owner = config.krebs.users.sandro; + nets = { + retiolum = { + ip4.addr = "10.243.54.54"; + aliases = [ "hydrogen.r" ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIICCgKCAgEA6bnwRKS+oWNc+ExOnJdqGHR1bnCEE9zkCqyONK3+xLg8QQIz6SvZ + Nt5cO9kdZw9rA+4Dshg5m0RSnaP2TVtiDxcyv3zAW4TSOTGaBRp9WZmwhcKyxiON + hvTBirsC1Domorew6++qHoZxtmHMKaF/uPoFLBqSvw3RHVoGzEAhGW9/LqZVa9k2 + D8dDRg7jTqH2oiIHct33Up5+zeFbmCo5xyDzl+pcwHxldi8sAupvpHx4KxXH1zMX + YQATS2Rp8b52bGEQ52UKAbSOpJqyt9/o5vb+z2JZ52N1dDrphWHGfIcJa8DVt2VO + n/V0kWuUhDh3Wwt7aIFcY0bUq4OurcVQQ5eMgwGbOEthdjLf1ou2gUJhf0zAeVQp + IiaqeHTNn1+mtxBjl4+v+b0H/lhZPSgO74Jo28fAse+/itjM3kgkIKV0ldD5tWpv + MHaKMB5Ui6swHZDV6nUxf5vlKPAM71/14cy1e/0ANFo5JvE66jWn7m5wn60HYwpB + XnTOgIxue2rJ4F+Xtm8CTgS5TcV1AKR0cnmlU7WfVOVJHD2/4QTRYYTCR53/RoVq + 1T6DILDF71H92PNylujKSPA0CKI160xJ61Xy/T6MYl5u0+RblAgYr77o5HJwmXCe + jFrCu3SKUIlJWYHWE8yNoR+VVYeXakbDFYE3KpVyBDG+ljUbia+Oel8CAwEAAQ== + -----END RSA PUBLIC KEY----- + ''; + }; + }; + }; }; users = { @@ -633,6 +657,7 @@ in { mail = "joerg@thalheim.io"; pubkey = ssh-for "mic92"; }; + sandro = {}; shannan = { mail = "shannan@lekwati.com"; pubkey = ssh-for "shannan"; -- cgit v1.2.3 From a9b82ce4124cb3a3f2e6ee8b087c0d8461bad386 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 7 Mar 2021 21:04:47 +0100 Subject: tv w110er: enable all the redistributable firmware ...for wifi :) --- tv/2configs/hw/w110er.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tv/2configs/hw/w110er.nix b/tv/2configs/hw/w110er.nix index 693cef5a..818d1aca 100644 --- a/tv/2configs/hw/w110er.nix +++ b/tv/2configs/hw/w110er.nix @@ -28,6 +28,8 @@ with import ; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + hardware.enableRedistributableFirmware = true; + hardware.opengl.driSupport32Bit = true; hardware.opengl.extraPackages = [ pkgs.vaapiIntel ]; -- cgit v1.2.3 From c45f79559d40806141f164fe7dd1ec03fb53bf39 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 7 Mar 2021 23:09:13 +0100 Subject: realwallpaper: fetch neo images daily --- krebs/5pkgs/simple/realwallpaper/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix index e55454a0..a847fc1e 100644 --- a/krebs/5pkgs/simple/realwallpaper/default.nix +++ b/krebs/5pkgs/simple/realwallpaper/default.nix @@ -100,11 +100,11 @@ pkgs.writers.writeDashBin "generate-wallpaper" '' fetch_older_min 720 ice-raw.jpg $(get_neo_url \ 'https://neo.sci.gsfc.nasa.gov/view.php?datasetId=NISE_D') & - fetch_older_days 3 snow-raw.jpg $(get_neo_url \ + fetch_older_days 1 snow-raw.jpg $(get_neo_url \ 'https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MOD10C1_E_SNOW') & - fetch_older_days 7 chlora-raw.jpg $(get_neo_url \ + fetch_older_days 1 chlora-raw.jpg $(get_neo_url \ 'https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MY1DMM_CHLORA') & - fetch_older_days 7 fire-raw.jpg $(get_neo_url \ + fetch_older_days 1 fire-raw.jpg $(get_neo_url \ 'https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MOD14A1_E_FIRE') & # regular fetches -- cgit v1.2.3 From a2e9c66ac223e272bf6adcd39bf2982f026bc31a Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 7 Mar 2021 23:09:50 +0100 Subject: realwallpaper: filter markers without location --- krebs/5pkgs/simple/realwallpaper/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix index a847fc1e..04a2a671 100644 --- a/krebs/5pkgs/simple/realwallpaper/default.nix +++ b/krebs/5pkgs/simple/realwallpaper/default.nix @@ -239,7 +239,7 @@ pkgs.writers.writeDashBin "generate-wallpaper" '' ''} if [ -s marker.json ]; then - jq -r 'to_entries[] | @json "\(.value.latitude) \(.value.longitude) image=krebs.png"' marker.json >> marker_file + jq -r 'to_entries[] | select(.value.latitude != null) | @json "\(.value.latitude) \(.value.longitude) image=krebs.png"' marker.json >> marker_file fi xplanet --num_times 1 --geometry $xplanet_out_size \ -- cgit v1.2.3 From 1cd50bae3b77ade513b5e77013a4941d36e477f3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 7 Mar 2021 23:13:12 +0100 Subject: nixpkgs: 2394284 -> 37b47da --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 8670999e..cdfddf31 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "2394284537b89471c87065b040d3dedd8b5907fe", - "date": "2021-02-10T23:24:22+01:00", - "path": "/nix/store/rqgraycidchn5wc5mki5sqj8bl5cpx78-nixpkgs", - "sha256": "1j7vp735is5d32mbrgavpxi3fbnsm6d99a01ap8gn30n5ysd14sl", + "rev": "37b47da04ca50d17934881192e65ad2df83704b5", + "date": "2021-03-06T12:01:46+01:00", + "path": "/nix/store/grbdwi9ypcdwkwa41jy0wdvyl7gpp339-nixpkgs", + "sha256": "0was72mxc0i1zlpn18svmdkwpxbfjmb3m60fnv041zjyrlkmy91s", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From ae42cedf260162e4d54b39896c097fef9361f176 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 7 Mar 2021 23:21:23 +0100 Subject: nixpkgs-unstable: 8c87313 -> 102eb68 --- krebs/nixpkgs-unstable.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs-unstable.json b/krebs/nixpkgs-unstable.json index 57d30799..ff0793e1 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "8c8731330b53ba0061686f36f10f101e662a4717", - "date": "2021-02-08T20:46:59+01:00", - "path": "/nix/store/agilvsqqdsqx36wf4zkq5gnhnab47qpd-nixpkgs", - "sha256": "0ak4d254myq6cl3d7jkq6n0apxabvwjz62zdw9habnrqg8asl8gk", + "rev": "102eb68ceecbbd32ab1906a53ef5a7269dc9794a", + "date": "2021-03-06T01:10:13+01:00", + "path": "/nix/store/q2ig31a84f7nkc56hqrl14lj32caic3v-nixpkgs", + "sha256": "1mlrd419vaz9vw5k0lymb8nasxziqv0yd4f2v7p14mlxcin3g7c3", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 64957e889393a18a5d61d96aa10d092828806245 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 8 Mar 2021 00:49:06 +0100 Subject: l syncthing: mkDefault home permission script --- lass/2configs/syncthing.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/syncthing.nix b/lass/2configs/syncthing.nix index e288df68..7801c758 100644 --- a/lass/2configs/syncthing.nix +++ b/lass/2configs/syncthing.nix @@ -13,7 +13,7 @@ { predicate = "-p udp --dport 21027"; target = "ACCEPT";} ]; - system.activationScripts.syncthing-home = '' + system.activationScripts.syncthing-home = mkDefault '' ${pkgs.coreutils}/bin/chmod a+x /home/lass ''; -- cgit v1.2.3 From 419a46e3cd89ed98f08eda7d7c28a88278d62860 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 8 Mar 2021 01:08:28 +0100 Subject: l realwallpaper: rename activationScript --- lass/2configs/realwallpaper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/realwallpaper.nix b/lass/2configs/realwallpaper.nix index c3054d3a..7a2f6e91 100644 --- a/lass/2configs/realwallpaper.nix +++ b/lass/2configs/realwallpaper.nix @@ -9,7 +9,7 @@ let in { krebs.realwallpaper.enable = true; - system.activationScripts.user-shadow = '' + system.activationScripts.wallpaper-chmod = '' ${pkgs.coreutils}/bin/chmod +x /var/realwallpaper ''; services.nginx.virtualHosts.wallpaper = { -- cgit v1.2.3 From cb09964e133c5fc32ea051738708830e3339ad34 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 17 Mar 2021 09:02:04 +0100 Subject: nixpkgs: 37b47da -> 36e15cd --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index cdfddf31..837782ff 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "37b47da04ca50d17934881192e65ad2df83704b5", - "date": "2021-03-06T12:01:46+01:00", - "path": "/nix/store/grbdwi9ypcdwkwa41jy0wdvyl7gpp339-nixpkgs", - "sha256": "0was72mxc0i1zlpn18svmdkwpxbfjmb3m60fnv041zjyrlkmy91s", + "rev": "36e15cd6e7d55ba143caf3dc930467ace573d85c", + "date": "2021-03-16T08:18:29+01:00", + "path": "/nix/store/rsh8kmy9jiwdhsm390zw0mq1p256xzrk-nixpkgs", + "sha256": "15dwscz9s71n6hn1wml95il8hl8aza16jj9qwywps8bsdamgymfq", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From f659c1879f6e0a0e9228205edd794aaab467aa0b Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 17 Mar 2021 10:17:04 +0100 Subject: nixpkgs-unstable: 102eb68 -> 266dc8c --- krebs/nixpkgs-unstable.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs-unstable.json b/krebs/nixpkgs-unstable.json index ff0793e1..c0ffcf3e 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "102eb68ceecbbd32ab1906a53ef5a7269dc9794a", - "date": "2021-03-06T01:10:13+01:00", - "path": "/nix/store/q2ig31a84f7nkc56hqrl14lj32caic3v-nixpkgs", - "sha256": "1mlrd419vaz9vw5k0lymb8nasxziqv0yd4f2v7p14mlxcin3g7c3", + "rev": "266dc8c3d052f549826ba246d06787a219533b8f", + "date": "2021-03-15T09:37:03+01:00", + "path": "/nix/store/dkim3k1b5bdga370xpw0r52w0ac5y3fn-nixpkgs", + "sha256": "09ydqx2lznixmw8z4cfz1j3k137mh8n3cdpygwqymknhfdjq7lg4", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 3bbbc82ae9ab9f0ac737b2ff0b55b50ae9c77b8a Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 19 Mar 2021 08:58:33 +0100 Subject: brockman: 3.4.0 -> 3.4.3 --- krebs/5pkgs/haskell/brockman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/haskell/brockman/default.nix b/krebs/5pkgs/haskell/brockman/default.nix index 92051a02..d0cd6119 100644 --- a/krebs/5pkgs/haskell/brockman/default.nix +++ b/krebs/5pkgs/haskell/brockman/default.nix @@ -7,12 +7,12 @@ }: mkDerivation rec { pname = "brockman"; - version = "3.4.0"; + version = "3.4.3"; src = fetchFromGitHub { owner = "kmein"; repo = "brockman"; rev = version; - sha256 = "02nval6a9xcddj6znzxvcb8g6klzjydj1lb4ych64i9mr4a8jvic"; + sha256 = "0s8rvsj5m70wijl8j00fisz6c1kms7kx12lxfgk63mrx2ldp1fb4"; }; isLibrary = false; isExecutable = true; -- cgit v1.2.3