gave files.nix it's own directory, renamed all of the options ending with 'Opts' to end with 'Config' instead for consistency.

This commit is contained in:
pagedmov
2024-11-01 22:00:08 -04:00
parent 08bed40c52
commit 99b13fd979
18 changed files with 81 additions and 71 deletions

View File

@@ -24,7 +24,7 @@ in {
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
inputs.self.outputs.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" = { "org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"]; autoconnect = ["qemu:///system"];
uris = ["qemu:///system"]; uris = ["qemu:///system"];

View File

@@ -12,47 +12,40 @@
./programs ./programs
./environment ./environment
./scripts ./scripts
./files.nix ./files
]; ];
# ./files
homeFiles.enable = lib.mkDefault true;
# ./environment
hyprlandConfig.enable = lib.mkDefault true; hyprlandConfig.enable = lib.mkDefault true;
autojumpOpts.enable = lib.mkDefault true; autojumpConfig.enable = lib.mkDefault true;
stylixHomeOpts.enable = lib.mkDefault true; stylixHomeConfig.enable = lib.mkDefault true;
waybarConfig.enable = lib.mkDefault true; waybarConfig.enable = lib.mkDefault true;
gtkOpts.enable = lib.mkDefault true; gtkConfig.enable = lib.mkDefault true;
spicetifyOpts.enable = lib.mkDefault true; spicetifyConfig.enable = lib.mkDefault true;
starshipConfig.enable = lib.mkDefault true; starshipConfig.enable = lib.mkDefault true;
# ./programs
btopConfig.enable = lib.mkDefault true; btopConfig.enable = lib.mkDefault true;
swayncConfig.enable = lib.mkDefault true; swayncConfig.enable = lib.mkDefault true;
userPkgs.enable = lib.mkDefault true; userPkgs.enable = lib.mkDefault true;
cavaOpts.enable = lib.mkDefault true; cavaConfig.enable = lib.mkDefault true;
ezaOpts.enable = lib.mkDefault true; ezaConfig.enable = lib.mkDefault true;
firefoxConfig.enable = lib.mkDefault true; firefoxConfig.enable = lib.mkDefault true;
fuzzelConfig.enable = lib.mkDefault true; fuzzelConfig.enable = lib.mkDefault true;
fzfOpts.enable = lib.mkDefault true; fzfConfig.enable = lib.mkDefault true;
gitConfig.enable = lib.mkDefault true; gitConfig.enable = lib.mkDefault true;
kittyConfig.enable = lib.mkDefault true; kittyConfig.enable = lib.mkDefault true;
yaziConfig.enable = lib.mkDefault true; yaziConfig.enable = lib.mkDefault true;
zshConfig.enable = lib.mkDefault true; zshConfig.enable = lib.mkDefault true;
homeFiles.enable = lib.mkDefault true;
passConfig.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.enable = lib.mkDefault true;
pagedmovScripts.commandScripts.invoke.enable = lib.mkDefault true; pagedmovScripts.commandScripts.enable = lib.mkDefault true;
pagedmovScripts.commandScripts.runbg.enable = lib.mkDefault true; pagedmovScripts.hyprlandControls.enable = lib.mkDefault true;
pagedmovScripts.commandScripts.splash.enable = lib.mkDefault true; pagedmovScripts.nixShortcuts.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;
} }

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ... }: { {lib, config, pkgs, ... }: {
options = { 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; fonts.fontconfig.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
(nerdfonts.override { (nerdfonts.override {

View File

@@ -2,9 +2,9 @@
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
in { in {
options = { 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: nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ builtins.elem (lib.getName pkg) [
"spotify" "spotify"

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, scheme, wallpaper, ... }: { {lib, config, pkgs, scheme, wallpaper, ... }: {
options = { 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 = { stylix = {
enable = true; enable = true;
autoEnable = true; autoEnable = true;

View File

@@ -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 ];
}

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: { {lib, config, ...}: {
options = { 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 = { programs.autojump = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;

View File

@@ -1,8 +1,8 @@
{lib, config, inputs, ...}: { {lib, config, inputs, ...}: {
options = { 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 = { programs.bat = {
enable = true; enable = true;
config = { config = {

View File

@@ -1,8 +1,8 @@
{lib, config, inputs, pkgs, ... }: { {lib, config, inputs, pkgs, ... }: {
options = { 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 = { programs.cava = {
enable = true; enable = true;
}; };

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: { {lib, config, ...}: {
options = { 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 = { programs.eza = {
enable = true; enable = true;
enableZshIntegration = false; enableZshIntegration = false;

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: { {lib, config, ...}: {
options = { 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 = { programs.fzf = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;

View File

@@ -22,39 +22,49 @@
chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; }; chpaper = import ./wm-controls/chpaper.nix { inherit pkgs; };
in { in {
options = { 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 { config = lib.mkIf config.pagedmovScripts.enable {
home.packages = lib.optionals config.pagedmovScripts.commandScripts.invoke.enable [ invoke ] home.packages = lib.optionals config.pagedmovScripts.commandScripts.invoke.enable [ invoke ]
++ lib.optionals config.pagedmovScripts.commandScripts.runbg.enable [ runbg ] ++ 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.commandScripts.viconf.enable [ viconf ]
++ lib.optionals config.pagedmovScripts.hyprlandControls.chpaper.enable [ chpaper ] ++ 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.chscheme.enable [ chscheme ]
++ lib.optionals config.pagedmovScripts.hyprlandControls.keyring.enable [ keyring ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.keyring.enable [ keyring ]
++ lib.optionals config.pagedmovScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ] ++ lib.optionals config.pagedmovScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ]

View File

@@ -18,13 +18,13 @@
nixSettings.enable = lib.mkDefault true; nixSettings.enable = lib.mkDefault true;
bootLoader.enable = lib.mkDefault true; bootLoader.enable = lib.mkDefault true;
issue.enable = lib.mkDefault true; issue.enable = lib.mkDefault true;
sddmOpts.enable = lib.mkDefault true; sddmConfig.enable = lib.mkDefault true;
stylixOpts.enable = lib.mkDefault true; stylixConfig.enable = lib.mkDefault true;
gamingPkgs.enable = lib.mkDefault true; gamingPkgs.enable = lib.mkDefault true;
steamOpts.enable = lib.mkDefault true; steamConfig.enable = lib.mkDefault true;
sysPkgs.enable = lib.mkDefault true; sysPkgs.enable = lib.mkDefault true;
sysProgs.enable = lib.mkDefault true; sysProgs.enable = lib.mkDefault true;
sysServices.enable = lib.mkDefault true; sysServices.enable = lib.mkDefault true;
virtOpts.enable = lib.mkDefault true; virtConfig.enable = lib.mkDefault true;
powerProfiles.enable = lib.mkDefault false; powerProfiles.enable = lib.mkDefault false;
} }

View File

@@ -6,9 +6,9 @@
... ...
}: { }: {
options = { 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 = [ environment.systemPackages = [
( (
pkgs.catppuccin-sddm.override { pkgs.catppuccin-sddm.override {

View File

@@ -7,9 +7,9 @@
... ...
}: { }: {
options = { 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 = { stylix = {
enable = true; enable = true;
base16Scheme = scheme; base16Scheme = scheme;

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: { {lib, config, ...}: {
options = { 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 = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;

View File

@@ -1,8 +1,8 @@
{lib, config, username, ...}: { {lib, config, username, ...}: {
options = { 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; virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
}; };