From c62aa2c212f39da7a3a1abe8d56ea41fa2286e18 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 26 Jul 2014 07:58:13 +0200 Subject: network: Add new machine "kzerza". This is another USB flash drive that is used for booting directly into GrandPA, currently in use at Rockfabrik Augsburg. Signed-off-by: aszlig --- machines/kzerza.nix | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ network.nix | 1 + 2 files changed, 66 insertions(+) create mode 100644 machines/kzerza.nix diff --git a/machines/kzerza.nix b/machines/kzerza.nix new file mode 100644 index 00000000..4c7946cf --- /dev/null +++ b/machines/kzerza.nix @@ -0,0 +1,65 @@ +{ pkgs, lib, ... }: + +with lib; + +let + rootUUID = "ad41f848-d14a-4a89-9d04-3e48bd73dc5c"; + diskID = "usb-0000_Removable_Drive_23372707080836980013-0:0"; +in { + imports = singleton ../common.nix; + + services.xserver.enable = mkForce false; + + boot = { + kernelParams = singleton "consoleblank=0"; + kernelPackages = pkgs.linuxPackages_3_12; + initrd.kernelModules = [ "fbcon" "usb_storage" ]; + loader.grub.device = "/dev/disk/by-id/${diskID}"; + }; + + networking.hostName = "kzerza"; + + fileSystems."/".device = "/dev/disk/by-uuid/${rootUUID}"; + fileSystems."/".fsType = "btrfs"; + fileSystems."/".options = concatStringsSep "," [ + "ssd" + "space_cache" + "compress-force=zlib" + "noatime" + ]; + + services.udev.extraRules = '' + SUBSYSTEM=="usb*|tty", ACTION=="add|change", ATTRS{idVendor}=="0403", \ + ATTRS{idProduct}=="6001", OWNER="grandpa" + ''; + + fileSystems."/tmp".device = "none"; + fileSystems."/tmp".fsType = "tmpfs"; + fileSystems."/tmp".options = "nosuid,nodev,relatime"; + + users.extraGroups.grandpa.gid = 666; + users.extraUsers.grandpa = { + uid = 666; + description = "GrandPA User"; + group = "grandpa"; + createHome = true; + }; + + systemd.services.grandpa = { + description = "GrandPA Lighting Controller"; + wantedBy = [ "multi-user.target" ]; + preStart = "${pkgs.kbd}/bin/chvt 7"; + serviceConfig = { + Type = "idle"; + ExecStart = "${pkgs.grandpa}/bin/grandpa"; + StandardInput = "tty"; + StandardOutput = "tty"; + TTYPath = "/dev/tty7"; + TTYVTDisallocate = true; + User = "grandpa"; + Group = "grandpa"; + PrivateTmp = true; + PrivateNetwork = true; + }; + }; +} diff --git a/network.nix b/network.nix index 83d2507c..709c2c18 100644 --- a/network.nix +++ b/network.nix @@ -2,4 +2,5 @@ dnyarri = import ./machines/dnyarri.nix; mmrnmhrm = import ./machines/mmrnmhrm.nix; arilou = import ./machines/arilou.nix; + kzerza = import ./machines/kzerza.nix; } -- cgit 1.4.1