Compare commits
5 commits
cf486d7735
...
74f429e7a3
Author | SHA1 | Date | |
---|---|---|---|
74f429e7a3 | |||
01068a6179 | |||
2c4a1aba76 | |||
aed3cf8b1a | |||
d1fb8dcc5a |
9 changed files with 116 additions and 25 deletions
|
@ -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
80
flake.lock
generated
|
@ -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": {
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
])
|
||||
]);
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue