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