From 1beb13f5dc2ad601314d473ae14e6c0d88cc6156 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Thu, 30 Apr 2015 22:44:22 +0200 Subject: Initial config for katara. --- machines/profpatsch/katara.nix | 126 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 machines/profpatsch/katara.nix (limited to 'machines/profpatsch') diff --git a/machines/profpatsch/katara.nix b/machines/profpatsch/katara.nix new file mode 100644 index 00000000..f8ef5241 --- /dev/null +++ b/machines/profpatsch/katara.nix @@ -0,0 +1,126 @@ +{ config, pkgs, ... }: + +{ + # Kernel + boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "firewire_ohci" ]; + boot.kernelModules = [ "kvm-intel" ]; + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + boot.loader.grub.version = 2; + # Define on which hard drive you want to install Grub. + boot.loader.grub.device = "/dev/sda"; + boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "cryptroot"; } ]; + + hardware.trackpoint = { + enable = true; + emulateWheel = true; + speed = 250; + sensitivity = 140; + }; + + fileSystems."/" = { + device = "/dev/dm-0"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = { + device = "/dev/sda1"; + fsType = "ext3"; + }; + + nix.maxJobs = 2; + + networking.hostName = "katara"; + networking.networkmanager.enable = true; + + networking.firewall.enable = true; + # Programmer’s dilemma + networking.firewall.allowedTCPPortRanges = [ + { from = 8000; to = 8005; } + { from = 8080; to = 8085; } + ]; + + # Select internationalisation properties. + i18n = { + consoleFont = "lat9w-16"; + consoleKeyMap = "us"; + defaultLocale = "en_US.UTF-8"; + }; + + # List packages installed in system profile. To search by name, run: + # -env -qaP | grep wget + environment.systemPackages = + let + haskellPkgs = with pkgs.haskellngPackages; [ + ghc + cabal-install + cabal2nix + ]; + in with pkgs; [ + ack + curl + emacs + nix-repl + fish + mkpasswd + git + tmux + vim + wget + zsh + ] ++ haskellPkgs; + + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.xserver.layout = "de"; + services.xserver.xkbOptions = "eurosign:e"; + + # services.xserver.windowManager.xmonad.enable = true; + services.xserver.desktopManager.gnome3.enable = true; + + # redshift + services.redshift = { + enable = true; + latitude = "48"; + longitude = "10"; + }; + + time.timeZone = "Europe/Berlin"; + + # locate + services.locate = { + enable = true; + extraFlags = ["--add-prunepaths /nix/store"]; + }; + + # Nobody wants mutable state. :) + users.mutableUsers = false; + users.extraUsers = + let authKeys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJhthfk38lzDvoI7lPqRneI0yBpZEhLDGRBpcXzpPSu+V0YlgrDix5fHhBl+EKfw4aeQNvQNuAky3pDtX+BDK1b7idbz9ZMCExy2a1kBKDVJz/onLSQxiiZMuHlAljVj9iU4uoTOxX3vB85Ok9aZtMP1rByRIWR9e81/km4HdfZTCjFVRLWfvo0s29H7l0fnbG9bb2E6kydlvjnXJnZFXX+KUM16X11lK53ilPdPJdm87VtxeSKZ7GOiBz6q7FHzEd2Zc3CnzgupQiXGSblXrlN22IY3IWfm5S/8RTeQbMLVoH0TncgCeenXH7FU/sXD79ypqQV/WaVVDYMOirsnh/ philip@nyx"]; + in { + philip = rec { + name = "philip"; + group = "users"; + extraGroups = [ "wheel" "networkmanager" ]; + uid = 1000; + createHome = true; + home = "/home/philip"; + passwordFile = "${home}/.config/passwd"; + # password = "test"; # in case of emergency, break glass + shell = "/run/current-system/sw/bin/bash"; + openssh.authorizedKeys.keys = authKeys; + }; + }; + + # fix for emacs + programs.bash.promptInit = "PS1=\"# \""; +} -- cgit 1.4.1