packages: {config, ...}: {
	environment.systemPackages = with packages; [
		# Cryptocurrency
		nixpkgs.electrum

		# Browsers
		nixpkgs.chromium
		nixpkgs.firefox
		nixpkgs.w3m

		# Filesystems
		nixpkgs.ntfs3g
		nixpkgs.davfs2
		nixpkgs.exfat

		# Build tools
		nixpkgs.gcc
		nixpkgs.gnumake
		nixpkgs.automake
		nixpkgs.autoconf

		# Development tools
		unstable.atom
		nixpkgs.geany
		nixpkgs.sqlitebrowser
		nixpkgs.gitAndTools.gitFull
		nixpkgs.meld
		nixpkgs.radare2
		nixpkgs.wxhexeditor
		nixpkgs.gdb

		# Node.js
		nixpkgs.nodejs-6_x
		unstable.electron
		nixpkgs.nodePackages_6_x.node2nix

		# Rust
		nixpkgs.rustChannels.nightly.rust
		nixpkgs.rustChannels.nightly.rust-src

		# Downloaders and filesharing
		(unstable.python35Packages.youtube-dl.override {
		ffmpeg = unstable.ffmpeg-full;
		})
		unstable.megatools
		nixpkgs.aria2
		nixpkgs.qbittorrent
		nixpkgs.filezilla

		# Emulation
		nixpkgs.wineUnstable
		nixpkgs.dosbox
		nixpkgs.playonlinux

		# Light-weight games
		nixpkgs.simutrans
		unstable.openttd
		unstable.voxelands

		# File and archive management
		nixpkgs.p7zip
		nixpkgs.pcmanfm

		# Password management
		nixpkgs.keepassx2

		# Chat and communication
		nixpkgs.pidgin
		nixpkgs.konversation

		# Productivity
		nixpkgs.libreoffice
		nixpkgs.gimp
		nixpkgs.inkscape
		nixpkgs.audacity
		nixpkgs.shutter
		nixpkgs.jekyll

		# Multimedia
		#   Video
		nixpkgs.mplayer
		nixpkgs.mpv
		nixpkgs.vlc
		nixpkgs.kodi

		#   Audio
		nixpkgs.tomahawk
		nixpkgs.audacious
		nixpkgs.mpg321
		nixpkgs.xmp

		#   Documents
		nixpkgs.evince
		nixpkgs.djvulibre

		#   Images
		nixpkgs.gqview

		#   Utilities
		nixpkgs.mediainfo

		# Diagnostics
		#   General
		nixpkgs.lsof

		#   Processes
		nixpkgs.htop
		nixpkgs.psmisc

		#   Network
		nixpkgs.iftop
		nixpkgs.nload
		nixpkgs.tcpdump
		nixpkgs.nmap
		nixpkgs.mtr
		nixpkgs.vnstat
		nixpkgs.telnet

		#   Disk and filesystem
		nixpkgs.smartmontools
		nixpkgs.iotop
		nixpkgs.ncdu
		nixpkgs.gparted
		nixpkgs.cv  # == `progress`

		#   Peripherals
		nixpkgs.pciutils
		nixpkgs.usbutils

		#   Graphics
		nixpkgs.glxinfo
	];

	nixpkgs.config = {
		firefox = {
			enableGoogleTalkPlugin = true;
			enableAdobeFlash = true;
			jre = true;
		};

		chromium = {
			enablePepperFlash = true;
			enablePepperPDF = true;
			jre = true;
		};
	};

	services = {
		postgresql = {
			enable = true;
			package = packages.nixpkgs.postgresql95;
			authentication = ''
				local all all ident
				host all all 127.0.0.1/32 md5
			'';
		};
	};

	networking.firewall.allowedTCPPorts = [
		8999 # qBittorrent
	];
}
