dotfiles/home/default.nix

154 lines
3.1 KiB
Nix
Raw Normal View History

{ 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
{
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
;
};
2024-11-09 16:44:23 -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
};
"${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
;
};
};
2024-10-06 15:25:05 -05:00
};
}