about summary refs log tree commit diff
path: root/machines/labnet/labtop/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'machines/labnet/labtop/configuration.nix')
-rw-r--r--machines/labnet/labtop/configuration.nix88
1 files changed, 88 insertions, 0 deletions
diff --git a/machines/labnet/labtop/configuration.nix b/machines/labnet/labtop/configuration.nix
new file mode 100644
index 00000000..b1d54b2a
--- /dev/null
+++ b/machines/labnet/labtop/configuration.nix
@@ -0,0 +1,88 @@
+{ pkgs, ... }:
+
+let
+  greybird = pkgs.stdenv.mkDerivation {
+    name = "greybird-xfce-theme";
+
+    src = pkgs.fetchFromGitHub {
+      repo = "Greybird";
+      owner = "shimmerproject";
+      rev = "61ec18d22780aa87998381599c941e0cf4f7bfb5";
+      sha256 = "03h8hba4lfp337a4drylcplrbggry9gz8dq1f3gjy25fhqkgvq05";
+    };
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    installPhase = ''
+      mkdir -p "$out/share/themes/Greybird" \
+               "$out/share/themes/Greybird-compact/xfwm4"
+      cp -vrt "$out/share/themes/Greybird" \
+        gtk-* metacity-1 unity xfce-notify-4.0 xfwm4
+      cp -vrt "$out/share/themes/Greybird-compact/xfwm4" \
+        xfwm4_compact/*
+    '';
+  };
+
+in {
+  imports = [
+    ./hardware-configuration.nix
+  ];
+
+  i18n = {
+    consoleFont = "lat9w-16";
+    consoleKeyMap = "us";
+    defaultLocale = "de_DE.UTF-8";
+  };
+
+  fileSystems."/".label = "root";
+  boot.loader.grub.device = "/dev/sda";
+
+  environment.systemPackages = with pkgs; [
+    greybird
+    #repetierhost <- TODO
+    firefox
+    gimp
+    git
+    freecad
+    openscad
+    #pronterface <- TODO
+    blender
+    #slic3r
+    libreoffice
+    inkscape
+    filezilla
+    gmpc
+    vlc
+    vim
+    wget
+  ];
+
+  # TODO: Needed for slic3r right now.
+  nixpkgs.config.allowBroken = true;
+
+  services.xserver.enable = true;
+  services.xserver.layout = "us";
+  services.xserver.xkbOptions = "eurosign:e";
+
+  services.xserver.displayManager.auto.enable = true;
+  services.xserver.displayManager.auto.user = "openlab";
+  services.xserver.desktopManager.xfce.enable = true;
+
+  services.openssh.enable = true;
+
+  networking.networkmanager.enable = true;
+
+  users.mutableUsers = false;
+  users.extraUsers.openlab = {
+    uid = 1000;
+    isNormalUser = true;
+    password = "openlab";
+    extraGroups = [ "wheel" "networkmanager" ];
+    openssh.authorizedKeys.keys = [
+      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJhthfk38lzDvoI7lPqRneI0yBpZEhLDGRBpcXzpPSu+V0YlgrDix5fHhBl+EKfw4aeQNvQNuAky3pDtX+BDK1b7idbz9ZMCExy2a1kBKDVJz/onLSQxiiZMuHlAljVj9iU4uoTOxX3vB85Ok9aZtMP1rByRIWR9e81/km4HdfZTCjFVRLWfvo0s29H7l0fnbG9bb2E6kydlvjnXJnZFXX+KUM16X11lK53ilPdPJdm87VtxeSKZ7GOiBz6q7FHzEd2Zc3CnzgupQiXGSblXrlN22IY3IWfm5S/8RTeQbMLVoH0TncgCeenXH7FU/sXD79ypqQV/WaVVDYMOirsnh/ philip@nyx"
+    ];
+  };
+
+  # fix for emacs
+  programs.bash.promptInit = "PS=\"# \"";
+}