nixos-config/flake/home-manager.nix

75 lines
1.6 KiB
Nix
Raw Normal View History

2024-11-28 01:14:34 +08:00
# 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
2024-12-03 21:26:59 +08:00
polkit-gnome
2024-11-28 01:14:34 +08:00
swaylock
swww
waybar.niri
# keep-sorted end
];
desktop-workstation = suites.workstation ++ suites.desktop-baseline ++ suites.desktop-niri;
}
);
in
{
passthru = {
inherit homeModules homeProfiles homeSuites;
};
}