Small niri tryouts

This commit is contained in:
Christoph Hollizeck 2025-10-26 22:41:34 +01:00
parent d645c46790
commit 634aa0295f
Signed by: Daholli
GPG key ID: 249300664F2AF2C7
7 changed files with 375 additions and 25 deletions

View file

@ -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"
];

View file

@ -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";
# };
};
}

View file

@ -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
)

View file

@ -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
];
};
};
}