2024-10-06 15:25:05 -05:00
|
|
|
let
|
2024-11-03 17:48:32 -06:00
|
|
|
modulesPath = ./modules;
|
2024-11-10 01:29:37 -06:00
|
|
|
miscPath = modulesPath + "/misc";
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-11-10 01:29:37 -06:00
|
|
|
moduleImport = path: nameTransform:
|
|
|
|
builtins.listToAttrs (
|
|
|
|
map
|
2024-11-04 12:54:00 -06:00
|
|
|
(name: {
|
2024-11-10 01:29:37 -06:00
|
|
|
name = nameTransform name;
|
|
|
|
value = import (path + "/${name}");
|
2024-11-04 12:54:00 -06:00
|
|
|
})
|
2024-11-10 01:29:37 -06:00
|
|
|
(
|
|
|
|
builtins.filter
|
|
|
|
(name: (builtins.readDir path).${name} == "regular" && builtins.match ".*\\.nix$" name != null)
|
|
|
|
(builtins.attrNames (builtins.readDir path))
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
modules =
|
2025-01-08 19:11:58 -06:00
|
|
|
moduleImport modulesPath (name:
|
|
|
|
builtins.replaceStrings [
|
|
|
|
".nix"
|
|
|
|
] [
|
|
|
|
""
|
|
|
|
]
|
|
|
|
name)
|
|
|
|
// moduleImport miscPath (name: "misc-${builtins.replaceStrings [
|
|
|
|
".nix"
|
|
|
|
] [
|
|
|
|
""
|
|
|
|
]
|
|
|
|
name}")
|
2024-11-10 01:29:37 -06:00
|
|
|
// (path:
|
|
|
|
builtins.listToAttrs (
|
|
|
|
map
|
|
|
|
(name: {
|
|
|
|
name = name;
|
|
|
|
value = import (path + "/${name}");
|
|
|
|
})
|
|
|
|
(
|
|
|
|
builtins.filter
|
|
|
|
(name: (builtins.readDir path).${name} == "directory" && name != "misc")
|
|
|
|
(builtins.attrNames (builtins.readDir path))
|
|
|
|
)
|
|
|
|
))
|
|
|
|
modulesPath;
|
2024-10-06 15:25:05 -05:00
|
|
|
in {
|
|
|
|
flake.homeModules = {
|
2024-11-03 17:48:32 -06:00
|
|
|
desktop = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
brave
|
2024-11-06 21:58:16 -06:00
|
|
|
flameshot
|
2024-11-04 19:24:06 -06:00
|
|
|
misc-android
|
|
|
|
misc-desktop
|
|
|
|
misc-internet
|
2024-12-06 21:48:52 -06:00
|
|
|
misc-tracking
|
2024-11-04 19:24:06 -06:00
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-10-06 15:25:05 -05:00
|
|
|
entertainment = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
freetube
|
|
|
|
misc-entertainment
|
|
|
|
mpv
|
|
|
|
steam
|
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-11-09 16:44:23 -06:00
|
|
|
firefox = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
firefox
|
|
|
|
;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-01-08 01:05:45 -06:00
|
|
|
hyprland = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
gtk
|
|
|
|
dunst
|
|
|
|
easyEffects
|
|
|
|
gammastep
|
2025-01-09 02:09:02 -06:00
|
|
|
hypr
|
2025-01-08 01:05:45 -06:00
|
|
|
misc-hyprland
|
|
|
|
network
|
|
|
|
swaylock
|
|
|
|
tofi
|
|
|
|
waybar
|
|
|
|
;
|
|
|
|
};
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
productionArt = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
misc-productionArt
|
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-10-06 15:25:05 -05:00
|
|
|
productionAudio = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
misc-productionAudio
|
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-11-20 15:46:18 -06:00
|
|
|
productionCode = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
vscode
|
|
|
|
;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-10-06 15:25:05 -05:00
|
|
|
productionVideo = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
misc-productionVideo
|
|
|
|
obs-studio
|
2024-11-06 21:58:16 -06:00
|
|
|
yt-dlp
|
2024-11-04 19:24:06 -06:00
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
2024-10-06 15:25:05 -05:00
|
|
|
productionWriting = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
misc-productionWriting
|
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
|
|
|
|
shared = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(modules)
|
|
|
|
bat
|
|
|
|
bottom
|
|
|
|
direnv
|
2024-11-06 21:58:16 -06:00
|
|
|
fastfetch
|
2025-01-08 19:06:14 -06:00
|
|
|
ghostty
|
2024-11-04 19:24:06 -06:00
|
|
|
git
|
|
|
|
helix
|
2025-01-08 01:05:45 -06:00
|
|
|
homeManager
|
2024-11-04 19:24:06 -06:00
|
|
|
lazygit
|
|
|
|
misc-commandLine
|
|
|
|
nushell
|
|
|
|
starship
|
2024-11-06 21:58:16 -06:00
|
|
|
yazi
|
2024-11-04 19:24:06 -06:00
|
|
|
zellij
|
|
|
|
zoxide
|
|
|
|
;
|
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|