1
1
Fork 0

Compare commits

...

5 commits

Author SHA1 Message Date
74f429e7a3
niri: fix cursor theme in some child windows such as vscode
Signed-off-by: Myned <dev@bjork.tech>
2024-12-28 18:42:04 -05:00
01068a6179
fuzzel: use custom font option
Signed-off-by: Myned <dev@bjork.tech>
2024-12-28 18:41:28 -05:00
2c4a1aba76
chore: add todo
Signed-off-by: Myned <dev@bjork.tech>
2024-12-28 18:40:50 -05:00
aed3cf8b1a
nix: update flake.lock
Signed-off-by: Myned <dev@bjork.tech>
2024-12-28 13:31:00 -05:00
d1fb8dcc5a
niri: switch to floating pr
Signed-off-by: Myned <dev@bjork.tech>
2024-12-28 13:30:52 -05:00
9 changed files with 116 additions and 25 deletions

View file

@ -57,7 +57,8 @@
hyprpaper = flake "github:hyprwm/hyprpaper" // unstable "nixpkgs";
hyprpicker = flake "github:hyprwm/hyprpicker" // unstable "nixpkgs";
jovian-nixos = flake "github:Jovian-Experiments/Jovian-NixOS" // unstable "nixpkgs";
niri = flake "github:sodiboo/niri-flake" // unstable "nixpkgs";
niri = flake "github:YaLTeR/niri/floating" // unstable "nixpkgs";
niri-flake = flake "github:sodiboo/niri-flake" // unstable "nixpkgs";
nix-flatpak = flake "github:gmodena/nix-flatpak?ref=v0.5.1";
nix-index-database-unstable = flake "github:nix-community/nix-index-database" // unstable "nixpkgs";
nix-vscode-extensions = flake "github:nix-community/nix-vscode-extensions" // unstable "nixpkgs";
@ -119,7 +120,7 @@
inputs.arion.nixosModules.arion
inputs.disko.nixosModules.disko
inputs.fw-fanctrl.nixosModules.default
inputs.niri.nixosModules.niri
inputs.niri-flake.nixosModules.niri
inputs.stylix.nixosModules.stylix
];

80
flake.lock generated
View file

@ -1902,6 +1902,29 @@
}
},
"niri": {
"inputs": {
"nix-filter": "nix-filter_2",
"nixpkgs": [
"nixpkgs-unstable"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1735378372,
"narHash": "sha256-9zu4bScVN5ej7ljxZpdm3BCt7eiPr0jZNFLDUFRr8Z8=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "28f4e5e1abc41c953ae6f93035a0b1006bd52bcb",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "floating",
"repo": "niri",
"type": "github"
}
},
"niri-flake": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
@ -1913,11 +1936,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1734836603,
"narHash": "sha256-aRB/OEMtWwv1fVMhIJdGzt1emRrn001AamOtsXglAU0=",
"lastModified": 1735381519,
"narHash": "sha256-Nti4KlTGglrdaO/9WM3SOr12mbgI9EquYXLZ11vyGTI=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "9afc24d82ebabdd2b0b7dba8a5f1ce1b42a81fc1",
"rev": "95351433dd401ddd764ad5745c8211ddc36a9a8a",
"type": "github"
},
"original": {
@ -1946,11 +1969,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1734725239,
"narHash": "sha256-ItBmHHSikVrkkh2wD6U0A8pxG1Tk0s90pH9RlK9OB/A=",
"lastModified": 1735303376,
"narHash": "sha256-LhKE5o5R6LDhfdoJ0xh2qODcw6nLUv14n3dvsazIito=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "b014c267ae199f7022bf691333e64ad6d05907f1",
"rev": "4e357e9659e5aafeec3cdeb18581698716d97a78",
"type": "github"
},
"original": {
@ -2003,6 +2026,21 @@
"type": "github"
}
},
"nix-filter_2": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1733228754,
@ -2337,16 +2375,16 @@
},
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1734529975,
"narHash": "sha256-ze3IJksru9dN0keqUxY0WNf8xrwfs8Ty/z9v/keyBbg=",
"lastModified": 1735264675,
"narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "72d11d40b9878a67c38f003c240c2d2e1811e72a",
"rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
@ -2548,6 +2586,7 @@
"jovian-nixos": "jovian-nixos",
"lifx-cli": "lifx-cli",
"niri": "niri",
"niri-flake": "niri-flake",
"nix-flatpak": "nix-flatpak",
"nix-index-database-stable": "nix-index-database-stable",
"nix-index-database-unstable": "nix-index-database-unstable",
@ -2581,6 +2620,27 @@
"type": "github"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"niri",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735352767,
"narHash": "sha256-3zXufMRWUdwmp8/BTmxVW/k4MyqsPjLnnt/IlQyZvhc=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "a16b9a7cac7f4d39a84234d62e91890370c57d76",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"steamtinkerlaunch": {
"flake": false,
"locked": {

View file

@ -96,6 +96,10 @@
url = "github:Rawa/lifx-cli";
};
niri = {
inputs.nixpkgs.follows = "nixpkgs-unstable";
url = "github:YaLTeR/niri/floating";
};
niri-flake = {
inputs.nixpkgs.follows = "nixpkgs-unstable";
url = "github:sodiboo/niri-flake";
};

