feat: simplified themes module

This commit is contained in:
Nick 2025-01-18 03:50:54 -06:00
parent b0fdd1d958
commit a5ec879db0
119 changed files with 2045 additions and 4624 deletions

View file

@ -2,54 +2,69 @@ let
modulesPath = ./modules;
miscPath = modulesPath + "/misc";
moduleImport = path: nameTransform:
moduleImport =
path: nameTransform:
builtins.listToAttrs (
map
(name: {
name = nameTransform name;
value = import (path + "/${name}");
})
(
builtins.filter
(name: (builtins.readDir path).${name} == "regular" && builtins.match ".*\\.nix$" name != null)
(builtins.attrNames (builtins.readDir path))
)
);
modules =
moduleImport modulesPath (name:
builtins.replaceStrings [
".nix"
] [
""
]
name)
// moduleImport miscPath (name: "misc-${builtins.replaceStrings [
".nix"
] [
""
]
name}")
// (path:
builtins.listToAttrs (
map
(name: {
name = name;
name = nameTransform name;
value = import (path + "/${name}");
})
(
builtins.filter
(name: (builtins.readDir path).${name} == "directory" && name != "misc")
(builtins.attrNames (builtins.readDir path))
builtins.filter (
name: (builtins.readDir path).${name} == "regular" && builtins.match ".*\\.nix$" name != null
) (builtins.attrNames (builtins.readDir path))
)
))
modulesPath;
in {
);
modules =
moduleImport modulesPath (
name:
builtins.replaceStrings
[
".nix"
]
[
""
]
name
)
// moduleImport miscPath (
name:
"misc-${
builtins.replaceStrings
[
".nix"
]
[
""
]
name
}"
)
//
(
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;
in
{
flake.homeModules = {
desktop = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
brave
flameshot
misc-android
@ -62,8 +77,7 @@ in {
entertainment = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
freetube
misc-entertainment
mpv
@ -74,8 +88,7 @@ in {
firefox = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
firefox
;
};
@ -83,8 +96,7 @@ in {
hyprland = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
gtk
dunst
easyEffects
@ -100,8 +112,7 @@ in {
};
productionArt = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
misc-productionArt
;
};
@ -109,8 +120,7 @@ in {
productionAudio = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
misc-productionAudio
;
};
@ -118,8 +128,7 @@ in {
productionCode = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
neovim
vscode
zed
@ -129,8 +138,7 @@ in {
productionVideo = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
misc-productionVideo
obs-studio
yt-dlp
@ -140,8 +148,7 @@ in {
productionWriting = {
imports = builtins.attrValues {
inherit
(modules)
inherit (modules)
misc-productionWriting
;
};
@ -149,9 +156,7 @@ in {
shared = {
imports = builtins.attrValues {
inherit
(modules)
bat
inherit (modules)
bottom
direnv
fastfetch