{ pkgs, config, inputs, lib, ... }: let sets = with pkgs; rec { writing = [ apostrophe libreoffice ]; drawing = [ pkgs.drawing gimp inkscape krita rnote xournalpp ]; cli-utils = [ bat dua duf fzf git hyperfine lsd ripgrep wget xh ]; www = [ ungoogled-chromium ]; gui-apps = with inputs.self.packages.x86_64-linux; [ amberol obfuscate fragments-remote ] ++ [ celluloid easyeffects gnome-firmware-updater gnome-podcasts gnome.dconf-editor gnome.gnome-boxes gnome.gnome-todo gnome.gnome-tweaks gnome.nautilus-python homebank jellyfin-media-player lollypop pavucontrol scrcpy tilix virt-manager ]; dev-tools = [ bustle gnome-builder inputs.self.packages.x86_64-linux.git-remote-ipld ]; system = with pkgs.gnomeExtensions; [ appindicator caffeine gsconnect ]; }; in { environment.systemPackages = lib.flatten (builtins.attrValues sets); }