2025-01-28 20:45:11 -06:00
|
|
|
{ config, ... }:
|
2024-10-06 15:25:05 -05:00
|
|
|
let
|
2025-01-19 23:40:54 -06:00
|
|
|
collectDirs =
|
|
|
|
path:
|
|
|
|
let
|
|
|
|
content = builtins.readDir path;
|
|
|
|
subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content);
|
|
|
|
buildPath = name: path + "/${name}";
|
|
|
|
|
|
|
|
thisDirs = map buildPath subdirs;
|
|
|
|
subDirs = builtins.concatMap collectDirs thisDirs;
|
|
|
|
in
|
|
|
|
[ path ] ++ subDirs;
|
|
|
|
|
|
|
|
directoryImport =
|
|
|
|
path:
|
2024-11-10 01:29:37 -06:00
|
|
|
builtins.listToAttrs (
|
2025-01-19 23:40:54 -06:00
|
|
|
map (dir: {
|
|
|
|
name = baseNameOf (toString dir);
|
|
|
|
value = import dir;
|
|
|
|
}) (collectDirs path)
|
2025-01-18 03:50:54 -06:00
|
|
|
);
|
|
|
|
|
2025-01-19 23:40:54 -06:00
|
|
|
modules = directoryImport ./.;
|
2025-01-18 03:50:54 -06:00
|
|
|
in
|
|
|
|
{
|
2025-01-28 20:45:11 -06:00
|
|
|
flake.homeModules =
|
|
|
|
let
|
|
|
|
inherit (config.machines.devices)
|
2025-01-31 01:49:36 -06:00
|
|
|
bartholomew
|
2025-01-28 20:45:11 -06:00
|
|
|
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
|
2025-02-01 23:30:06 -06:00
|
|
|
desktop
|
2025-01-28 20:45:11 -06:00
|
|
|
;
|
|
|
|
};
|
2024-11-09 16:44:23 -06:00
|
|
|
};
|
2025-01-28 20:45:11 -06:00
|
|
|
"${desktop.name}-${user1}" = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit (modules)
|
|
|
|
cli
|
|
|
|
brave
|
|
|
|
ghostty
|
|
|
|
zed
|
|
|
|
gaming
|
|
|
|
spotify
|
|
|
|
docs
|
|
|
|
mpv
|
|
|
|
kolourPaint
|
|
|
|
discord
|
|
|
|
signal
|
|
|
|
scrcpy
|
|
|
|
bitwarden
|
|
|
|
emote
|
|
|
|
desktop
|
|
|
|
;
|
|
|
|
};
|
2025-01-24 22:56:53 -06:00
|
|
|
};
|
2025-01-28 20:45:11 -06:00
|
|
|
"${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
|
|
|
|
;
|
|
|
|
};
|
|
|
|
};
|
2025-01-31 01:49:36 -06:00
|
|
|
"${bartholomew.name}-${user1}" = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit (modules)
|
|
|
|
cli
|
|
|
|
catppuccin
|
|
|
|
gtk
|
|
|
|
brave
|
|
|
|
ghostty
|
|
|
|
zed
|
|
|
|
gaming
|
|
|
|
spotify
|
|
|
|
docs
|
|
|
|
mpv
|
|
|
|
jellyfin
|
|
|
|
kolourPaint
|
|
|
|
discord
|
|
|
|
signal
|
|
|
|
scrcpy
|
|
|
|
bitwarden
|
|
|
|
emote
|
|
|
|
desktop
|
|
|
|
;
|
|
|
|
};
|
|
|
|
};
|
2025-01-28 20:45:11 -06:00
|
|
|
"${server.name}-${user0}" = {
|
|
|
|
imports = builtins.attrValues {
|
|
|
|
inherit (modules)
|
|
|
|
cli
|
|
|
|
;
|
|
|
|
};
|
2024-11-04 19:24:06 -06:00
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
|
|
|
}
|