From e50fd12af8066efdaced621538b6ae2af8cf307a Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 15 Jun 2021 15:53:13 +0200 Subject: tv charybdis: isSystemUser --- tv/3modules/charybdis/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/3modules/charybdis/default.nix b/tv/3modules/charybdis/default.nix index a0638e1eb..9c5ce2731 100644 --- a/tv/3modules/charybdis/default.nix +++ b/tv/3modules/charybdis/default.nix @@ -84,6 +84,7 @@ in { users.users.${cfg.user.name} = { inherit (cfg.user) home name uid; createHome = true; + isSystemUser = true; }; }; } -- cgit v1.2.3 From 790e8e65df5222a5aeb4c121cda4d02a535e824b Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 15 Jun 2021 15:53:47 +0200 Subject: tv ejabberd: isSystemUser --- tv/3modules/ejabberd/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/tv/3modules/ejabberd/default.nix b/tv/3modules/ejabberd/default.nix index aaf262fa1..2ca88732b 100644 --- a/tv/3modules/ejabberd/default.nix +++ b/tv/3modules/ejabberd/default.nix @@ -119,6 +119,7 @@ in { users.users.${cfg.user.name} = { inherit (cfg.user) home name uid; createHome = true; + isSystemUser = true; }; }; } -- cgit v1.2.3 From 9e59a65d920e0e2aa23c5cf1b98fe32860b42422 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 15 Jun 2021 15:54:46 +0200 Subject: repo-sync: isSystemUser --- krebs/3modules/repo-sync.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/repo-sync.nix b/krebs/3modules/repo-sync.nix index f9877c0f8..0312c62fd 100644 --- a/krebs/3modules/repo-sync.nix +++ b/krebs/3modules/repo-sync.nix @@ -149,6 +149,7 @@ let inherit (cfg.user) home name uid; createHome = true; description = "repo-sync user"; + isSystemUser = true; }; systemd.timers = mapAttrs' (name: repo: -- cgit v1.2.3 From c4f9901365e4f06b7d6a675867822cc034654b9c Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 15 Jun 2021 21:11:52 +0200 Subject: l: clean up packages --- lass/2configs/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix index 193f4bef1..adfeef19d 100644 --- a/lass/2configs/default.nix +++ b/lass/2configs/default.nix @@ -106,7 +106,6 @@ with import ; jq #style - most rxvt_unicode.terminfo #monitoring tools @@ -117,6 +116,7 @@ with import ; iptables iftop tcpdump + mosh #stuff for dl aria2 @@ -125,29 +125,31 @@ with import ; file hashPassword kpaste - krebspaste - mosh pciutils pop - psmisc q rs - tmux untilport usbutils logify goify #unpack stuff - p7zip - unzip - unrar + libarchive (pkgs.writeDashBin "sshn" '' ${pkgs.openssh}/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$@" '') ]; + environment.shellAliases = { + ll = "ls -l"; + la = "ls -la"; + ls = "ls --color"; + ip = "ip -color=auto"; + grep = "grep --color=auto"; + }; + programs.bash = { enableCompletion = true; interactiveShellInit = '' -- cgit v1.2.3 From 8949b2ad3613e39fd47762ab839e6a9b6178cf1b Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 16 Jun 2021 14:01:35 +0200 Subject: external: add ed25519 pubkey of makanek.r --- krebs/3modules/external/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/external/default.nix b/krebs/3modules/external/default.nix index c6225aaa0..75be58326 100644 --- a/krebs/3modules/external/default.nix +++ b/krebs/3modules/external/default.nix @@ -220,6 +220,7 @@ in { Ya8buh4RgyE/0hp4QNpa4K7fvntriK+k6zHs7BcZcG2aMWP3O9/4DgjzBR3eslQV oou23ajP11wyfrmZK0/PQGTpsU472Jj+06KtMAaH0zo4vAR8s2kV1ukCAwEAAQ== -----END RSA PUBLIC KEY----- + Ed25519PublicKey = s/HNXjzVyDiBZImQdhJqUmj7symv+po9D9uDj+/6c2F ''; }; }; -- cgit v1.2.3 From 985ba7c82d3400de322bfa2de7a82349e080f114 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 18 Jun 2021 19:05:47 +0200 Subject: nixpkgs: 1f91fd1 -> bad3ccd --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 429c23cf5..37cee6584 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "1f91fd1040667e9265a760b0347f8bc416249da7", - "date": "2021-06-13T11:32:41+02:00", - "path": "/nix/store/8cx16mc5cymv2ll52fs831lmd4ljzmq1-nixpkgs", - "sha256": "1lcfcwgal9fpaiq71981abyzz160r6nx1y4pyy1dnvaf951xkdcj", + "rev": "bad3ccd099ebe9a8aa017bda8500ab02787d90aa", + "date": "2021-06-17T20:20:32+00:00", + "path": "/nix/store/2m29isga2dff5x2dzyyr3dql9jpwf5kk-nixpkgs", + "sha256": "07ik6rcfpcvj2zch3mzkxwxjs817iysbvsydkm85f14kn7gnyzp5", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 6c1f1c26e7a5e2d11cc8a1d43d86568c760af526 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 18 Jun 2021 20:58:53 +0200 Subject: tv: krebspaste? no thanks! --- tv/2configs/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix index 19e191b7b..8e8d0a468 100644 --- a/tv/2configs/default.nix +++ b/tv/2configs/default.nix @@ -123,7 +123,6 @@ with import ; pkgs.hashPassword pkgs.htop pkgs.kpaste - pkgs.krebspaste pkgs.nix-prefetch-scripts pkgs.ovh-zone pkgs.push -- cgit v1.2.3 From 1fe0a9419290219dec4ea89c7b5e7052d7c19e18 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 24 Jun 2021 01:12:24 +0200 Subject: tv xtoggledpms: init --- tv/5pkgs/simple/xtoggledpms.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tv/5pkgs/simple/xtoggledpms.nix diff --git a/tv/5pkgs/simple/xtoggledpms.nix b/tv/5pkgs/simple/xtoggledpms.nix new file mode 100644 index 000000000..d164ad712 --- /dev/null +++ b/tv/5pkgs/simple/xtoggledpms.nix @@ -0,0 +1,16 @@ +{ pkgs }: + +let + grep = "${pkgs.gnugrep}/bin/grep"; + xset = "${pkgs.xorg.xset}/bin/xset"; +in + +pkgs.writeDashBin "xtoggledpms" '' + # usage: xtoggledpms + set -efu + if ${xset} q | ${grep} -qF 'DPMS is Disabled'; then + ${xset} dpms force off + else + ${xset} s off -dpms + fi +'' -- cgit v1.2.3 From 81aef5ba96dbc3bfff4c4f91720b0de810df84a9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 25 Jun 2021 21:10:34 +0200 Subject: nixpkgs: bad3ccd -> 8112fbe --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 37cee6584..148ef2586 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "bad3ccd099ebe9a8aa017bda8500ab02787d90aa", - "date": "2021-06-17T20:20:32+00:00", - "path": "/nix/store/2m29isga2dff5x2dzyyr3dql9jpwf5kk-nixpkgs", - "sha256": "07ik6rcfpcvj2zch3mzkxwxjs817iysbvsydkm85f14kn7gnyzp5", + "rev": "8112fbe212f6086151acb19fe464b00c8ac1aebd", + "date": "2021-06-24T18:13:28-07:00", + "path": "/nix/store/6srgmm1rcvl4d0551f5r1czg7l4qjwmr-nixpkgs", + "sha256": "1224ikia2vm2ar6021fr7apkvn5vdpd8qxj0lw068ph5vl3mb7i8", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From e46879d2c18ec89319bc976bb2728311bf60538f Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 25 Jun 2021 21:12:03 +0200 Subject: nixpkgs-unstable: fbfb794 -> 1905f5f --- 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 aaf66e428..8ee3996f9 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "fbfb79400a08bf754e32b4d4fc3f7d8f8055cf94", - "date": "2021-06-06T04:54:09-03:00", - "path": "/nix/store/51dsmanfc179xy70kn2rl0qvg45cn6qr-nixpkgs", - "sha256": "0pgyx1l1gj33g5i9kwjar7dc3sal2g14mhfljcajj8bqzzrbc3za", + "rev": "1905f5f2e55e0db0bb6244cfe62cb6c0dbda391d", + "date": "2021-06-23T13:30:53+02:00", + "path": "/nix/store/4d13w00xgnn261zlnr34kb8xx908d4h2-nixpkgs", + "sha256": "148f79hhya66qj8v5gn7bs6zrfjy1nbvdciyxdm4yd5p8r6ayzv6", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 80319eb0d207e4b1540a39f76d3cb34de719cef1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 30 Jun 2021 11:46:48 +0200 Subject: nixpkgs: 8112fbe -> 71326cd --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 148ef2586..a8e071ff6 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "8112fbe212f6086151acb19fe464b00c8ac1aebd", - "date": "2021-06-24T18:13:28-07:00", - "path": "/nix/store/6srgmm1rcvl4d0551f5r1czg7l4qjwmr-nixpkgs", - "sha256": "1224ikia2vm2ar6021fr7apkvn5vdpd8qxj0lw068ph5vl3mb7i8", + "rev": "71326cd12ddfa0fac40fdb451fcba7dad763c56e", + "date": "2021-06-29T09:31:02+02:00", + "path": "/nix/store/110psm19cnca2l4lg966fd3vj7q57yhj-nixpkgs", + "sha256": "1939fwll9xwm7mf5crz7gfvz41c8gqd8wg7fy2v6m71viiq8lrda", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 6fb30b6ace819cf6407f9175978f08aba2819169 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 30 Jun 2021 11:47:18 +0200 Subject: nixpkgs-unstable: 1905f5f -> 3a8d795 --- 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 8ee3996f9..bd55fb50e 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "1905f5f2e55e0db0bb6244cfe62cb6c0dbda391d", - "date": "2021-06-23T13:30:53+02:00", - "path": "/nix/store/4d13w00xgnn261zlnr34kb8xx908d4h2-nixpkgs", - "sha256": "148f79hhya66qj8v5gn7bs6zrfjy1nbvdciyxdm4yd5p8r6ayzv6", + "rev": "3a8d7958a610cd3fec3a6f424480f91a1b259185", + "date": "2021-06-29T00:13:55+01:00", + "path": "/nix/store/j84n03gc032s1hf27piw86b4kskd37ch-nixpkgs", + "sha256": "0bmxrdn9sn6mxvkyyxdlxlzczfh59iy66c55ql144ilc1cjk28is", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 0382e74b1264773c5598279254a92cc78b2e1576 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 5 Jul 2021 14:47:08 +0200 Subject: l radio: fix listener counting --- lass/2configs/radio.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index a474b0ebc..2c539917a 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -225,7 +225,7 @@ in { ${pkgs.mpc_cli}/bin/mpc idle player > /dev/null ${pkgs.mpc_cli}/bin/mpc current -f %file% done | while read track; do - listeners=$(${pkgs.iproute}/bin/ss -Hno state established 'sport = :8000' | grep '^mptcp' | wc -l) + listeners=$(${pkgs.iproute}/bin/ss -Hno state established 'sport = :8000' | grep '^tcp' | wc -l) echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE" echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE" ${set_irc_topic} "playing: $track listeners: $listeners" -- cgit v1.2.3 From cd816fb427e977927aa34c8e7897d64248d3a660 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 5 Jul 2021 14:47:29 +0200 Subject: l radio: allow world to skip/like tracks --- lass/2configs/radio.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index 2c539917a..b1e1ed4d9 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -347,6 +347,19 @@ in { locations."= /recent".extraConfig = '' alias /tmp/played; ''; + locations."= /current".extraConfig = '' + proxy_pass http://localhost:8001; + ''; + locations."= /skip".extraConfig = '' + proxy_pass http://localhost:8001; + ''; + locations."= /good".extraConfig = '' + proxy_pass http://localhost:8001; + ''; + extraConfig = '' + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + ''; }; virtualHosts."lassul.us".locations."= /the_playlist".extraConfig = let html = pkgs.writeText "index.html" '' -- cgit v1.2.3 From 889b5b91fb8de2300b25579ef7cb36b8baed3576 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 5 Jul 2021 17:52:27 +0200 Subject: l IM: add tmux to packages, add weechat-matrix --- lass/2configs/IM.nix | 54 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/lass/2configs/IM.nix b/lass/2configs/IM.nix index b79af3b49..5108f6bc1 100644 --- a/lass/2configs/IM.nix +++ b/lass/2configs/IM.nix @@ -1,29 +1,37 @@ with (import ); -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: let + weechat = pkgs.weechat.override { + configure = { availablePlugins, ... }: with pkgs.weechatScripts; { + plugins = lib.attrValues (availablePlugins // { + python = availablePlugins.python.withPackages (_: [ weechat-matrix ]); + }); + scripts = [ weechat-matrix ]; + }; + }; -{ - imports = [ - ./bitlbee.nix - ]; + tmux = pkgs.writeDashBin "tmux" '' + exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' + set-option -g prefix ` + unbind-key C-b + bind ` send-prefix - systemd.services.chat = let - tmux = pkgs.writeDash "tmux" '' - exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' - set-option -g prefix ` - unbind-key C-b - bind ` send-prefix + set-option -g status off + set-option -g default-terminal screen-256color - set-option -g status off - set-option -g default-terminal screen-256color + #use session instead of windows + bind-key c new-session + bind-key p switch-client -p + bind-key n switch-client -n + bind-key C-s switch-client -l + ''} "$@" + ''; - #use session instead of windows - bind-key c new-session - bind-key p switch-client -p - bind-key n switch-client -n - bind-key C-s switch-client -l - ''} "$@" - ''; - in { +in { + imports = [ + ./bitlbee.nix + ]; + environment.systemPackages = [ tmux ]; + systemd.services.chat = { description = "chat environment setup"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -38,8 +46,8 @@ with (import ); User = "lass"; RemainAfterExit = true; Type = "oneshot"; - ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat"; - ExecStop = "${tmux} kill-session -t IM"; + ExecStart = "${tmux}/bin/tmux -2 new-session -d -s IM ${weechat}/bin/weechat"; + ExecStop = "${tmux}/bin/tmux kill-session -t IM"; # TODO run save in weechat }; }; } -- cgit v1.2.3 From b4fcff65c514b1282e61f2021015abcbb0bd1240 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 9 Jul 2021 12:40:03 +0200 Subject: nixpkgs: 71326cd -> c06613c --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index a8e071ff6..082d9dd71 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "71326cd12ddfa0fac40fdb451fcba7dad763c56e", - "date": "2021-06-29T09:31:02+02:00", - "path": "/nix/store/110psm19cnca2l4lg966fd3vj7q57yhj-nixpkgs", - "sha256": "1939fwll9xwm7mf5crz7gfvz41c8gqd8wg7fy2v6m71viiq8lrda", + "rev": "c06613c25df3fe1dd26243847a3c105cf6770627", + "date": "2021-07-07T23:13:28+02:00", + "path": "/nix/store/jk1pr5lm5f10vvlppl6axck1bsb6mz9s-nixpkgs", + "sha256": "16si1436wf3fcx91p6cy3qxaib8kr78qivbi69lq4m63n96gglkv", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 1db8413f48bea139e044f5fff76de9e33c4064c3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 16 Jul 2021 21:48:21 +0200 Subject: l: use upstream xmonad config --- lass/2configs/baseX.nix | 27 +--- lass/2configs/xmonad.nix | 242 ++++++++++++++++++++++++++++++ lass/5pkgs/custom/xmonad-lass/default.nix | 230 ---------------------------- 3 files changed, 247 insertions(+), 252 deletions(-) create mode 100644 lass/2configs/xmonad.nix delete mode 100644 lass/5pkgs/custom/xmonad-lass/default.nix diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix index e92ddbcca..655e7912f 100644 --- a/lass/2configs/baseX.nix +++ b/lass/2configs/baseX.nix @@ -2,7 +2,6 @@ with import ; let user = config.krebs.build.user; - xmonad-lass = pkgs.callPackage { inherit config; }; in { imports = [ ./mpv.nix @@ -19,6 +18,7 @@ in { security.rtkit.enable = true; sound.enableOSSEmulation = false; } + ./xmonad.nix { krebs.per-user.lass.packages = [ pkgs.sshuttle @@ -120,30 +120,13 @@ in { xkbVariant = "altgr-intl"; xkbOptions = "caps:escape"; libinput.enable = true; - displayManager.lightdm.enable = true; - displayManager.defaultSession = "none+xmonad"; - windowManager.session = [{ - name = "xmonad"; - start = '' + displayManager = { + lightdm.enable = true; + defaultSession = "none+xmonad"; + sessionCommands = '' ${pkgs.xorg.xhost}/bin/xhost +LOCAL: - ${pkgs.systemd}/bin/systemctl --user start xmonad - exec ${pkgs.coreutils}/bin/sleep infinity ''; - }]; - }; - - systemd.user.services.xmonad = { - environment = { - DISPLAY = ":${toString config.services.xserver.display}"; - RXVT_SOCKET = "%t/urxvtd-socket"; - XMONAD_DATA_DIR = "/tmp"; - }; - serviceConfig = { - SyslogIdentifier = "xmonad"; - ExecStart = "${xmonad-lass}/bin/xmonad"; - ExecStop = "${xmonad-lass}/bin/xmonad --shutdown"; }; - restartIfChanged = false; }; nixpkgs.config.packageOverrides = super: { diff --git a/lass/2configs/xmonad.nix b/lass/2configs/xmonad.nix new file mode 100644 index 000000000..099900d90 --- /dev/null +++ b/lass/2configs/xmonad.nix @@ -0,0 +1,242 @@ +{ config, lib, pkgs, ... }: + +{ + services.xserver.windowManager.xmonad = { + enable = true; + extraPackages = hs: [ + hs.extra + hs.xmonad-stockholm + ]; + config = /* haskell */ '' +{-# LANGUAGE LambdaCase #-} + + +module Main where +import XMonad + +import qualified XMonad.StackSet as W +import Control.Monad.Extra (whenJustM) +import Data.List (isInfixOf) +import Data.Monoid (Endo) +import System.Environment (getArgs, lookupEnv) +import System.Exit (exitFailure) +import System.IO (hPutStrLn, stderr) +import System.Posix.Process (executeFile) +import Data.Ratio + +import XMonad.Actions.CopyWindow (copy, copyToAll, kill1) +import XMonad.Actions.CycleWS (toggleWS) +import XMonad.Actions.DynamicWorkspaces ( addWorkspacePrompt, renameWorkspace, removeEmptyWorkspace) +import XMonad.Actions.DynamicWorkspaces (withWorkspace) +import XMonad.Actions.GridSelect (GSConfig(..), gridselectWorkspace, navNSearch) +import XMonad.Actions.Minimize (minimizeWindow, maximizeWindow, withLastMinimized) +import XMonad.Hooks.EwmhDesktops (ewmh) +import XMonad.Hooks.FloatNext (floatNext) +import XMonad.Hooks.FloatNext (floatNextHook) +import XMonad.Hooks.ManageDocks (avoidStruts, ToggleStruts(ToggleStruts)) +import XMonad.Hooks.ManageHelpers (doCenterFloat, doRectFloat, (-?>)) +import XMonad.Hooks.Place (placeHook, smart) +import XMonad.Hooks.UrgencyHook (focusUrgent) +import XMonad.Hooks.UrgencyHook (withUrgencyHook, UrgencyHook(..)) +import XMonad.Layout.BoringWindows (boringWindows, focusDown, focusUp) +import XMonad.Layout.FixedColumn (FixedColumn(..)) +import XMonad.Layout.Grid (Grid(..)) +import XMonad.Layout.Minimize (minimize) +import XMonad.Layout.NoBorders (smartBorders) +import XMonad.Layout.MouseResizableTile (mouseResizableTile) +import XMonad.Layout.SimplestFloat (simplestFloat) +import XMonad.ManageHook (composeAll) +import XMonad.Prompt (autoComplete, font, searchPredicate, XPConfig) +import XMonad.Prompt.Window (windowPromptGoto, windowPromptBringCopy) +import XMonad.Util.EZConfig (additionalKeysP) +import XMonad.Util.NamedWindows (getName) +import XMonad.Util.Run (safeSpawn) +import XMonad.Util.Ungrab (unGrab) + +import XMonad.Stockholm.Shutdown (newShutdownEventHandler, shutdown) +import XMonad.Stockholm.Pager (defaultWindowColors, pager, MatchMethod(MatchPrefix), PagerConfig(..)) + +data LibNotifyUrgencyHook = LibNotifyUrgencyHook deriving (Read, Show) + +instance UrgencyHook LibNotifyUrgencyHook where + urgencyHook LibNotifyUrgencyHook w = do + name <- getName w + Just idx <- fmap (W.findTag w) $ gets windowset + + safeSpawn "${pkgs.libnotify}/bin/notify-send" [show name, "workspace " ++ idx] + +myTerm :: FilePath +-- myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc -e /run/current-system/sw/bin/xonsh" +-- myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc" +myTerm = "/run/current-system/sw/bin/alacritty" + +myFont :: String +myFont = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1" + +main :: IO () +main = getArgs >>= \case + [] -> main' + ["--shutdown"] -> shutdown + args -> hPutStrLn stderr ("bad arguments: " <> show args) >> exitFailure + +main' :: IO () +main' = do + handleShutdownEvent <- newShutdownEventHandler + launch $ ewmh + $ withUrgencyHook LibNotifyUrgencyHook + $ def + { terminal = myTerm + , modMask = mod4Mask + , layoutHook = smartBorders $ myLayoutHook + , manageHook = floatHooks + , startupHook = + whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK")) + (\path -> forkFile path [] Nothing) + , normalBorderColor = "#1c1c1c" + , focusedBorderColor = "#ff0000" + , handleEventHook = handleShutdownEvent + , workspaces = [ "dashboard", "sys", "wp" ] + } `additionalKeysP` myKeyMap + +myLayoutHook = defLayout + where + defLayout = minimize . boringWindows $ ((avoidStruts $ Mirror (Tall 1 (3/100) (1/2))) ||| Full ||| FixedColumn 2 80 80 1 ||| Tall 1 (3/100) (1/2) ||| simplestFloat ||| mouseResizableTile ||| Grid) + +floatHooks = composeAll + [ className =? "Pinentry" --> doCenterFloat + , title =? "fzfmenu" --> doCenterFloat + , title =? "glxgears" --> doCenterFloat + , resource =? "Dialog" --> doFloat + , title =? "Upload to Imgur" --> + doRectFloat (W.RationalRect 0 0 (1 % 8) (1 % 8)) + , placeHook (smart (1,0)) + , floatNextHook + ] + +myKeyMap :: [([Char], X ())] +myKeyMap = + [ ("M4-C-p", forkFile "${pkgs.scrot}/bin/scrot" [ "~/public_html/scrot.png" ] Nothing ) + , ("M4-p", forkFile "${pkgs.pass}/bin/passmenu" [ "--type" ] Nothing) + , ("M4-S-p", forkFile "${pkgs.otpmenu}/bin/otpmenu" [] Nothing) + , ("M4-o", forkFile "${pkgs.brain}/bin/brainmenu --type" [] Nothing) + , ("M4-z", forkFile "${pkgs.emot-menu}/bin/emoticons" [] Nothing) + + , ("M4-S-q", restart "xmonad" True) + + , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-mute @DEFAULT_SINK@ toggle") + , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ +4%") + , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ -4%") + , ("", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -dec 1") + , ("", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -inc 1") + , ("M4-C-k", spawn "${pkgs.xorg.xkill}/bin/xkill") + + , ("M4-", focusDown) + , ("M4-S-", focusUp) + , ("M4-j", focusDown) + , ("M4-k", focusUp) + + , ("M4-a", focusUrgent) + , ("M4-S-r", renameWorkspace myXPConfig) + , ("M4-S-a", addWorkspacePrompt myXPConfig) + , ("M4-S-", removeEmptyWorkspace) + , ("M4-S-c", kill1) + , ("M4-", toggleWS) + , ("M4-S-", spawn myTerm) + , ("M4-x", floatNext True >> spawn myTerm) + , ("M4-c", spawn "/run/current-system/sw/bin/emacsclient -c") + -- , ("M4-c", unGrab) + , ("M4-f", floatNext True) + , ("M4-b", spawn "/run/current-system/sw/bin/klem") + + , ("M4-v", gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.greedyView) ) + , ("M4-S-v", gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) ) + , ("M4-C-v", withWorkspace autoXPConfig (windows . copy)) + + , ("M4-m", withFocused minimizeWindow) + , ("M4-S-m", withLastMinimized maximizeWindow) + + , ("M4-q", windowPromptGoto infixAutoXPConfig) + , ("M4-C-q", windowPromptBringCopy infixAutoXPConfig) + + , ("M4-S-q", return ()) + + , ("M4-d", floatNext True >> spawn "${pkgs.copyq}/bin/copyq show") + + , ("M4-", windows copyToAll) + + , ("M4-", spawn "${pkgs.nm-dmenu}/bin/nm-dmenu") + , ("M4-", spawn "${pkgs.writeDash "paste" '' + ${pkgs.coreutils}/bin/sleep 0.1 + ${pkgs.xclip}/bin/xclip -o | ${pkgs.xdotool}/bin/xdotool type -f - + ''}") + + , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 1") + , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 10") + , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 33") + , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 100") + + , ("M4-", spawn "${pkgs.redshift}/bin/redshift -O 4000 -g 0.9:0.8:0.8") + , ("M4-", spawn "${pkgs.redshift}/bin/redshift -x") + + , ("M4-", spawn "${config.lass.screenlock.command}") + , ("M4-", spawn "${pkgs.systemd}/bin/systemctl suspend -i") + + , ("M4-u", spawn "${pkgs.xcalib}/bin/xcalib -invert -alter") + + , ("M4-s", spawn "${pkgs.knav}/bin/knav") + , ("M4-i", spawn "/run/current-system/sw/bin/screenshot") + + --, ("M4-w", screenWorkspace 0 >>= (windows . W.greedyView)) + --, ("M4-e", screenWorkspace 1 >>= (windows . W.greedyView)) + --, ("M4-r", screenWorkspace 2 >>= (windows . W.greedyView)) + ] + +forkFile :: FilePath -> [String] -> Maybe [(String, String)] -> X () +forkFile path args env = + xfork (executeFile path True args env) >> return () + +myXPConfig :: XPConfig +myXPConfig = def + { font = myFont + } + +autoXPConfig :: XPConfig +autoXPConfig = myXPConfig + { autoComplete = Just 5000 + } + +infixAutoXPConfig :: XPConfig +infixAutoXPConfig = autoXPConfig + { searchPredicate = isInfixOf + } + +pagerConfig :: PagerConfig +pagerConfig = def + { pc_font = myFont + , pc_cellwidth = 64 + , pc_matchmethod = MatchPrefix + , pc_windowColors = windowColors + } + where + windowColors _ _ _ True _ = ("#ef4242","#ff2323") + windowColors wsf m c u wf = do + let y = defaultWindowColors wsf m c u wf + if m == False && wf == True + then ("#402020", snd y) + else y + +gridConfig :: GSConfig WorkspaceId +gridConfig = def + { gs_cellwidth = 100 + , gs_cellheight = 30 + , gs_cellpadding = 2 + , gs_navigate = navNSearch + , gs_font = myFont + } + +allWorkspaceNames :: W.StackSet i l a sid sd -> X [i] +allWorkspaceNames ws = + return $ map W.tag (W.hidden ws ++ (map W.workspace $ W.visible ws)) ++ [W.tag $ W.workspace $ W.current ws] + ''; + }; +} diff --git a/lass/5pkgs/custom/xmonad-lass/default.nix b/lass/5pkgs/custom/xmonad-lass/default.nix deleted file mode 100644 index 3b45552b3..000000000 --- a/lass/5pkgs/custom/xmonad-lass/default.nix +++ /dev/null @@ -1,230 +0,0 @@ -{ config, pkgs, ... }: -pkgs.writers.writeHaskellBin "xmonad" { - libraries = with pkgs.haskellPackages; [ - extra - xmonad-stockholm - ]; -} /* haskell */ '' -{-# LANGUAGE LambdaCase #-} - - -module Main where -import XMonad - -import qualified XMonad.StackSet as W -import Control.Monad.Extra (whenJustM) -import Data.List (isInfixOf) -import Data.Monoid (Endo) -import System.Environment (getArgs, lookupEnv) -import System.Exit (exitFailure) -import System.IO (hPutStrLn, stderr) -import System.Posix.Process (executeFile) -import Data.Ratio - -import XMonad.Actions.CopyWindow (copy, copyToAll, kill1) -import XMonad.Actions.CycleWS (toggleWS) -import XMonad.Actions.DynamicWorkspaces ( addWorkspacePrompt, renameWorkspace, removeEmptyWorkspace) -import XMonad.Actions.DynamicWorkspaces (withWorkspace) -import XMonad.Actions.GridSelect (GSConfig(..), gridselectWorkspace, navNSearch) -import XMonad.Actions.Minimize (minimizeWindow, maximizeWindow, withLastMinimized) -import XMonad.Hooks.EwmhDesktops (ewmh) -import XMonad.Hooks.FloatNext (floatNext) -import XMonad.Hooks.FloatNext (floatNextHook) -import XMonad.Hooks.ManageDocks (avoidStruts, ToggleStruts(ToggleStruts)) -import XMonad.Hooks.ManageHelpers (doCenterFloat, doRectFloat, (-?>)) -import XMonad.Hooks.Place (placeHook, smart) -import XMonad.Hooks.UrgencyHook (focusUrgent) -import XMonad.Hooks.UrgencyHook (withUrgencyHook, UrgencyHook(..)) -import XMonad.Layout.BoringWindows (boringWindows, focusDown, focusUp) -import XMonad.Layout.FixedColumn (FixedColumn(..)) -import XMonad.Layout.Grid (Grid(..)) -import XMonad.Layout.Minimize (minimize) -import XMonad.Layout.NoBorders (smartBorders) -import XMonad.Layout.MouseResizableTile (mouseResizableTile) -import XMonad.Layout.SimplestFloat (simplestFloat) -import XMonad.ManageHook (composeAll) -import XMonad.Prompt (autoComplete, font, searchPredicate, XPConfig) -import XMonad.Prompt.Window (windowPromptGoto, windowPromptBringCopy) -import XMonad.Util.EZConfig (additionalKeysP) -import XMonad.Util.NamedWindows (getName) -import XMonad.Util.Run (safeSpawn) - -import XMonad.Stockholm.Shutdown (newShutdownEventHandler, shutdown) -import XMonad.Stockholm.Pager (defaultWindowColors, pager, MatchMethod(MatchPrefix), PagerConfig(..)) - -data LibNotifyUrgencyHook = LibNotifyUrgencyHook deriving (Read, Show) - -instance UrgencyHook LibNotifyUrgencyHook where - urgencyHook LibNotifyUrgencyHook w = do - name <- getName w - Just idx <- fmap (W.findTag w) $ gets windowset - - safeSpawn "${pkgs.libnotify}/bin/notify-send" [show name, "workspace " ++ idx] - -myTerm :: FilePath -myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc" - -myFont :: String -myFont = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1" - -main :: IO () -main = getArgs >>= \case - [] -> main' - ["--shutdown"] -> shutdown - args -> hPutStrLn stderr ("bad arguments: " <> show args) >> exitFailure - -main' :: IO () -main' = do - handleShutdownEvent <- newShutdownEventHandler - launch $ ewmh - $ withUrgencyHook LibNotifyUrgencyHook - $ def - { terminal = myTerm - , modMask = mod4Mask - , layoutHook = smartBorders $ myLayoutHook - , manageHook = floatHooks - , startupHook = - whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK")) - (\path -> forkFile path [] Nothing) - , normalBorderColor = "#1c1c1c" - , focusedBorderColor = "#ff0000" - , handleEventHook = handleShutdownEvent - , workspaces = [ "dashboard", "sys", "wp" ] - } `additionalKeysP` myKeyMap - -myLayoutHook = defLayout - where - defLayout = minimize . boringWindows $ ((avoidStruts $ Mirror (Tall 1 (3/100) (1/2))) ||| Full ||| FixedColumn 2 80 80 1 ||| Tall 1 (3/100) (1/2) ||| simplestFloat ||| mouseResizableTile ||| Grid) - -floatHooks = composeAll - [ className =? "Pinentry" --> doCenterFloat - , title =? "fzfmenu" --> doCenterFloat - , title =? "glxgears" --> doCenterFloat - , resource =? "Dialog" --> doFloat - , title =? "Upload to Imgur" --> - doRectFloat (W.RationalRect 0 0 (1 % 8) (1 % 8)) - , placeHook (smart (1,0)) - , floatNextHook - ] - -myKeyMap :: [([Char], X ())] -myKeyMap = - [ ("M4-", spawn "${config.lass.screenlock.command}") - , ("M4-C-p", spawn "${pkgs.scrot}/bin/scrot ~/public_html/scrot.png") - , ("M4-p", spawn "${pkgs.pass}/bin/passmenu --type") - , ("M4-S-p", spawn "${pkgs.otpmenu}/bin/otpmenu") - , ("M4-o", spawn "${pkgs.brain}/bin/brainmenu --type") - , ("M4-z", spawn "${pkgs.emot-menu}/bin/emoticons") - - , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-mute @DEFAULT_SINK@ toggle") - , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ +4%") - , ("", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ -4%") - , ("", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -dec 1") - , ("", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -inc 1") - , ("", gridselectWorkspace gridConfig W.view) - , ("M4-C-k", spawn "${pkgs.xorg.xkill}/bin/xkill") - - , ("M4-", focusDown) - , ("M4-S-", focusUp) - , ("M4-j", focusDown) - , ("M4-k", focusUp) - - , ("M4-a", focusUrgent) - , ("M4-S-r", renameWorkspace myXPConfig) - , ("M4-S-a", addWorkspacePrompt myXPConfig) - , ("M4-S-", removeEmptyWorkspace) - , ("M4-S-c", kill1) - , ("M4-", toggleWS) - , ("M4-S-", spawn myTerm) - , ("M4-x", floatNext True >> spawn myTerm) - , ("M4-c", floatNext True >> spawn "${pkgs.termite}/bin/termite") - , ("M4-f", floatNext True) - , ("M4-b", spawn "/run/current-system/sw/bin/klem") - - , ("M4-v", gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.greedyView) ) - , ("M4-S-v", gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) ) - , ("M4-C-v", withWorkspace autoXPConfig (windows . copy)) - - , ("M4-m", withFocused minimizeWindow) - , ("M4-S-m", withLastMinimized maximizeWindow) - - , ("M4-q", windowPromptGoto infixAutoXPConfig) - , ("M4-C-q", windowPromptBringCopy infixAutoXPConfig) - - , ("M4-S-q", return ()) - - , ("M4-d", floatNext True >> spawn "${pkgs.copyq}/bin/copyq show") - - , ("M4-", windows copyToAll) - - , ("M4-", spawn "${pkgs.nm-dmenu}/bin/nm-dmenu") - , ("M4-", spawn "${pkgs.writeDash "paste" '' - ${pkgs.coreutils}/bin/sleep 0.1 - ${pkgs.xclip}/bin/xclip -o | ${pkgs.xdotool}/bin/xdotool type -f - - ''}") - - , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 1") - , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 10") - , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 33") - , ("M4-", spawn "${pkgs.acpilight}/bin/xbacklight -set 100") - - , ("M4-", spawn "${pkgs.redshift}/bin/redshift -O 4000 -g 0.9:0.8:0.8") - , ("M4-", spawn "${pkgs.redshift}/bin/redshift -x") - - , ("M4-u", spawn "${pkgs.xcalib}/bin/xcalib -invert -alter") - - , ("M4-s", spawn "${pkgs.knav}/bin/knav") - , ("M4-i", spawn "/run/current-system/sw/bin/screenshot") - - --, ("M4-w", screenWorkspace 0 >>= (windows . W.greedyView)) - --, ("M4-e", screenWorkspace 1 >>= (windows . W.greedyView)) - --, ("M4-r", screenWorkspace 2 >>= (windows . W.greedyView)) - ] - -forkFile :: FilePath -> [String] -> Maybe [(String, String)] -> X () -forkFile path args env = - xfork (executeFile path False args env) >> return () - -myXPConfig :: XPConfig -myXPConfig = def - { font = myFont - } - -autoXPConfig :: XPConfig -autoXPConfig = myXPConfig - { autoComplete = Just 5000 - } - -infixAutoXPConfig :: XPConfig -infixAutoXPConfig = autoXPConfig - { searchPredicate = isInfixOf - } - -pagerConfig :: PagerConfig -pagerConfig = def - { pc_font = myFont - , pc_cellwidth = 64 - , pc_matchmethod = MatchPrefix - , pc_windowColors = windowColors - } - where - windowColors _ _ _ True _ = ("#ef4242","#ff2323") - windowColors wsf m c u wf = do - let y = defaultWindowColors wsf m c u wf - if m == False && wf == True - then ("#402020", snd y) - else y - -gridConfig :: GSConfig WorkspaceId -gridConfig = def - { gs_cellwidth = 100 - , gs_cellheight = 30 - , gs_cellpadding = 2 - , gs_navigate = navNSearch - , gs_font = myFont - } - -allWorkspaceNames :: W.StackSet i l a sid sd -> X [i] -allWorkspaceNames ws = - return $ map W.tag (W.hidden ws ++ (map W.workspace $ W.visible ws)) ++ [W.tag $ W.workspace $ W.current ws] -'' -- cgit v1.2.3 From 50c25195405b7b03036af5bb9958898140d7e464 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 17 Jul 2021 08:12:35 +0200 Subject: nixpkgs: c06613c -> a165aec --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 082d9dd71..1d65fe1b5 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "c06613c25df3fe1dd26243847a3c105cf6770627", - "date": "2021-07-07T23:13:28+02:00", - "path": "/nix/store/jk1pr5lm5f10vvlppl6axck1bsb6mz9s-nixpkgs", - "sha256": "16si1436wf3fcx91p6cy3qxaib8kr78qivbi69lq4m63n96gglkv", + "rev": "a165aeceda9f9741d15bc2488425daeb06c0707e", + "date": "2021-07-16T02:36:15+02:00", + "path": "/nix/store/lfcyxphw3jahipjdl2rb80yvlii3v87w-nixpkgs", + "sha256": "0bshzligqwbjlvx4jygv6k4c54mjdvj1d7xmfzgjl6hhybh3wjpd", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 49be52d39377f30cbeb4369484c648b8c7a6abb2 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 17 Jul 2021 08:12:50 +0200 Subject: nixpkgs-unstable: 3a8d795 -> 53079ed --- 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 bd55fb50e..adf59d523 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "3a8d7958a610cd3fec3a6f424480f91a1b259185", - "date": "2021-06-29T00:13:55+01:00", - "path": "/nix/store/j84n03gc032s1hf27piw86b4kskd37ch-nixpkgs", - "sha256": "0bmxrdn9sn6mxvkyyxdlxlzczfh59iy66c55ql144ilc1cjk28is", + "rev": "53079ed913181b2f945cf1580746828b57d47edb", + "date": "2021-07-16T01:55:12+02:00", + "path": "/nix/store/h8mhdm3gdc6vdjp0aca0sl4n9h4wjwdq-nixpkgs", + "sha256": "1m5y146ag2knwqni09l3cnrkfnn9mi2bmg37c2l7awxs0s9ykmpb", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From dd347a19d69d4ae5aeb4db85aec5c1949944b568 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 27 Jul 2021 12:11:56 +0200 Subject: rss-bridge: 2021-01-10 -> 2021-04-20 --- krebs/5pkgs/simple/rss-bridge/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/krebs/5pkgs/simple/rss-bridge/default.nix b/krebs/5pkgs/simple/rss-bridge/default.nix index bbe5c1bdb..e0a927a1a 100644 --- a/krebs/5pkgs/simple/rss-bridge/default.nix +++ b/krebs/5pkgs/simple/rss-bridge/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rss-bridge"; - version = "unstable-2021-01-10"; + version = "unstable-2021-04-20"; src = fetchFromGitHub { owner = "RSS-Bridge"; repo = "rss-bridge"; - rev = "98352845a14b9f2eb8925ad7a04a5f6cc6a5af06"; - sha256 = "1nv1f6f17cn057k9mydd3a0bmj2xa5k410fdq7nhw5b7msyxy2qv"; + rev = "716f5ddc0e20c10cb77ded46380cc376913a92fd"; + sha256 = "17aqmj7rz0ysk8nj4kbjvnsjdm47d0xsypfygzzk2vagxfz5w3p8"; }; patchPhase = '' -- cgit v1.2.3 From 914b28a6b4f5401baa576db1340f09ed6d97dcb8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 27 Jul 2021 12:24:46 +0200 Subject: nixpkgs: a165aec -> 91903ce --- krebs/nixpkgs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index 1d65fe1b5..5086b8af3 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "a165aeceda9f9741d15bc2488425daeb06c0707e", - "date": "2021-07-16T02:36:15+02:00", - "path": "/nix/store/lfcyxphw3jahipjdl2rb80yvlii3v87w-nixpkgs", - "sha256": "0bshzligqwbjlvx4jygv6k4c54mjdvj1d7xmfzgjl6hhybh3wjpd", + "rev": "91903ceb294dbe63a696759bfba3d23ee667f2dc", + "date": "2021-07-26T09:21:28+02:00", + "path": "/nix/store/2v649741xdh1crybi2dm879bl60zrkhf-nixpkgs", + "sha256": "1hmpwi27r4q0lnspg7ylfzxakwz2fhl3r07vjvq5yalcdqwiain3", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 3db9f05aa41b2e9e6141e2073e0838a9e69516e9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 27 Jul 2021 12:25:08 +0200 Subject: nixpkgs-unstable: 53079ed -> dd14e5d --- 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 adf59d523..967f0b426 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,9 +1,9 @@ { "url": "https://github.com/NixOS/nixpkgs", - "rev": "53079ed913181b2f945cf1580746828b57d47edb", - "date": "2021-07-16T01:55:12+02:00", - "path": "/nix/store/h8mhdm3gdc6vdjp0aca0sl4n9h4wjwdq-nixpkgs", - "sha256": "1m5y146ag2knwqni09l3cnrkfnn9mi2bmg37c2l7awxs0s9ykmpb", + "rev": "dd14e5d78e90a2ccd6007e569820de9b4861a6c2", + "date": "2021-07-24T08:14:16-04:00", + "path": "/nix/store/0z5nrrjzmjcicjhhdrqb9vgm56zxysk3-nixpkgs", + "sha256": "1zmhwx1qqgl1wrrb9mjkck508887rldrnragvximhd7jrh1ya3fb", "fetchSubmodules": false, "deepClone": false, "leaveDotGit": false -- cgit v1.2.3 From 1380200b30f2fd1dfce55a2ba28dc256fef951c6 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 27 Jul 2021 22:36:36 +0200 Subject: hotdog.r: add agenda.r alias --- krebs/3modules/krebs/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/3modules/krebs/default.nix b/krebs/3modules/krebs/default.nix index 37b939358..c05409fe9 100644 --- a/krebs/3modules/krebs/default.nix +++ b/krebs/3modules/krebs/default.nix @@ -70,6 +70,7 @@ in { ip4.addr = "10.243.77.3"; aliases = [ "hotdog.r" + "agenda.r" "build.r" "build.hotdog.r" "cgit.hotdog.r" -- cgit v1.2.3 From 34c7d727afd14a82330dd6e53dee3591f01a5462 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 27 Jul 2021 23:33:02 +0200 Subject: htgen: 1.3.0 -> 1.3.1 --- krebs/5pkgs/simple/htgen/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/krebs/5pkgs/simple/htgen/default.nix b/krebs/5pkgs/simple/htgen/default.nix index 9ed97242c..14b6f4c58 100644 --- a/krebs/5pkgs/simple/htgen/default.nix +++ b/krebs/5pkgs/simple/htgen/default.nix @@ -1,12 +1,13 @@ { fetchgit, lib, pkgs, stdenv }: stdenv.mkDerivation rec { pname = "htgen"; - version = "1.3.0"; + version = "1.3.1"; + #src = ; src = fetchgit { url = "http://cgit.krebsco.de/htgen"; - rev = "refs/tags/v${version}"; - sha256 = "0p3517wkfpvip4z0axh0b4v1jm1nqpppldnhq4806c0p33vrjxnf"; + rev = "refs/tags/${version}"; + sha256 = "0ml8kp89bwkrwy6iqclzyhxgv2qn9dcpwaafbmsr4mgcl70zx22r"; }; installPhase = '' -- cgit v1.2.3 From a59ca4ac80248585facd8cc43d0a8b8d43e3735d Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 29 Jul 2021 15:37:06 +0200 Subject: reaktor2: add agenda.r webinterface --- krebs/2configs/reaktor2.nix | 141 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 132 insertions(+), 9 deletions(-) diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix index 14e0a3d7a..2fb7a54e8 100644 --- a/krebs/2configs/reaktor2.nix +++ b/krebs/2configs/reaktor2.nix @@ -9,11 +9,11 @@ let hooks = pkgs.reaktor2-plugins.hooks; commands = pkgs.reaktor2-plugins.commands; - task = name: let - rcFile = builtins.toFile "taskrc" '' - confirmation=no - ''; - in { + taskRcFile = builtins.toFile "taskrc" '' + confirmation=no + ''; + + task = name: { pattern = "^${name}-([a-z]+)(?::?\\s*(.*))?"; activate = "match"; command = 1; @@ -21,19 +21,19 @@ let env.TASKDATA = "${stateDir}/${name}"; commands = { add.filename = pkgs.writeDash "${name}-task-add" '' - ${pkgs.taskwarrior}/bin/task rc:${rcFile} add "$1" + ${pkgs.taskwarrior}/bin/task rc:${taskRcFile} add "$1" ''; list.filename = pkgs.writeDash "${name}-task-list" '' - ${pkgs.taskwarrior}/bin/task rc:${rcFile} export \ + ${pkgs.taskwarrior}/bin/task rc:${taskRcFile} export \ | ${pkgs.jq}/bin/jq -r ' .[] | select(.id != 0) | "\(.id) \(.description)" ' ''; delete.filename = pkgs.writeDash "${name}-task-delete" '' - ${pkgs.taskwarrior}/bin/task rc:${rcFile} delete "$1" + ${pkgs.taskwarrior}/bin/task rc:${taskRcFile} delete "$1" ''; done.filename = pkgs.writeDash "${name}-task-done" '' - ${pkgs.taskwarrior}/bin/task rc:${rcFile} done "$1" + ${pkgs.taskwarrior}/bin/task rc:${taskRcFile} done "$1" ''; }; }; @@ -122,6 +122,129 @@ in { isSystemUser = true; }; + systemd.services.htgen-agenda.serviceConfig.StateDirectory = "reaktor2"; + krebs.htgen.agenda = { + port = 8009; + user = { + name = "reaktor2"; + home = stateDir; + }; + script = ''. ${pkgs.writeDash "agenda" '' + echo "$Method $Request_URI" >&2 + case "$Method" in + "GET") + printf 'HTTP/1.1 200 OK\r\n' + printf 'Connection: close\r\n' + printf '\r\n' + TASKDATA=/var/lib/reaktor2/agenda ${pkgs.taskwarrior}/bin/task rc:${taskRcFile} export + exit + ;; + esac + ''}''; + }; + + services.nginx = { + virtualHosts."agenda.r" = { + locations."= /index.html".extraConfig = '' + alias ${pkgs.writeText "agenda.html" '' + + + + Agenda + + + + + +
+ + + + ''}; + ''; + locations."/agenda.json".extraConfig = '' + proxy_set_header Host $host; + proxy_pass http://localhost:8009; + ''; + extraConfig = '' + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + ''; + }; + }; + krebs.reaktor2 = { hackint = { hostname = "irc.hackint.org"; -- cgit v1.2.3 From d6febec1442b48d75771cba09bc54a96b5d8cd5f Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 29 Jul 2021 15:37:39 +0200 Subject: reaktor2: disable freenode reaktor --- krebs/2configs/reaktor2.nix | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix index 2fb7a54e8..15be3eec8 100644 --- a/krebs/2configs/reaktor2.nix +++ b/krebs/2configs/reaktor2.nix @@ -263,23 +263,6 @@ in { username = "reaktor2"; port = "6697"; }; - freenode = { - hostname = "irc.freenode.org"; - nick = "reaktor2|krebs"; - plugins = [ - { - plugin = "register"; - config = { - channels = [ - "#krebs" - ]; - }; - } - systemPlugin - ]; - username = "reaktor2"; - port = "6697"; - }; r = { nick = "reaktor2|krebs"; sendDelaySec = null; -- cgit v1.2.3 From 36db8bee2faae73baf60dc229894e259edbaa639 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 29 Jul 2021 15:46:34 +0200 Subject: reaktor2: fix dynamicUser not being able to write agenda --- krebs/2configs/reaktor2.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix index 15be3eec8..e9837ff7c 100644 --- a/krebs/2configs/reaktor2.nix +++ b/krebs/2configs/reaktor2.nix @@ -120,8 +120,11 @@ in { uid = genid_uint31 "reaktor2"; home = stateDir; isSystemUser = true; + extraGroups = [ "reaktor2" ]; }; + users.groups.reaktor2 = {}; + systemd.services.htgen-agenda.serviceConfig.StateDirectory = "reaktor2"; krebs.htgen.agenda = { port = 8009; @@ -245,6 +248,8 @@ in { }; }; + systemd.services.reaktor2-r.serviceConfig.DynamicUser = mkForce false; + systemd.services.reaktor2-hackint.serviceConfig.DynamicUser = mkForce false; krebs.reaktor2 = { hackint = { hostname = "irc.hackint.org"; -- cgit v1.2.3 From b19cfab1f372278950f70c2992cf62de93156c03 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 29 Jul 2021 15:49:48 +0200 Subject: l daedalus: disable tor-browser for now --- lass/1systems/daedalus/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/1systems/daedalus/config.nix b/lass/1systems/daedalus/config.nix index b84ce6acf..b08919802 100644 --- a/lass/1systems/daedalus/config.nix +++ b/lass/1systems/daedalus/config.nix @@ -80,7 +80,7 @@ with import ; #remote control environment.systemPackages = with pkgs; [ x11vnc - torbrowser + # torbrowser ]; krebs.iptables.tables.filter.INPUT.rules = [ { predicate = "-p tcp -i retiolum --dport 5900"; target = "ACCEPT"; } -- cgit v1.2.3 From ba6a5456e8d76b9c1eae7cd81dca3f2b16359ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Thu, 29 Jul 2021 17:05:39 +0200 Subject: reaktor2: fix agenda.r webinterface custom styling --- krebs/2configs/reaktor2.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix index e9837ff7c..4a33c33ec 100644 --- a/krebs/2configs/reaktor2.nix +++ b/krebs/2configs/reaktor2.nix @@ -187,16 +187,18 @@ in { const params = Object.fromEntries(urlSearchParams.entries()); if (params.hasOwnProperty("style")) { - fetch(params["style"]) - .then((response) => - response.text().then((css) => { - const title = document.getElementsByTagName("title")[0]; - const style = document.createElement("style"); - style.appendChild(document.createTextNode(css)); - title.appendChild(style); - }) - ) - .catch(console.log); + const cssUrls = params["style"].split(" ").filter((x) => x.length > 0); + for (const cssUrl of cssUrls) + fetch(cssUrl) + .then((response) => + response.text().then((css) => { + const title = document.getElementsByTagName("head")[0]; + const style = document.createElement("style"); + style.appendChild(document.createTextNode(css)); + title.appendChild(style); + }) + ) + .catch(console.log); } fetch("/agenda.json") -- cgit v1.2.3