fix problems rebuilding, make niri and noctalia more HM friendly
added `inputs` to `extraSpecialArgs`, giving homeModules access to helper functions cleaned up the logic for the stylix file, removing the final `sharedModules` in the process in favour of `home-manager.users.grey`
This commit is contained in:
8 files changed
+133
-79
No files matched your search
@@ -1,36 +1,34 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
||||
options = {
|
||||
components = {
|
||||
displayManager = lib.mkOption {
|
||||
# enum that dynamically populates itself with the contents of the display-managers directory
|
||||
type = lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/display-managers")
|
||||
));
|
||||
default = "lightdm";
|
||||
};
|
||||
options.components = {
|
||||
displayManager = lib.mkOption {
|
||||
# enum that dynamically populates itself with the contents of the display-managers directory
|
||||
type = lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/display-managers")
|
||||
));
|
||||
default = "lightdm";
|
||||
};
|
||||
|
||||
windowManagers = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
windowManagers = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
|
||||
shells = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
shells = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -48,37 +46,63 @@
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.graphics = { config, pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
bibata-cursors
|
||||
x264
|
||||
gparted
|
||||
vlc
|
||||
iosevka-comfy.comfy
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
flake.homeModules.graphics = { config, pkgs, lib, ... }: {
|
||||
options.components = {
|
||||
windowManagers = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
shells = lib.mkOption {
|
||||
type = lib.types.either (lib.types.listOf (
|
||||
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
))
|
||||
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
|
||||
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
|
||||
)));
|
||||
default = [];
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 22;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
config = {
|
||||
home.packages = with pkgs; [
|
||||
bibata-cursors
|
||||
x264
|
||||
gparted
|
||||
vlc
|
||||
iosevka-comfy.comfy
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk2.configLocation = "${config.home.homeDirectory}/.config/.gtkrc-2.0"; # prevents file conflicts between this and other parts of the nix config
|
||||
gtk2.force = true;
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 22;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
|
||||
gtk2.configLocation = "${config.home.homeDirectory}/.config/.gtkrc-2.0"; # prevents file conflicts between this and other parts of the nix config
|
||||
gtk2.force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user