diff --git a/flake.lock b/flake.lock index 9c65bb7..462eb03 100644 --- a/flake.lock +++ b/flake.lock @@ -55,7 +55,8 @@ "devenv" ], "flake-compat": [ - "devenv" + "devenv", + "flake-compat" ], "git-hooks": [ "devenv", @@ -67,11 +68,11 @@ ] }, "locked": { - "lastModified": 1752264895, - "narHash": "sha256-1zBPE/PNAkPNUsOWFET4J0cjlvziH8DOekesDmjND+w=", + "lastModified": 1760971495, + "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", "owner": "cachix", "repo": "cachix", - "rev": "47053aef762f452e816e44eb9a23fbc3827b241a", + "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", "type": "github" }, "original": { @@ -86,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1760953099, - "narHash": "sha256-sOKx2YcHa+lWEvaEOIGqLN2WWk1Wf5z6KM02tdfhMtw=", + "lastModified": 1761553912, + "narHash": "sha256-3UOEQPBlZo9OixT9L1zoD67QheopTG8/EfRPGKyP9bg=", "owner": "catppuccin", "repo": "nix", - "rev": "f5b21876888265d2fee7fb0640d1b66a1c1c6503", + "rev": "7b42c91911c143ae3ea32a79cc8582b5920f24e3", "type": "github" }, "original": { @@ -109,11 +110,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1761156818, - "narHash": "sha256-IScY9PpnF48Q/Z17YG5/ZcYWiWOkY2zCKLqsx1CJESM=", + "lastModified": 1761583935, + "narHash": "sha256-vJ0ylFdPPESUCBYZvEtVmVemSp4G0WH8CbVIkboHIJs=", "owner": "cachix", "repo": "devenv", - "rev": "949fc6dc8f36f38e1cceb1bf1673c4e995a6a766", + "rev": "b7e3b2aeb90ce37517fb8da09ceff8ab587a9fcf", "type": "github" }, "original": { @@ -130,11 +131,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1761115517, - "narHash": "sha256-Fev/ag/c3Fp3JBwHfup3lpA5FlNXfkoshnQ7dssBgJ0=", + "lastModified": 1761547629, + "narHash": "sha256-4OH1CVm2PdjKRqEJ3RLfkQMDSBdn7VId6iyYCwKOK+U=", "owner": "nix-community", "repo": "fenix", - "rev": "320433651636186ea32b387cff05d6bbfa30cea7", + "rev": "d82a7c64ea441e397914577c9a18f2867e5b364b", "type": "github" }, "original": { @@ -247,11 +248,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -328,11 +329,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -478,11 +479,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1761141169, - "narHash": "sha256-5IZjbTvP5dNTD8CbEYlNbicdGcbCN9SC9ksMm2ZEXH0=", + "lastModified": 1761440613, + "narHash": "sha256-eQTH5iTkEQptZqVGyTPgpMYL7zj6QkI/uGo+1/PkAQY=", "owner": "helix-editor", "repo": "helix", - "rev": "d79cce4e4bfc24dd204f1b294c899ed73f7e9453", + "rev": "7c4ff9c39dbd3dd7d6e2cb3e26cb34212202bb1b", "type": "github" }, "original": { @@ -498,11 +499,11 @@ ] }, "locked": { - "lastModified": 1761191301, - "narHash": "sha256-xsRL2Oyb4YRZZ1Tu4WzR2uFg1n931bH+PfLdFcqtLg8=", + "lastModified": 1761584077, + "narHash": "sha256-dISPEZahlfs5K6d58zR4akRRyogfE9P4WSyPPNT7HiE=", "owner": "nix-community", "repo": "home-manager", - "rev": "4958aafe7b237dc1e857fb0c916efff72075048f", + "rev": "e82585308aef3d4cc2c36c7b6946051c8cdf24ef", "type": "github" }, "original": { @@ -658,11 +659,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1761129162, - "narHash": "sha256-vJYlThaqdSYRKn1HcaMbkHeB95bXQwgG1ugrlSKQjHg=", + "lastModified": 1761585724, + "narHash": "sha256-Ae7HmiDEEbNudaHFWoT/Fw8s3dOiGdZHJwn33SymEt8=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "057695bc3f7de5e8841c15252fc51029590895e4", + "rev": "b186d3bf1b0c9eb4637f369f602ff5650cfe3602", "type": "github" }, "original": { @@ -688,11 +689,11 @@ ] }, "locked": { - "lastModified": 1760659005, - "narHash": "sha256-wyS6tXYJuzbwckOeaCoRtT4qIG2UZ0YvSZx7EBNjTV0=", + "lastModified": 1761249285, + "narHash": "sha256-70dEwL5p3CB/00ODs2RHWUKTyafB+PF4Ld7IEMuO+no=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "a5a6f93d72d5fb37e78b98c756cfd8b340e71a19", + "rev": "81f6d1426537981fcbb921f8b5e470b1280ef8f3", "type": "github" }, "original": { @@ -1031,6 +1032,70 @@ "type": "github" } }, + "niri": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": [] + }, + "locked": { + "lastModified": 1760940149, + "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, + "niri-flake": { + "inputs": { + "niri-stable": [ + "niri" + ], + "niri-unstable": "niri-unstable", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1761187190, + "narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1760940149, + "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, "nix": { "inputs": { "flake-compat": [ @@ -1078,11 +1143,11 @@ ] }, "locked": { - "lastModified": 1760948931, - "narHash": "sha256-guAocn26kDPdkl6tPXJt5pPaIIsrGI4taw+1U3+FM7E=", + "lastModified": 1761554027, + "narHash": "sha256-LMnsUobJtqhNnHc9FAp4V/MPMb82+YiXnjbUreg/0n8=", "owner": "Mic92", "repo": "nix-ld", - "rev": "a48b2dc9a256bcef9182f0f92c481de975302b1e", + "rev": "e7d1eba1d561ada0bdb1177ff5d7ce2f8447e974", "type": "github" }, "original": { @@ -1114,11 +1179,11 @@ ] }, "locked": { - "lastModified": 1760536587, - "narHash": "sha256-wfWqt+igns/VazjPLkyb4Z/wpn4v+XIjUeI3xY/1ENg=", + "lastModified": 1761563673, + "narHash": "sha256-d+1TpVAmRjcNBfjZsh2yQSdwUfN7Xgz1blJ185g73+A=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "f98ee1de1fa36eca63c67b600f5d617e184e82ea", + "rev": "a518cf710e5ebb935518dc7ac98e07e7ee5014c3", "type": "github" }, "original": { @@ -1177,11 +1242,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1761197992, - "narHash": "sha256-Y27P0bnZGZY0Bw44+YtRTzbL7fBrLbzvpyDs/wJrCmI=", + "lastModified": 1761587245, + "narHash": "sha256-E7b7ZPmXu2Be28Q4Skyb80WeWfWn9Q4zZ/qBuTlJ6Kc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "43db7111c69a9cbd9a08c88567fd6bbf9631f137", + "rev": "76f57d43c66d58c82211ca055075dc30c977479c", "type": "github" }, "original": { @@ -1191,6 +1256,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1761016216, + "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-tuya-vacuum": { "locked": { "lastModified": 1743180016, @@ -1209,11 +1290,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -1225,11 +1306,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1758532697, - "narHash": "sha256-bhop0bR3u7DCw9/PtLCwr7GwEWDlBSxHp+eVQhCW9t4=", + "lastModified": 1761313199, + "narHash": "sha256-wCIACXbNtXAlwvQUo1Ed++loFALPjYUA3dpcUJiXO44=", "owner": "cachix", "repo": "devenv-nixpkgs", - "rev": "207a4cb0e1253c7658c6736becc6eb9cace1f25f", + "rev": "d1c30452ebecfc55185ae6d1c983c09da0c274ff", "type": "github" }, "original": { @@ -1241,11 +1322,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -1370,6 +1451,8 @@ "hyprland-plugins": "hyprland-plugins", "hyprlock": "hyprlock", "nh-flake": "nh-flake", + "niri": "niri", + "niri-flake": "niri-flake", "nix-ld": "nix-ld", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", @@ -1510,11 +1593,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1761077270, - "narHash": "sha256-O1uTuvI/rUlubJ8AXKyzh1WSWV3qCZX0huTFUvWLN4E=", + "lastModified": 1761500479, + "narHash": "sha256-syeBTCCU96qPJHcVpwHeCwmPCiLTDHHgYQYhpZ0iwLo=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "39990a923c8bca38f5bd29dc4c96e20ee7808d5d", + "rev": "049767e6faa84b2d1a951d8f227e6ebd99d728a2", "type": "github" }, "original": { @@ -1737,17 +1820,50 @@ "type": "github" } }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.7", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1761173223, + "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "bf745144acda1343934e9a094cf9458a54d57889", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1761180075, - "narHash": "sha256-V4WLeUQ4gCGZiVihlXWBOZ/1FNcL0jM4zgTY1haJLvY=", + "lastModified": 1761535208, + "narHash": "sha256-E1PobJMiFmVUX2YdqYk/MpKb0LXavOYvlg8DCBBzlHc=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "771a2604606905d8c0ffe3b818dc2cc5bd1405d8", + "rev": "79a94872a3e6993a051c4e22a2dcb02c1d088acf", "type": "github" }, "original": { @@ -1789,11 +1905,11 @@ ] }, "locked": { - "lastModified": 1760550770, - "narHash": "sha256-MIz62mvGfANGn4pPQV1DVocZPb2JTzyi1xDFYKzZOvc=", + "lastModified": 1761562676, + "narHash": "sha256-yREsDfqZ7JIC2hxQm94DQfNCyhm/KPdxWd3IVJ6zJ2s=", "owner": "zigtools", "repo": "zls", - "rev": "f486e884f479dd816f1c57a4be7f445f3d3b279c", + "rev": "67177e3d64b8ab0f358303ee6ed4bac4654e2fdb", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3b86b98..d27906b 100644 --- a/flake.nix +++ b/flake.nix @@ -52,6 +52,24 @@ inputs.hyprland.follows = "hyprland"; }; + ### + # Niri + niri = { + url = "github:YaLTeR/niri"; + inputs = { + nixpkgs.follows = "nixpkgs"; + rust-overlay.follows = ""; + }; + }; + + niri-flake = { + url = "github:sodiboo/niri-flake"; + inputs = { + niri-stable.follows = "niri"; + nixpkgs.follows = "nixpkgs"; + }; + }; + ### # Snowfall dependencies snowfall-lib = { @@ -144,6 +162,7 @@ overlays = with inputs; [ devenv.overlays.default + niri-flake.overlays.niri ]; homes.modules = with inputs; [ @@ -159,6 +178,14 @@ catppuccin.nixosModules.catppuccin ]; + systems.hosts.yggdrasil.modules = with inputs; [ + niri-flake.nixosModules.niri + ]; + + homes.hosts.yggdrasil.modules = with inputs; [ + niri-flake.homeModules.niri + ]; + systems.hosts.nixberry.modules = with inputs; [ raspberry-pi-nix.nixosModules.raspberry-pi raspberry-pi-nix.nixosModules.sd-image diff --git a/modules/nixos/desktop/addons/hyprlock/default.nix b/modules/nixos/desktop/addons/hyprlock/default.nix index 65f1273..f948d26 100644 --- a/modules/nixos/desktop/addons/hyprlock/default.nix +++ b/modules/nixos/desktop/addons/hyprlock/default.nix @@ -40,7 +40,7 @@ in environment.systemPackages = [ hyprlock-blur ]; - ${namespace}.desktop.hyprland.settings = { + ${namespace}.desktop.hyprland.settings = mkIf config.desktop.hyprland.enable { bind = [ "$mod CTRL, l, exec, hyprlock-blur" ]; diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index e87e97f..986a0d7 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -34,10 +34,10 @@ in systemd.user.sessionVariables = config.home-manager.users.${user}.home.sessionVariables; }; - qt = { - enable = true; - platformTheme = "gnome"; - style = "adwaita-dark"; - }; + # qt = { + # enable = true; + # platformTheme = "gnome"; + # style = "adwaita-dark"; + # }; }; } diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix index 3bcf28a..82f7655 100644 --- a/modules/nixos/desktop/hyprland/default.nix +++ b/modules/nixos/desktop/hyprland/default.nix @@ -293,24 +293,24 @@ in "$mod CTRL, right, movecurrentworkspacetomonitor, r" # move focus - "$mod, h, hy3:movefocus, l" - "$mod, j, hy3:movefocus, d" - "$mod, k, hy3:movefocus, u" - "$mod, l, hy3:movefocus, r" - "$mod, left, hy3:movefocus, l" - "$mod, down, hy3:movefocus, d" - "$mod, up, hy3:movefocus, u" - "$mod, right, hy3:movefocus, r" + "$mod, h, movefocus, l" + "$mod, j, movefocus, d" + "$mod, k, movefocus, u" + "$mod, l, movefocus, r" + "$mod, left, movefocus, l" + "$mod, down, movefocus, d" + "$mod, up, movefocus, u" + "$mod, right, movefocus, r" # move focus - "$mod SHIFT, h, hy3:movewindow, l, once" - "$mod SHIFT, j, hy3:movewindow, d, once" - "$mod SHIFT, k, hy3:movewindow, u, once" - "$mod SHIFT, l, hy3:movewindow, r, once" - "$mod SHIFT, left, hy3:movewindow, l, once" - "$mod SHIFT, down, hy3:movewindow, d, once" - "$mod SHIFT, up, hy3:movewindow, u, once" - "$mod SHIFT, right, hy3:movewindow, r, once" + "$mod SHIFT, h, movewindow, l, once" + "$mod SHIFT, j, movewindow, d, once" + "$mod SHIFT, k, movewindow, u, once" + "$mod SHIFT, l, movewindow, r, once" + "$mod SHIFT, left, movewindow, l, once" + "$mod SHIFT, down, movewindow, d, once" + "$mod SHIFT, up, movewindow, u, once" + "$mod SHIFT, right, movewindow, r, once" #run important programs "$mod, Return, exec, kitty" @@ -332,7 +332,7 @@ in in [ "$mod, code:1${toString i}, workspace, ${toString ws}" - "$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}" + "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" ] ) 9 ) diff --git a/modules/nixos/desktop/niri/default.nix b/modules/nixos/desktop/niri/default.nix new file mode 100644 index 0000000..cf63dde --- /dev/null +++ b/modules/nixos/desktop/niri/default.nix @@ -0,0 +1,207 @@ +{ + config, + inputs, + lib, + pkgs, + system, + namespace, + ... +}: +with lib.${namespace}; +let + inherit (lib) + mkIf + mkEnableOption + mkOption + mkMerge + types + ; + + cfg = config.${namespace}.desktop.niri; + + apps-submodule = types.submodule { + options = { + terminal = mkOption { + type = types.package; + default = pkgs.kitty; + description = "The default Terminal to use"; + }; + runner = mkOption { + type = types.package; + default = pkgs.fuzzel; + description = "The app-runner to use"; + }; + }; + }; + +in +{ + options.${namespace}.desktop.niri = { + enable = mkEnableOption "Whether to enable niri"; + settings = mkOption { + type = types.attrs; + default = { }; + description = "Additional niri settings to apply."; + }; + apps = mkOption { + type = apps-submodule; + default = { }; + description = "Which apps to use"; + }; + }; + + config = mkIf cfg.enable { + programs.niri = { + enable = true; + package = inputs.niri-flake.packages.${system}.niri-unstable; + }; + + environment.systemPackages = [ + pkgs.alacritty + pkgs.fuzzel + ]; + + ${namespace} = { + desktop.addons = { + hyprlock = enabled; + hypridle = enabled; + }; + }; + + snowfallorg.users."cholli".home.config = { + programs.niri.settings = mkMerge [ + { + input = { + keyboard = { + numlock = true; + }; + }; + + outputs."DP-1" = { + mode = { + width = 3440; + height = 1440; + }; + }; + outputs."HDMI-A-1" = { + mode = { + width = 1920; + height = 1080; + }; + transform.rotation = 90; + }; + + layout = { + gaps = 5; + center-focused-column = "never"; + + default-column-width = { + proportion = 0.5; + }; + + preset-column-widths = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + + ]; + + focus-ring = { + width = 1; + active = { + color = "#7fc8ff"; + }; + inactive = { + color = "#505050"; + }; + }; + }; + + hotkey-overlay.skip-at-startup = true; + + screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + + # block 1pass from screenshots and window capture + window-rules = [ + ]; + + binds = + with config.lib.niri; + let + workspaces = (builtins.genList (x: x + 1) 9); + + focus-workspaces = builtins.listToAttrs ( + map (num: { + name = "Mod=${toString num}"; + value = { + action.focus-workspace = num; + }; + }) workspaces + ); + in + + mkMerge [ + { + "Mod+Shift+Slash".action = show-hotkey-overlay; + + "Mod+Enter".action.spawn = "${lib.getExe cfg.apps.terminal}"; + "Mod+D".action.spwan = "${lib.getExe cfg.apps.runner}"; + "Mod+Alt+L".action.spawn = "hyprlock-blur"; + + "Mod+Shift+Q" = { + action = actions.close-window; + repeat = false; + }; + + "Mod+O" = { + action = actions.toggle-overview; + repeat = false; + }; + + inherit focus-workspaces; + + "XF86AudioRaiseVolume" = { + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1+" + ]; + allow-when-locked = true; + }; + "XF86AudioLowerVolume" = { + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1-" + ]; + allow-when-locked = true; + }; + "XF86AudioMute" = { + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SINK@" + "toggle" + ]; + allow-when-locked = true; + }; + "XF86AudioMicMute" = { + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SOURCE@" + "toggle" + ]; + allow-when-locked = true; + }; + } + ]; + + } + cfg.settings + ]; + }; + }; +} diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 4f3c5fd..ffaa111 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -76,8 +76,9 @@ in starsector = enabled; }; - desktop.hyprland = { - enable = true; + desktop = { + hyprland = enabled; + niri = enabled; }; services = {