diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index 0deb437..85a47ed 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -24,7 +24,7 @@ in { inputs.spicetify-nix.homeManagerModules.default inputs.self.outputs.homeManagerModules.default ]; - dconf.settings = lib.mkIf config.virtOpts.enable { + dconf.settings = lib.mkIf config.virtConfig.enable { "org/virt-manager/virt-manager/connections" = { autoconnect = ["qemu:///system"]; uris = ["qemu:///system"]; diff --git a/modules/home/default.nix b/modules/home/default.nix index 5ee024a..265ae0f 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -12,47 +12,40 @@ ./programs ./environment ./scripts - ./files.nix + ./files ]; + # ./files + homeFiles.enable = lib.mkDefault true; + + # ./environment hyprlandConfig.enable = lib.mkDefault true; - autojumpOpts.enable = lib.mkDefault true; - stylixHomeOpts.enable = lib.mkDefault true; + autojumpConfig.enable = lib.mkDefault true; + stylixHomeConfig.enable = lib.mkDefault true; waybarConfig.enable = lib.mkDefault true; - gtkOpts.enable = lib.mkDefault true; - spicetifyOpts.enable = lib.mkDefault true; + gtkConfig.enable = lib.mkDefault true; + spicetifyConfig.enable = lib.mkDefault true; starshipConfig.enable = lib.mkDefault true; + + # ./programs btopConfig.enable = lib.mkDefault true; swayncConfig.enable = lib.mkDefault true; userPkgs.enable = lib.mkDefault true; - cavaOpts.enable = lib.mkDefault true; - ezaOpts.enable = lib.mkDefault true; + cavaConfig.enable = lib.mkDefault true; + ezaConfig.enable = lib.mkDefault true; firefoxConfig.enable = lib.mkDefault true; fuzzelConfig.enable = lib.mkDefault true; - fzfOpts.enable = lib.mkDefault true; + fzfConfig.enable = lib.mkDefault true; gitConfig.enable = lib.mkDefault true; kittyConfig.enable = lib.mkDefault true; yaziConfig.enable = lib.mkDefault true; zshConfig.enable = lib.mkDefault true; - homeFiles.enable = lib.mkDefault true; passConfig.enable = lib.mkDefault true; - batOpts.enable = lib.mkDefault true; + batConfig.enable = lib.mkDefault true; + # ./scripts pagedmovScripts.enable = lib.mkDefault true; - pagedmovScripts.commandScripts.invoke.enable = lib.mkDefault true; - pagedmovScripts.commandScripts.runbg.enable = lib.mkDefault true; - pagedmovScripts.commandScripts.splash.enable = lib.mkDefault true; - pagedmovScripts.commandScripts.toolbelt.enable = lib.mkDefault true; - pagedmovScripts.commandScripts.viconf.enable = lib.mkDefault true; - - pagedmovScripts.hyprlandControls.chpaper.enable = lib.mkDefault true; - pagedmovScripts.hyprlandControls.scheck.enable = lib.mkDefault true; - pagedmovScripts.hyprlandControls.chscheme.enable = lib.mkDefault true; - pagedmovScripts.hyprlandControls.keyring.enable = lib.mkDefault true; - pagedmovScripts.hyprlandControls.moveonscreen.enable = lib.mkDefault true; - pagedmovScripts.hyprlandControls.switchmon.enable = lib.mkDefault true; - - pagedmovScripts.nixShortcuts.garbage-collect.enable = lib.mkDefault true; - pagedmovScripts.nixShortcuts.nsp.enable = lib.mkDefault true; - pagedmovScripts.nixShortcuts.rebuild.enable = lib.mkDefault true; + pagedmovScripts.commandScripts.enable = lib.mkDefault true; + pagedmovScripts.hyprlandControls.enable = lib.mkDefault true; + pagedmovScripts.nixShortcuts.enable = lib.mkDefault true; } diff --git a/modules/home/environment/gtk.nix b/modules/home/environment/gtk.nix index 40aa5d5..b7f5c4e 100644 --- a/modules/home/environment/gtk.nix +++ b/modules/home/environment/gtk.nix @@ -1,8 +1,8 @@ {lib, config, pkgs, ... }: { options = { - gtkOpts.enable = lib.mkEnableOption "enable my gtk options"; + gtkConfig.enable = lib.mkEnableOption "enable my gtk options"; }; - config = lib.mkIf config.gtkOpts.enable { + config = lib.mkIf config.gtkConfig.enable { fonts.fontconfig.enable = true; home.packages = with pkgs; [ (nerdfonts.override { diff --git a/modules/home/environment/spicetify.nix b/modules/home/environment/spicetify.nix index 5848db3..9475520 100644 --- a/modules/home/environment/spicetify.nix +++ b/modules/home/environment/spicetify.nix @@ -2,9 +2,9 @@ spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; in { options = { - spicetifyOpts.enable = lib.mkEnableOption "enable my spicetify options"; + spicetifyConfig.enable = lib.mkEnableOption "enable my spicetify options"; }; - config = lib.mkIf config.spicetifyOpts.enable { + config = lib.mkIf config.spicetifyConfig.enable { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "spotify" diff --git a/modules/home/environment/stylix.nix b/modules/home/environment/stylix.nix index 2205b74..2557b3a 100644 --- a/modules/home/environment/stylix.nix +++ b/modules/home/environment/stylix.nix @@ -1,8 +1,8 @@ {lib, config, pkgs, scheme, wallpaper, ... }: { options = { - stylixHomeOpts.enable = lib.mkEnableOption "enables my stylix Home-Manager options"; + stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options"; }; - config = lib.mkIf config.stylixHomeOpts.enable { + config = lib.mkIf config.stylixHomeConfig.enable { stylix = { enable = true; autoEnable = true; diff --git a/modules/home/files/default.nix b/modules/home/files/default.nix new file mode 100644 index 0000000..46c0ae7 --- /dev/null +++ b/modules/home/files/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +# This folder is for programs that do not have existing configuration modules in NixOS. +# Basically a to-do list for stuff I need to write my own modules for. +{ + imports = [ ./neofetch.nix ]; +} diff --git a/modules/home/files.nix b/modules/home/files/neofetch.nix similarity index 100% rename from modules/home/files.nix rename to modules/home/files/neofetch.nix diff --git a/modules/home/programs/autojump.nix b/modules/home/programs/autojump.nix index c50cfe7..33e5c49 100644 --- a/modules/home/programs/autojump.nix +++ b/modules/home/programs/autojump.nix @@ -1,8 +1,8 @@ {lib, config, ...}: { options = { - autojumpOpts.enable = lib.mkEnableOption "enables my autojump options"; + autojumpConfig.enable = lib.mkEnableOption "enables my autojump options"; }; - config = lib.mkIf config.autojumpOpts.enable { + config = lib.mkIf config.autojumpConfig.enable { programs.autojump = { enable = true; enableZshIntegration = true; diff --git a/modules/home/programs/bat.nix b/modules/home/programs/bat.nix index ba5637c..dc71d72 100644 --- a/modules/home/programs/bat.nix +++ b/modules/home/programs/bat.nix @@ -1,8 +1,8 @@ {lib, config, inputs, ...}: { options = { - batOpts.enable = lib.mkEnableOption "enables my bat options"; + batConfig.enable = lib.mkEnableOption "enables my bat options"; }; - config = lib.mkIf config.batOpts.enable { + config = lib.mkIf config.batConfig.enable { programs.bat = { enable = true; config = { diff --git a/modules/home/programs/cava.nix b/modules/home/programs/cava.nix index 596e997..185079f 100644 --- a/modules/home/programs/cava.nix +++ b/modules/home/programs/cava.nix @@ -1,8 +1,8 @@ {lib, config, inputs, pkgs, ... }: { options = { - cavaOpts.enable = lib.mkEnableOption "enables my cava settings"; + cavaConfig.enable = lib.mkEnableOption "enables my cava settings"; }; - config = lib.mkIf config.cavaOpts.enable { + config = lib.mkIf config.cavaConfig.enable { programs.cava = { enable = true; }; diff --git a/modules/home/programs/eza.nix b/modules/home/programs/eza.nix index 2a5f480..d81806f 100644 --- a/modules/home/programs/eza.nix +++ b/modules/home/programs/eza.nix @@ -1,8 +1,8 @@ {lib, config, ...}: { options = { - ezaOpts.enable = lib.mkEnableOption "enables my eza options"; + ezaConfig.enable = lib.mkEnableOption "enables my eza options"; }; - config = lib.mkIf config.ezaOpts.enable { + config = lib.mkIf config.ezaConfig.enable { programs.eza = { enable = true; enableZshIntegration = false; diff --git a/modules/home/programs/fzf.nix b/modules/home/programs/fzf.nix index d32a9c0..9ec84d1 100644 --- a/modules/home/programs/fzf.nix +++ b/modules/home/programs/fzf.nix @@ -1,8 +1,8 @@ {lib, config, ...}: { options = { - fzfOpts.enable = lib.mkEnableOption "enables my fzf options"; + fzfConfig.enable = lib.mkEnableOption "enables my fzf options"; }; - config = lib.mkIf config.fzfOpts.enable { + config = lib.mkIf config.fzfConfig.enable { programs.fzf = { enable = true; enableZshIntegration = true; diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index 3e3a4f4..bd3c7b1 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -22,39 +22,49 @@ chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; }; in { options = { - pagedmovScripts.enable = lib.mkEnableOption "enables pagedmov's scripts"; + pagedmovScripts.enable = lib.mkEnableOption "Enables all pagedmov's scripts"; + # Enable or disable by group + pagedmovScripts.commandScripts.enable = + lib.mkEnableOption "Enables all command scripts"; + pagedmovScripts.hyprlandControls.enable = + lib.mkEnableOption "Enables all Hyprland control scripts"; + pagedmovScripts.nixShortcuts.enable = + lib.mkEnableOption "Enables all Nix shortcut scripts"; + + # These options override individual scripts pagedmovScripts.commandScripts.invoke.enable = - lib.mkEnableOption "enables the invoke command"; + lib.mkDefault (config.pagedmovScripts.commandScripts.enable) // lib.mkEnableOption "Enables the invoke command"; pagedmovScripts.commandScripts.runbg.enable = - lib.mkEnableOption "enables the runbg command - written by FrostPhoenix"; + lib.mkDefault (config.pagedmovScripts.commandScripts.enable) // lib.mkEnableOption "Enables the runbg command - written by FrostPhoenix"; pagedmovScripts.commandScripts.splash.enable = - lib.mkEnableOption "enables the splash screen when opening a terminal"; + lib.mkDefault (config.pagedmovScripts.commandScripts.enable) // lib.mkEnableOption "Enables the splash screen when opening a terminal"; pagedmovScripts.commandScripts.toolbelt.enable = - lib.mkEnableOption "enables the toolbelt command"; + lib.mkDefault (config.pagedmovScripts.commandScripts.enable) // lib.mkEnableOption "Enables the toolbelt command"; pagedmovScripts.commandScripts.viconf.enable = - lib.mkEnableOption "enables the viconf command"; + lib.mkDefault (config.pagedmovScripts.commandScripts.enable) // lib.mkEnableOption "Enables the viconf command"; pagedmovScripts.hyprlandControls.chpaper.enable = - lib.mkEnableOption "enables the chpaper command"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Enables the chpaper command"; pagedmovScripts.hyprlandControls.scheck.enable = - lib.mkEnableOption "enables the chpaper command"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Enables the scheck command"; pagedmovScripts.hyprlandControls.chscheme.enable = - lib.mkEnableOption "enables the chscheme command"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Enables the chscheme command"; pagedmovScripts.hyprlandControls.keyring.enable = - lib.mkEnableOption "enables the keyring command"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Enables the keyring command"; pagedmovScripts.hyprlandControls.moveonscreen.enable = - lib.mkEnableOption "enables the moveonscreen command, makes sure that the edges of floating windows are always on screen"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Ensures floating windows remain on screen"; pagedmovScripts.hyprlandControls.switchmon.enable = - lib.mkEnableOption "moves your cursor to the center of your second monitor; currently only supports two monitors"; + lib.mkDefault (config.pagedmovScripts.hyprlandControls.enable) // lib.mkEnableOption "Moves cursor to the center of the second monitor"; pagedmovScripts.nixShortcuts.garbage-collect.enable = - lib.mkEnableOption "enables the garbage-collect script, runs nixos garbage collection and empties the gtrash bin"; + lib.mkDefault (config.pagedmovScripts.nixShortcuts.enable) // lib.mkEnableOption "Enables the garbage-collect script"; pagedmovScripts.nixShortcuts.nsp.enable = - lib.mkEnableOption "enables nsp, essentially an alias for 'nix-shell -p'"; + lib.mkDefault (config.pagedmovScripts.nixShortcuts.enable) // lib.mkEnableOption "Enables nsp as an alias for 'nix-shell -p'"; pagedmovScripts.nixShortcuts.rebuild.enable = - lib.mkEnableOption "enables rebuild, an alias for 'sudo nixos-rebuild switch --flake $FLAKEPATH#$(hostname)'"; + lib.mkDefault (config.pagedmovScripts.nixShortcuts.enable) // lib.mkEnableOption "Enables rebuild as an alias for 'sudo nixos-rebuild switch'"; }; + config = lib.mkIf config.pagedmovScripts.enable { home.packages = lib.optionals config.pagedmovScripts.commandScripts.invoke.enable [ invoke ] ++ lib.optionals config.pagedmovScripts.commandScripts.runbg.enable [ runbg ] @@ -63,7 +73,7 @@ in { ++ lib.optionals config.pagedmovScripts.commandScripts.viconf.enable [ viconf ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.chpaper.enable [ chpaper ] - ++ lib.optionals config.pagedmovScripts.hyprlandControls.chpaper.enable [ scheck ] + ++ lib.optionals config.pagedmovScripts.hyprlandControls.scheck.enable [ scheck ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.chscheme.enable [ chscheme ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.keyring.enable [ keyring ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ] diff --git a/modules/sys/default.nix b/modules/sys/default.nix index f64d5a4..0ba1757 100644 --- a/modules/sys/default.nix +++ b/modules/sys/default.nix @@ -18,13 +18,13 @@ nixSettings.enable = lib.mkDefault true; bootLoader.enable = lib.mkDefault true; issue.enable = lib.mkDefault true; - sddmOpts.enable = lib.mkDefault true; - stylixOpts.enable = lib.mkDefault true; + sddmConfig.enable = lib.mkDefault true; + stylixConfig.enable = lib.mkDefault true; gamingPkgs.enable = lib.mkDefault true; - steamOpts.enable = lib.mkDefault true; + steamConfig.enable = lib.mkDefault true; sysPkgs.enable = lib.mkDefault true; sysProgs.enable = lib.mkDefault true; sysServices.enable = lib.mkDefault true; - virtOpts.enable = lib.mkDefault true; + virtConfig.enable = lib.mkDefault true; powerProfiles.enable = lib.mkDefault false; } diff --git a/modules/sys/environment/sddm.nix b/modules/sys/environment/sddm.nix index a3116c9..93458e9 100644 --- a/modules/sys/environment/sddm.nix +++ b/modules/sys/environment/sddm.nix @@ -6,9 +6,9 @@ ... }: { options = { - sddmOpts.enable = lib.mkEnableOption "enables custom sddm configuration"; + sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration"; }; - config = lib.mkIf config.sddmOpts.enable { + config = lib.mkIf config.sddmConfig.enable { environment.systemPackages = [ ( pkgs.catppuccin-sddm.override { diff --git a/modules/sys/environment/stylix.nix b/modules/sys/environment/stylix.nix index 06660ae..c84620e 100644 --- a/modules/sys/environment/stylix.nix +++ b/modules/sys/environment/stylix.nix @@ -7,9 +7,9 @@ ... }: { options = { - stylixOpts.enable = lib.mkEnableOption "enables custom stylix options"; + stylixConfig.enable = lib.mkEnableOption "enables custom stylix options"; }; - config = lib.mkIf config.stylixOpts.enable { + config = lib.mkIf config.stylixConfig.enable { stylix = { enable = true; base16Scheme = scheme; diff --git a/modules/sys/software/gaming/steam.nix b/modules/sys/software/gaming/steam.nix index 34fb53e..630b339 100644 --- a/modules/sys/software/gaming/steam.nix +++ b/modules/sys/software/gaming/steam.nix @@ -1,8 +1,8 @@ {lib, config, ...}: { options = { - steamOpts.enable = lib.mkEnableOption "enables steam configuration"; + steamConfig.enable = lib.mkEnableOption "enables steam configuration"; }; - config = lib.mkIf config.steamOpts.enable { + config = lib.mkIf config.steamConfig.enable { programs.steam = { enable = true; remotePlay.openFirewall = true; diff --git a/modules/sys/software/virtualization.nix b/modules/sys/software/virtualization.nix index c2d3206..35bc716 100644 --- a/modules/sys/software/virtualization.nix +++ b/modules/sys/software/virtualization.nix @@ -1,8 +1,8 @@ {lib, config, username, ...}: { options = { - virtOpts.enable = lib.mkEnableOption "enables virtualization"; + virtConfig.enable = lib.mkEnableOption "enables virtualization"; }; - config = lib.mkIf config.virtOpts.enable { + config = lib.mkIf config.virtConfig.enable { virtualisation.libvirtd.enable = true; programs.virt-manager.enable = true; };