dotfiles/home-manager/default.nix

126 lines
2.3 KiB
Nix
Raw Normal View History

2024-10-06 15:25:05 -05:00
let
modulesPath = ./modules;
importFolder = name: {"${name}" = import (modulesPath + "/${name}");};
importFile = name: {"${name}" = import (modulesPath + "/${name}.nix");};
importMisc = name: {"misc-${name}" = import (modulesPath + "/misc/${name}.nix");};
modules =
2024-11-03 20:50:30 -06:00
builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
) {} (map importFolder [
"bat"
"firefox"
"obs-studio"
"qbittorrent"
"steam"
])
// builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
) {} (map importFile [
"bottom"
"brave"
"direnv"
"freetube"
"git"
"helix"
"home-manager"
"lazygit"
"mpv"
"nextcloud"
"nushell"
"starship"
"vscode"
"wezterm"
"yazi"
"zellij"
"zoxide"
])
// builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
) {} (map importMisc [
"android"
"commandLine"
"desktop"
"entertainment"
"internet"
"productionArt"
"productionAudio"
"productionVideo"
"productionWriting"
"tracking"
"virtualization"
]);
2024-10-06 15:25:05 -05:00
in {
flake.homeModules = {
desktop = {
imports = with modules; [
brave
firefox
2024-10-06 15:25:05 -05:00
misc-android
misc-desktop
misc-internet
qbittorrent
vscode
2024-10-06 15:25:05 -05:00
];
};
2024-10-06 15:25:05 -05:00
entertainment = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
freetube
misc-entertainment
2024-10-06 15:25:05 -05:00
mpv
2024-10-11 15:20:01 -05:00
steam
2024-10-06 15:25:05 -05:00
];
};
2024-10-06 15:25:05 -05:00
productionArt = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
misc-productionArt
];
};
2024-10-06 15:25:05 -05:00
productionAudio = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
misc-productionAudio
];
};
2024-10-06 15:25:05 -05:00
productionVideo = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
misc-productionVideo
obs-studio
];
};
2024-10-06 15:25:05 -05:00
productionWriting = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
misc-productionWriting
];
};
shared = {
imports = with modules; [
bat
bottom
direnv
git
helix
home-manager
lazygit
misc-commandLine
misc-virtualization
nushell
starship
wezterm
2024-11-03 22:07:57 -06:00
# yazi
zellij
zoxide
2024-10-06 15:25:05 -05:00
];
};
};
}