feat: added user2 and refactored to accommodate

This commit is contained in:
Nick 2025-01-28 20:45:11 -06:00
parent c169f84dcc
commit 9cdcf4fec4
97 changed files with 1473 additions and 1052 deletions

View file

@ -1,5 +1,5 @@
{ config, ... }:
let
# Recursively collect directories
collectDirs =
path:
let
@ -7,14 +7,11 @@ let
subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content);
buildPath = name: path + "/${name}";
# Get immediate subdirectories
thisDirs = map buildPath subdirs;
# Recursively get sub-subdirectories
subDirs = builtins.concatMap collectDirs thisDirs;
in
[ path ] ++ subDirs;
# Import directories and their default.nix files
directoryImport =
path:
builtins.listToAttrs (
@ -24,32 +21,133 @@ let
}) (collectDirs path)
);
# Create the modules attrset
modules = directoryImport ./.;
in
{
flake.homeModules = {
desktop = {
imports = builtins.attrValues {
inherit (modules)
cli
gui
;
flake.homeModules =
let
inherit (config.machines.devices)
desktop
fallaryn
laptop
server
;
inherit (config.people) user0 user1 user2;
in
{
"${desktop.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
emulators
firefox
tor
code
gaming
media
messaging
sharing
tools
desktop
;
};
};
"${desktop.name}-${user1}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
ghostty
zed
gaming
spotify
docs
mpv
kolourPaint
discord
signal
scrcpy
bitwarden
emote
desktop
;
};
};
"${fallaryn.name}-${user2}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
firefoxNix
braveNix
code
ghostty
gaming
spotify
audioProduction
wpsOffice
obsidian
okular
images
modeling
obsStudio
kdenlive
videoPlaying
discord
signal
tdesktop
teams
whatsApp
zoom
tools
;
};
};
"${laptop.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
emulators
firefox
tor
code
gaming
media
messaging
sharing
tools
;
};
};
"${laptop.name}-${user1}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
ghostty
zed
gaming
spotify
docs
mpv
kolourPaint
discord
signal
scrcpy
bitwarden
emote
desktop
;
};
};
"${server.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
;
};
};
};
laptop = {
imports = builtins.attrValues {
inherit (modules)
apps
;
};
};
server = {
imports = builtins.attrValues {
inherit (modules)
cli
;
};
};
};
}