113 lines
3.3 KiB
Nix
113 lines
3.3 KiB
Nix
{ self, inputs, ... }: {
|
|
flake.nixosModules.niri = { pkgs, lib, config, ... }: {
|
|
imports = [
|
|
self.nixosModules.cursors
|
|
self.nixosModules.wallpapers
|
|
];
|
|
|
|
options.niri-users = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [];
|
|
description = "List of users to configure niri for";
|
|
};
|
|
|
|
config = {
|
|
programs.niri = {
|
|
enable = true;
|
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
|
|
};
|
|
|
|
# Enable cursors for niri users
|
|
cursor-users = lib.mkDefault config.niri-users;
|
|
|
|
# Set wallpaper destination explicitly
|
|
wallpaper-destination = "Pictures/Wallpapers";
|
|
};
|
|
};
|
|
|
|
perSystem = { pkgs, lib, self', ... }: {
|
|
packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap {
|
|
inherit pkgs;
|
|
settings = {
|
|
spawn-at-startup = [
|
|
(lib.getExe self'.packages.myNoctalia)
|
|
"steam"
|
|
];
|
|
xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite;
|
|
input.keyboard = {
|
|
xkb.layout = "us";
|
|
};
|
|
|
|
layout = {
|
|
gaps = 24;
|
|
};
|
|
|
|
cursor = {
|
|
xcursor-theme = "Bibata-Modern-Ice";
|
|
xcursor-size = 24;
|
|
};
|
|
|
|
binds = {
|
|
"Mod+R".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher toggle";
|
|
"Mod+Shift+W".spawn-sh = "librewolf";
|
|
"Mod+Return".spawn-sh = lib.getExe pkgs.kitty;
|
|
"Mod+Shift+C".close-window = null;
|
|
|
|
# workspace binds
|
|
"Mod+1".focus-workspace = "w0";
|
|
"Mod+2".focus-workspace = "w1";
|
|
"Mod+3".focus-workspace = "w2";
|
|
"Mod+4".focus-workspace = "w3";
|
|
"Mod+5".focus-workspace = "w4";
|
|
"Mod+6".focus-workspace = "w5";
|
|
"Mod+7".focus-workspace = "w6";
|
|
"Mod+8".focus-workspace = "w7";
|
|
"Mod+9".focus-workspace = "w8";
|
|
"Mod+0".focus-workspace = "w9";
|
|
|
|
"Mod+Shift+1".move-column-to-workspace = "w0";
|
|
"Mod+Shift+2".move-column-to-workspace = "w1";
|
|
"Mod+Shift+3".move-column-to-workspace = "w2";
|
|
"Mod+Shift+4".move-column-to-workspace = "w3";
|
|
"Mod+Shift+5".move-column-to-workspace = "w4";
|
|
"Mod+Shift+6".move-column-to-workspace = "w5";
|
|
"Mod+Shift+7".move-column-to-workspace = "w6";
|
|
"Mod+Shift+8".move-column-to-workspace = "w7";
|
|
"Mod+Shift+9".move-column-to-workspace = "w8";
|
|
"Mod+Shift+0".move-column-to-workspace = "w9";
|
|
|
|
# Navigation
|
|
"Mod+WheelScrollDown".focus-column-left = null;
|
|
"Mod+WheelScrollUp".focus-column-right = null;
|
|
"Mod+Ctrl+WheelScrollDown".focus-workspace-down = null;
|
|
"Mod+Ctrl+WheelScrollUp".focus-workspace-up = null;
|
|
};
|
|
|
|
window-rules = [
|
|
{
|
|
geometry-corner-radius = 0;
|
|
}
|
|
{
|
|
matches = [
|
|
{ app-id = "zed"; }
|
|
];
|
|
default-column-width = { proportion = 1.0; };
|
|
}
|
|
];
|
|
|
|
workspaces = {
|
|
"w0" = {};
|
|
"w1" = {};
|
|
"w2" = {};
|
|
"w3" = {};
|
|
"w4" = {};
|
|
"w5" = {};
|
|
"w6" = {};
|
|
"w7" = {};
|
|
"w8" = {};
|
|
"w9" = {};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|