about summary refs log tree commit diff
path: root/labernix/machines/labtop.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-03-18 01:12:15 +0100
committeraszlig <aszlig@redmoonstudios.org>2015-03-18 01:12:15 +0100
commit692b0772223074133c5fe74d84ea727fb00499e3 (patch)
treed3d20d087665377ef0f7622e66bd6557fbaebcc9 /labernix/machines/labtop.nix
parent0182c32769f18926489847bb21636e7b394b5b30 (diff)
parent6b857eebbafba660cc57b19bd11f6484c91f8fd7 (diff)
Subtree-merge labernix into vuizvui.
This is the first step of generalizing the configurations into a big
repository where people can track their NixOS configurations and write
modules.

In the next few steps I'm going to gradually refactor everything in
labernix/ into the main tree and factor out personal stuff into separate
namespaces.

Also, this will involve a license change from APACHE-2.0 to GPL-3.0.
Diffstat (limited to 'labernix/machines/labtop.nix')
-rw-r--r--labernix/machines/labtop.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/labernix/machines/labtop.nix b/labernix/machines/labtop.nix
new file mode 100644
index 00000000..bf376ba5
--- /dev/null
+++ b/labernix/machines/labtop.nix
@@ -0,0 +1,72 @@
+{ 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 = [ ../common.nix ];
+
+  i18n = {
+    consoleFont = "lat9w-16";
+    consoleKeyMap = "us";
+    defaultLocale = "de_DE.UTF-8";
+  };
+
+  # TODO: This is a dummy, replace it once we know about the real root fs.
+  fileSystems."/".label = "root";
+  boot.loader.grub.device = "nodev";
+
+  environment.systemPackages = [
+    greybird
+    #repetierhost <- TODO
+    pkgs.firefox
+    pkgs.gimp
+    pkgs.freecad
+    pkgs.openscad
+    #pkgs.pronterface <- TODO
+    pkgs.blender
+    pkgs.slic3r
+    pkgs.libreoffice
+    pkgs.inkscape
+    pkgs.filezilla
+    pkgs.gmpc
+    pkgs.vlc
+  ];
+
+  # 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;
+
+  users.mutableUsers = false;
+  users.extraUsers.openlab = {
+    uid = 1000;
+    isNormalUser = true;
+  };
+}