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