Merge pull request #25712 from 4z3/per-user-pkgs

users-groups module: add per-user packages
This commit is contained in:
Jörg Thalheim 2017-05-17 22:18:19 +01:00 committed by GitHub
commit 9464df56a0

View File

@ -244,6 +244,17 @@ let
'';
};
packages = mkOption {
type = types.listOf types.package;
default = [];
example = literalExample "[ pkgs.firefox pkgs.thunderbird ]";
description = ''
The set of packages that should be made availabe to the user.
This is in contrast to <option>environment.systemPackages</option>,
which adds packages to all users.
'';
};
};
config = mkMerge
@ -568,5 +579,17 @@ in {
imports =
[ (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
{
environment = {
etc = mapAttrs' (name: { packages, ... }: {
name = "per-user-pkgs/${name}";
value.source = pkgs.symlinkJoin {
name = "per-user-pkgs.${name}";
paths = packages;
};
}) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
profiles = ["/etc/per-user-pkgs/$LOGNAME"];
};
}
];
}