From a697eb8f3c292b69bd0436f6e2c1759edc5a1227 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Mon, 27 Nov 2023 21:07:44 +0100 Subject: [PATCH 01/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/a462e7315deaa8194b0821f726709bb7e51a850c' (2023-11-25) → 'github:nix-community/home-manager/db1878f013b52ba5e4034db7c1b63e8d04173a86' (2023-11-27) • Updated input 'mac-brcm-fw': 'path:./mac-brcm-fw?lastModified=1&narHash=sha256-ewzM8IBKNFCx73ah5rflcdx605ukRF3oTWwih2CTsvs%3D' (1970-01-01) → 'path:./mac-brcm-fw?lastModified=1&narHash=sha256-%2BkW8ogc6DykjMVlrr%2B3vWKs9ZUdJ9EW72LbY7k/Qvh4%3D' (1970-01-01) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc' (2023-11-24) → 'github:NixOS/nixpkgs/d2e4de209881b38392933fabf303cde3454b0b4c' (2023-11-26) --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 3237263..37ccb4c 100644 --- a/flake.lock +++ b/flake.lock @@ -245,11 +245,11 @@ ] }, "locked": { - "lastModified": 1700900274, - "narHash": "sha256-KWoKDP5I1viHR4bG3ENnJ7H1DD16tXWH4ROvS0IfXw8=", + "lastModified": 1701071203, + "narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=", "owner": "nix-community", "repo": "home-manager", - "rev": "a462e7315deaa8194b0821f726709bb7e51a850c", + "rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86", "type": "github" }, "original": { @@ -282,7 +282,7 @@ "flake": false, "locked": { "lastModified": 1, - "narHash": "sha256-ewzM8IBKNFCx73ah5rflcdx605ukRF3oTWwih2CTsvs=", + "narHash": "sha256-+kW8ogc6DykjMVlrr+3vWKs9ZUdJ9EW72LbY7k/Qvh4=", "path": "./mac-brcm-fw", "type": "path" }, @@ -418,11 +418,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1700851152, - "narHash": "sha256-3PWITNJZyA3jz5IGREJRfSykM6xSLmD8u5A3WpBCyDM=", + "lastModified": 1700989516, + "narHash": "sha256-oKbmPa2wpTHh9XB3+zIx97uMZGNnp97GPliKKG2/plo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc", + "rev": "d2e4de209881b38392933fabf303cde3454b0b4c", "type": "github" }, "original": { From 4d49bd52e30f1bc97c788a182252fd1f5eeb025d Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Tue, 28 Nov 2023 20:13:05 +0100 Subject: [PATCH 02/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'arion': 'github:hercules-ci/arion/172e69d5632faa173dcbbd4465eec6b91061c4c8' (2023-11-24) → 'github:hercules-ci/arion/39030b95666e018230dc9b85d76dc6e5b617ab87' (2023-11-28) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/d2e4de209881b38392933fabf303cde3454b0b4c' (2023-11-26) → 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 37ccb4c..4063c3c 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1700828696, - "narHash": "sha256-/XW6G0x1xrD2jvSC/69OxW6D3vCSpgTwNxpZZj4BrhI=", + "lastModified": 1701196744, + "narHash": "sha256-ZCuplnqMIIPs5zCPgYEp+m7mHqFh8Fy0lJD3ybZ/h0w=", "owner": "hercules-ci", "repo": "arion", - "rev": "172e69d5632faa173dcbbd4465eec6b91061c4c8", + "rev": "39030b95666e018230dc9b85d76dc6e5b617ab87", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1700989516, - "narHash": "sha256-oKbmPa2wpTHh9XB3+zIx97uMZGNnp97GPliKKG2/plo=", + "lastModified": 1701053011, + "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2e4de209881b38392933fabf303cde3454b0b4c", + "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", "type": "github" }, "original": { From beb7f25717c6100c0b42936b4f751a7a9d02c1d7 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Tue, 28 Nov 2023 21:50:03 +0100 Subject: [PATCH 03/31] make screenlocker less obnoxious --- modules/desktop/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 518b300..d773d28 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -79,7 +79,7 @@ in programs.xss-lock = { enable = true; - lockerCommand = "${pkgs.i3lock}/bin/i3lock"; + lockerCommand = "${pkgs.i3lock}/bin/i3lock -c 1d2021"; }; services.illum.enable = true; From 73a6abf1c34e0b4eab017557a2e6c4ca09155198 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 29 Nov 2023 19:31:59 +0100 Subject: [PATCH 04/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24) → 'github:NixOS/nixpkgs/8cfef6986adfb599ba379ae53c9f5631ecd2fd9c' (2023-11-27) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4063c3c..be9cc02 100644 --- a/flake.lock +++ b/flake.lock @@ -569,11 +569,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1700794826, - "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", + "lastModified": 1701068326, + "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", + "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", "type": "github" }, "original": { From 1f2197a6b3ad085d7b71d30338ccd081e9d28ca9 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 29 Nov 2023 20:40:13 +0100 Subject: [PATCH 05/31] add signal-desktop to config --- modules/desktop/social.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/desktop/social.nix b/modules/desktop/social.nix index e54b562..666d50e 100644 --- a/modules/desktop/social.nix +++ b/modules/desktop/social.nix @@ -15,6 +15,7 @@ in home.packages = with pkgs; [ evolutionWithPlugins schildichat-desktop + signal-desktop mumble ]; }; From 298dc727aa34582c80f6a14033eff3e9c8511c19 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Thu, 30 Nov 2023 14:58:50 +0100 Subject: [PATCH 06/31] update stabe thingy --- flake.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 8d10e4c..dd6b612 100644 --- a/flake.nix +++ b/flake.nix @@ -2,10 +2,8 @@ description = "system"; inputs = { - # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs.url = "nixpkgs/nixos-unstable"; - # nixpkgs.url = "nixpkgs/nixos-22.11"; - nixpkgs-stable.url = "nixpkgs/nixos-23.05"; + nixpkgs-stable.url = "nixpkgs/nixos-23.11"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; From ad735864800e393077deac297ef5cfca11aa5455 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Thu, 30 Nov 2023 14:59:23 +0100 Subject: [PATCH 07/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) → 'github:NixOS/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29) --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index be9cc02..0ff5061 100644 --- a/flake.lock +++ b/flake.lock @@ -418,16 +418,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1701053011, - "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", + "lastModified": 1701263465, + "narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", + "rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "type": "indirect" } }, From 57ef602cf709fbb502a909e25706fa8895388a10 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Mon, 4 Dec 2023 21:25:41 +0100 Subject: [PATCH 08/31] temp fix for being able to ignore dns problems --- modules/desktop/networking.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/desktop/networking.nix b/modules/desktop/networking.nix index cfa2f5b..7b5f7eb 100644 --- a/modules/desktop/networking.nix +++ b/modules/desktop/networking.nix @@ -42,6 +42,17 @@ in { "googletagservices.com" "googlesyndication.com" ]; + "91.107.221.11" = [ + "katzen.cafe" + "matrix.katzen.cafe" + "design.katzen.cafe" + "ck.katzen.cafe" + "forge.katzen.cafe" + "pad.katzen.cafe" + "mail.katzen.cafe" + "wolke.katzen.cafe" + "auth.katzen.cafe" + ]; }; }; environment.etc = with builtins; ( From bd0804ae221b5dddb28dc2ed3790849d482f891b Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Mon, 4 Dec 2023 21:26:32 +0100 Subject: [PATCH 09/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/db1878f013b52ba5e4034db7c1b63e8d04173a86' (2023-11-27) → 'github:nix-community/home-manager/948703f3e71f1332a0cb535ebaf5cb14946e3724' (2023-12-04) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/8cfef6986adfb599ba379ae53c9f5631ecd2fd9c' (2023-11-27) → 'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29) → 'github:NixOS/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 0ff5061..fb3391d 100644 --- a/flake.lock +++ b/flake.lock @@ -245,11 +245,11 @@ ] }, "locked": { - "lastModified": 1701071203, - "narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=", + "lastModified": 1701676655, + "narHash": "sha256-wP8i7hO2aLNJhYoTK3kqoymaCLgt4QcwWcO8d/A1CjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86", + "rev": "948703f3e71f1332a0cb535ebaf5cb14946e3724", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1701263465, - "narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=", + "lastModified": 1701539137, + "narHash": "sha256-nVO/5QYpf1GwjvtpXhyxx5M3U/WN0MwBro4Lsk+9mL0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3", + "rev": "933d7dc155096e7575d207be6fb7792bc9f34f6d", "type": "github" }, "original": { @@ -569,11 +569,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1701068326, - "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", + "lastModified": 1701436327, + "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", + "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", "type": "github" }, "original": { From 1921ea7357e124ed191ad3e811c880e1ea6fc607 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Tue, 5 Dec 2023 15:54:07 +0100 Subject: [PATCH 10/31] add direnv and set up haskell ls for xmonad work --- .envrc | 1 + .gitignore | 1 + flake.nix | 11 ++++++++++- modules/shell/helix.nix | 1 - 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index b2be92b..4812d58 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ result +.direnv/ diff --git a/flake.nix b/flake.nix index dd6b612..c06d9f3 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,16 @@ nixos-hardware, mac-brcm-fw, ... - } @ inputs: { + } @ inputs: let + pkgs = nixpkgs.legacyPackages."x86_64-linux"; + in { + devShells."x86_64-linux".default = pkgs.mkShell { + buildInputs = [ + (pkgs.haskellPackages.ghcWithPackages + (pkgs: with pkgs; [xmonad xmonad-contrib])) + pkgs.haskell-language-server + ]; + }; nixosConfigurations = { monosodium-glutamate-g = nixpkgs.lib.nixosSystem { specialArgs = { diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix index 2929e9b..7520743 100644 --- a/modules/shell/helix.nix +++ b/modules/shell/helix.nix @@ -4,7 +4,6 @@ sessionVariables.EDITOR = "hx"; packages = [ pkgs.nil - pkgs.haskell-language-server pkgs.nodePackages_latest.vscode-html-languageserver-bin pkgs.nodePackages_latest.vscode-json-languageserver-bin pkgs.nodePackages_latest.vscode-css-languageserver-bin From cd2ff22e000b55e87236f47e6052fe51d7f41f61 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Tue, 5 Dec 2023 15:54:22 +0100 Subject: [PATCH 11/31] format and fix a bit according to lsp suggestions --- haskell/xmonad/xmonad.hs | 357 +++++++++++++++++++++------------------ 1 file changed, 191 insertions(+), 166 deletions(-) diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs index adf0c33..e7aca06 100644 --- a/haskell/xmonad/xmonad.hs +++ b/haskell/xmonad/xmonad.hs @@ -7,27 +7,21 @@ -- Normally, you'd only override those defaults you care about. -- -import XMonad +import Control.Monad (when) +import Data.Map qualified as M import Data.Monoid +import Graphics.X11.ExtraTypes.XF86 import System.Exit - +import XMonad +import XMonad.Actions.KeyRemap +import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.StatusBar import XMonad.Hooks.StatusBar.PP -import XMonad.Hooks.EwmhDesktops - -import qualified XMonad.StackSet as W -import qualified Data.Map as M - import XMonad.Layout.Spacing import XMonad.Layout.Tabbed - -import XMonad.Actions.KeyRemap - import XMonad.Prompt import XMonad.Prompt.Layout -import Graphics.X11.ExtraTypes.XF86 - -import Control.Monad (when) +import XMonad.StackSet qualified as W -- The preferred terminal program, which is used in a binding below and by -- certain contrib modules. @@ -62,127 +56,153 @@ myModMask = mod4Mask -- -- > workspaces = ["web", "irc", "code" ] ++ map show [4..9] -- -myWorkspaces = ["comms","browser","3","4","5","6","7","8","9"] +myWorkspaces = ["comms", "browser", "3", "4", "5", "6", "7", "8", "9"] -- Border colors for unfocused and focused windows, respectively. -- -myNormalBorderColor = "#3c3836" +myNormalBorderColor = "#3c3836" + myFocusedBorderColor = "#504945" -myRemaps = KeymapTable [ ((0, xK_a), (0, xK_b)) ] +myRemaps = KeymapTable [ + -- ((0, xK_a), (0, xK_b)) + ] ------------------------------------------------------------------------ -- Key bindings. Add, modify or remove key bindings here. -- -myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ - [ ((modm, xK_Return), spawn $ XMonad.terminal conf) - , ((modm .|. shiftMask, xK_q), kill) - -- -- Rotate through the available layout algorithms - , ((modm, xK_space ), sendMessage NextLayout) +myKeys conf@(XConfig {XMonad.modMask = modm}) = + M.fromList $ + [ ((modm, xK_Return), spawn $ XMonad.terminal conf), + ((modm .|. shiftMask, xK_q), kill), + -- -- Rotate through the available layout algorithms + ((modm, xK_space), sendMessage NextLayout), + -- rofiing + ((modm, xK_d), spawn "rofi -show drun"), + ((modm .|. shiftMask, xK_e), spawn "rofi -show desktopctl -modes desktopctl:desktopctl -show-icons"), + ((modm, xK_m), spawn "menu-qalc -- -theme gruvbox-dark"), + ((modm, xK_i), spawn "rofimoji --selector-args '-theme gruvbox-dark' -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy"), + -- screenshotting + -- TODO: Fix/rewrite window-screenshot.sh + ((modm, xK_w), spawn "window-screenshot.nu"), + ((modm, xK_s), spawn "flameshot gui -c -p $HOME/Pictures/screenshots"), + ((modm, xK_a), spawn "flameshot screen -c -p $HOME/Pictures/screenshots"), + ((modm, xK_t), spawn "ocr-screenshot.sh"), + ((modm .|. shiftMask, xK_t), spawn "DEVICE=\"MELF0410:00 1FD2:7007\"; if [ $(xinput list-props \"$DEVICE\" | awk '/^\\tDevice Enabled \\([0-9]+\\):\\t[01]/ {print $NF}') = \"1\" ]; then xinput disable \"$DEVICE\"; else xinput enable \"$DEVICE\"; fi"), + -- Reset the layouts on the current workspace to default + -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) + -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) + -- Push window back into tiling + ((modm .|. shiftMask, xK_space), withFocused $ windows . W.sink), + -- Resize viewed windows to the correct size + ((modm, xK_n), refresh), + -- Move focus to the next window + ((modm, xK_Tab), layoutPrompt def), + -- Move focus + ((modm, xK_j), windows W.focusDown), + ((modm, xK_k), windows W.focusUp), + -- Swap the focused window with the next window + ((modm .|. shiftMask, xK_j), windows W.swapDown), + ((modm .|. shiftMask, xK_k), windows W.swapUp), + -- Shrink the master area + ((modm, xK_h), sendMessage Shrink), + ((modm, xK_l), sendMessage Expand), + -- Increment the number of windows in the master area + ((modm, xK_comma), sendMessage (IncMasterN 1)), + ((modm, xK_period), sendMessage (IncMasterN (-1))) + -- Brightness n stuff + -- , ((0, xF86XK_AudioRaiseVolume), spawn "amixer -D pulse sset Master 10%+") + -- , ((0, xF86XK_AudioLowerVolume), spawn "amixer -D pulse sset Master 10%-") + -- , ((0, xF86XK_AudioMute), spawn "amixer -D pulse sset Master toggle") + -- , ((0, xF86XK_MonBrightnessUp), spawn "brightnessctl set +10%") + -- , ((0, xF86XK_MonBrightnessDown), spawn "brightnessctl set 10%-") + -- , ((0, xF86XK_KbdBrightnessUp), spawn "brightnessctl -d \"kbd_backlight\" set +10%") + -- , ((0, xF86XK_KbdBrightnessDown), spawn "brightnessctl -d \"kbd_backlight\" set 10%-") - -- rofiing - , ((modm, xK_d), spawn "rofi -show drun") - , ((modm .|. shiftMask, xK_e), spawn "rofi -show desktopctl -modes desktopctl:desktopctl -show-icons") - , ((modm, xK_m), spawn "menu-qalc -- -theme gruvbox-dark") - , ((modm, xK_i), spawn "rofimoji --selector-args '-theme gruvbox-dark' -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy") + -- Toggle the status bar gap + -- Use this binding with avoidStruts from Hooks.ManageDocks. + -- See also the statusBar function from Hooks.DynamicLog. + -- + -- , ((modm , xK_b ), sendMessage ToggleStruts) - -- screenshotting - -- TODO: Fix/rewrite window-screenshot.sh - , ((modm, xK_w), spawn "window-screenshot.nu") - , ((modm, xK_s), spawn "flameshot gui -c -p $HOME/Pictures/screenshots") - , ((modm, xK_a), spawn "flameshot screen -c -p $HOME/Pictures/screenshots") - , ((modm, xK_t), spawn "ocr-screenshot.sh") + -- , ((modm .|. shiftMask, xK_e ), io (exitWith ExitSuccess)) - , ((modm .|. shiftMask, xK_t), spawn "DEVICE=\"MELF0410:00 1FD2:7007\"; if [ $(xinput list-props \"$DEVICE\" | awk '/^\\tDevice Enabled \\([0-9]+\\):\\t[01]/ {print $NF}') = \"1\" ]; then xinput disable \"$DEVICE\"; else xinput enable \"$DEVICE\"; fi") + -- Restart xmonad + -- , ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart") - -- Reset the layouts on the current workspace to default - -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) - -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) - -- Push window back into tiling - , ((modm .|. shiftMask, xK_space ), withFocused $ windows . W.sink) + -- Run xmessage with a summary of the default keybindings (useful for beginners) + ] + ++ + -- + -- + -- + -- + -- + -- + -- + -- + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-[1..9], Switch to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- + -- + -- + -- + -- + -- + -- + -- + [ ((m .|. modm, k), windows $ f i) + | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9], + (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)] + ] +-- ++ - -- Resize viewed windows to the correct size - , ((modm, xK_n ), refresh) - - -- Move focus to the next window - , ((modm, xK_Tab ), layoutPrompt def) - - -- Move focus - , ((modm, xK_j ), windows W.focusDown) - , ((modm, xK_k ), windows W.focusUp ) - - -- Swap the focused window with the next window - , ((modm .|. shiftMask, xK_j ), windows W.swapDown ) - , ((modm .|. shiftMask, xK_k ), windows W.swapUp ) - - -- Shrink the master area - , ((modm, xK_h ), sendMessage Shrink) - , ((modm, xK_l ), sendMessage Expand) - - -- Increment the number of windows in the master area - , ((modm , xK_comma ), sendMessage (IncMasterN 1)) - , ((modm , xK_period), sendMessage (IncMasterN (-1))) - - -- Brightness n stuff - -- , ((0, xF86XK_AudioRaiseVolume), spawn "amixer -D pulse sset Master 10%+") - -- , ((0, xF86XK_AudioLowerVolume), spawn "amixer -D pulse sset Master 10%-") - -- , ((0, xF86XK_AudioMute), spawn "amixer -D pulse sset Master toggle") - -- , ((0, xF86XK_MonBrightnessUp), spawn "brightnessctl set +10%") - -- , ((0, xF86XK_MonBrightnessDown), spawn "brightnessctl set 10%-") - -- , ((0, xF86XK_KbdBrightnessUp), spawn "brightnessctl -d \"kbd_backlight\" set +10%") - -- , ((0, xF86XK_KbdBrightnessDown), spawn "brightnessctl -d \"kbd_backlight\" set 10%-") - - -- Toggle the status bar gap - -- Use this binding with avoidStruts from Hooks.ManageDocks. - -- See also the statusBar function from Hooks.DynamicLog. - -- - -- , ((modm , xK_b ), sendMessage ToggleStruts) - - --, ((modm .|. shiftMask, xK_e ), io (exitWith ExitSuccess)) - - -- Restart xmonad - --, ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart") - - -- Run xmessage with a summary of the default keybindings (useful for beginners) - ] - ++ - - -- - -- mod-[1..9], Switch to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- - [((m .|. modm, k), windows $ f i) - | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] - , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] - -- ++ - - -- - -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 - -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 - -- - -- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) - -- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] - -- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] - +-- +-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 +-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 +-- +-- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) +-- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] +-- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] ------------------------------------------------------------------------ -- Mouse bindings: default actions bound to mouse events -- -myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $ - -- mod-button1, Set the window to floating mode and move by dragging - [ ((modm, button1), (\w -> focus w >> mouseMoveWindow w - >> windows W.shiftMaster)) - - -- mod-button2, Raise the window to the top of the stack - , ((modm, button2), (\w -> focus w >> windows W.shiftMaster)) - - -- mod-button3, Set the window to floating mode and resize by dragging - , ((modm, button3), (\w -> focus w >> mouseResizeWindow w - >> windows W.shiftMaster)) - - -- you may also bind events to the mouse scroll wheel (button4 and button5) - ] +myMouseBindings (XConfig {XMonad.modMask = modm}) = + M.fromList + -- mod-button1, Set the window to floating mode and move by dragging + [ ( (modm, button1), + \w -> + focus w + >> mouseMoveWindow w + >> windows W.shiftMaster + ), + -- mod-button2, Raise the window to the top of the stack + ((modm, button2), \w -> focus w >> windows W.shiftMaster), + -- mod-button3, Set the window to floating mode and resize by dragging + ( (modm, button3), + \w -> + focus w + >> mouseResizeWindow w + >> windows W.shiftMaster + ) + -- you may also bind events to the mouse scroll wheel (button4 and button5) + ] ------------------------------------------------------------------------ -- Layouts: @@ -195,30 +215,32 @@ myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $ -- The available layouts. Note that each layout is separated by |||, -- which denotes layout choice. -tabCfg = def - { activeColor = "#282828" - , inactiveColor = "#1d2021" - , urgentColor = "#9d0006" - , activeBorderColor = "#504945" - , inactiveBorderColor = "#3c3836" - , urgentBorderColor = "#cc241d" - , activeTextColor = "#ebdbb2" - , inactiveTextColor = "#bdae93" - , urgentTextColor = "#ebdbb2" - } -myLayout = tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled +tabCfg = + def + { activeColor = "#282828", + inactiveColor = "#1d2021", + urgentColor = "#9d0006", + activeBorderColor = "#504945", + inactiveBorderColor = "#3c3836", + urgentBorderColor = "#cc241d", + activeTextColor = "#ebdbb2", + inactiveTextColor = "#bdae93", + urgentTextColor = "#ebdbb2" + } + +myLayout = tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled where - -- default tiling algorithm partitions the screen into two panes - tiled = Tall nmaster delta ratio + -- default tiling algorithm partitions the screen into two panes + tiled = Tall nmaster delta ratio - -- The default number of windows in the master pane - nmaster = 1 + -- The default number of windows in the master pane + nmaster = 1 - -- Default proportion of screen occupied by master pane - ratio = 1/2 + -- Default proportion of screen occupied by master pane + ratio = 1 / 2 - -- Percent of screen to increment by when resizing panes - delta = 3/100 + -- Percent of screen to increment by when resizing panes + delta = 3 / 100 ------------------------------------------------------------------------ -- Window rules: @@ -235,16 +257,19 @@ myLayout = tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled -- To match on the WM_NAME, you can use 'title' in the same way that -- 'className' and 'resource' are used below. -- -myManageHook = composeAll - [ className =? "MPlayer" --> doFloat - , className =? "Gimp" --> doFloat - , resource =? "desktop_window" --> doIgnore - , resource =? "kdesktop" --> doIgnore ] +myManageHook = + composeAll + [ className =? "MPlayer" --> doFloat, + className =? "Gimp" --> doFloat, + resource =? "desktop_window" --> doIgnore, + resource =? "kdesktop" --> doIgnore + ] ------------------------------------------------------------------------ -- Event handling -- * EwmhDesktops users should change this to ewmhDesktopsEventHook + -- -- Defines a custom handler function for X Events. The function should -- return (All True) if the default handler is to be run afterwards. To @@ -252,7 +277,7 @@ myManageHook = composeAll -- myEventHook = mempty -focusChangeHook (FocusChangeEvent {ev_event_type=t, ev_window=window}) = do +focusChangeHook (FocusChangeEvent {ev_event_type = t, ev_window = window}) = do when (t == focusIn) $ spawn "notify-send 'focusIn'" when (t == focusOut) $ spawn "notify-send 'focusOut'" return $ All True @@ -275,21 +300,20 @@ myLogHook = return () -- By default, do nothing. myStartupHook = do spawn "pkill oneko; oneko -tofocus -tora -position +-1+5 -fg palevioletred3 -bg pink -name 'Rose the desktop kitty'" - --spawn "pkill polybar; polybar" + -- spawn "pkill polybar; polybar" spawn "pkill volumeicon; volumeicon" spawn "pkill nm-applet; nm-applet" spawn "mullvad-vpn --background" spawn "feh --bg-fill ~/Pictures/wallpaper.jpg" setDefaultKeyRemap myRemaps [myRemaps] - - ------------------------------------------------------------------------ -- Now run xmonad with all the defaults we set up. -- Run xmonad with the settings you specify. No need to modify this. -- -mySB = statusBarProp "polybar" (pure xmobarPP) +mySB = statusBarProp "polybar" (pure xmobarPP) + main = xmonad $ withEasySB mySB defToggleStrutsKey (ewmh defaults) -- A structure containing your configuration settings, overriding @@ -298,24 +322,25 @@ main = xmonad $ withEasySB mySB defToggleStrutsKey (ewmh defaults) -- -- No need to modify this. -- -defaults = def - -- simple stuff - { terminal = myTerminal - , focusFollowsMouse = myFocusFollowsMouse - , clickJustFocuses = myClickJustFocuses - , borderWidth = myBorderWidth - , modMask = myModMask - , workspaces = myWorkspaces - , normalBorderColor = myNormalBorderColor - , focusedBorderColor = myFocusedBorderColor - -- , clientMask = focusChangeMask .|. XMonad.clientMask - -- key bindings - , keys = myKeys - , mouseBindings = myMouseBindings - -- hooks, layouts - , layoutHook = spacingRaw True (Border 0 0 0 0) True (Border 7 7 7 7) True $ myLayout - , manageHook = myManageHook - , handleEventHook = myEventHook - , logHook = myLogHook - , startupHook = myStartupHook - } +defaults = + def + { -- simple stuff + terminal = myTerminal, + focusFollowsMouse = myFocusFollowsMouse, + clickJustFocuses = myClickJustFocuses, + borderWidth = myBorderWidth, + modMask = myModMask, + workspaces = myWorkspaces, + normalBorderColor = myNormalBorderColor, + focusedBorderColor = myFocusedBorderColor, + -- , clientMask = focusChangeMask .|. XMonad.clientMask + -- key bindings + keys = myKeys, + mouseBindings = myMouseBindings, + -- hooks, layouts + layoutHook = spacingRaw True (Border 0 0 0 0) True (Border 7 7 7 7) True myLayout, + manageHook = myManageHook, + handleEventHook = myEventHook, + logHook = myLogHook, + startupHook = myStartupHook + } From 021f8d9296c6eec33d66d8c663003274f65b84d6 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 00:20:05 +0100 Subject: [PATCH 12/31] xmonad first steps of proper setup --- haskell/xmonad/xmonad.hs | 208 +++++++++------------------------------ 1 file changed, 49 insertions(+), 159 deletions(-) diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs index e7aca06..ef29bb7 100644 --- a/haskell/xmonad/xmonad.hs +++ b/haskell/xmonad/xmonad.hs @@ -1,76 +1,30 @@ --- --- xmonad example config file. --- --- A template showing all available configuration hooks, --- and how to override the defaults in your own xmonad.hs conf file. --- --- Normally, you'd only override those defaults you care about. --- - import Control.Monad (when) import Data.Map qualified as M import Data.Monoid +import Data.Ratio import Graphics.X11.ExtraTypes.XF86 import System.Exit import XMonad import XMonad.Actions.KeyRemap import XMonad.Hooks.EwmhDesktops +import XMonad.Hooks.ManageDocks import XMonad.Hooks.StatusBar import XMonad.Hooks.StatusBar.PP +import XMonad.Layout.Circle +import XMonad.Layout.DraggingVisualizer +import XMonad.Layout.Grid +import XMonad.Layout.IfMax +import XMonad.Layout.Magnifier import XMonad.Layout.Spacing import XMonad.Layout.Tabbed +import XMonad.Layout.ThreeColumns +import XMonad.Layout.VoidBorders +import XMonad.Layout.WindowSwitcherDecoration import XMonad.Prompt import XMonad.Prompt.Layout import XMonad.StackSet qualified as W +import XMonad.Actions.NoBorders --- The preferred terminal program, which is used in a binding below and by --- certain contrib modules. --- -myTerminal = "kitty" - --- Whether focus follows the mouse pointer. -myFocusFollowsMouse :: Bool -myFocusFollowsMouse = False - --- Whether clicking on a window to focus also passes the click to the window -myClickJustFocuses :: Bool -myClickJustFocuses = False - --- Width of the window border in pixels. --- -myBorderWidth = 2 - --- modMask lets you specify which modkey you want to use. The default --- is mod1Mask ("left alt"). You may also consider using mod3Mask --- ("right alt"), which does not conflict with emacs keybindings. The --- "windows key" is usually mod4Mask. --- -myModMask = mod4Mask - --- The default number of workspaces (virtual screens) and their names. --- By default we use numeric strings, but any string may be used as a --- workspace name. The number of workspaces is determined by the length --- of this list. --- --- A tagging example: --- --- > workspaces = ["web", "irc", "code" ] ++ map show [4..9] --- -myWorkspaces = ["comms", "browser", "3", "4", "5", "6", "7", "8", "9"] - --- Border colors for unfocused and focused windows, respectively. --- -myNormalBorderColor = "#3c3836" - -myFocusedBorderColor = "#504945" - -myRemaps = KeymapTable [ - -- ((0, xK_a), (0, xK_b)) - ] - ------------------------------------------------------------------------- --- Key bindings. Add, modify or remove key bindings here. --- myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ [ ((modm, xK_Return), spawn $ XMonad.terminal conf), @@ -83,15 +37,12 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = ((modm, xK_m), spawn "menu-qalc -- -theme gruvbox-dark"), ((modm, xK_i), spawn "rofimoji --selector-args '-theme gruvbox-dark' -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy"), -- screenshotting - -- TODO: Fix/rewrite window-screenshot.sh + -- TODO: Fix/rewrite window-screenshot ((modm, xK_w), spawn "window-screenshot.nu"), ((modm, xK_s), spawn "flameshot gui -c -p $HOME/Pictures/screenshots"), ((modm, xK_a), spawn "flameshot screen -c -p $HOME/Pictures/screenshots"), ((modm, xK_t), spawn "ocr-screenshot.sh"), ((modm .|. shiftMask, xK_t), spawn "DEVICE=\"MELF0410:00 1FD2:7007\"; if [ $(xinput list-props \"$DEVICE\" | awk '/^\\tDevice Enabled \\([0-9]+\\):\\t[01]/ {print $NF}') = \"1\" ]; then xinput disable \"$DEVICE\"; else xinput enable \"$DEVICE\"; fi"), - -- Reset the layouts on the current workspace to default - -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) - -- , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) -- Push window back into tiling ((modm .|. shiftMask, xK_space), withFocused $ windows . W.sink), -- Resize viewed windows to the correct size @@ -109,76 +60,20 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = ((modm, xK_l), sendMessage Expand), -- Increment the number of windows in the master area ((modm, xK_comma), sendMessage (IncMasterN 1)), - ((modm, xK_period), sendMessage (IncMasterN (-1))) - -- Brightness n stuff - -- , ((0, xF86XK_AudioRaiseVolume), spawn "amixer -D pulse sset Master 10%+") - -- , ((0, xF86XK_AudioLowerVolume), spawn "amixer -D pulse sset Master 10%-") - -- , ((0, xF86XK_AudioMute), spawn "amixer -D pulse sset Master toggle") - -- , ((0, xF86XK_MonBrightnessUp), spawn "brightnessctl set +10%") - -- , ((0, xF86XK_MonBrightnessDown), spawn "brightnessctl set 10%-") - -- , ((0, xF86XK_KbdBrightnessUp), spawn "brightnessctl -d \"kbd_backlight\" set +10%") - -- , ((0, xF86XK_KbdBrightnessDown), spawn "brightnessctl -d \"kbd_backlight\" set 10%-") - - -- Toggle the status bar gap - -- Use this binding with avoidStruts from Hooks.ManageDocks. - -- See also the statusBar function from Hooks.DynamicLog. - -- - -- , ((modm , xK_b ), sendMessage ToggleStruts) - - -- , ((modm .|. shiftMask, xK_e ), io (exitWith ExitSuccess)) - - -- Restart xmonad - -- , ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart") - - -- Run xmessage with a summary of the default keybindings (useful for beginners) + ((modm, xK_period), sendMessage (IncMasterN (-1))), + ((modm, xK_b), sendMessage ToggleStruts >> withFocused toggleBorder), + -- volume keys + -- TODO: other media keys + ((0, xF86XK_AudioRaiseVolume), spawn "amixer -D pulse sset Master 10%+"), + ((0, xF86XK_AudioLowerVolume), spawn "amixer -D pulse sset Master 10%-"), + ((0, xF86XK_AudioMute), spawn "amixer -D pulse sset Master toggle") ] - ++ - -- - -- - -- - -- - -- - -- - -- - -- - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-[1..9], Switch to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- - -- - -- - -- - -- - -- - -- - -- - [ ((m .|. modm, k), windows $ f i) - | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9], - (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)] - ] + ++ [ ((m .|. modm, k), windows $ f i) + | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9], + (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)] + ] --- ++ - --- --- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 --- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 --- --- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) --- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] --- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] +-- TODO: figure out multi screen stuff, including xinerama ------------------------------------------------------------------------ -- Mouse bindings: default actions bound to mouse events @@ -187,21 +82,18 @@ myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList -- mod-button1, Set the window to floating mode and move by dragging [ ( (modm, button1), - \w -> - focus w - >> mouseMoveWindow w - >> windows W.shiftMaster + \w -> do + focus w + mouseMoveWindow w + windows W.shiftMaster ), -- mod-button2, Raise the window to the top of the stack - ((modm, button2), \w -> focus w >> windows W.shiftMaster), - -- mod-button3, Set the window to floating mode and resize by dragging ( (modm, button3), - \w -> - focus w - >> mouseResizeWindow w - >> windows W.shiftMaster + \w -> do + focus w + mouseResizeWindow w + windows W.shiftMaster ) - -- you may also bind events to the mouse scroll wheel (button4 and button5) ] ------------------------------------------------------------------------ @@ -228,17 +120,17 @@ tabCfg = urgentTextColor = "#ebdbb2" } -myLayout = tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled +myLayout = avoidStruts $ autoChoose ||| threeCol ||| tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled where -- default tiling algorithm partitions the screen into two panes + autoChoose = IfMax 2 tiled $ IfMax 3 tiled_mag $ IfMax 4 Grid threeCol tiled = Tall nmaster delta ratio - + tiled_mag = magnifiercz' 1.4 tiled + threeCol = magnifiercz' 1.6 $ ThreeColMid nmaster delta ratio -- The default number of windows in the master pane nmaster = 1 - -- Default proportion of screen occupied by master pane ratio = 1 / 2 - -- Percent of screen to increment by when resizing panes delta = 3 / 100 @@ -299,13 +191,11 @@ myLogHook = return () -- -- By default, do nothing. myStartupHook = do - spawn "pkill oneko; oneko -tofocus -tora -position +-1+5 -fg palevioletred3 -bg pink -name 'Rose the desktop kitty'" - -- spawn "pkill polybar; polybar" - spawn "pkill volumeicon; volumeicon" - spawn "pkill nm-applet; nm-applet" - spawn "mullvad-vpn --background" + spawn "pgrep oneko || oneko -tofocus -tora -position +-1+5 -fg palevioletred3 -bg pink -name 'Rose the desktop kitty'" + spawn "pgrep volumeicon || volumeicon" + spawn "pgrep nm-applet || nm-applet" + spawn "pgrep mullvad-gui || mullvad-vpn" spawn "feh --bg-fill ~/Pictures/wallpaper.jpg" - setDefaultKeyRemap myRemaps [myRemaps] ------------------------------------------------------------------------ -- Now run xmonad with all the defaults we set up. @@ -314,7 +204,7 @@ myStartupHook = do -- mySB = statusBarProp "polybar" (pure xmobarPP) -main = xmonad $ withEasySB mySB defToggleStrutsKey (ewmh defaults) +main = xmonad $ docks $ withSB mySB (ewmh defaults) -- A structure containing your configuration settings, overriding -- fields in the default config. Any you don't override, will @@ -325,14 +215,14 @@ main = xmonad $ withEasySB mySB defToggleStrutsKey (ewmh defaults) defaults = def { -- simple stuff - terminal = myTerminal, - focusFollowsMouse = myFocusFollowsMouse, - clickJustFocuses = myClickJustFocuses, - borderWidth = myBorderWidth, - modMask = myModMask, - workspaces = myWorkspaces, - normalBorderColor = myNormalBorderColor, - focusedBorderColor = myFocusedBorderColor, + terminal = "kitty", + focusFollowsMouse = False, + clickJustFocuses = False, + borderWidth = 2, + modMask = mod4Mask, + workspaces = ["comms", "browser"] ++ map show [3 .. 9], + normalBorderColor = "#3c3836", + focusedBorderColor = "#504945", -- , clientMask = focusChangeMask .|. XMonad.clientMask -- key bindings keys = myKeys, From 3d277d9cce9d5069d28b275f0fa12986c116e778 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 02:30:39 +0100 Subject: [PATCH 13/31] workspace stuffs --- haskell/xmonad/xmonad.hs | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs index ef29bb7..5c02930 100644 --- a/haskell/xmonad/xmonad.hs +++ b/haskell/xmonad/xmonad.hs @@ -75,9 +75,7 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = -- TODO: figure out multi screen stuff, including xinerama ------------------------------------------------------------------------- -- Mouse bindings: default actions bound to mouse events --- myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList -- mod-button1, Set the window to floating mode and move by dragging @@ -134,25 +132,14 @@ myLayout = avoidStruts $ autoChoose ||| threeCol ||| tiled ||| tabbed shrinkText -- Percent of screen to increment by when resizing panes delta = 3 / 100 ------------------------------------------------------------------------- --- Window rules: - --- Execute arbitrary actions and WindowSet manipulations when managing --- a new window. You can use this to, for example, always float a --- particular program, or have a client always appear on a particular --- workspace. --- --- To find the property name associated with a program, use --- > xprop | grep WM_CLASS --- and click on the client you're interested in. --- --- To match on the WM_NAME, you can use 'title' in the same way that --- 'className' and 'resource' are used below. --- myManageHook = composeAll [ className =? "MPlayer" --> doFloat, className =? "Gimp" --> doFloat, + className =? "firefox" --> doShift "browser", + className =? "Evolution" --> doShift "comms", + className =? "Signal" --> doShift "comms", + className =? "SchildiChat" --> doShift "comms", resource =? "desktop_window" --> doIgnore, resource =? "kdesktop" --> doIgnore ] From f7aec870258258afe1c852da3931fa22c998999c Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 13:14:02 +0100 Subject: [PATCH 14/31] start work on xmobar config --- flake.nix | 2 +- haskell/xmobar/xmobar.hs | 27 +++++++++++++ haskell/xmonad/xmonad.hs | 81 +++++++------------------------------ modules/desktop/polybar.nix | 1 + modules/desktop/xmonad.nix | 25 ++++++++++-- 5 files changed, 65 insertions(+), 71 deletions(-) create mode 100644 haskell/xmobar/xmobar.hs diff --git a/flake.nix b/flake.nix index c06d9f3..db7820e 100644 --- a/flake.nix +++ b/flake.nix @@ -36,7 +36,7 @@ devShells."x86_64-linux".default = pkgs.mkShell { buildInputs = [ (pkgs.haskellPackages.ghcWithPackages - (pkgs: with pkgs; [xmonad xmonad-contrib])) + (pkgs: with pkgs; [xmonad xmonad-contrib xmobar])) pkgs.haskell-language-server ]; }; diff --git a/haskell/xmobar/xmobar.hs b/haskell/xmobar/xmobar.hs new file mode 100644 index 0000000..a2fe690 --- /dev/null +++ b/haskell/xmobar/xmobar.hs @@ -0,0 +1,27 @@ + import Xmobar + + config :: Config + config = + defaultConfig + { font = "FiraCode Nerd Font", + allDesktops = True, + alpha = 255, + bgColor = "#282828", + fgColor = "#ebdbb2", + commands = + -- [ Run XMonadLog, + -- Run $ Memory ["t", "Mem: %"] 10, + -- Run $ Kbd [], + -- Run $ Date "%a %_d %b %Y %H:%M:%S" "date" 10 + -- ], + [ Run $ Memory ["t", "Mem: %"] 10, + Run $ Kbd [], + Run $ Date "%a %_d %b %Y %H:%M:%S" "date" 10 + ], + template = "%kbd% | %date% | %memory%", + alignSep = "}{", + position = TopH 24 + } + + main :: IO () + main = xmobar config -- or: configFromArgs config >>= xmobar diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs index 5c02930..8a936e9 100644 --- a/haskell/xmonad/xmonad.hs +++ b/haskell/xmonad/xmonad.hs @@ -24,6 +24,7 @@ import XMonad.Prompt import XMonad.Prompt.Layout import XMonad.StackSet qualified as W import XMonad.Actions.NoBorders +import XMonad.Util.EZConfig myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ @@ -94,17 +95,6 @@ myMouseBindings (XConfig {XMonad.modMask = modm}) = ) ] ------------------------------------------------------------------------- --- Layouts: - --- You can specify and transform your layouts by modifying these values. --- If you change layout bindings be sure to use 'mod-shift-space' after --- restarting (with 'mod-q') to reset your layout state to the new --- defaults, as xmonad preserves your old layout settings by default. --- --- The available layouts. Note that each layout is separated by |||, --- which denotes layout choice. - tabCfg = def { activeColor = "#282828", @@ -118,10 +108,12 @@ tabCfg = urgentTextColor = "#ebdbb2" } -myLayout = avoidStruts $ autoChoose ||| threeCol ||| tiled ||| tabbed shrinkText tabCfg ||| Mirror tiled +myLayout = setupSpacing $ avoidStruts $ autoChoose ||| tabbed shrinkText tabCfg where -- default tiling algorithm partitions the screen into two panes - autoChoose = IfMax 2 tiled $ IfMax 3 tiled_mag $ IfMax 4 Grid threeCol + autoChoose = IfMax 2 tiled $ IfMax 3 tiled_mag $ IfMax 4 grid_mag threeCol + setupSpacing = spacingRaw True (Border 0 0 0 0) True (Border 7 7 7 7) True + grid_mag = magnifiercz 1.4 Grid tiled = Tall nmaster delta ratio tiled_mag = magnifiercz' 1.4 tiled threeCol = magnifiercz' 1.6 $ ThreeColMid nmaster delta ratio @@ -144,61 +136,23 @@ myManageHook = resource =? "kdesktop" --> doIgnore ] ------------------------------------------------------------------------- --- Event handling - --- * EwmhDesktops users should change this to ewmhDesktopsEventHook - --- --- Defines a custom handler function for X Events. The function should --- return (All True) if the default handler is to be run afterwards. To --- combine event hooks use mappend or mconcat from Data.Monoid. --- -myEventHook = mempty - -focusChangeHook (FocusChangeEvent {ev_event_type = t, ev_window = window}) = do - when (t == focusIn) $ spawn "notify-send 'focusIn'" - when (t == focusOut) $ spawn "notify-send 'focusOut'" - return $ All True - ------------------------------------------------------------------------- --- Status bars and logging - --- Perform an arbitrary action on each internal state change or X event. --- See the 'XMonad.Hooks.DynamicLog' extension for examples. --- -myLogHook = return () - ------------------------------------------------------------------------- --- Startup hook - --- Perform an arbitrary action each time xmonad starts or is restarted --- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize --- per-workspace layout choices. --- --- By default, do nothing. myStartupHook = do spawn "pgrep oneko || oneko -tofocus -tora -position +-1+5 -fg palevioletred3 -bg pink -name 'Rose the desktop kitty'" spawn "pgrep volumeicon || volumeicon" spawn "pgrep nm-applet || nm-applet" spawn "pgrep mullvad-gui || mullvad-vpn" spawn "feh --bg-fill ~/Pictures/wallpaper.jpg" + killStatusBar "xmobar" + spawnStatusBar "xmobar" ------------------------------------------------------------------------- --- Now run xmonad with all the defaults we set up. +xmeowbar = statusBarProp "xmobar" $ pure xmobarPP +polybar = statusBarProp "polybar" $ pure xmobarPP +barSpawner 0 = pure $ xmeowbar <> polybar +barSpawner _ = mempty --- Run xmonad with the settings you specify. No need to modify this. --- -mySB = statusBarProp "polybar" (pure xmobarPP) +main :: IO() +main = xmonad $ docks $ dynamicSBs barSpawner $ ewmh defaults -main = xmonad $ docks $ withSB mySB (ewmh defaults) - --- A structure containing your configuration settings, overriding --- fields in the default config. Any you don't override, will --- use the defaults defined in xmonad/XMonad/Config.hs --- --- No need to modify this. --- defaults = def { -- simple stuff @@ -210,14 +164,9 @@ defaults = workspaces = ["comms", "browser"] ++ map show [3 .. 9], normalBorderColor = "#3c3836", focusedBorderColor = "#504945", - -- , clientMask = focusChangeMask .|. XMonad.clientMask - -- key bindings keys = myKeys, mouseBindings = myMouseBindings, - -- hooks, layouts - layoutHook = spacingRaw True (Border 0 0 0 0) True (Border 7 7 7 7) True myLayout, + layoutHook =myLayout, manageHook = myManageHook, - handleEventHook = myEventHook, - logHook = myLogHook, startupHook = myStartupHook - } + } diff --git a/modules/desktop/polybar.nix b/modules/desktop/polybar.nix index 9e6fd03..7db300d 100644 --- a/modules/desktop/polybar.nix +++ b/modules/desktop/polybar.nix @@ -29,6 +29,7 @@ }; "bar/status" = { # Style + bottom = true; width = "100%"; height = "24px"; radius = 0; diff --git a/modules/desktop/xmonad.nix b/modules/desktop/xmonad.nix index 38b58e9..793723b 100644 --- a/modules/desktop/xmonad.nix +++ b/modules/desktop/xmonad.nix @@ -1,11 +1,28 @@ { - config, lib, pkgs, ... -}: -with lib; { - home-manager.users.jade = {pkgs, ...}: { +}: { + home-manager.users.jade = { + config, + pkgs, + ... + }: let + xmobarGhc = pkgs.haskellPackages.ghcWithPackages (pkgs: with pkgs; [xmobar]); + in { + home.packages = [xmobarGhc pkgs.xmonadctl]; + programs.xmobar = { + enable = true; + }; + home.file."xmobar.hs" = { + source = ../../haskell/xmobar/xmobar.hs; + target = ".config/xmobar/xmobar.hs"; + onChange = '' + export PATH=${lib.makeBinPath [xmobarGhc]}:$PATH + ${pkgs.xmobar}/bin/xmobar --recompile + ${pkgs.haskellPackages.xmonad}/bin/xmonad --restart + ''; + }; xsession.windowManager.xmonad = { enable = true; enableContribAndExtras = true; From 31ba7cac2229e6355a1fee74f6f98a8f15e1001f Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 13:15:37 +0100 Subject: [PATCH 15/31] remove katzen.cafe from hosts to make dns debugging less painful --- modules/desktop/networking.nix | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/desktop/networking.nix b/modules/desktop/networking.nix index 7b5f7eb..cfa2f5b 100644 --- a/modules/desktop/networking.nix +++ b/modules/desktop/networking.nix @@ -42,17 +42,6 @@ in { "googletagservices.com" "googlesyndication.com" ]; - "91.107.221.11" = [ - "katzen.cafe" - "matrix.katzen.cafe" - "design.katzen.cafe" - "ck.katzen.cafe" - "forge.katzen.cafe" - "pad.katzen.cafe" - "mail.katzen.cafe" - "wolke.katzen.cafe" - "auth.katzen.cafe" - ]; }; }; environment.etc = with builtins; ( From b7987a87b49f58e8ba75b9b7a3acc8e71e879496 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 20:07:14 +0100 Subject: [PATCH 16/31] switch datetime module to xmobar --- haskell/xmobar/xmobar.hs | 50 ++++++++++++++++++------------------- haskell/xmonad/xmonad.hs | 8 +++--- modules/desktop/polybar.nix | 10 +------- modules/desktop/xmonad.nix | 6 ++--- 4 files changed, 33 insertions(+), 41 deletions(-) diff --git a/haskell/xmobar/xmobar.hs b/haskell/xmobar/xmobar.hs index a2fe690..0240a8f 100644 --- a/haskell/xmobar/xmobar.hs +++ b/haskell/xmobar/xmobar.hs @@ -1,27 +1,27 @@ - import Xmobar +import Xmobar - config :: Config - config = - defaultConfig - { font = "FiraCode Nerd Font", - allDesktops = True, - alpha = 255, - bgColor = "#282828", - fgColor = "#ebdbb2", - commands = - -- [ Run XMonadLog, - -- Run $ Memory ["t", "Mem: %"] 10, - -- Run $ Kbd [], - -- Run $ Date "%a %_d %b %Y %H:%M:%S" "date" 10 - -- ], - [ Run $ Memory ["t", "Mem: %"] 10, - Run $ Kbd [], - Run $ Date "%a %_d %b %Y %H:%M:%S" "date" 10 - ], - template = "%kbd% | %date% | %memory%", - alignSep = "}{", - position = TopH 24 - } +fc code content = "" ++ content ++ "" - main :: IO () - main = xmobar config -- or: configFromArgs config >>= xmobar +sep = fc "#7c6f64" +icon = fc "#d65d0e" + +config :: Config +config = + defaultConfig + { font = "FiraCode Nerd Font", + allDesktops = True, + alpha = 255, + bgColor = "#282828", + fgColor = "#ebdbb2", + commands = + [ Run $ Memory ["t", "Mem: %"] 10, + Run $ Kbd [], + Run $ Date (icon "\983277" ++ " %Y" ++ sep "-" ++ "%m" ++ sep "-" ++ "%d " ++ icon "\988236" ++ " %H" ++ sep ":" ++ "%M" ++ sep ":" ++ "%S ") "date" 10 + ], + template = "}{ %date%", + alignSep = "}{", + position = TopH 24 + } + +main :: IO () +main = xmobar config -- or: configFromArgs config >>= xmobar diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs index 8a936e9..3e4f439 100644 --- a/haskell/xmonad/xmonad.hs +++ b/haskell/xmonad/xmonad.hs @@ -25,6 +25,7 @@ import XMonad.Prompt.Layout import XMonad.StackSet qualified as W import XMonad.Actions.NoBorders import XMonad.Util.EZConfig +import XMonad.Hooks.ServerMode myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ @@ -142,10 +143,8 @@ myStartupHook = do spawn "pgrep nm-applet || nm-applet" spawn "pgrep mullvad-gui || mullvad-vpn" spawn "feh --bg-fill ~/Pictures/wallpaper.jpg" - killStatusBar "xmobar" - spawnStatusBar "xmobar" -xmeowbar = statusBarProp "xmobar" $ pure xmobarPP +xmeowbar = statusBarProp "~/.config/xmobar/xmobar" $ pure xmobarPP polybar = statusBarProp "polybar" $ pure xmobarPP barSpawner 0 = pure $ xmeowbar <> polybar barSpawner _ = mempty @@ -168,5 +167,6 @@ defaults = mouseBindings = myMouseBindings, layoutHook =myLayout, manageHook = myManageHook, - startupHook = myStartupHook + startupHook = myStartupHook, + handleEventHook = serverModeEventHook } diff --git a/modules/desktop/polybar.nix b/modules/desktop/polybar.nix index 7db300d..769aba3 100644 --- a/modules/desktop/polybar.nix +++ b/modules/desktop/polybar.nix @@ -45,7 +45,7 @@ separator-foreground = "\${colors.disabled}"; font-0 = "FiraCode Nerd Font"; modules-left = "xworkspaces xwindow"; - modules-right = "memory cpu wlan battery date"; + modules-right = "memory cpu wlan battery"; cursor-click = "pointer"; cursor-scroll = "ns-resize"; enable-ipc = true; @@ -138,14 +138,6 @@ ]; }; - "module/date" = { - type = "internal/date"; - interval = 1; - date = "%Y%{F#7c6f64}-%{F#ebdbb2}%m%{F#7c6f64}-%{F#ebdbb2}%d"; - time = "%H%{F#7c6f64}:%{F#ebdbb2}%M%{F#7c6f64}:%{F#ebdbb2}%S"; - label = "%{F#d65d0e}󰃭%{F#ebdbb2} %date% %{F#d65d0e}󱑌%{F#ebdbb2} %time%"; - }; - "settings" = { screenchange-reload = true; pseudo-transparency = true; diff --git a/modules/desktop/xmonad.nix b/modules/desktop/xmonad.nix index 793723b..db504a5 100644 --- a/modules/desktop/xmonad.nix +++ b/modules/desktop/xmonad.nix @@ -14,12 +14,12 @@ programs.xmobar = { enable = true; }; - home.file."xmobar.hs" = { + home.file."xmobar.hs" = rec { source = ../../haskell/xmobar/xmobar.hs; target = ".config/xmobar/xmobar.hs"; onChange = '' - export PATH=${lib.makeBinPath [xmobarGhc]}:$PATH - ${pkgs.xmobar}/bin/xmobar --recompile + ${xmobarGhc}/bin/ghc -threaded ${target} + ${pkgs.busybox}/bin/pkill xmobar ${pkgs.haskellPackages.xmonad}/bin/xmonad --restart ''; }; From ed493b9570861e8710e46610738ca2621769e41e Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Wed, 6 Dec 2023 22:15:31 +0100 Subject: [PATCH 17/31] clean up and remove commented out code --- modules/desktop/polybar.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/desktop/polybar.nix b/modules/desktop/polybar.nix index 769aba3..a01189c 100644 --- a/modules/desktop/polybar.nix +++ b/modules/desktop/polybar.nix @@ -6,12 +6,6 @@ }: { config = { home-manager.users.jade = {pkgs, ...}: { - #xsession.windowManager.i3.config.startup = [ - #{ - #command = "pkill polybar; polybar"; - #always = true; - #} - #]; services.polybar = { enable = true; package = pkgs.polybarFull; From a61e097fd8c6aa92b66e2307ae107aa5635cd888 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Thu, 7 Dec 2023 22:29:33 +0100 Subject: [PATCH 18/31] remove unneeded helix plugin downloads --- modules/shell/zellij.nix | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/shell/zellij.nix b/modules/shell/zellij.nix index 7efcb57..9e24251 100644 --- a/modules/shell/zellij.nix +++ b/modules/shell/zellij.nix @@ -4,16 +4,6 @@ ... }: { home-manager.users.jade = {pkgs, ...}: { - home.file = { - zellij-forgot = { - target = ".config/zellij/plugins/zellij-forgot.wasm"; - source = builtins.fetchurl "https://github.com/karimould/zellij-forgot/releases/download/0.2.0/zellij_forgot.wasm"; - }; - monocle = { - target = ".config/zellij/plugins/monocle.wasm"; - source = builtins.fetchurl "https://github.com/imsnif/monocle/releases/download/0.37.2/monocle.wasm"; - }; - }; programs.zellij = { enable = true; settings = { From 09c6f7c8b2ef4e1152c6a605e95a1dba7860ad16 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Thu, 7 Dec 2023 22:30:14 +0100 Subject: [PATCH 19/31] continue working on status bar a bit meow --- haskell/xmobar/xmobar.hs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/haskell/xmobar/xmobar.hs b/haskell/xmobar/xmobar.hs index 0240a8f..c9a01f1 100644 --- a/haskell/xmobar/xmobar.hs +++ b/haskell/xmobar/xmobar.hs @@ -1,5 +1,22 @@ import Xmobar +-- TODOS: +-- - custom cpu module +-- - custom mem module +-- - custom network/ping module with avg of n pings and blah +-- - custom graph rendering based on braille characters +-- - custom "ramp" thingies +-- - newsticker? +-- - mail/message monitoring +-- - if possible, different bars per workspace + +data CustomCpu = CustomCpu + deriving (Read, Show) + +instance Exec CustomCpu where + alias CustomCpu = "cpu" + run CustomCpu = return "meow" + fc code content = "" ++ content ++ "" sep = fc "#7c6f64" @@ -15,10 +32,10 @@ config = fgColor = "#ebdbb2", commands = [ Run $ Memory ["t", "Mem: %"] 10, - Run $ Kbd [], + Run $ CustomCpu, Run $ Date (icon "\983277" ++ " %Y" ++ sep "-" ++ "%m" ++ sep "-" ++ "%d " ++ icon "\988236" ++ " %H" ++ sep ":" ++ "%M" ++ sep ":" ++ "%S ") "date" 10 ], - template = "}{ %date%", + template = "%memory% }{ %cpu% }{ %date%", alignSep = "}{", position = TopH 24 } From a183d81671ad60787cacb307af084b5d62bab56c Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Fri, 8 Dec 2023 08:38:39 +0100 Subject: [PATCH 20/31] background task stuff --- modules/shell/nu.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix index c09f5dc..f05d808 100644 --- a/modules/shell/nu.nix +++ b/modules/shell/nu.nix @@ -1,5 +1,15 @@ {config, ...}: { home-manager.users.jade = {pkgs, ...}: { + # Needed for nu_scripts background_task + services.pueue = { + enable = true; + settings = { + shared = { + use_unix_socket = true; + }; + }; + }; + home.packages = [pkgs.pueue]; programs.nushell = { enable = true; package = config.users.defaultUserShell; @@ -7,6 +17,7 @@ envFile.source = ../../other/env.nu; extraConfig = '' source ${pkgs.nu_scripts}/share/nu_scripts/modules/nix/nix.nu; + use ${pkgs.nu_scripts}/share/nu_scripts/modules/background_task/job.nu; ''; }; programs.starship.enableNushellIntegration = true; From a534e504519d9c9c1eaf26310fb8cc98153bdc94 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Fri, 8 Dec 2023 11:49:22 +0100 Subject: [PATCH 21/31] html/css/js and emmet and stuff --- modules/shell/helix.nix | 16 ++++++++++++---- modules/shell/nu.nix | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix index 7520743..1997724 100644 --- a/modules/shell/helix.nix +++ b/modules/shell/helix.nix @@ -4,10 +4,9 @@ sessionVariables.EDITOR = "hx"; packages = [ pkgs.nil - pkgs.nodePackages_latest.vscode-html-languageserver-bin - pkgs.nodePackages_latest.vscode-json-languageserver-bin - pkgs.nodePackages_latest.vscode-css-languageserver-bin - pkgs.nodePackages_latest.bash-language-server + pkgs.vscode-langservers-extracted + pkgs.nodePackages.typescript-language-server + pkgs.emmet-language-server ]; }; programs.helix = { @@ -48,6 +47,10 @@ check.command = "clippy"; }; }; + language-server."emmet-language-server" = { + command = "emmet-language-server"; + args = ["--stdio"]; + }; # "php" = { # name = "php"; # file-types = [ "php" ]; @@ -69,6 +72,11 @@ }; auto-format = true; } + { + name = "html"; + roots = [".git"]; + language-servers = ["emmet-language-server" "vscode-html-language-server"]; + } ]; }; }; diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix index f05d808..8a6327f 100644 --- a/modules/shell/nu.nix +++ b/modules/shell/nu.nix @@ -9,7 +9,9 @@ }; }; }; - home.packages = [pkgs.pueue]; + home.packages = [ + pkgs.pueue + ]; programs.nushell = { enable = true; package = config.users.defaultUserShell; From 3f235913e55456e55a973f38a2c0b529c63054bc Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sat, 9 Dec 2023 22:18:03 +0100 Subject: [PATCH 22/31] add mosh --- modules/shell/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/shell/default.nix b/modules/shell/default.nix index 309259f..4134bbc 100644 --- a/modules/shell/default.nix +++ b/modules/shell/default.nix @@ -7,4 +7,5 @@ ./carapace.nix ./direnv.nix ]; + programs.mosh.enable = true; } From 416b205defa7159d695a85ab4617e2853f6576b2 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 10 Dec 2023 22:32:55 +0100 Subject: [PATCH 23/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'arion': 'github:hercules-ci/arion/39030b95666e018230dc9b85d76dc6e5b617ab87' (2023-11-28) → 'github:hercules-ci/arion/da2141cd9383c8c1cdcd3364b1ba6c32058ba659' (2023-12-05) • Updated input 'arion/flake-parts': 'github:hercules-ci/flake-parts/47478a4a003e745402acf63be7f9a092d51b83d7' (2023-02-09) → 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01) • Updated input 'arion/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0a63bfa3f00a3775ea3a6722b247880f1ffe91ce' (2023-07-15) → 'github:hercules-ci/hercules-ci-effects/31b6cd7569191bfcd0a548575b0e2ef953ed7d09' (2023-11-26) • Updated input 'arion/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) → 'github:hercules-ci/flake-parts/c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4' (2023-10-03) • Updated input 'arion/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9?dir=lib' (2023-06-29) → follows 'arion/hercules-ci-effects/nixpkgs' • Removed input 'arion/hercules-ci-effects/hercules-ci-agent' • Removed input 'arion/hercules-ci-effects/hercules-ci-agent/flake-parts' • Removed input 'arion/hercules-ci-effects/hercules-ci-agent/flake-parts/nixpkgs-lib' • Removed input 'arion/hercules-ci-effects/hercules-ci-agent/haskell-flake' • Removed input 'arion/hercules-ci-effects/hercules-ci-agent/nixpkgs' • Updated input 'arion/nixpkgs': 'github:NixOS/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13) → 'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01) • Updated input 'home-manager': 'github:nix-community/home-manager/948703f3e71f1332a0cb535ebaf5cb14946e3724' (2023-12-04) → 'github:nix-community/home-manager/defbb9c5857e157703e8fc7cf3c2ceb01cb95883' (2023-12-10) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01) → 'github:NixOS/nixpkgs/666fc80e7b2afb570462423cb0e1cf1a3a34fedd' (2023-12-09) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02) → 'github:NixOS/nixpkgs/b4372c4924d9182034066c823df76d6eaf1f4ec4' (2023-12-07) --- flake.lock | 213 ++++++++++++++++------------------------------------- 1 file changed, 62 insertions(+), 151 deletions(-) diff --git a/flake.lock b/flake.lock index fb3391d..053f9b0 100644 --- a/flake.lock +++ b/flake.lock @@ -5,14 +5,14 @@ "flake-parts": "flake-parts", "haskell-flake": "haskell-flake", "hercules-ci-effects": "hercules-ci-effects", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1701196744, - "narHash": "sha256-ZCuplnqMIIPs5zCPgYEp+m7mHqFh8Fy0lJD3ybZ/h0w=", + "lastModified": 1701794742, + "narHash": "sha256-A4TZktNCr975ddMf4ShZwuB8x7USOYGCZ9Xwfits8gs=", "owner": "hercules-ci", "repo": "arion", - "rev": "39030b95666e018230dc9b85d76dc6e5b617ab87", + "rev": "da2141cd9383c8c1cdcd3364b1ba6c32058ba659", "type": "github" }, "original": { @@ -25,7 +25,7 @@ "inputs": { "flake-utils": "flake-utils", "naersk": "naersk", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1662552013, @@ -49,11 +49,11 @@ ] }, "locked": { - "lastModified": 1675933616, - "narHash": "sha256-/rczJkJHtx16IFxMmAWu5nNYcSXNg1YYXTHoGjLrLUA=", + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "47478a4a003e745402acf63be7f9a092d51b83d7", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "type": "github" }, "original": { @@ -64,14 +64,18 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "arion", + "hercules-ci-effects", + "nixpkgs" + ] }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { @@ -79,29 +83,6 @@ "type": "indirect" } }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "arion", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "locked": { "lastModified": 1656065134, @@ -148,7 +129,7 @@ "gumseite": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1680175611, @@ -180,56 +161,20 @@ "type": "github" } }, - "haskell-flake_2": { - "locked": { - "lastModified": 1684780604, - "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "0.3.0", - "repo": "haskell-flake", - "type": "github" - } - }, - "hercules-ci-agent": { - "inputs": { - "flake-parts": "flake-parts_3", - "haskell-flake": "haskell-flake_2", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1688568579, - "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "hercules-ci-agent": "hercules-ci-agent", "nixpkgs": [ "arion", "nixpkgs" ] }, "locked": { - "lastModified": 1689397210, - "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", + "lastModified": 1701009247, + "narHash": "sha256-GuX16rzRze2y7CsewJLTV6qXkXWyEwp6VCZXi8HLruU=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", + "rev": "31b6cd7569191bfcd0a548575b0e2ef953ed7d09", "type": "github" }, "original": { @@ -245,11 +190,11 @@ ] }, "locked": { - "lastModified": 1701676655, - "narHash": "sha256-wP8i7hO2aLNJhYoTK3kqoymaCLgt4QcwWcO8d/A1CjQ=", + "lastModified": 1702203126, + "narHash": "sha256-4BhN2Vji19MzRC7SUfPZGmtZ2WZydQeUk/ogfRBIZMs=", "owner": "nix-community", "repo": "home-manager", - "rev": "948703f3e71f1332a0cb535ebaf5cb14946e3724", + "rev": "defbb9c5857e157703e8fc7cf3c2ceb01cb95883", "type": "github" }, "original": { @@ -261,7 +206,7 @@ "karton": { "inputs": { "naersk": "naersk_2", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "utils": "utils" }, "locked": { @@ -294,7 +239,7 @@ "meowsite": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1678920998, @@ -312,7 +257,7 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1655042882, @@ -330,7 +275,7 @@ }, "naersk_2": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1671096816, @@ -349,7 +294,7 @@ }, "naersk_3": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1671096816, @@ -384,11 +329,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "lastModified": 1701436327, + "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", "type": "github" }, "original": { @@ -398,31 +343,13 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { - "lastModified": 1701539137, - "narHash": "sha256-nVO/5QYpf1GwjvtpXhyxx5M3U/WN0MwBro4Lsk+9mL0=", + "lastModified": 1701952659, + "narHash": "sha256-TJv2srXt6fYPUjxgLAL0cy4nuf1OZD4KuA1TrCiQqg0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "933d7dc155096e7575d207be6fb7792bc9f34f6d", + "rev": "b4372c4924d9182034066c823df76d6eaf1f4ec4", "type": "github" }, "original": { @@ -432,20 +359,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1675614288, - "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1675614288, "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", @@ -463,18 +376,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1676300157, - "narHash": "sha256-1HjRzfp6LOLfcj/HJHdVKWAkX9QRAouoh6AjzJiIerU=", + "lastModified": 1656755932, + "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "545c7a31e5dedea4a6d372712a18e00ce097d462", + "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_3": { @@ -492,20 +403,6 @@ } }, "nixpkgs_4": { - "locked": { - "lastModified": 1656755932, - "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_5": { "locked": { "lastModified": 1679966490, "narHash": "sha256-k0jV+y1jawE6w4ZvKgXDNg4+O9NNtcaWwzw8gufv0b4=", @@ -521,7 +418,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1677852945, "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=", @@ -535,7 +432,7 @@ "type": "indirect" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1677852945, "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=", @@ -551,7 +448,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { "lastModified": 1674407282, "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", @@ -567,13 +464,13 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { - "lastModified": 1701436327, - "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", + "lastModified": 1702151865, + "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", + "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", "type": "github" }, "original": { @@ -582,6 +479,20 @@ "type": "indirect" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1675614288, + "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "root": { "inputs": { "arion": "arion", @@ -592,7 +503,7 @@ "mac-brcm-fw": "mac-brcm-fw", "meowsite": "meowsite", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_8", "nixpkgs-stable": "nixpkgs-stable", "wordsofgod": "wordsofgod" } @@ -630,7 +541,7 @@ "wordsofgod": { "inputs": { "naersk": "naersk_3", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_10", "utils": "utils_2" }, "locked": { From 18bde9aeccd904bc84fb1f5df836eae004ab7a87 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 10 Dec 2023 23:21:09 +0100 Subject: [PATCH 24/31] switch schildichat out for cinny --- modules/desktop/social.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop/social.nix b/modules/desktop/social.nix index 666d50e..3c0f274 100644 --- a/modules/desktop/social.nix +++ b/modules/desktop/social.nix @@ -14,7 +14,7 @@ in home-manager.users.jade = {pkgs, ...}: { home.packages = with pkgs; [ evolutionWithPlugins - schildichat-desktop + cinny-desktop signal-desktop mumble ]; From d436c0bae479da8a3d0195856384fa8933141010 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 10 Dec 2023 23:21:18 +0100 Subject: [PATCH 25/31] remove obsidian and zettlr --- modules/desktop/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index d773d28..00e80de 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -141,8 +141,6 @@ in uhk-agent cool-retro-term xdg-desktop-portal-gtk - obsidian - zettlr virt-manager ddccontrol-db firebird-emu From 61631b13eb94e492a6ccc5fb7c6f593227068475 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 10 Dec 2023 23:21:28 +0100 Subject: [PATCH 26/31] replace onlyoffice with libreoffice --- modules/desktop/creative.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/desktop/creative.nix b/modules/desktop/creative.nix index f0c9f2d..36928e5 100644 --- a/modules/desktop/creative.nix +++ b/modules/desktop/creative.nix @@ -23,11 +23,9 @@ fspy scribus - onlyoffice-bin + libreoffice typst - digikam - darktable rawtherapee ]; }; From 33520032128352c70da7794dfa1946652c24ae95 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 10 Dec 2023 23:21:45 +0100 Subject: [PATCH 27/31] remove vivaldi and allow annoying error (bad update time moment) --- hosts/catbook-j/configuration.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/catbook-j/configuration.nix b/hosts/catbook-j/configuration.nix index 0109deb..c258f4d 100644 --- a/hosts/catbook-j/configuration.nix +++ b/hosts/catbook-j/configuration.nix @@ -7,6 +7,9 @@ lib, ... }: { + nixpkgs.config.permittedInsecurePackages = [ + "electron-25.9.0" + ]; imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -52,7 +55,7 @@ services.xserver.libinput.touchpad.tapping = false; - environment.systemPackages = [pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark]; + environment.systemPackages = [pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark]; # Bootloader. boot.loader.systemd-boot.enable = true; From a63e8138cb6abeb5b917b16dd3d5bcc03e7de8da Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Mon, 11 Dec 2023 18:58:27 +0100 Subject: [PATCH 28/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/b4372c4924d9182034066c823df76d6eaf1f4ec4' (2023-12-07) → 'github:NixOS/nixpkgs/781e2a9797ecf0f146e81425c822dca69fe4a348' (2023-12-10) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 053f9b0..f75c61d 100644 --- a/flake.lock +++ b/flake.lock @@ -345,11 +345,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1701952659, - "narHash": "sha256-TJv2srXt6fYPUjxgLAL0cy4nuf1OZD4KuA1TrCiQqg0=", + "lastModified": 1702233072, + "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b4372c4924d9182034066c823df76d6eaf1f4ec4", + "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", "type": "github" }, "original": { From 760aa6750627f02a3cc759bff7caa73fbc00e886 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Mon, 11 Dec 2023 19:00:45 +0100 Subject: [PATCH 29/31] readd vivaldi --- hosts/catbook-j/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/catbook-j/configuration.nix b/hosts/catbook-j/configuration.nix index c258f4d..98104c5 100644 --- a/hosts/catbook-j/configuration.nix +++ b/hosts/catbook-j/configuration.nix @@ -55,7 +55,7 @@ services.xserver.libinput.touchpad.tapping = false; - environment.systemPackages = [pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark]; + environment.systemPackages = [pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark]; # Bootloader. boot.loader.systemd-boot.enable = true; From b7258ef8af138a3711cba23af2be03f3fa380c09 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Thu, 14 Dec 2023 21:27:53 +0100 Subject: [PATCH 30/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/defbb9c5857e157703e8fc7cf3c2ceb01cb95883' (2023-12-10) → 'github:nix-community/home-manager/0e2e443ff24f9d75925e91b89d1da44b863734af' (2023-12-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/666fc80e7b2afb570462423cb0e1cf1a3a34fedd' (2023-12-09) → 'github:NixOS/nixpkgs/a9bf124c46ef298113270b1f84a164865987a91c' (2023-12-11) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/781e2a9797ecf0f146e81425c822dca69fe4a348' (2023-12-10) → 'github:NixOS/nixpkgs/cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7' (2023-12-12) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f75c61d..a730f57 100644 --- a/flake.lock +++ b/flake.lock @@ -190,11 +190,11 @@ ] }, "locked": { - "lastModified": 1702203126, - "narHash": "sha256-4BhN2Vji19MzRC7SUfPZGmtZ2WZydQeUk/ogfRBIZMs=", + "lastModified": 1702538064, + "narHash": "sha256-At5GwJPu2tzvS9dllhBoZmqK6lkkh/sOp2YefWRlaL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "defbb9c5857e157703e8fc7cf3c2ceb01cb95883", + "rev": "0e2e443ff24f9d75925e91b89d1da44b863734af", "type": "github" }, "original": { @@ -345,11 +345,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1702233072, - "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", + "lastModified": 1702346276, + "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", + "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", "type": "github" }, "original": { @@ -466,11 +466,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1702312524, + "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "a9bf124c46ef298113270b1f84a164865987a91c", "type": "github" }, "original": { From 83574170acd10989b36940fa14589d8619d3d053 Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Fri, 15 Dec 2023 14:38:15 +0100 Subject: [PATCH 31/31] un-break html stuff (sorta) --- modules/shell/helix.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix index 1997724..2238418 100644 --- a/modules/shell/helix.nix +++ b/modules/shell/helix.nix @@ -75,7 +75,8 @@ { name = "html"; roots = [".git"]; - language-servers = ["emmet-language-server" "vscode-html-language-server"]; + language-servers = ["vscode-html-language-server" "emmet-language-server"]; + auto-format = false; } ]; };