niri: migrate to niri-nix (https://codeberg.org/bananad3v/niri-nix)
This commit is contained in:
@@ -1,9 +1,57 @@
|
||||
include "generated-config.kdl"
|
||||
include "generated.kdl"
|
||||
|
||||
input {
|
||||
focus-follows-mouse max-scroll-amount="0%"
|
||||
workspace-auto-back-and-forth
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 23
|
||||
center-focused-column "on-overflow"
|
||||
always-center-single-column
|
||||
|
||||
focus-ring {
|
||||
off
|
||||
}
|
||||
|
||||
border {
|
||||
on
|
||||
width 4
|
||||
inactive-color "#2e2e3eee"
|
||||
active-gradient from="#6186d6ee" to="#cba6f7ee" angle=180 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
insert-hint {
|
||||
color "rgba(42, 44, 54, 0.5)"
|
||||
}
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.4
|
||||
proportion 0.5
|
||||
proportion 0.6
|
||||
proportion 0.66667
|
||||
proportion 0.8
|
||||
}
|
||||
|
||||
default-column-width { proportion 0.8; }
|
||||
|
||||
background-color "transparent"
|
||||
|
||||
tab-indicator {
|
||||
width 10
|
||||
place-within-column
|
||||
}
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
clipboard {
|
||||
disable-primary
|
||||
}
|
||||
|
||||
blur {
|
||||
@@ -13,6 +61,25 @@ blur {
|
||||
saturation 1.5
|
||||
}
|
||||
|
||||
layer-rule {
|
||||
match namespace="^wallpaper$"
|
||||
place-within-backdrop true
|
||||
}
|
||||
|
||||
overview {
|
||||
workspace-shadow {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
on
|
||||
slowdown 1.5
|
||||
workspace-switch {
|
||||
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
|
||||
}
|
||||
}
|
||||
|
||||
window-rule {
|
||||
draw-border-with-background false
|
||||
geometry-corner-radius 14.000000 14.000000 14.000000 14.000000
|
||||
@@ -39,3 +106,10 @@ window-rule {
|
||||
match app-id="org.gnome.Nautilus"
|
||||
opacity 0.6
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="org.jackhuang.hmcl.Launcher"
|
||||
border {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,334 +7,69 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
settings = config.my.hm.programs.niri.settings;
|
||||
niriCfg = config.my.hm.wayland.windowManager.niri;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf config.my.desktop.wm.niri.enable {
|
||||
my.hm = {
|
||||
xdg.configFile.niri-config.target = lib.mkForce "niri/generated-config.kdl";
|
||||
xdg.configFile."niri/config.kdl".source = impure.mkImpureLink ./config.kdl;
|
||||
|
||||
programs.niri.settings = {
|
||||
input = {
|
||||
focus-follows-mouse = {
|
||||
enable = true;
|
||||
max-scroll-amount = "0%";
|
||||
};
|
||||
workspace-auto-back-and-forth = true;
|
||||
};
|
||||
|
||||
layout = {
|
||||
gaps = 23;
|
||||
center-focused-column = "on-overflow";
|
||||
always-center-single-column = true;
|
||||
focus-ring.enable = false;
|
||||
border = {
|
||||
enable = true;
|
||||
width = 4;
|
||||
|
||||
inactive.color = "#2e2e3eee";
|
||||
active.gradient = {
|
||||
from = "#6186d6ee";
|
||||
to = "#cba6f7ee";
|
||||
angle = 180;
|
||||
relative-to = "workspace-view";
|
||||
};
|
||||
};
|
||||
insert-hint = {
|
||||
enable = true;
|
||||
display.color = "rgba(42, 44, 54, 0.5)";
|
||||
};
|
||||
preset-column-widths = [
|
||||
{ proportion = 0.33333; }
|
||||
{ proportion = 0.4; }
|
||||
{ proportion = 0.5; }
|
||||
{ proportion = 0.6; }
|
||||
{ proportion = 0.66667; }
|
||||
{ proportion = 0.8; }
|
||||
];
|
||||
default-column-width.proportion = 0.8;
|
||||
background-color = "transparent";
|
||||
tab-indicator = {
|
||||
width = 10;
|
||||
place-within-column = true;
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
enable = true;
|
||||
slowdown = 1.5;
|
||||
workspace-switch.kind.spring = {
|
||||
damping-ratio = 1.0;
|
||||
stiffness = 1000;
|
||||
epsilon = 0.0001;
|
||||
};
|
||||
};
|
||||
|
||||
prefer-no-csd = true;
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
|
||||
clipboard.disable-primary = true;
|
||||
|
||||
layer-rules = [
|
||||
{
|
||||
matches = [ { namespace = "^wallpaper$"; } ];
|
||||
place-within-backdrop = true;
|
||||
}
|
||||
];
|
||||
overview.workspace-shadow.enable = false;
|
||||
xdg.configFile."niri".source = impure.mkImpureLink ./config;
|
||||
xdg.configFile."niri-generated.kdl".text = niriCfg.finalConfig;
|
||||
|
||||
wayland.windowManager.niri.settings = {
|
||||
environment.NIXOS_OZONE_WL = "1";
|
||||
|
||||
spawn-at-startup = lib.mkBefore (
|
||||
map (c: { command = c; }) [
|
||||
(
|
||||
[
|
||||
"dbus-update-activation-environment"
|
||||
"--systemd"
|
||||
]
|
||||
++ builtins.attrNames settings.environment
|
||||
)
|
||||
|
||||
spawn-at-startup = lib.mkBefore [
|
||||
(
|
||||
[
|
||||
"${lib.getExe pkgs.swaybg}"
|
||||
"-m"
|
||||
"fill"
|
||||
"-i"
|
||||
(toString assets.wallpaper)
|
||||
]
|
||||
[
|
||||
"wl-paste"
|
||||
"--type"
|
||||
"text"
|
||||
"--watch"
|
||||
"cliphist"
|
||||
"store"
|
||||
]
|
||||
[
|
||||
"wl-paste"
|
||||
"--type"
|
||||
"image"
|
||||
"--watch"
|
||||
"cliphist"
|
||||
"store"
|
||||
]
|
||||
[
|
||||
"noctalia-shell"
|
||||
"dbus-update-activation-environment"
|
||||
"--systemd"
|
||||
]
|
||||
++ (builtins.attrNames niriCfg.settings.environment)
|
||||
)
|
||||
[
|
||||
"${lib.getExe pkgs.swaybg}"
|
||||
"-m"
|
||||
"fill"
|
||||
"-i"
|
||||
(toString assets.wallpaper)
|
||||
]
|
||||
);
|
||||
[
|
||||
"wl-paste"
|
||||
"--type"
|
||||
"text"
|
||||
"--watch"
|
||||
"cliphist"
|
||||
"store"
|
||||
]
|
||||
[
|
||||
"wl-paste"
|
||||
"--type"
|
||||
"image"
|
||||
"--watch"
|
||||
"cliphist"
|
||||
"store"
|
||||
]
|
||||
[ "noctalia-shell" ]
|
||||
];
|
||||
|
||||
binds =
|
||||
let
|
||||
noctalia =
|
||||
cmd:
|
||||
[
|
||||
"noctalia-shell"
|
||||
"ipc"
|
||||
"call"
|
||||
]
|
||||
++ (lib.splitString " " cmd);
|
||||
in
|
||||
with config.my.hm.lib.niri.actions;
|
||||
binds = lib.mkMerge [
|
||||
{
|
||||
"Mod+Return".action.spawn = [
|
||||
"kitty"
|
||||
"-1"
|
||||
];
|
||||
"Mod+G".action.spawn = [ config.my.desktop.browser.default.command ];
|
||||
"Mod+E".action.spawn = [ "nautilus" ];
|
||||
"Mod+R".action.spawn = noctalia "launcher toggle";
|
||||
"Mod+V".action.spawn = noctalia "launcher clipboard";
|
||||
"Mod+W".action.spawn = noctalia "launcher windows";
|
||||
"Ctrl+Alt+Escape".action.spawn = [ "missioncenter" ];
|
||||
|
||||
"XF86AudioRaiseVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-volume"
|
||||
"@DEFAULT_SINK@"
|
||||
"2%+"
|
||||
];
|
||||
};
|
||||
"XF86AudioLowerVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-volume"
|
||||
"@DEFAULT_SINK@"
|
||||
"2%-"
|
||||
];
|
||||
};
|
||||
"XF86AudioMute" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = noctalia "media playPause";
|
||||
};
|
||||
"Super+XF86AudioRaiseVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = noctalia "media next";
|
||||
};
|
||||
"Super+XF86AudioLowerVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = noctalia "media previous";
|
||||
};
|
||||
|
||||
"XF86MonBrightnessUp" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"brightnessctl"
|
||||
"set"
|
||||
"+5%"
|
||||
];
|
||||
};
|
||||
"XF86MonBrightnessDown" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"brightnessctl"
|
||||
"set"
|
||||
"5%-"
|
||||
];
|
||||
};
|
||||
"Alt+XF86AudioRaiseVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"brightnessctl"
|
||||
"set"
|
||||
"+5%"
|
||||
];
|
||||
};
|
||||
"Alt+XF86AudioLowerVolume" = {
|
||||
allow-when-locked = true;
|
||||
action.spawn = [
|
||||
"brightnessctl"
|
||||
"set"
|
||||
"5%-"
|
||||
];
|
||||
};
|
||||
|
||||
"Mod+Q".action = close-window;
|
||||
|
||||
"Mod+Left".action = focus-column-left;
|
||||
"Mod+Right".action = focus-column-right;
|
||||
"Mod+Up".action = focus-window-up;
|
||||
"Mod+Down".action = focus-window-down;
|
||||
|
||||
"Mod+Ctrl+Left".action = move-column-left;
|
||||
"Mod+Ctrl+Right".action = move-column-right;
|
||||
"Mod+Ctrl+Up".action = move-window-up;
|
||||
"Mod+Ctrl+Down".action = move-window-down;
|
||||
|
||||
"Mod+Alt+Left".action = consume-or-expel-window-left;
|
||||
"Mod+Alt+Right".action = consume-or-expel-window-right;
|
||||
|
||||
"Mod+Shift+Left".action = focus-monitor-left;
|
||||
"Mod+Shift+Right".action = focus-monitor-right;
|
||||
"Mod+Shift+Up".action = focus-monitor-up;
|
||||
"Mod+Shift+Down".action = focus-monitor-down;
|
||||
|
||||
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
|
||||
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
|
||||
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
|
||||
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
|
||||
|
||||
"Mod+Page_Up".action = focus-workspace-up;
|
||||
"Mod+Page_Down".action = focus-workspace-down;
|
||||
|
||||
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
|
||||
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
|
||||
|
||||
"Mod+Shift+Page_Up".action = move-workspace-up;
|
||||
"Mod+Shift+Page_Down".action = move-workspace-down;
|
||||
|
||||
"Mod+L".action = switch-preset-column-width;
|
||||
"Mod+Shift+L".action = reset-window-height;
|
||||
"Mod+M".action = maximize-column;
|
||||
"Mod+Shift+M".action = fullscreen-window;
|
||||
"Mod+C".action = center-column;
|
||||
"Mod+F".action = toggle-window-floating;
|
||||
"Mod+H".action = expand-column-to-available-width;
|
||||
"Mod+T".action = toggle-column-tabbed-display;
|
||||
|
||||
"Mod+Minus".action.set-column-width = "-10%";
|
||||
"Mod+Equal".action.set-column-width = "+10%";
|
||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
||||
|
||||
"Ctrl+Alt+A".action.screenshot = {
|
||||
show-pointer = false;
|
||||
};
|
||||
# "Ctrl+Alt+A".action = screenshot;
|
||||
"Print".action.screenshot-screen = {
|
||||
show-pointer = false;
|
||||
};
|
||||
"Alt+Print".action.screenshot-window = [ ];
|
||||
# "Alt+Print".action = screenshot-window;
|
||||
|
||||
"Mod+Shift+E".action = quit;
|
||||
|
||||
"Mod+O".action = toggle-overview;
|
||||
"Super+Tab".action = toggle-overview;
|
||||
|
||||
"Mod+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-workspace-down;
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-workspace-up;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-workspace-down;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-workspace-up;
|
||||
};
|
||||
|
||||
"Mod+WheelScrollRight" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-column-right;
|
||||
};
|
||||
"Mod+WheelScrollLeft" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-column-left;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollRight" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-column-right;
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollLeft" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-column-left;
|
||||
};
|
||||
|
||||
"Mod+Shift+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-column-right;
|
||||
};
|
||||
"Mod+Shift+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action = focus-column-left;
|
||||
};
|
||||
"Mod+Ctrl+Shift+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-column-right;
|
||||
};
|
||||
"Mod+Ctrl+Shift+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action = move-column-left;
|
||||
};
|
||||
"Mod+G".spawn = [ config.my.desktop.browser.default.command ];
|
||||
}
|
||||
// lib.attrsets.mergeAttrsList (
|
||||
(builtins.listToAttrs (
|
||||
map (n: {
|
||||
"Mod+${toString n}".action.focus-workspace = n;
|
||||
"Mod+Shift+${toString n}".action.move-column-to-workspace = n;
|
||||
name = "Mod+${toString n}";
|
||||
value.focus-workspace = n;
|
||||
}) (lib.range 0 9)
|
||||
);
|
||||
))
|
||||
(builtins.listToAttrs (
|
||||
map (n: {
|
||||
name = "Mod+Shift+${toString n}";
|
||||
value.move-column-to-workspace = n;
|
||||
}) (lib.range 0 9)
|
||||
))
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
binds {
|
||||
Mod+Return { spawn "kitty" "-1"; }
|
||||
Mod+E { spawn "nautilus"; }
|
||||
Ctrl+Alt+Escape { spawn "missioncenter"; }
|
||||
|
||||
Mod+R { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
|
||||
Mod+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; }
|
||||
Mod+W { spawn "noctalia-shell" "ipc" "call" "launcher" "windows"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_SINK@" "2%+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_SINK@" "2%-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "playPause"; }
|
||||
Super+XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "next"; }
|
||||
Super+XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "previous"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; }
|
||||
Alt+XF86AudioRaiseVolume allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; }
|
||||
Alt+XF86AudioLowerVolume allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; }
|
||||
|
||||
Mod+Q { close-window; }
|
||||
Mod+Shift+E { quit; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Down { focus-window-down; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
|
||||
Mod+Alt+Left { consume-or-expel-window-left; }
|
||||
Mod+Alt+Right { consume-or-expel-window-right; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
|
||||
Mod+L { switch-preset-column-width; }
|
||||
Mod+Shift+L { reset-window-height; }
|
||||
Mod+M { maximize-column; }
|
||||
Mod+Shift+M { fullscreen-window; }
|
||||
Mod+C { center-column; }
|
||||
Mod+F { toggle-window-floating; }
|
||||
Mod+H { expand-column-to-available-width; }
|
||||
Mod+T { toggle-column-tabbed-display; }
|
||||
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
|
||||
Ctrl+Alt+A { screenshot show-pointer=false; }
|
||||
Print { screenshot-screen show-pointer=false; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
Mod+O { toggle-overview; }
|
||||
Super+Tab { toggle-overview; }
|
||||
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollLeft cooldown-ms=150 { focus-column-left; }
|
||||
Mod+WheelScrollRight cooldown-ms=150 { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollLeft cooldown-ms=150 { move-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight cooldown-ms=150 { move-column-right; }
|
||||
|
||||
Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-column-left; }
|
||||
Mod+Shift+WheelScrollDown cooldown-ms=150 { focus-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp cooldown-ms=150 { move-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown cooldown-ms=150 { move-column-right; }
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
include "~/.config/niri-generated.kdl"
|
||||
include "rules.kdl"
|
||||
include "binds.kdl"
|
||||
|
||||
input {
|
||||
focus-follows-mouse max-scroll-amount="0%"
|
||||
workspace-auto-back-and-forth
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 23
|
||||
center-focused-column "on-overflow"
|
||||
always-center-single-column
|
||||
|
||||
focus-ring {
|
||||
off
|
||||
}
|
||||
|
||||
border {
|
||||
on
|
||||
width 4
|
||||
inactive-color "#2e2e3eee"
|
||||
active-gradient from="#6186d6ee" to="#cba6f7ee" angle=180 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
insert-hint {
|
||||
color "rgba(42, 44, 54, 0.5)"
|
||||
}
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.4
|
||||
proportion 0.5
|
||||
proportion 0.6
|
||||
proportion 0.66667
|
||||
proportion 0.8
|
||||
}
|
||||
|
||||
default-column-width { proportion 0.8; }
|
||||
|
||||
background-color "transparent"
|
||||
|
||||
tab-indicator {
|
||||
width 10
|
||||
place-within-column
|
||||
}
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
clipboard {
|
||||
disable-primary
|
||||
}
|
||||
|
||||
blur {
|
||||
passes 3
|
||||
offset 4
|
||||
noise 0.02
|
||||
saturation 1.5
|
||||
}
|
||||
|
||||
overview {
|
||||
workspace-shadow {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
on
|
||||
slowdown 1.5
|
||||
workspace-switch {
|
||||
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
layer-rule {
|
||||
match namespace="^wallpaper$"
|
||||
place-within-backdrop true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
draw-border-with-background false
|
||||
geometry-corner-radius 14.000000 14.000000 14.000000 14.000000
|
||||
clip-to-geometry true
|
||||
background-effect {
|
||||
xray true
|
||||
blur true
|
||||
}
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match is-floating=true
|
||||
background-effect {
|
||||
xray false
|
||||
}
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="kitty|foot|Alacritty|ghostty"
|
||||
opacity 0.8
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="org.gnome.Nautilus"
|
||||
opacity 0.6
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="org.jackhuang.hmcl.Launcher"
|
||||
border {
|
||||
off
|
||||
}
|
||||
}
|
||||
@@ -15,10 +15,11 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
niri-flake.cache.enable = false;
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = pkg;
|
||||
# We manage xdg.portal ourselves below.
|
||||
withXDG = false;
|
||||
};
|
||||
services.displayManager = {
|
||||
ly = {
|
||||
@@ -32,7 +33,6 @@ in
|
||||
};
|
||||
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
my.persist.homeDirs = [
|
||||
{
|
||||
directory = ".local/share/keyrings";
|
||||
@@ -57,8 +57,17 @@ in
|
||||
xdg-desktop-portal-gnome
|
||||
];
|
||||
};
|
||||
systemd.user.services.niri-flake-polkit.serviceConfig.ExecStart =
|
||||
lib.mkForce "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
systemd.user.services.niri-polkit = {
|
||||
description = "PolicyKit Authentication Agent";
|
||||
wantedBy = [ "niri.service" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
services.system76-scheduler.enable = true;
|
||||
|
||||
|
||||
@@ -187,12 +187,12 @@ in
|
||||
)
|
||||
)
|
||||
];
|
||||
my.hm.programs.niri.settings = {
|
||||
binds."Mod+Space".action.spawn = [
|
||||
my.hm.wayland.windowManager.niri.settings = {
|
||||
binds."Mod+Space".spawn = [
|
||||
"fcitx5-remote"
|
||||
"-t"
|
||||
];
|
||||
spawn-at-startup = [ { command = [ "fcitx5" ]; } ];
|
||||
spawn-at-startup = [ [ "fcitx5" ] ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user