74 lines
1.6 KiB
Nix
74 lines
1.6 KiB
Nix
# Portions of this file are sourced from
|
|
# https://github.com/linyinfeng/dotfiles/blob/b618b0fd16fb9c79ab7199ed51c4c0f98a392cea/flake/hosts.nix
|
|
{
|
|
inputs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (inputs.rebmit.lib.path) buildModuleList rakeLeaves;
|
|
buildSuites = profiles: f: lib.mapAttrs (_: lib.flatten) (lib.fix (f profiles));
|
|
|
|
homeModules = buildModuleList ../home-manager/modules;
|
|
homeProfiles = rakeLeaves ../home-manager/profiles;
|
|
homeSuites = buildSuites homeProfiles (
|
|
profiles: suites: {
|
|
baseline = with profiles; [
|
|
# keep-sorted start
|
|
applications.base
|
|
fish
|
|
helix
|
|
tmux
|
|
yazi
|
|
# keep-sorted end
|
|
];
|
|
|
|
development = with profiles; [
|
|
# keep-sorted start
|
|
development
|
|
direnv
|
|
git
|
|
# keep-sorted end
|
|
];
|
|
|
|
workstation = suites.baseline ++ suites.development;
|
|
|
|
desktop-baseline =
|
|
suites.baseline
|
|
++ (with profiles; [
|
|
# keep-sorted start
|
|
applications.desktop
|
|
darkman
|
|
fcitx5
|
|
firefox
|
|
fontconfig
|
|
gtk
|
|
kitty
|
|
qt
|
|
theme.catppuccin
|
|
xdg-user-dirs
|
|
# keep-sorted end
|
|
]);
|
|
|
|
desktop-niri = with profiles; [
|
|
# keep-sorted start
|
|
cliphist
|
|
fuzzel
|
|
mako
|
|
niri
|
|
swaylock
|
|
swww
|
|
waybar.niri
|
|
# keep-sorted end
|
|
];
|
|
|
|
desktop-workstation = suites.workstation ++ suites.desktop-baseline ++ suites.desktop-niri;
|
|
}
|
|
);
|
|
in
|
|
{
|
|
passthru = {
|
|
inherit homeModules homeProfiles homeSuites;
|
|
};
|
|
}
|