fixup! all of my custom options are now held in an attribute set called movOpts

This commit is contained in:
pagedmov
2024-11-06 20:11:37 -05:00
parent fc327f501c
commit 1a2402dee7
39 changed files with 195 additions and 187 deletions

View File

@@ -33,7 +33,6 @@
outputs = {
nixpkgs,
nur,
home-manager,
self,
nixvim,
stylix,
@@ -43,6 +42,9 @@
username = "pagedmov";
in {
homeManagerModules.default = ./modules/home;
nixosModules.default = ./modules/sys;
serverModules.default = ./modules/server;
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
nixosConfigurations = {
oganesson = nixpkgs.lib.nixosSystem {

View File

@@ -5,6 +5,7 @@
];
# My module options
movOpts = {
networkModule.enable = true;
nixSettings.enable = true;
bootLoader.enable = true;
@@ -17,6 +18,7 @@
sysProgs.enable = true;
sysServices.enable = true;
virtConfig.enable = true;
};
nix = {
settings = {

View File

@@ -24,7 +24,7 @@ in {
];
# My custom home-manager modules
movOpts = {
# modules/home/files
homeFiles.enable = true;
@@ -58,8 +58,9 @@ in {
movScripts.commandScripts.enable = true;
movScripts.hyprlandControls.enable = true;
movScripts.nixShortcuts.enable = true;
};
dconf.settings = lib.mkIf config.virtConfig.enable {
dconf.settings = lib.mkIf config.movOpts.virtConfig.enable {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];

View File

@@ -59,7 +59,7 @@ in {
movScripts.hyprlandControls.enable = true;
movScripts.nixShortcuts.enable = true;
dconf.settings = lib.mkIf config.virtConfig.enable {
dconf.settings = lib.mkIf config.movOpts.virtConfig.enable {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];

View File

@@ -15,6 +15,7 @@
./files.nix
];
movOpts = {
# ./files
homeFiles.enable = lib.mkDefault false;
@@ -48,4 +49,5 @@
movScripts.commandScripts.enable = lib.mkDefault false;
movScripts.hyprlandControls.enable = lib.mkDefault false;
movScripts.nixShortcuts.enable = lib.mkDefault false;
};
}

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ... }: {
options = {
gtkConfig.enable = lib.mkEnableOption "enable my gtk options";
movOpts.gtkConfig.enable = lib.mkEnableOption "enable my gtk options";
};
config = lib.mkIf config.gtkConfig.enable {
config = lib.mkIf config.movOpts.gtkConfig.enable {
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
(nerdfonts.override {

View File

@@ -12,9 +12,9 @@
scheme = config.lib.stylix.colors;
in {
options = {
hyprlandConfig.enable = lib.mkEnableOption "enables my hyprland config";
movOpts.hyprlandConfig.enable = lib.mkEnableOption "enables my hyprland config";
};
config = lib.mkIf config.hyprlandConfig.enable {
config = lib.mkIf config.movOpts.hyprlandConfig.enable {
home.packages = with pkgs; [
swaybg
inputs.hypr-contrib.packages.${pkgs.system}.grimblast

View File

@@ -4,9 +4,9 @@
in {
imports = [inputs.spicetify-nix.homeManagerModules.default];
options = {
spicetifyConfig.enable = lib.mkEnableOption "enable my spicetify options";
movOpts.spicetifyConfig.enable = lib.mkEnableOption "enable my spicetify options";
};
config = lib.mkIf config.spicetifyConfig.enable {
config = lib.mkIf config.movOpts.spicetifyConfig.enable {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"spotify"

View File

@@ -1,8 +1,8 @@
{config, lib, inputs, ... }: {
options = {
starshipConfig.enable = lib.mkEnableOption "enables my starship configuration";
movOpts.starshipConfig.enable = lib.mkEnableOption "enables my starship configuration";
};
config = lib.mkIf config.starshipConfig.enable {
config = lib.mkIf config.movOpts.starshipConfig.enable {
programs.starship = {
enable = true;
enableZshIntegration = false;

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ... }: {
options = {
stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
movOpts.stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
};
config = lib.mkIf config.stylixHomeConfig.enable {
config = lib.mkIf config.movOpts.stylixHomeConfig.enable {
stylix = {
enable = true;
autoEnable = true;

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ...}: {
options = {
swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration";
movOpts.swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration";
};
config = lib.mkIf config.swayncConfig.enable {
config = lib.mkIf config.movOpts.swayncConfig.enable {
home.packages = with pkgs; [swaynotificationcenter];
xdg.configFile."swaync/style.css".text = ''
@define-color shadow rgba(0, 0, 0, 0.25);

View File

@@ -19,9 +19,9 @@ let
in
{
options = {
userPkgs.enable = lib.mkEnableOption "enables my default user packages";
movOpts.userPkgs.enable = lib.mkEnableOption "enables my default user packages";
};
config = lib.mkIf config.userPkgs.enable {
config = lib.mkIf config.movOpts.userPkgs.enable {
home.packages = with pkgs;
[
nemo

View File

@@ -57,7 +57,7 @@ let
];
in {
options = {
waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
movOpts.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
};
config = {
programs.waybar = {

View File

@@ -1,8 +1,8 @@
{lib, config, self, ...}: {
options = {
zshConfig.enable = lib.mkEnableOption "enables my zsh configuration";
movOpts.zshConfig.enable = lib.mkEnableOption "enables my zsh configuration";
};
config = lib.mkIf config.zshConfig.enable {
config = lib.mkIf config.movOpts.zshConfig.enable {
programs.zoxide = {
enable = true;
enableZshIntegration = true;

View File

@@ -28,7 +28,7 @@ let
in
{
options = {
homeFiles.enable = lib.mkEnableOption "enables declared custom files";
movOpts.homeFiles.enable = lib.mkEnableOption "enables declared custom files";
};
config = {
home.file = {

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: {
options = {
autojumpConfig.enable = lib.mkEnableOption "enables my autojump options";
movOpts.autojumpConfig.enable = lib.mkEnableOption "enables my autojump options";
};
config = lib.mkIf config.autojumpConfig.enable {
config = lib.mkIf config.movOpts.autojumpConfig.enable {
programs.autojump = {
enable = true;
enableZshIntegration = true;

View File

@@ -1,8 +1,8 @@
{lib, config, inputs, ...}: {
options = {
batConfig.enable = lib.mkEnableOption "enables my bat options";
movOpts.batConfig.enable = lib.mkEnableOption "enables my bat options";
};
config = lib.mkIf config.batConfig.enable {
config = lib.mkIf config.movOpts.batConfig.enable {
programs.bat = {
enable = true;
config = {

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ...}: {
options = {
btopConfig.enable = lib.mkEnableOption "enables my btop config";
movOpts.btopConfig.enable = lib.mkEnableOption "enables my btop config";
};
config = lib.mkIf config.btopConfig.enable {
config = lib.mkIf config.movOpts.btopConfig.enable {
programs.btop = {
enable = true;

View File

@@ -1,8 +1,8 @@
{lib, config, inputs, pkgs, ... }: {
options = {
cavaConfig.enable = lib.mkEnableOption "enables my cava settings";
movOpts.cavaConfig.enable = lib.mkEnableOption "enables my cava settings";
};
config = lib.mkIf config.cavaConfig.enable {
config = lib.mkIf config.movOpts.cavaConfig.enable {
programs.cava = {
enable = true;
};

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: {
options = {
ezaConfig.enable = lib.mkEnableOption "enables my eza options";
movOpts.ezaConfig.enable = lib.mkEnableOption "enables my eza options";
};
config = lib.mkIf config.ezaConfig.enable {
config = lib.mkIf config.movOpts.ezaConfig.enable {
programs.eza = {
enable = true;
enableZshIntegration = false;

View File

@@ -1,8 +1,8 @@
{lib, config, nur, username, self, ... }: {
options = {
firefoxConfig.enable = lib.mkEnableOption "enables my firefox configuration";
movOpts.firefoxConfig.enable = lib.mkEnableOption "enables my firefox configuration";
};
config = lib.mkIf config.firefoxConfig.enable {
config = lib.mkIf config.movOpts.firefoxConfig.enable {
programs.firefox = {
enable = true;
policies = {

View File

@@ -1,8 +1,8 @@
{config, lib, ...}: {
options = {
fuzzelConfig.enable = lib.mkEnableOption "enables my fuzzel configuration";
movOpts.fuzzelConfig.enable = lib.mkEnableOption "enables my fuzzel configuration";
};
config = lib.mkIf config.fuzzelConfig.enable {
config = lib.mkIf config.movOpts.fuzzelConfig.enable {
programs.fuzzel = {
enable = true;
settings = {

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: {
options = {
fzfConfig.enable = lib.mkEnableOption "enables my fzf options";
movOpts.fzfConfig.enable = lib.mkEnableOption "enables my fzf options";
};
config = lib.mkIf config.fzfConfig.enable {
config = lib.mkIf config.movOpts.fzfConfig.enable {
programs.fzf = {
enable = true;
enableZshIntegration = true;

View File

@@ -1,8 +1,8 @@
{lib, config, username, ...}: {
options = {
gitConfig.enable = lib.mkEnableOption "enables my git configuration";
movOpts.gitConfig.enable = lib.mkEnableOption "enables my git configuration";
};
config = lib.mkIf config.gitConfig.enable {
config = lib.mkIf config.movOpts.gitConfig.enable {
programs.git = {
enable = true;
userEmail = "${username}@gmail.com";

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ... }: {
options = {
kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
movOpts.kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
};
config = lib.mkIf config.kittyConfig.enable {
config = lib.mkIf config.movOpts.kittyConfig.enable {
programs.kitty = {
enable = true;

View File

@@ -2,9 +2,9 @@
home = "/home/${username}";
in {
options = {
passConfig.enable = lib.mkEnableOption "enables my pass config";
movOpts.passConfig.enable = lib.mkEnableOption "enables my pass config";
};
config = lib.mkIf config.passConfig.enable {
config = lib.mkIf config.movOpts.passConfig.enable {
programs.password-store = {
enable = true;
settings = {

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: {
options = {
yaziConfig.enable = lib.mkEnableOption "enables my yazi config";
movOpts.yaziConfig.enable = lib.mkEnableOption "enables my yazi config";
};
config = lib.mkIf config.yaziConfig.enable {
config = lib.mkIf config.movOpts.yaziConfig.enable {
programs.yazi = {
enable = true;
enableZshIntegration = true;

View File

@@ -28,76 +28,76 @@
name:
lib.mkEnableOption
"${doc}" // {
default = config.movScripts.enable && config.movScripts.${group}.enable;
default = config.movOpts.movScripts.enable && config.movOpts.movScripts.${group}.enable;
};
in {
options = {
movScripts.enable = lib.mkEnableOption "Enables all pagedmov's scripts";
movOpts.movScripts.enable = lib.mkEnableOption "Enables all pagedmov's scripts";
# Enable or disable by group
movScripts.commandScripts.enable =
movOpts.movScripts.commandScripts.enable =
lib.mkEnableOption "Enables all command scripts";
movScripts.hyprlandControls.enable =
movOpts.movScripts.hyprlandControls.enable =
lib.mkEnableOption "Enables all Hyprland control scripts";
movScripts.nixShortcuts.enable =
movOpts.movScripts.nixShortcuts.enable =
lib.mkEnableOption "Enables all Nix shortcut scripts";
# Individual options using scriptOverride or mkEnableOption directly
movScripts.commandScripts.icanhazip.enable =
movOpts.movScripts.commandScripts.icanhazip.enable =
scriptOverride "Enables the icanhazip command" "commandScripts" "icanhazip";
movScripts.commandScripts.invoke.enable =
movOpts.movScripts.commandScripts.invoke.enable =
scriptOverride "Enables the invoke command" "commandScripts" "invoke";
movScripts.commandScripts.runbg.enable =
movOpts.movScripts.commandScripts.runbg.enable =
scriptOverride "Enables the runbg command - written by FrostPhoenix" "commandScripts" "runbg";
movScripts.commandScripts.splash.enable =
movOpts.movScripts.commandScripts.splash.enable =
scriptOverride "Enables the splash screen when opening a terminal" "commandScripts" "splash";
movScripts.commandScripts.toolbelt.enable =
movOpts.movScripts.commandScripts.toolbelt.enable =
scriptOverride "Enables the toolbelt command" "commandScripts" "toolbelt";
movScripts.commandScripts.viconf.enable =
movOpts.movScripts.commandScripts.viconf.enable =
scriptOverride "Enables the viconf command" "commandScripts" "viconf";
movScripts.hyprlandControls.chpaper.enable =
movOpts.movScripts.hyprlandControls.chpaper.enable =
scriptOverride "Enables the chpaper command" "hyprlandControls" "chpaper";
movScripts.hyprlandControls.scheck.enable =
movOpts.movScripts.hyprlandControls.scheck.enable =
scriptOverride "Enables the scheck command" "hyprlandControls" "scheck";
movScripts.hyprlandControls.chscheme.enable =
movOpts.movScripts.hyprlandControls.chscheme.enable =
scriptOverride "Enables the chscheme command" "hyprlandControls" "chscheme";
movScripts.hyprlandControls.keyring.enable =
movOpts.movScripts.hyprlandControls.keyring.enable =
scriptOverride "Enables the keyring command" "hyprlandControls" "keyring";
movScripts.hyprlandControls.moveonscreen.enable =
movOpts.movScripts.hyprlandControls.moveonscreen.enable =
scriptOverride "Ensures floating windows remain on screen" "hyprlandControls" "moveonscreen";
movScripts.hyprlandControls.switchmon.enable =
movOpts.movScripts.hyprlandControls.switchmon.enable =
scriptOverride "Moves cursor to the center of the second monitor" "hyprlandControls" "switchmon";
movScripts.hyprlandControls.mkscreenshots.enable =
movOpts.movScripts.hyprlandControls.mkscreenshots.enable =
scriptOverride "Generates screenshots, and updates the README.md with the current rev hash" "hyprlandControls" "switchmon";
movScripts.nixShortcuts.garbage-collect.enable =
movOpts.movScripts.nixShortcuts.garbage-collect.enable =
scriptOverride "Enables the garbage-collect script" "nixShortcuts" "garbage-collect";
movScripts.nixShortcuts.nsp.enable =
movOpts.movScripts.nixShortcuts.nsp.enable =
scriptOverride "Enables nsp as an alias for 'nix-shell -p'" "nixShortcuts" "nsp";
movScripts.nixShortcuts.rebuild.enable =
movOpts.movScripts.nixShortcuts.rebuild.enable =
scriptOverride "Enables rebuild as an alias for 'sudo nixos-rebuild switch'" "nixShortcuts" "rebuild";
};
config = lib.mkIf config.movScripts.enable {
home.packages = lib.optionals config.movScripts.commandScripts.invoke.enable [ invoke ]
++ lib.optionals config.movScripts.commandScripts.runbg.enable [ runbg ]
++ lib.optionals config.movScripts.commandScripts.icanhazip.enable [ icanhazip ]
++ lib.optionals config.movScripts.commandScripts.splash.enable [ splash ]
++ lib.optionals config.movScripts.commandScripts.toolbelt.enable [ toolbelt ]
++ lib.optionals config.movScripts.commandScripts.viconf.enable [ viconf ]
config = lib.mkIf config.movOpts.movScripts.enable {
home.packages = lib.optionals config.movOpts.movScripts.commandScripts.invoke.enable [ invoke ]
++ lib.optionals config.movOpts.movScripts.commandScripts.runbg.enable [ runbg ]
++ lib.optionals config.movOpts.movScripts.commandScripts.icanhazip.enable [ icanhazip ]
++ lib.optionals config.movOpts.movScripts.commandScripts.splash.enable [ splash ]
++ lib.optionals config.movOpts.movScripts.commandScripts.toolbelt.enable [ toolbelt ]
++ lib.optionals config.movOpts.movScripts.commandScripts.viconf.enable [ viconf ]
++ lib.optionals config.movScripts.hyprlandControls.chpaper.enable [ chpaper ]
++ lib.optionals config.movScripts.hyprlandControls.scheck.enable [ scheck ]
++ lib.optionals config.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
++ lib.optionals config.movScripts.hyprlandControls.keyring.enable [ keyring ]
++ lib.optionals config.movScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ]
++ lib.optionals config.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
++ lib.optionals config.movScripts.hyprlandControls.mkscreenshots.enable [ mkscreenshots ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chpaper.enable [ chpaper ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.scheck.enable [ scheck ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.chscheme.enable [ chscheme ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.keyring.enable [ keyring ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.moveonscreen.enable [ moveonscreen ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.switchmon.enable [ switchmon ]
++ lib.optionals config.movOpts.movScripts.hyprlandControls.mkscreenshots.enable [ mkscreenshots ]
++ lib.optionals config.movScripts.nixShortcuts.garbage-collect.enable [ garbage-collect ]
++ lib.optionals config.movScripts.nixShortcuts.nsp.enable [ nsp ]
++ lib.optionals config.movScripts.nixShortcuts.rebuild.enable [ rebuild ];
++ lib.optionals config.movOpts.movScripts.nixShortcuts.garbage-collect.enable [ garbage-collect ]
++ lib.optionals config.movOpts.movScripts.nixShortcuts.nsp.enable [ nsp ]
++ lib.optionals config.movOpts.movScripts.nixShortcuts.rebuild.enable [ rebuild ];
};
}

View File

@@ -4,7 +4,7 @@
options = {
jellyfinConfig.enable = lib.mkEnableOption "Enables the server's jellyfin config";
};
config = lib.mkIf config.jellyfinConfig.enable {
config = lib.mkIf config.movOpts.jellyfinConfig.enable {
services.jellyfin = {
enable = true;
openFirewall = true;

View File

@@ -4,7 +4,7 @@
options = {
caddyConfig.enable = lib.mkEnableOption "Enable my caddy config for the glasshaus.info domain name";
};
config = lib.mkIf config.caddyConfig.enable {
config = lib.mkIf config.movOpts.caddyConfig.enable {
services.caddy = {
enable = true;
configFile = pkgs.writeText "Caddyfile" ''

View File

@@ -14,6 +14,7 @@
./environment
];
movOpts = {
networkModule.enable = lib.mkDefault false;
nixSettings.enable = lib.mkDefault false;
bootLoader.enable = lib.mkDefault false;
@@ -27,4 +28,5 @@
sysServices.enable = lib.mkDefault false;
virtConfig.enable = lib.mkDefault false;
powerProfiles.enable = lib.mkDefault false;
};
}

View File

@@ -1,8 +1,8 @@
{lib, config, ...}: {
options = {
issue.enable = lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
movOpts.issue.enable = lib.mkEnableOption "enables custom /etc/issue splash screen for the tty";
};
config = lib.mkIf config.issue.enable {
config = lib.mkIf config.movOpts.issue.enable {
environment.etc."issue".text = ''
\e[38;5;27m \e[38;5;81m

View File

@@ -1,8 +1,8 @@
{lib, config, ... }: {
options = {
nixSettings.enable = lib.mkEnableOption "enables my nixos settings";
movOpts.nixSettings.enable = lib.mkEnableOption "enables my nixos settings";
};
config = lib.mkIf config.nixSettings.enable {
config = lib.mkIf config.movOpts.nixSettings.enable {
system.stateVersion = "24.05";
nixpkgs.config.allowUnfree = true;
nix = {

View File

@@ -6,9 +6,9 @@
...
}: {
options = {
sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration";
movOpts.sddmConfig.enable = lib.mkEnableOption "enables custom sddm configuration";
};
config = lib.mkIf config.sddmConfig.enable {
config = lib.mkIf config.movOpts.sddmConfig.enable {
environment.systemPackages = [
(
pkgs.catppuccin-sddm.override {

View File

@@ -12,9 +12,9 @@ let
in
{
options = {
stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
movOpts.stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
};
config = lib.mkIf config.stylixConfig.enable {
config = lib.mkIf config.movOpts.stylixConfig.enable {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme}.yaml";

View File

@@ -1,9 +1,8 @@
{pkgs, lib, config, ...}: {
options = {
# make this enabled by default!!!
bootLoader.enable = lib.mkEnableOption "enables bootloader config";
movOpts.bootLoader.enable = lib.mkEnableOption "enables bootloader config";
};
config = lib.mkIf config.bootLoader.enable {
config = lib.mkIf config.movOpts.bootLoader.enable {
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;

View File

@@ -1,9 +1,9 @@
{host, lib, config, ...}:
{
options = {
networkModule.enable = lib.mkEnableOption "enables network configuration";
movOpts.networkModule.enable = lib.mkEnableOption "enables network configuration";
};
config = lib.mkIf config.networkModule.enable {
config = lib.mkIf config.movOpts.networkModule.enable {
networking = {
networkmanager.enable = true;
hostName = "${host}";

View File

@@ -1,8 +1,8 @@
{lib, config, ... }: {
options = {
powerProfiles.enable = lib.mkEnableOption "enables power profiles";
movOpts.powerProfiles.enable = lib.mkEnableOption "enables power profiles";
};
config = lib.mkIf config.powerProfiles.enable {
config = lib.mkIf config.movOpts.powerProfiles.enable {
services = {
power-profiles-daemon.enable = true;

View File

@@ -22,7 +22,7 @@ in
nixpkgs.expr = "import <nixpkgs> { }";
formatting.command = "nixfmt";
options = {
nixos.expr = "(builtins.getFlake \"${flakePath}\").nixosConfigurations.${host}.options";
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options";
};
};
};