{vscode-server, ...}: { universal.home_modules = [ ( {pkgs, ...}: { home.packages = with pkgs; [ ps wget libqalculate magic-wormhole ]; programs = { # For the love of Fucking please keep them in alphabetical order to soothe my brain btop = { enable = true; }; emacs = { enable = true; }; eza = { enable = true; git = true; }; # fastfetch = { # removed from universal as this adds gtk3 and imagemagick to the closure, for some godforsaken reason. # enable = true; # }; micro = { enable = true; }; ripgrep = { enable = true; }; }; } ) ]; universal.modules = [ { programs.screen.enable = true; } ]; personal.modules = [ ( {pkgs, ...}: { users.users.emv.extraGroups = ["video"]; nixpkgs.config.permittedInsecurePackages = [ "fluffychat-linux-1.23.0" # it uses an insecure implementation of olm. but the devs are allegedly trying to move to vodozemac (which is an implementation that is not (at least publically announced as) insecure) . Using it instead of element because 1) i don't think the vulnerability is very relevant to our current threat model (as far as we're aware, it requires network or even hardware access, at which point you can already beat me with a baseball bat) and 2) out of the desktop clients, this seems to be one of the only ones with proper multi-account support?? "olm-3.2.16" # tbh i still find it funny that a cryptographic library with a vuln known for several years before this is still used. # "Note that these are not cryptographically secure implementations. They have no resistence to side-channel attacks and should not be used in contexts that need cryptographically secure implementations. These algorithms are not optimized for speed or space. They are primarily designed to be easy to read, although some basic optimization techniques have been employed." ]; } ) ]; personal.home_modules = [ ( {pkgs, ...}: { home.packages = with pkgs; [ emulsion ffmpeg vlc signal-desktop discord element-desktop fluffychat obsidian mumble # calibre # still borked apparently, what the hell # still!!! libreoffice ]; programs = { librewolf = { enable = true; }; terminator = { enable = true; }; }; } ) vscode-server.homeModules.default { services.vscode-server.enable = true; } ]; capsaicin.home_modules = [ ( {pkgs, ...}: { home.packages = with pkgs; [ cryptsetup keepassxc ]; } ) ]; }