{ 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
];
}