diff --git a/configuration/main/configuration.nix b/configuration/main/configuration.nix index 689ec96..146db4d 100644 --- a/configuration/main/configuration.nix +++ b/configuration/main/configuration.nix @@ -23,8 +23,6 @@ ../modules/locale.nix ]; - programs.niri.enable = true; - nix.settings.experimental-features = ["nix-command" "flakes"]; nixpkgs.config = { diff --git a/flake.lock b/flake.lock index e8f986f..649c09d 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1768598210, - "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", + "lastModified": 1769289524, + "narHash": "sha256-6Cwtvzrw79cOk1lCzN2aKSVrpgSOSQoYhyMmhXXZjTA=", "owner": "nix-community", "repo": "home-manager", - "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", + "rev": "2539eba97a6df237d75617c25cd2dbef92df3d5b", "type": "github" }, "original": { @@ -90,13 +90,71 @@ "type": "github" } }, + "niri-flake": { + "inputs": { + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1769341564, + "narHash": "sha256-GR5luiDUMEZgfp5sl2hBsnR3Sv69UFwLlyDUZ26jA20=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "23264c0565ec7a4b1bd0dfe5caa4944c2a00dfdd", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.08", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1769337195, + "narHash": "sha256-pPKBlYD2QFCwLlCR+wJhwGDsDfeXXHMuf1dGCzG0plg=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "e11abe554fb05242462b8b5b2b3cf64ea45f0fa5", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "lastModified": 1769170682, + "narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "rev": "c5296fdd05cfa2c187990dd909864da9658df755", "type": "github" }, "original": { @@ -106,6 +164,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1769089682, + "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "078d69f03934859a181e81ba987c2bb033eebfc5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1764242076, @@ -151,6 +225,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "niri-flake": "niri-flake", "nixpkgs": "nixpkgs", "nvf": "nvf" } @@ -169,6 +244,39 @@ "repo": "default", "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": 1769279212, + "narHash": "sha256-LAd6DYp6bbnQqtzMm62BE/0IMy67A4CgyYVi4xvyD6s=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "3af3e3ab78d0eb96fb9b5161693811e050b90991", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 81f7376..5489c3c 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + niri-flake = { + url = "github:sodiboo/niri-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -18,6 +23,7 @@ outputs = inputs @ { self, nixpkgs, + niri-flake, home-manager, ... }: { @@ -30,6 +36,7 @@ ./configuration/main/configuration.nix home-manager.nixosModules.default + niri-flake.nixosModules.niri { home-manager = { diff --git a/home/home.nix b/home/home.nix index fb2d4d8..8c63023 100644 --- a/home/home.nix +++ b/home/home.nix @@ -8,6 +8,8 @@ programs.home-manager.enable = true; imports = [ + ./modules/niri.nix + ./modules/bspwm.nix ./modules/sxhkd.nix diff --git a/home/modules/niri.nix b/home/modules/niri.nix new file mode 100644 index 0000000..514424a --- /dev/null +++ b/home/modules/niri.nix @@ -0,0 +1,44 @@ +{inputs, ...}: { + imports = [ + inputs.niri-flake.homeModules.niri + ]; + + programs.niri.settings = { + input = { + keyboard = { + xkb = { + layout = "cz"; + }; + }; + }; + + layouts = { + gaps = 8; + preset-column-widths = [ + {proportion = 0.33333;} + {proportion = 0.5;} + {proportion = 0.66667;} + {proportion = 1.0;} + ]; + }; + + prefer-no-csd = true; + + binds = { + "Mod+Q".action.close-window = []; + "Mod+Return".action.spawn = ["kitty"]; + "Mod+A".action.spawn = ["rofi" "-show" "drun"]; + + "Mod+H".action.focus-column-left = []; + "Mod+L".action.focus-column-right = []; + "Mod+J".action.focus-window-down = []; + "Mod+K".action.focus-window-up = []; + + "Mod+Minus".action.set-column-width = ["-10%"]; + "Mod+Equal".action.set-column-width = ["+10%"]; + + "Mod+Shift+E".action.quit = []; + "Mod+Shift+R".action.reload-config = []; + }; + }; +}