nixfiles/profiles/base/home.nix

33 lines
878 B
Nix

{
inputs,
tree,
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.lists) flatten forEach;
inherit (lib.options) mkOption;
inherit (lib.types) attrsOf submoduleWith;
in {
options.home-manager.users = mkOption {
type = attrsOf (submoduleWith {
modules = [];
specialArgs = {
inherit inputs tree;
};
});
};
config = {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
sharedModules = with tree; [modules.home.vscode-mod-module];
};
systemd.tmpfiles.rules = mkIf config.boot.isContainer (flatten (forEach (builtins.attrNames config.home-manager.users) (user: [
"d /nix/var/nix/profiles/per-user/${user} - ${config.users.users."${user}".group} - - -"
"d /nix/var/nix/gcroots/per-user/${user} - ${config.users.users."${user}".group} - - -"
])));
};
}