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.
67 lines
2.1 KiB
Nix
67 lines
2.1 KiB
Nix
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
krisp-settings = {
|
|
libraries = builtins.attrValues {
|
|
inherit (pkgs.python3Packages)
|
|
capstone
|
|
pyelftools
|
|
;
|
|
};
|
|
flakeIgnore = [
|
|
"E501" # line too long (82 > 79 characters)
|
|
"F403" # 'from module import *' used; unable to detect undefined names
|
|
"F405" # name may be undefined, or defined from star imports: module
|
|
];
|
|
};
|
|
krisp-patch = builtins.readFile (
|
|
pkgs.fetchurl {
|
|
url = "https://pastebin.com/raw/8tQDsMVd";
|
|
sha256 = "sha256-IdXv0MfRG1/1pAAwHLS2+1NESFEz2uXrbSdvU9OvdJ8=";
|
|
}
|
|
);
|
|
krisp-patcher = pkgs.writers.writePython3Bin "krisp-patcher" krisp-settings krisp-patch;
|
|
in
|
|
{
|
|
options.my.apps.internet = {
|
|
enable = lib.mkEnableOption "internet browsers and communication apps";
|
|
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 internet packages for";
|
|
};
|
|
};
|
|
config = lib.mkIf config.my.apps.internet.enable {
|
|
home-manager.users = inputs.self.lib.mkHomeManagerUsers lib config.my.apps.internet.users (_user: {
|
|
programs.librewolf = import ./librewolf.nix;
|
|
});
|
|
programs.geary.enable = true;
|
|
users.users =
|
|
let
|
|
packages = builtins.attrValues {
|
|
# inherit (inputs.zen-browser.packages.x86_64-linux) twilight;
|
|
inherit krisp-patcher;
|
|
inherit (pkgs)
|
|
# thunderbird # email client
|
|
warp # transfer files with based ppl
|
|
nextcloud-client # self-hosted google-drive alternative
|
|
fragments # beautiful torrent client
|
|
tor-browser # dark web, so dark!
|
|
telegram-desktop # furry chat
|
|
nicotine-plus # remember Ares?
|
|
discord # :3
|
|
vdhcoapp # video download helper assistant
|
|
nextcloud-talk-desktop # nextcloud talk client
|
|
fractal # matrix client
|
|
;
|
|
};
|
|
in
|
|
inputs.self.lib.mkUserPackages lib config.my.apps.internet.users packages;
|
|
};
|
|
}
|