{ config, pkgs, ... }: { environment.systemPackages = with pkgs.haskellPackages; with pkgs; [ gitg gmpc m4 subversion openjdk8 sbt scala # firefoxWrapper # qutebrowser chromium # thunderbird qalculate-gtk speedcrunch viewnior gnupg pass xclip pwgen remmina ledger hledger hledger-diff cmake ninja mpv wireshark-gtk mutt stable.goldendict patchelf bazaar tokei loc ripgrep imagemagick pdfpc # haskell dev cabal2nix cabal-install ghc-mod # emacs emacs ghostscript # for auctex aspell mediainfo isync mu msmtp vdirsyncer khard khal config.boot.kernelPackages.perf veriT minisat picosat glucose prover9 eprover metis-prover spass z3 cvc4 graphviz # toysolver stable.haskellPackages.tip-lib emacsPackages.proofgeneral stablePkgs # protect nixpkgs checkout from GC unstablePkgs ] ++ (with aspellDicts; [ en de fr nl ]); nixpkgs.config.packageOverrides = pkgs: with pkgs; let fetchNixPkgs = { rev, sha256 }: fetchFromGitHub { inherit sha256 rev; owner = "NixOS"; repo = "nixpkgs-channels"; }; stablePkgs = fetchNixPkgs { rev = "5237768d62a40236d24fafbd9f4f97f3227399ce"; sha256 = "1j707pwm6ll2cvmqvwfxxq21gd9q7l6s3vi3vc01jklplj2v20is"; }; unstablePkgs = fetchNixPkgs { rev = "f25006bfaff034dcc45e4cd9bd19c072b20b472d"; sha256 = "1013005fw3rqraql2qcx2w0wba4n2a0w9y1cv6a2jqcjbbsvz0xd"; }; in { idea-community-eap = pkgs.idea.idea-community.overrideDerivation (oldAttrs: rec { name = "idea-community-${version}"; version = "2016.3.eap"; src = pkgs.fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-163.7342.3-no-jdk.tar.gz"; sha256 = "d70e0444f8fae5ba37fb4ae583cb9461af8f840a3eefb43d473683a7601cd104"; }; }); clion-eap = pkgs.idea.clion.overrideDerivation (oldAttrs: rec { name = "clion-${version}"; version = "2016.3.eap"; src = pkgs.fetchurl { url = "http://download.jetbrains.com/cpp/CLion-2016.3-RC.tar.gz"; sha256 = "1a2wbbnxlk0lngmcxx9i2i9xqnw9q3kx396sl6gr41rq3q6a1iyv"; }; }); neovim = pkgs.neovim.override { extraPythonPackages = [ pkgs.pythonPackages.websocket_client ]; }; stablePkgs = stablePkgs; stable = import stablePkgs {}; unstablePkgs = unstablePkgs; unstable = import unstablePkgs {}; }; nixpkgs.config.allowTexliveBuilds = true; nixpkgs.config.allowUnfree = true; }