summaryrefslogtreecommitdiffstats
path: root/makefu
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-08-02 23:12:38 +0200
committermakefu <github@syntax-fehler.de>2015-08-02 23:12:38 +0200
commit00bc48d90f95bf9d5de2da6b6c82bca7d78b87f2 (patch)
treea770b18672790b25401fc9dd430d7aa2b6f7e5ef /makefu
parent65d79890493600b09dc01209a378c070f2f0a028 (diff)
add host tsp (traveling salesman problem)
Diffstat (limited to 'makefu')
-rw-r--r--makefu/1systems/tsp.nix90
-rw-r--r--makefu/2configs/base-gui.nix23
2 files changed, 113 insertions, 0 deletions
diff --git a/makefu/1systems/tsp.nix b/makefu/1systems/tsp.nix
new file mode 100644
index 00000000..3de2d300
--- /dev/null
+++ b/makefu/1systems/tsp.nix
@@ -0,0 +1,90 @@
+# 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.
+ ../2configs/base.nix
+ ../2configs/base-gui.nix
+ ];
+ services.xserver = {
+ videoDriver = "intel";
+ };
+ krebs.build.host = config.krebs.hosts.tsp;
+ krebs.build.user = config.krebs.users.makefu;
+ krebs.build.target = "root@tsp";
+
+ krebs.build.deps = {
+ nixpkgs = {
+ url = https://github.com/NixOS/nixpkgs;
+ rev = "4c01e6d91993b6de128795f4fbdd25f6227fb870";
+ };
+ # TODO generalize in base.nix
+ secrets = {
+ url = "/home/makefu/secrets/${config.krebs.build.host.name}";
+ };
+ # TODO generalize in base.nix
+ stockholm = {
+ url = toString ../..;
+ };
+ };
+
+ krebs.retiolum = {
+ enable = true;
+ hosts = ../../Zhosts;
+ connectTo = [
+ "gum"
+ "pigstarter"
+ "fastpoke"
+ ];
+ };
+
+ boot = {
+ #x200 specifics
+ kernelModules = [ "tp_smapi" "msr" ];
+ extraModulePackages = [ config.boot.kernelPackages.tp_smapi ];
+
+ loader.grub.enable =true;
+ loader.grub.version =2;
+ loader.grub.device = "/dev/sda";
+
+ # crypto boot
+ # TODO: use UUID
+ initrd.luks.devices = [ { name = "luksroot"; device= "/dev/sda2";}];
+ initrd.luks.cryptoModules = ["aes" "sha512" "sha1" "xts" ];
+ initrd.availableKernelModules = ["xhci_hcd" "ehci_pci" "ahci" "usb_storage" ];
+ };
+ fileSystems = {
+ "/" = {
+ device = "/dev/mapper/luksroot";
+ fsType = "ext4";
+ };
+ "/boot" = {
+ device = "/dev/disk/by-label/nixboot";
+ fsType = "ext4";
+ };
+ };
+
+ # hardware specifics
+ networking.wireless.enable = true;
+
+ hardware.enableAllFirmware = true;
+ nixpkgs.config.allowUnfree = true;
+
+ # TODO: generalize to numCPU + 1
+ nix.maxJobs = 3;
+
+
+ networking.firewall.rejectPackets = true;
+ networking.firewall.allowPing = true;
+
+
+ # $ nix-env -qaP | grep wget
+ environment.systemPackages = with pkgs; [
+ vim
+ jq
+ ];
+}
diff --git a/makefu/2configs/base-gui.nix b/makefu/2configs/base-gui.nix
new file mode 100644
index 00000000..5f977251
--- /dev/null
+++ b/makefu/2configs/base-gui.nix
@@ -0,0 +1,23 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+{
+ imports = [ ];
+ services.xserver.enable = true;
+ services.xserver.layout = "us";
+
+# use awesome, direct boot into
+ services.xserver.displayManager.auto.enable =true;
+ services.xserver.displayManager.auto.user =config.krebs.users.makefu;
+ services.xserver.windowManager.awesome.enable = true;
+
+ security.setuidPrograms = [ "slock" ];
+
+# use pulseaudio
+ environment.systemPackages = [ pkgs.slock ];
+ hardware.pulseaudio = {
+ enable = true;
+ systemWide = true;
+ };
+
+}