Enhanced the configuration files to support multi-user management by introducing user options for multiple applications, including art, gaming, multimedia, and development tools. Updated existing modules to utilize these new user options, improving flexibility and maintainability in user package installations.
32 lines
833 B
Nix
32 lines
833 B
Nix
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
options.my.apps.misc = {
|
|
enable = lib.mkEnableOption "miscellaneous desktop applications";
|
|
users = lib.mkOption {
|
|
type = lib.types.either lib.types.str (lib.types.listOf lib.types.str);
|
|
default = config.my.toggleUsers.apps;
|
|
description = "Users to install misc packages for";
|
|
};
|
|
};
|
|
config = lib.mkIf config.my.apps.misc.enable {
|
|
users.users =
|
|
let
|
|
packages = builtins.attrValues {
|
|
inherit (pkgs)
|
|
blanket # background noise
|
|
metadata-cleaner # remove any metadata and geolocation from files
|
|
pika-backup # backups
|
|
gnome-obfuscate # censor private information
|
|
;
|
|
};
|
|
in
|
|
inputs.self.lib.mkUserPackages lib config.my.apps.misc.users packages;
|
|
};
|
|
}
|