{ config, pkgs, ... }: let unstable = import <nixos-unstable> { config.allowUnfree = true; }; packages = { internet = [ pkgs.axel pkgs.firefox pkgs.openvpn pkgs.transmission pkgs.wget pkgs.wireguard ]; media = [ pkgs.moc pkgs.vlc ]; administration = [ pkgs.bpytop pkgs.gparted pkgs.htop ]; editors = [ pkgs.gnome3.gedit pkgs.leafpad ]; terminals = [ pkgs.alacritty pkgs.xfce.xfce4-terminal pkgs.xterm ]; development = [ pkgs.vscode pkgs.python39Full unstable.python310 pkgs.elixir unstable.elixir pkgs.rustc pkgs.git pkgs.nixfmt ]; documents = [ pkgs.libreoffice pkgs.zotero ]; wm = [ pkgs.sway pkgs.swaybg pkgs.swayidle pkgs.swaylock pkgs.ulauncher ]; system = [ pkgs.brightnessctl pkgs.lm_sensors pkgs.pulseaudio-ctl ]; cli_tools = [ pkgs.bc pkgs.dtrx pkgs.exa pkgs.fzf pkgs.gron pkgs.jq pkgs.ranger pkgs.rename ]; utilities = [ pkgs.galculator pkgs.spaceFM pkgs.xfce.thunar ]; }; in environment.systemPackages = builtins.concatLists [ packages.administration packages.cli_tools packages.development packages.documents packages.editors packages.internet packages.media packages.system packages.terminal packages.utilities packages.wm ]; }