Initial commit

This commit is contained in:
Asdam9
2026-04-14 22:48:18 +02:00
parent dea140ace7
commit 827124afdb
35 changed files with 3999 additions and 0 deletions

189
modules/features/niri.nix Normal file
View File

@@ -0,0 +1,189 @@
{ self, inputs, ... }: {
flake.nixosModules.niri = { pkgs, lib, ... }: {
environment.systemPackages = [
pkgs.wl-clipboard
pkgs.clipman
];
programs.niri = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
};
};
flake.nixosModules.tuigreet = { pkgs, lib, ... }: {
environment.systemPackages = with pkgs; [
tuigreet
];
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri";
};
};
};
};
perSystem = { pkgs, lib, self', ... }: {
packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap {
inherit pkgs;
settings = {
spawn-at-startup = [
(lib.getExe self'.packages.myNoctalia)
];
prefer-no-csd = true;
xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite;
input = {
keyboard = {
xkb.layout = "us,dk";
xkb.options = "caps:escape,grp:win_space_toggle";
repeat-rate = 25;
repeat-delay = 300;
};
};
extraConfig = ''
gestures {
hot-corners {
off
}
}
'';
window-rules = [
{
matches = [ { is-focused = false; } ];
default-column-width = { proportion = 1.; };
opacity = 0.65;
}
{
matches = [
{ app-id = "firefox"; }
{ app-id = "discord"; }
];
default-column-width = { proportion = 1.; };
opacity = 1.;
}
{
matches = [ { app-id = "Alacritty"; } ];
excludes = [ { is-focused = false; } ];
opacity = .90;
}
];
screenshot-path = "~/Pictures/Screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png";
hotkey-overlay.skip-at-startup = true;
layout = {
gaps = 15;
border.off = {};
focus-ring.off = {};
preset-column-widths = [
{ proportion = 1.; }
{ proportion = 1. / 2.; }
{ proportion = 1. / 3.; }
{ proportion = 2. / 3.; }
];
default-column-width = { proportion = 1. / 2.; };
center-focused-column = "never"; #"on-overflow"; "always";
default-column-display = "normal"; #"tabbed";
};
binds = {
"Mod+Return".spawn-sh = lib.getExe self'.packages.myAlacritty;
"Mod+Shift+Slash".show-hotkey-overlay = {};
"Mod+Shift+C".close-window = {};
"Mod+Shift+Q".quit = {};
"Mod+O".toggle-overview = {};
"Mod+Left".focus-column-left = {};
"Mod+Down".focus-window-down = {};
"Mod+Up".focus-window-up = {};
"Mod+Right".focus-column-right = {};
"Mod+Ctrl+Left".move-column-left = {};
"Mod+Ctrl+Down".move-window-down = {};
"Mod+Ctrl+Up".move-window-up = {};
"Mod+Ctrl+Right".move-column-right = {};
"Mod+H".focus-column-left = {};
"Mod+J".focus-window-down = {};
"Mod+K".focus-window-up = {};
"Mod+L".focus-column-right = {};
"Mod+Ctrl+H".move-column-left = {};
"Mod+Ctrl+J".move-window-down = {};
"Mod+Ctrl+K".move-window-up = {};
"Mod+Ctrl+L".move-column-right = {};
"Mod+Ctrl+Shift+j".move-workspace-down = {};
"Mod+Ctrl+Shift+k".move-workspace-up = {};
"Mod+U".focus-workspace-down = {};
"Mod+I".focus-workspace-up = {};
"Mod+Ctrl+U".move-column-to-workspace-down = {};
"Mod+Ctrl+I".move-column-to-workspace-up = {};
"Mod+R".switch-preset-column-width = {};
"Mod+1".focus-workspace = 1;
"Mod+2".focus-workspace = 2;
"Mod+3".focus-workspace = 3;
"Mod+4".focus-workspace = 4;
"Mod+5".focus-workspace = 5;
"Mod+6".focus-workspace = 6;
"Mod+7".focus-workspace = 7;
"Mod+8".focus-workspace = 8;
"Mod+9".focus-workspace = 9;
"Mod+Ctrl+1".move-column-to-workspace = 1;
"Mod+Ctrl+2".move-column-to-workspace = 2;
"Mod+Ctrl+3".move-column-to-workspace = 3;
"Mod+Ctrl+4".move-column-to-workspace = 4;
"Mod+Ctrl+5".move-column-to-workspace = 5;
"Mod+Ctrl+6".move-column-to-workspace = 6;
"Mod+Ctrl+7".move-column-to-workspace = 7;
"Mod+Ctrl+8".move-column-to-workspace = 8;
"Mod+Ctrl+9".move-column-to-workspace = 9;
"XF86AudioRaiseVolume".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume increase";
"XF86AudioLowerVolume".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume decrease";
"XF86AudioMute".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume muteOutput";
"XF86MonBrightnessUp".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call brightness increase";
"XF86MonBrightnessDown".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call brightness decrease";
"XF86AudioPrev".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media previous";
"XF86AudioPlay".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media playPause";
"XF86AudioNext".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media next";
"XF86AudioMedia".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call systemMonitor toggle";
"Mod+Comma".consume-window-into-column = {};
"Mod+Period".expel-window-from-column = {};
"Mod+BracketLeft".consume-or-expel-window-left = {};
"Mod+BracketRight".consume-or-expel-window-right = {};
"Mod+F".maximize-column = {};
"Mod+Shift+F".fullscreen-window = {};
"Mod+W".toggle-column-tabbed-display = {};
"Mod+V".toggle-window-floating = {};
"Mod+Shift+V".switch-focus-between-floating-and-tiling = {};
"Print".screenshot = {};
"Mod+Print".screenshot-window = {};
"Mod+Shift+Print".screenshot-screen = {};
"Mod+Shift+L".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call sessionMenu lockAndSuspend";
"Mod+Shift+E".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher emoji";
"Mod+Shift+Escape".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call sessionMenu toggle";
"Mod+P".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher toggle";
"Mod+Y".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher clipboard";
};
};
};
};
}