added different categories for home-manager module options instead of having them clumped together
This commit is contained in:
@@ -12,22 +12,26 @@
|
||||
homeFiles.enable = true;
|
||||
|
||||
# modules/home/environment
|
||||
envConfig = {
|
||||
hyprlandConfig = {
|
||||
enable = true;
|
||||
monitorNames = [ "HDMI-A-1" "DP-1" ];
|
||||
workspaceLayout = "dualmonitor";
|
||||
};
|
||||
autojumpConfig.enable = true;
|
||||
userPkgs.enable = true;
|
||||
stylixHomeConfig.enable = true;
|
||||
waybarConfig.enable = true;
|
||||
gtkConfig.enable = true;
|
||||
spicetifyConfig.enable = true;
|
||||
starshipConfig.enable = true;
|
||||
swayncConfig.enable = true;
|
||||
zshConfig.enable = true;
|
||||
};
|
||||
|
||||
# modules/home/programs
|
||||
programConfigs = {
|
||||
autojumpConfig.enable = true;
|
||||
btopConfig.enable = true;
|
||||
swayncConfig.enable = true;
|
||||
userPkgs.enable = true;
|
||||
cavaConfig.enable = true;
|
||||
ezaConfig.enable = true;
|
||||
firefoxConfig.enable = true;
|
||||
@@ -36,15 +40,17 @@
|
||||
gitConfig.enable = true;
|
||||
kittyConfig.enable = true;
|
||||
yaziConfig.enable = true;
|
||||
zshConfig.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 = {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user