{ config, pkgs, ... }: { imports = [ /etc/nixos/hardware-configuration.nix ./i3.nix ./basic-tools.nix ]; boot.kernelPackages = pkgs.linuxPackages_latest; nix.useChroot = true; nix.binaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ]; nix.trustedBinaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ]; nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]; nix.extraOptions = '' auto-optimise-store = true binary-caches-parallel-connections = 10 ''; networking.networkmanager.enable = true; networking.firewall.enable = true; time.timeZone = "Europe/Vienna"; # Select internationalisation properties. # i18n = { # consoleFont = "lat9w-16"; # consoleKeyMap = "us"; # defaultLocale = "en_US.UTF-8"; # }; environment.systemPackages = with pkgs.haskellPackages; with pkgs; [ gitg gmpc m4 subversion openjdk8 sbt scala idea.idea-community firefoxWrapper qutebrowser chromium thunderbird qalculate-gtk speedcrunch viewnior gnupg pass xclip pwgen remmina ledger hledger hledger-diff cmake vimPlugins.YouCompleteMe mpv wireshark-gtk mutt (texlive.combine { inherit (texlive) scheme-medium bussproofs enumitem tocbibind biblatex logreq cleveref comment algorithm2e relsize; }) biber androidsdk_4_4 gimp inkscape # libreoffice jabref pdfpc # haskell dev cabal2nix cabal-install ghc-mod # emacs emacs ghostscript # for auctex aspell libreoffice calibre mediainfo isync mu msmtp veriT minisat prover9 eprover metis-prover z3 why3 graphviz # toysolver tip-lib coq_8_5 emacsPackages.proofgeneral_4_3_pre ] ++ (with aspellDicts; [ en de fr nl ]); nixpkgs.config.packageOverrides = pkgs: rec { idea.idea-community = pkgs.idea.idea-community.overrideDerivation (oldAttrs: rec { name = "idea-community-${version}"; version = "15.eap"; src = pkgs.fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-142.5047.6.tar.gz"; sha256 = "e6d32e6df22b9431810711bed27d36195d8e4f9e161e2d4e6249e530c462c185"; }; }); }; nixpkgs.config.allowTexliveBuilds = true; # Enable the OpenSSH daemon. services.openssh = { enable = true; permitRootLogin = "no"; passwordAuthentication = false; }; programs.ssh.startAgent = false; # Enable CUPS to print documents. services.avahi.enable = true; # cups browsing support services.printing.enable = true; # services.colord.enable = true; # IntelliJ boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288; # gapt: `ulimit -n` was 256 security.pam.loginLimits = [ { domain = "*"; type = "-"; item = "nofile"; value = "4096"; } ]; fileSystems."/mnt/vaccaria" = { device = "//vaccaria.mtlaa.gebner.org/export"; fsType = "cifs"; options = "noauto,x-systemd.automount,credentials=/etc/smbcredentials/vaccaria"; }; fileSystems."/mnt/aruanus" = { device = "//aruanus.htdf.gebner.org/export"; fsType = "cifs"; options = "noauto,x-systemd.automount,credentials=/etc/smbcredentials/aruanus"; }; users.extraUsers.gebner = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; # shell = "${pkgs.zsh}/bin/zsh"; password = if config.virtualisation != null then "" else null; }; system.fsPackages = [ pkgs.ntfs3g ]; }