View file

@ -39,6 +39,7 @@ in {
wallpaper = mkOption {default = false;};
browser = {
# TODO: Use lib.getExe' instead of /bin/ where possible
# HACK: Find first matching package in final home-manager list
command = mkOption {
default = "${lib.findFirst (pkg:

View file

@ -113,6 +113,7 @@ in {
(key "E" "Ctrl+Alt" (spawn [pkill "codium"]))
(key "E" "Mod" (spawn codium))
(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 "G" "Ctrl+Alt" (spawn [pkill "steam"]))
@ -145,6 +146,7 @@ in {
(key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"]))
(key "T" "Ctrl+Alt" (spawn [pkill "kitty"]))
(key "T" "Mod" (spawn kitty))
(key "Tab" "Mod" switch-focus-between-floating-and-tiling)
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
(key "V" "Mod" (spawn virt-manager))
(key "V" "Mod+Ctrl" (spawn vm))

View file

@ -7,6 +7,9 @@
}:
with lib; let
cfg = config.custom.desktops.niri;
# TODO: Use let bindings for hm config everywhere
hm = config.home-manager.users.${config.custom.username};
in {
options.custom.desktops.niri = {
enable = mkOption {default = false;};
@ -35,10 +38,11 @@ in {
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
programs.niri = {
enable = true;
package = pkgs.niri; # nixpkgs
#// package = pkgs.niri; # nixpkgs
package = inputs.niri.packages.${pkgs.system}.default;
};
nixpkgs.overlays = [inputs.niri.overlays.niri];
nixpkgs.overlays = [inputs.niri-flake.overlays.niri];
#!! Disabled bundled KDE polkit agent
# https://github.com/sodiboo/niri-flake?tab=readme-ov-file#additional-notes
@ -48,7 +52,24 @@ in {
custom.services.xwayland-satellite.enable = cfg.xwayland;
home-manager.users.${config.custom.username} = {
programs.niri.package = config.programs.niri.package;
programs.niri = {
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; [
# TODO: Migrate to niri.settings when released
# https://github.com/YaLTeR/niri/pull/871
(plain "window-rule" [
(leaf "match" {title = "^Picture.in.[Pp]icture$";})
(leaf "open-floating" true)
])
]);
};
};
};
}

View file

@ -46,11 +46,13 @@ in {
config.home-manager.users.${config.custom.username}.home.sessionVariables;
# https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#cursor
cursor = with config.home-manager.users.${config.custom.username}.home.pointerCursor; {
cursor = with config.home-manager.users.${config.custom.username}.gtk.cursorTheme; {
# Inherit home-manager GTK settings
inherit size;
theme = name;
hide-after-inactive-ms = 1000 * 15; # Milliseconds
hide-when-typing = true;
theme = name;
};
# https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#hotkey-overlay

View file

@ -15,7 +15,7 @@ in {
settings = {
main = {
font = "${config.gtk.font.name}:size=12";
font = "${config.custom.sans-serif}:size=12";
icon-theme = config.gtk.iconTheme.name;
horizontal-pad = 20;
inner-pad = 12;

View file

@ -10,13 +10,6 @@ in {
options.custom.settings.gtk.enable = mkOption {default = false;};
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
home.pointerCursor = {
gtk.enable = true; # Propagate attributes to gtk.cursorTheme
size = 24;
name = "GoogleDot-Black";
package = pkgs.google-cursor;
};
gtk = let
css = readFile ./style.css;
in {
@ -38,6 +31,13 @@ in {
package = pkgs.papirus-icon-theme;
};
# BUG: home.pointerCursor breaks XCURSOR_PATH for some child windows, so avoid that workaround
cursorTheme = {
size = 24;
name = "GoogleDot-Black";
package = pkgs.google-cursor;
};
theme = {
name = "adw-gtk3-dark";