added different categories for home-manager module options instead of having them clumped together

This commit is contained in:
pagedmov
2024-11-08 01:37:03 -05:00
parent 4a3fb537b9
commit 21c9141c2b
22 changed files with 83 additions and 77 deletions

View File

@@ -12,39 +12,45 @@
homeFiles.enable = true;
# modules/home/environment
hyprlandConfig = {
enable = true;
monitorNames = [ "HDMI-A-1" "DP-1" ];
workspaceLayout = "dualmonitor";
envConfig = {
hyprlandConfig = {
enable = true;
monitorNames = [ "HDMI-A-1" "DP-1" ];
workspaceLayout = "dualmonitor";
};
userPkgs.enable = true;
stylixHomeConfig.enable = true;
waybarConfig.enable = true;
gtkConfig.enable = true;
spicetifyConfig.enable = true;
starshipConfig.enable = true;
swayncConfig.enable = true;
zshConfig.enable = true;
};
autojumpConfig.enable = true;
stylixHomeConfig.enable = true;
waybarConfig.enable = true;
gtkConfig.enable = true;
spicetifyConfig.enable = true;
starshipConfig.enable = true;
# modules/home/programs
btopConfig.enable = true;
swayncConfig.enable = true;
userPkgs.enable = true;
cavaConfig.enable = true;
ezaConfig.enable = true;
firefoxConfig.enable = true;
fuzzelConfig.enable = true;
fzfConfig.enable = true;
gitConfig.enable = true;
kittyConfig.enable = true;
yaziConfig.enable = true;
zshConfig.enable = true;
passConfig.enable = true;
batConfig.enable = true;
programConfigs = {
autojumpConfig.enable = true;
btopConfig.enable = true;
cavaConfig.enable = true;
ezaConfig.enable = true;
firefoxConfig.enable = true;
fuzzelConfig.enable = true;
fzfConfig.enable = true;
gitConfig.enable = true;
kittyConfig.enable = true;
yaziConfig.enable = true;
passConfig.enable = true;
batConfig.enable = true;
};
# modules/home/scripts
movScripts.enable = true;
movScripts.commandScripts.enable = true;
movScripts.hyprlandControls.enable = true;
movScripts.nixShortcuts.enable = true;
movScripts = {
enable = true;
commandScripts.enable = true;
hyprlandControls.enable = true;
nixShortcuts.enable = true;
};
};
dconf.settings = {

View File

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

View File

@@ -9,12 +9,12 @@ let
"super, insert, exec, grimblast copy area"
];
scheme = config.lib.stylix.colors;
mons = config.movOpts.hyprlandConfig.monitorNames;
mons = config.movOpts.envConfig.hyprlandConfig.monitorNames;
in {
options = {
movOpts.hyprlandConfig = {
movOpts.envConfig.hyprlandConfig = {
enable = lib.mkEnableOption "enables my hyprland config";
workspaceLayout = lib.mkOption {
type = lib.types.str;
@@ -28,7 +28,7 @@ in {
};
};
};
config = lib.mkIf config.movOpts.hyprlandConfig.enable {
config = lib.mkIf config.movOpts.envConfig.hyprlandConfig.enable {
home.packages = with pkgs; [
swaybg
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
@@ -69,19 +69,19 @@ in {
];
workspace =
if (config.movOpts.hyprlandConfig.workspaceLayout == "dualmonitor") then [
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0}"
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
"5,persistent=true,monitor:${builtins.elemAt mons 1}"
"6,persistent=true,monitor:${builtins.elemAt mons 1}"
] else if (config.movOpts.hyprlandConfig.workspaceLayout == "singlemonitor") then [
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
] else if (config.movOpts.hyprlandConfig.workspaceLayout == "trimonitor") then [
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
"3,persistent=true,monitor:${builtins.elemAt mons 1}"

View File

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

View File

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

View File

@@ -6,9 +6,9 @@ let
in
{
options = {
movOpts.stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
movOpts.envConfig.stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
};
config = lib.mkIf config.movOpts.stylixHomeConfig.enable {
config = lib.mkIf config.movOpts.envConfig.stylixHomeConfig.enable {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme}.yaml";

View File

@@ -1,8 +1,8 @@
{lib, config, pkgs, ...}: {
options = {
movOpts.swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration";
movOpts.envConfig.swayncConfig.enable = lib.mkEnableOption "enables my swaync configuration";
};
config = lib.mkIf config.movOpts.swayncConfig.enable {
config = lib.mkIf config.movOpts.envConfig.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 = {
movOpts.userPkgs.enable = lib.mkEnableOption "enables my default user packages";
movOpts.envConfig.userPkgs.enable = lib.mkEnableOption "enables my default user packages";
};
config = lib.mkIf config.movOpts.userPkgs.enable {
config = lib.mkIf config.movOpts.envConfig.userPkgs.enable {
home.packages = with pkgs;
[
nemo

View File

@@ -13,12 +13,12 @@ let
"6" = "";
};
persistent-workspaces =
if (config.movOpts.hyprlandConfig.workspaceLayout == "singlemonitor") then {
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
} else if (config.movOpts.hyprlandConfig.workspaceLayout == "dualmonitor") then {
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
} else if (config.movOpts.hyprlandConfig.workspaceLayout == "trimonitor") then {
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then {
"${builtins.elemAt monitors 2}" = [ 1 2 ];
"${builtins.elemAt monitors 1}" = [ 3 4 ];
"${builtins.elemAt monitors 0}" = [ 5 6 ];
@@ -49,10 +49,10 @@ let
color6 = scheme.base0E;
color7 = scheme.base0F;
};
monitors = config.movOpts.hyprlandConfig.monitorNames;
monitors = config.movOpts.envConfig.hyprlandConfig.monitorNames;
in {
options = {
movOpts.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
movOpts.envConfig.waybarConfig.enable = lib.mkEnableOption "enables my waybar configuration";
};
config = {
programs.waybar = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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