{ pkgs, config, inputs, lib, ... }: let sets = with pkgs; rec { editor = [ inputs.modular-nvim.defaultPackage.x86_64-linux ]; writing = [ apostrophe libreoffice ]; drawing = [ pkgs.drawing gimp inkscape krita 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; [ identity obfuscate ] ++ [ celluloid gnome-firmware-updater gnome-podcasts gnome.dconf-editor gnome.gnome-boxes gnome.gnome-todo gnome.gnome-tweaks gnome.nautilus-python lollypop pavucontrol scrcpy tilix virt-manager ]; dev-tools = [ bustle gnome-builder inputs.self.packages.x86_64-linux.neovim-gtk ]; system = with pkgs.gnomeExtensions; [ appindicator caffeine gsconnect ]; }; in { environment.systemPackages = lib.flatten (builtins.attrValues sets); }