1
1
Fork 0

Compare commits

...

13 commits

Author SHA1 Message Date
d85a987ea5
nix: update flake.lock
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:54:19 -06:00
8305c602cb
niri: support kdl config insertion for unreleased features
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:54:11 -06:00
f2abb550d1
niri: fix clipboard clear at startup
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:52:13 -06:00
29351e533c
niri: separate alphanumeric binds
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:51:36 -06:00
20d49565a8
custom: decrease gap
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:51:20 -06:00
90af93a56b
niri: use border instead of focus-ring
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:50:38 -06:00
e94df4e38e
niri: remove bug comment
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:50:15 -06:00
274be3755e
niri: modify rules
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:49:50 -06:00
0c1c7c3d70
menu: fix shell script path
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:49:32 -06:00
7e172c3b35
browser: switch to zen
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:48:59 -06:00
f9c080ef5e
fish: add gco abbr
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:48:40 -06:00
623957e7f1
desktops: switch to niri
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:48:27 -06:00
c28a006c96
custom: use floats to avoid truncating decimals
Signed-off-by: Myned <dev@bjork.tech>
2025-02-17 16:47:45 -06:00
11 changed files with 138 additions and 107 deletions

30
flake.lock generated
View file

@ -2396,11 +2396,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1738911818, "lastModified": 1739787518,
"narHash": "sha256-7bhr9ldHrNP71qOmKI1Hu80uclx+Tco0RNmO+GKtC1Y=", "narHash": "sha256-F9zVBxjj8H11TjXhbMNC/nXJVAvksrrasouxTxPbju4=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "397e704d644d1bfe7736f2fdacbfe5742c7b2f9f", "rev": "078383ea8208337d3c9ea89118aa615d7fbbab17",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2421,11 +2421,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1739042449, "lastModified": 1739802387,
"narHash": "sha256-9zLFUpEebwhjCgtznsI61gTzefI3+fuXATHUOFzJi5w=", "narHash": "sha256-j1/mukC09zeq0mdOiL9ouE1k7ZC7f3SJCKFq5ttoqIs=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "98e3666a9dc4143cbf93d957a15d749b5acef046", "rev": "59ed19d431324af3fcebbf623c081eae2e67ab97",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2454,11 +2454,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1738911818, "lastModified": 1739787518,
"narHash": "sha256-7bhr9ldHrNP71qOmKI1Hu80uclx+Tco0RNmO+GKtC1Y=", "narHash": "sha256-F9zVBxjj8H11TjXhbMNC/nXJVAvksrrasouxTxPbju4=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "397e704d644d1bfe7736f2fdacbfe5742c7b2f9f", "rev": "078383ea8208337d3c9ea89118aa615d7fbbab17",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2972,11 +2972,11 @@
}, },
"nixpkgs-stable_4": { "nixpkgs-stable_4": {
"locked": { "locked": {
"lastModified": 1738843498, "lastModified": 1739624908,
"narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", "rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -3891,11 +3891,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1737837494, "lastModified": 1739246919,
"narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=", "narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f", "rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: }:
with lib; let with lib; let
@ -23,23 +22,23 @@ in {
sync = mkOption {default = "/home/myned/SYNC";}; sync = mkOption {default = "/home/myned/SYNC";};
### Hardware ### Hardware
width = mkOption {default = 1920;}; width = mkOption {default = 1920.0;};
height = mkOption {default = 1080;}; height = mkOption {default = 1080.0;};
refresh = mkOption {default = 60;}; refresh = mkOption {default = 60.0;};
vrr = mkOption {default = false;}; vrr = mkOption {default = false;};
ultrawide = mkOption {default = cfg.width * 9 / 16 > cfg.height;}; # Wider than 16:9 ultrawide = mkOption {default = cfg.width * 9 / 16 > cfg.height;}; # Wider than 16:9
hidpi = mkOption {default = cfg.scale > 1;}; hidpi = mkOption {default = cfg.scale > 1;};
scale = mkOption {default = 1;}; scale = mkOption {default = 1.0;};
border = mkOption {default = 3;}; border = mkOption {default = 3.0;};
gap = mkOption {default = 15;}; gap = mkOption {default = 10.0;};
padding = mkOption {default = 51;}; # ?? journalctl --user -u waybar.service | grep height: padding = mkOption {default = 51.0;}; # ?? journalctl --user -u waybar.service | grep height:
rounding = mkOption {default = 15;}; rounding = mkOption {default = 15.0;};
### Misc ### Misc
desktop = mkOption { desktop = mkOption {
default = default =
if config.custom.full if config.custom.full
then "hyprland" then "niri"
else "gnome"; else "gnome";
}; };
@ -49,8 +48,8 @@ in {
browser = { browser = {
# TODO: Use lib.getExe' instead of /bin/ where possible # TODO: Use lib.getExe' instead of /bin/ where possible
command = mkOption {default = getExe hm.programs.librewolf.finalPackage;}; command = mkOption {default = getExe hm.programs.zen-browser.finalPackage;};
desktop = mkOption {default = "librewolf.desktop";}; desktop = mkOption {default = "zen.desktop";};
}; };
}; };
} }

View file

@ -18,7 +18,6 @@ with lib; let
hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock"; hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock";
hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker"; hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker";
inhibit = config.home-manager.users.${config.custom.username}.home.file.".local/bin/inhibit".source; inhibit = config.home-manager.users.${config.custom.username}.home.file.".local/bin/inhibit".source;
kitty = "${config.home-manager.users.${config.custom.username}.programs.kitty.package}/bin/kitty";
loginctl = "${pkgs.systemd}/bin/loginctl"; loginctl = "${pkgs.systemd}/bin/loginctl";
loupe = "${pkgs.loupe}/bin/loupe"; loupe = "${pkgs.loupe}/bin/loupe";
nautilus = "${pkgs.nautilus}/bin/nautilus"; nautilus = "${pkgs.nautilus}/bin/nautilus";
@ -70,6 +69,40 @@ in {
# TODO: Focus window if already launched # TODO: Focus window if already launched
# https://github.com/YaLTeR/niri/discussions/267 # https://github.com/YaLTeR/niri/discussions/267
#?? niri msg action focus-window --id (niri msg -j windows | jq '.[] | select(.app_id == "").id') #?? niri msg action focus-window --id (niri msg -j windows | jq '.[] | select(.app_id == "").id')
(key "Apostrophe" "Mod" screenshot)
(key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen)
(key "Apostrophe" "Mod+Shift" screenshot-window)
(key "Backslash" "Mod" (spawn inhibit))
(key "Backslash" "Mod+Shift" (spawn power))
(key "Backspace" "Mod" center-column)
(key "Bracketleft" "Mod" (switch-layout "prev"))
(key "Bracketright" "Mod" (switch-layout "next"))
(key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username]))
(key "Delete" "Mod" (spawn [playerctl] "play-pause"))
(key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"]))
(key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"]))
(key "Escape" "Mod" switch-focus-between-floating-and-tiling)
(key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"]))
(key "Escape" "Mod+Shift" toggle-window-floating)
(key "Left" "Mod" (spawn [playerctl "previous"]))
(key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"]))
(key "Return" "Mod" maximize-column)
(key "Return" "Mod+Shift" fullscreen-window)
(key "Right" "Mod" (spawn [playerctl "next"]))
(key "Slash" "Mod" (spawn [loupe "/tmp/wallpaper.png"]))
(key "Slash" "Mod+Shift" show-hotkey-overlay)
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
(key "Tab" "Mod" toggle-column-tabbed-display)
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
(key "WheelScrollDown" "Mod" focus-window-or-workspace-down)
(key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down)
(key "WheelScrollLeft" "Mod" focus-column-or-monitor-left)
(key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left)
(key "WheelScrollRight" "Mod" focus-column-or-monitor-right)
(key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right)
(key "WheelScrollUp" "Mod" focus-window-or-workspace-up)
(key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up)
(key "0" "Mod" (spawn [swayosd-client "--output-volume" "mute-toggle"])) (key "0" "Mod" (spawn [swayosd-client "--output-volume" "mute-toggle"]))
(key "1" "Ctrl+Alt" (spawn ["lifx" "state" "--brightness" "0.01"])) (key "1" "Ctrl+Alt" (spawn ["lifx" "state" "--brightness" "0.01"]))
(key "1" "Mod" (focus-workspace "1")) (key "1" "Mod" (focus-workspace "1"))
@ -98,28 +131,17 @@ in {
(key "8" "Mod" (focus-workspace "8")) (key "8" "Mod" (focus-workspace "8"))
(key "8" "Mod+Shift" (move-column-to-workspace "8")) (key "8" "Mod+Shift" (move-column-to-workspace "8"))
(key "9" "Mod" (spawn audio)) (key "9" "Mod" (spawn audio))
(key "A" "Ctrl+Alt" (spawn [waydroid "session" "stop"]))
(key "A" "Mod" focus-column-or-monitor-left) (key "A" "Mod" focus-column-or-monitor-left)
(key "A" "Mod+Ctrl" consume-or-expel-window-left) (key "A" "Mod+Ctrl" consume-or-expel-window-left)
(key "A" "Mod+Shift" move-column-left-or-to-monitor-left) (key "A" "Mod+Shift" move-column-left-or-to-monitor-left)
(key "Apostrophe" "Mod" screenshot)
(key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen)
(key "Apostrophe" "Mod+Shift" screenshot-window)
(key "B" "Ctrl+Alt" (spawn [pkill config.custom.browser.command])) (key "B" "Ctrl+Alt" (spawn [pkill config.custom.browser.command]))
(key "B" "Mod" (spawn config.custom.browser.command)) (key "B" "Mod" (spawn config.custom.browser.command))
(key "Backslash" "Mod" (spawn inhibit)) (key "C" "Mod" (spawn config.custom.menus.clipboard.show))
(key "Backslash" "Mod+Shift" (spawn power)) (key "C" "Mod+Shift" (spawn config.custom.menus.clipboard.clear))
(key "Backspace" "Mod" center-column) (key "D" "Ctrl+Alt" (spawn [waydroid "session" "stop"]))
(key "Bracketleft" "Mod" (switch-layout "prev")) (key "D" "Mod" (spawn [waydroid "app" "launch" "com.YoStarEN.Arknights"]))
(key "Bracketright" "Mod" (switch-layout "next"))
(key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username]))
(key "Delete" "Mod" (spawn [playerctl] "play-pause"))
(key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"]))
(key "E" "Ctrl+Alt" (spawn [pkill "gnome-text-editor"])) (key "E" "Ctrl+Alt" (spawn [pkill "gnome-text-editor"]))
(key "E" "Mod" (spawn gnome-text-editor)) (key "E" "Mod" (spawn [gnome-text-editor "--new-window"]))
(key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"]))
(key "Escape" "Mod" toggle-window-floating)
(key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"]))
(key "F" "Mod" (spawn [nautilus "--new-window"])) (key "F" "Mod" (spawn [nautilus "--new-window"]))
(key "G" "Ctrl+Alt" (spawn [pkill "steam"])) (key "G" "Ctrl+Alt" (spawn [pkill "steam"]))
(key "G" "Mod" (spawn steam)) (key "G" "Mod" (spawn steam))
@ -129,46 +151,24 @@ in {
(key "K" "Mod" (spawn obsidian)) (key "K" "Mod" (spawn obsidian))
(key "L" "Mod" (spawn [bash "-c" "${hyprlock} --immediate & ${niri} msg action power-off-monitors"])) (key "L" "Mod" (spawn [bash "-c" "${hyprlock} --immediate & ${niri} msg action power-off-monitors"]))
(key "L" "Mod+Shift" suspend) (key "L" "Mod+Shift" suspend)
(key "Left" "Mod" (spawn [playerctl "previous"]))
(key "M" "Ctrl+Alt" (spawn [pkill "youtube-music"])) (key "M" "Ctrl+Alt" (spawn [pkill "youtube-music"]))
(key "M" "Mod" (spawn youtube-music)) (key "M" "Mod" (spawn youtube-music))
(key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"])) (key "O" "Mod" (spawn [hyprpicker "--autocopy"]))
(key "N" "Mod" (spawn networkmanager_dmenu)) (key "O" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"]))
(key "O" "Mod" (spawn [loupe "/tmp/wallpaper.png"]))
(key "P" "Ctrl+Alt" (spawn [pkill "bitwarden"])) (key "P" "Ctrl+Alt" (spawn [pkill "bitwarden"]))
(key "P" "Mod" (spawn config.custom.menus.vault.show)) (key "P" "Mod" (spawn bitwarden))
(key "P" "Mod+Shift" (spawn bitwarden))
(key "Q" "Mod" close-window) (key "Q" "Mod" close-window)
(key "R" "Mod" focus-window-or-workspace-down) (key "R" "Mod" focus-window-or-workspace-down)
(key "R" "Mod+Shift" move-window-down-or-to-workspace-down) (key "R" "Mod+Shift" move-window-down-or-to-workspace-down)
(key "Return" "Mod" maximize-column)
(key "Return" "Mod+Shift" fullscreen-window)
(key "Right" "Mod" (spawn [playerctl "next"]))
(key "S" "Mod" focus-column-or-monitor-right) (key "S" "Mod" focus-column-or-monitor-right)
(key "S" "Mod+Ctrl" consume-or-expel-window-right) (key "S" "Mod+Ctrl" consume-or-expel-window-right)
(key "S" "Mod+Shift" move-column-right-or-to-monitor-right) (key "S" "Mod+Shift" move-column-right-or-to-monitor-right)
(key "Semicolon" "Mod" (spawn [hyprpicker "--autocopy"]))
(key "Semicolon" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"]))
(key "Slash" "Mod+Shift" show-hotkey-overlay)
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
(key "T" "Ctrl+Alt" (spawn [pkill "ghostty"])) (key "T" "Ctrl+Alt" (spawn [pkill "ghostty"]))
(key "T" "Mod" (spawn ghostty)) (key "T" "Mod" (spawn ghostty))
(key "Tab" "Mod" switch-focus-between-floating-and-tiling) (key "V" "Mod" (spawn virt-manager))
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
(key "V" "Mod" (spawn config.custom.menus.clipboard.show))
(key "V" "Mod+Ctrl" (spawn vm)) (key "V" "Mod+Ctrl" (spawn vm))
(key "V" "Mod+Shift" (spawn config.custom.menus.clipboard.clear))
(key "W" "Mod" focus-window-or-workspace-up) (key "W" "Mod" focus-window-or-workspace-up)
(key "W" "Mod+Shift" move-window-up-or-to-workspace-up) (key "W" "Mod+Shift" move-window-up-or-to-workspace-up)
(key "WheelScrollDown" "Mod" focus-window-or-workspace-down)
(key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down)
(key "WheelScrollLeft" "Mod" focus-column-or-monitor-left)
(key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left)
(key "WheelScrollRight" "Mod" focus-column-or-monitor-right)
(key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right)
(key "WheelScrollUp" "Mod" focus-window-or-workspace-up)
(key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up)
(key "X" "Mod" (set-column-width "+10%")) (key "X" "Mod" (set-column-width "+10%"))
(key "X" "Mod+Ctrl" (set-column-width "100%")) (key "X" "Mod+Ctrl" (set-column-width "100%"))
(key "X" "Mod+Ctrl+Shift" (set-window-height "100%")) (key "X" "Mod+Ctrl+Shift" (set-window-height "100%"))
@ -184,7 +184,9 @@ in {
#// (key "Shift_L" "Mod" focus-workspace-previous) #// (key "Shift_L" "Mod" focus-workspace-previous)
# TODO: Use "Super_L" when fixed # TODO: Use "Super_L" when fixed
(key "Space" "Mod" (spawn config.custom.menus.default.show)) (key "Space" "Mod" (spawn config.custom.menus.default.show))
(key "Space" "Mod+Alt" (spawn config.custom.menus.vault.show))
(key "Space" "Mod+Ctrl" (spawn config.custom.menus.calculator.show)) (key "Space" "Mod+Ctrl" (spawn config.custom.menus.calculator.show))
(key "Space" "Mod+Ctrl+Shift" (spawn networkmanager_dmenu))
(key "Space" "Mod+Shift" (spawn config.custom.menus.search.show)) (key "Space" "Mod+Shift" (spawn config.custom.menus.search.show))
# Media keys # Media keys

View file

@ -60,14 +60,6 @@ in {
programs.niri = { programs.niri = {
package = config.programs.niri.package; package = config.programs.niri.package;
# https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
# HACK: Prepend validated kdl config not currently implemented in settings module for e.g. custom build
# https://github.com/sodiboo/niri-flake/blob/main/settings.nix
config = with inputs.niri-flake.lib;
(internal.settings-module {config = hm;}).options.programs.niri.config.default
# https://github.com/sodiboo/niri-flake/blob/main/default-config.kdl.nix
++ (with kdl; []);
# https://github.com/YaLTeR/niri/wiki/Configuration:-Debug-Options # https://github.com/YaLTeR/niri/wiki/Configuration:-Debug-Options
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsdebug # https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsdebug
settings.debug = { settings.debug = {
@ -75,6 +67,46 @@ in {
#// disable-direct-scanout = []; #// disable-direct-scanout = [];
}; };
}; };
# HACK: Replace read-only finalConfig until extraConfig is supported
# https://github.com/sodiboo/niri-flake/issues/825
xdg.configFile = {
# https://github.com/sodiboo/niri-flake/blob/59ed19d431324af3fcebbf623c081eae2e67ab97/flake.nix#L395
niri-config.enable = mkForce false;
# TODO: Move to niri-flake when supported
# HACK: Merge kdl nodes into module config
# https://github.com/sodiboo/niri-flake/blob/main/settings.nix
# https://github.com/sodiboo/niri-flake/blob/main/default-config.kdl.nix
"niri/config.kdl".text = with inputs.niri-flake.lib;
kdl.serialize.nodes (forEach hm.programs.niri.config (node:
if isAttrs node && node.name == "layout"
then
recursiveUpdate node {
children = with kdl;
node.children
++ [
# https://github.com/YaLTeR/niri/wiki/Configuration:-Layout#shadow
(plain "shadow" [
(flag "on")
(leaf "inactive-color" "#00000000")
])
# https://github.com/YaLTeR/niri/wiki/Configuration:-Layout#tab-indicator
(plain "tab-indicator" [
(flag "place-within-column")
(leaf "active-color" "#d33682")
(leaf "inactive-color" "#d3368240")
(leaf "corner-radius" config.custom.rounding)
(leaf "gap" 2)
(leaf "gaps-between-tabs" 2)
(leaf "length" {total-proportion = 0.98;})
(leaf "width" (config.custom.border + 3))
])
];
}
else node));
};
} }
]; ];
}; };

View file

@ -23,9 +23,9 @@ in {
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutborder # https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutborder
border = { border = {
enable = true; enable = true;
width = 1; width = config.custom.border;
active.color = "#002b36"; active.color = "#d33682";
inactive.color = "#002b36"; inactive.color = "#d3368200";
}; };
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutcenter-focused-column # https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutcenter-focused-column
@ -41,10 +41,10 @@ in {
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutfocus-ring # https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutfocus-ring
focus-ring = { focus-ring = {
enable = true; enable = false;
width = config.custom.border; width = config.custom.border;
active.color = "#d33682"; active.color = "#d33682";
inactive.color = "#00000000"; inactive.color = "#d3368200";
}; };
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutgaps # https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingslayoutgaps

View file

@ -32,10 +32,8 @@ in {
inherit size; inherit size;
theme = name; theme = name;
# BUG: Heavily increases CPU usage with cursor movement hide-after-inactive-ms = 1000 * 15; # Milliseconds
# https://github.com/YaLTeR/niri/issues/1037 hide-when-typing = true;
#// hide-after-inactive-ms = 1000 * 15; # Milliseconds
#// hide-when-typing = true;
}; };
# HACK: Inherit home-manager environment variables in lieu of upstream fix # HACK: Inherit home-manager environment variables in lieu of upstream fix
@ -55,7 +53,7 @@ in {
spawn-at-startup = spawn-at-startup =
[ [
{command = [audio "--init"];} # Enforce audio profile state {command = [audio "--init"];} # Enforce audio profile state
{command = [bash "-c" config.custom.menus.clipboard.clear-silent];} # Clear clipboard history {command = [config.custom.menus.clipboard.clear-silent];} # Clear clipboard history
{command = [sway-audio-idle-inhibit];} # Inhibit while audio is playing {command = [sway-audio-idle-inhibit];} # Inhibit while audio is playing
] ]
++ optionals config.custom.wallpaper [ ++ optionals config.custom.wallpaper [

View file

@ -53,19 +53,14 @@ in {
{ {
# Startup # Startup
#?? <= 60 secs after niri launches #?? <= 60 secs after niri launches
matches = [ matches = [{at-startup = true;}];
{at-startup = true;}
{app-id = "^org\.gnome\.Loupe$";}
{app-id = "^org\.gnome\.Nautilus$";}
];
open-focused = false;
#// open-on-workspace = "1";
} }
{ {
# Android # Android
matches = [{app-id = "^[Ww]aydroid.*$";}]; matches = [{app-id = "^[Ww]aydroid.*$";}];
open-on-workspace = "2";
} }
{ {
@ -81,9 +76,9 @@ in {
default-column-width.proportion = default-column-width.proportion =
if config.custom.ultrawide if config.custom.ultrawide
then 0.4 then 0.4
else 0.7; else 0.8;
#// open-on-workspace = "2"; open-on-workspace = "2";
} }
{ {
@ -94,6 +89,8 @@ in {
{app-id = "^Element$";} {app-id = "^Element$";}
{app-id = "^org\.telegram\.desktop$";} {app-id = "^org\.telegram\.desktop$";}
]; ];
open-on-workspace = "3";
} }
{ {
@ -108,7 +105,7 @@ in {
{app-id = "^obsidian$";} {app-id = "^obsidian$";}
]; ];
#// open-on-workspace = "2"; open-on-workspace = "2";
} }
{ {
@ -127,7 +124,7 @@ in {
]; ];
default-column-width = {}; # Window-defined default-column-width = {}; # Window-defined
#// open-on-workspace = "1"; open-on-workspace = "1";
variable-refresh-rate = true; variable-refresh-rate = true;
} }
@ -144,7 +141,7 @@ in {
{app-id = "^YouTube Music$";} {app-id = "^YouTube Music$";}
]; ];
#// open-on-workspace = "3"; open-on-workspace = "3";
} }
{ {
@ -155,7 +152,7 @@ in {
{app-id = "^ONLYOFFICE Desktop Editors$";} {app-id = "^ONLYOFFICE Desktop Editors$";}
]; ];
#// open-on-workspace = "2"; open-on-workspace = "2";
} }
(let (let
@ -190,6 +187,8 @@ in {
{app-id = "^kitty$";} {app-id = "^kitty$";}
{app-id = "^org\.wezfurlong\.wezterm$";} {app-id = "^org\.wezfurlong\.wezterm$";}
]; ];
#// default-column-display = "tabbed";
} }
{ {
@ -210,7 +209,7 @@ in {
]; ];
open-floating = false; open-floating = false;
#// open-on-workspace = "1"; open-on-workspace = "1";
} }
### Overrides ### Overrides

View file

@ -25,7 +25,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
custom = mkIf (config.custom.menu == "rofi") { custom = mkIf (config.custom.menu == "rofi") {
menus = mapAttrsRecursive (path: value: pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value) { menus = mapAttrsRecursive (path: value: toString (pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value)) {
default.show = "${pkill} --exact rofi || ${rofi} -modes drun -show drun -show-icons"; default.show = "${pkill} --exact rofi || ${rofi} -modes drun -show drun -show-icons";
calculator.show = ''${pkill} --exact rofi || ${rofi} -modes calc -show calc -no-history -calc-error-color '#dc322f' -calc-command "${echo} -n '{result}' | ${wl-copy}"''; calculator.show = ''${pkill} --exact rofi || ${rofi} -modes calc -show calc -no-history -calc-error-color '#dc322f' -calc-command "${echo} -n '{result}' | ${wl-copy}"'';

View file

@ -20,7 +20,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
custom = mkIf (config.custom.menu == "walker") { custom = mkIf (config.custom.menu == "walker") {
menus = mapAttrsRecursive (path: value: pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value) { menus = mapAttrsRecursive (path: value: toString (pkgs.writeShellScript (concatStringsSep "-" (["menus"] ++ path)) value)) {
default.show = walker; default.show = walker;
clipboard = { clipboard = {

View file

@ -39,7 +39,7 @@ with lib; {
#// gnome-terminal.enable = true; #// gnome-terminal.enable = true;
#// kdeconnect.enable = true; #// kdeconnect.enable = true;
kitty.enable = true; kitty.enable = true;
librewolf.enable = true; #// librewolf.enable = true;
nautilus.enable = true; nautilus.enable = true;
nvtop.enable = true; nvtop.enable = true;
wezterm.enable = true; wezterm.enable = true;
@ -47,7 +47,7 @@ with lib; {
}) })
(mkIf config.custom.full { (mkIf config.custom.full {
_1password.enable = true; #// _1password.enable = true;
adb.enable = true; adb.enable = true;
#// ags.enable = true; #// ags.enable = true;
#// bitwarden-menu.enable = true; #// bitwarden-menu.enable = true;

View file

@ -112,6 +112,7 @@ in {
gbib = "git bisect bad"; gbib = "git bisect bad";
gbig = "git bisect good"; gbig = "git bisect good";
gc = "git clone"; gc = "git clone";
gco = "git commit";
gd = "git diff"; gd = "git diff";
gf = "git fetch"; gf = "git fetch";
gi = "git init"; gi = "git init";