# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; # Use the gummiboot efi boot loader. boot.loader.gummiboot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.initrd.luks.devices = [ { name = "sda2_crypt"; device = "/dev/disk/by-uuid/a7482f34-1d7b-4181-9f3c-f6bbbdb8679d"; preLVM = true; } ]; boot.initrd.kernelModules = [ "fbcon" ]; boot.kernelPackages = pkgs.linuxPackages_latest; # workaround until trackpad is supported properly boot.extraModprobeConfig = '' options psmouse proto=imps ''; hardware.trackpoint = { enable = true; # emulateWheel = true; }; services.xserver.config = '' Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "PS/2 Synaptics TouchPad" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection ''; services.tlp.enable = true; networking.hostName = "theba"; # Define your hostname. networking.hostId = "b29b900f"; # nix.binaryCaches = [ https://hydra.nixos.org https://cache.nixos.org http://hydra.cryp.to/ ]; # nix.trustedBinaryCaches = [ https://hydra.nixos.org https://cache.nixos.org http://hydra.cryp.to/ ]; nix.binaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ]; nix.trustedBinaryCaches = [ https://hydra.nixos.org https://cache.nixos.org ]; networking.networkmanager.enable = true; networking.firewall.enable = true; # networking.extraHosts = '' # 127.1.0.80 compile compile.logic.tuwien.ac.at # ''; time.timeZone = "Europe/Vienna"; # Select internationalisation properties. # i18n = { # consoleFont = "lat9w-16"; # consoleKeyMap = "us"; # defaultLocale = "en_US.UTF-8"; # }; programs.ibus.enable = true; programs.ibus.plugins = [ pkgs.ibus-anthy pkgs.mozc ]; environment.systemPackages = with pkgs; with haskellngPackages; [ stdenv nox wget vim_configurable zsh gitFull gitAndTools.hub tig gitg gnumake m4 openjdk8 # icedtea7_jdk sbt scala idea.idea-community screen psmisc firefoxWrapper thunderbird gnupg pass xclip gcc remmina silver-searcher tree python python34 python34Packages.ipython ledger hledger hledger-diff cmake vimPlugins.YouCompleteMe gdb mpv xlibs.xwininfo # for gnome maximus extension dstat which zip file unzip elinks ctags mutt nix-prefetch-scripts texLiveFull biber androidsdk_4_4 gimp inkscape # libreoffice jabref # haskell dev cabal2nix cabal-install # ghc-mod gnome3.libgweather ]; nixpkgs.config.packageOverrides = pkgs: rec { # sbt = pkgs.sbt.override { jre = pkgs.openjdk8; }; jre = pkgs.openjdk8; jdk = pkgs.openjdk8; # vim_configurable = pkgs.vim_configurable.override { source = "vim-nox"; }; }; fonts = { fonts = with pkgs; [ inconsolata dejavu_fonts ipafont unifont ubuntu_font_family ]; }; environment.variables.EDITOR = "${pkgs.vim}/bin/vim"; # List services that you want to enable: # 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; # Enable the X11 windowing system. services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.desktopManagerHandlesLidAndPower = false; services.xserver.desktopManager.gnome3.enable = true; # services.xserver.displayManager.lightdm.enable = true; # services.xserver.desktopManager.kde5.enable = true; # services.xserver.layout = "us"; # services.xserver.xkbOptions = "eurosign:e"; services.dbus.packages = [ pkgs.colord ]; # services.jenkins.enable = true; # services.jenkinsSlave.enable = true; # services.jenkins.port = 8888; # services.jenkins.packages = with pkgs; [ stdenv gitFull jdk openssh sbt prover9 minisat veriT bash gnutar gzip ]; # TODO: ntp enabled anyhow # services.timesyncd.enable = true; # IntelliJ boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288; users.extraUsers.gebner = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; shell = "${pkgs.zsh}/bin/zsh"; }; }