From 03bfe08e1dd9faf48b06cb146bfa446575cde88a Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 20 Dec 2019 20:18:41 +0000 Subject: chore: Significantly restructure folder layout This moves the various projects from "type-based" folders (such as "services" or "tools") into more appropriate semantic folders (such as "nix", "ops" or "web"). Deprecated projects (nixcon-demo & gotest) which only existed for testing/demonstration purposes have been removed. (Note: *all* builds are broken with this commit) --- ops/infra/nixos/adho-configuration.nix | 200 +++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 ops/infra/nixos/adho-configuration.nix (limited to 'ops/infra/nixos/adho-configuration.nix') diff --git a/ops/infra/nixos/adho-configuration.nix b/ops/infra/nixos/adho-configuration.nix new file mode 100644 index 000000000000..11c5a97df59e --- /dev/null +++ b/ops/infra/nixos/adho-configuration.nix @@ -0,0 +1,200 @@ +# Local configuration for 'adho' (Thinkpad T470s) +{ config, pkgs, ...}: + +{ + boot.initrd.luks.devices.adho.device = "/dev/disk/by-uuid/722006b0-9654-4ea1-8703-e0cf9ac1905e"; + boot.kernelModules = [ "kvm-intel" ]; + + services.xserver.libinput.enable = true; + services.xserver.videoDrivers = [ "intel" ]; + programs.light.enable = true; + + # Office printer configuration + services.printing.enable = true; + services.printing.drivers = [ pkgs.hplip ]; + services.avahi.enable = true; + services.avahi.nssmdns = true; + + # Enable VirtualBox to update Beatstep Pro firmware: + virtualisation.virtualbox.host.enable = true; + virtualisation.virtualbox.host.enableExtensionPack = true; + + # Enable LXC/LXD for Nixini work + virtualisation.lxd.enable = true; + + # Give me more entropy: + services.haveged.enable = true; + + # Disable sandbox to let work-builds function: + nix.useSandbox = false; + + # Yubikey related: + services.pcscd.enable = true; + environment.systemPackages = with pkgs; [ + cfssl + libp11 + opensc + yubico-piv-tool + ]; + + networking = { + hostName = "adho"; + wireless.enable = true; + wireless.userControlled.enable = true; + + wireless.networks = { + # Welcome to roast club! + "How do I computer?" = { + psk = "washyourface"; + }; + + # On the go! + "Rumpetroll" = { + psk = "fisk1234"; + # If this network exists, chances are that I want it: + priority = 10; + }; + + # Public places in Oslo: + "Abelone" = { + psk = "speakeasy"; + }; + + "Wurst" = { + psk = "wurst2015"; + }; + + "postkontoret" = { + psk = "postkontoret"; + }; + + # Eugene's apartment: + "GET_5G_4FD250" = { + psk = "62636342"; + }; + + # FSCONS 2017 + "uioguest" = {}; + + # Hackeriet! + "hackeriet.no" = { + psk = "hackeriet.no"; + }; + + # Cafe Sara + "Sara Nett" = { + psk = "sarabar1989"; + }; + + # The Dubliner + "DubGjest" = { + # of course + psk = "Guinness"; + }; + + "MAGNAT Guest" = { + psk = "elmolino021"; + }; + + "BrewDog" = { + psk = "welovebeer"; + }; + + # Dima's + "What's a Bad Idea?" = { + psk = "DQDxzrzIvy0YtDwH"; + }; + + # Loke's + "VMC28F76E" = { + psk = "d2ftQnr6xppw"; + }; + + "SafetyWiFi - Teknologihuset" = { + psk = "tech4ever"; + }; + + "Selvaag Pluss" = { + psk = "detlilleekstra"; + }; + + "Langler" = { + psk = "Oslo2018"; + }; + + # Pils & Programmering + "BEKKguest" = { + psk = "guest7890"; + }; + + "Homan-Gjest" = { + psk = "haveaniceday"; + }; + + # Røverstaden + "Roverstaden" = { + psk = "r0verstaden2018"; + }; + + "The Brew Dock" = { + psk = "realbeer"; + }; + + "econ-guest" = { + psk = "Finance2010"; + }; + + "KabelBox-2FD0" = { + psk = "92433048597489095671"; + }; + + "TheKasbah" = { + psk = "couscous"; + }; + + # Kitty's misspelled network. + "How do I Computer?" = { + psk = "herpderpponies"; + }; + + # NixCon 2018 + "Coin Street Community Builders " = { + psk = "3vents2016"; + }; + + "KH2 Gjest" = { + psk = "haenfindag"; + }; + + # Forest & Brown + "Forest Guest" = { + psk = "437B99AC5B"; + }; + + "Gatwick FREE Wi-Fi" = {}; + "mycloud" = {}; + "Norwegian Internet Access" = {}; + "NSB_INTERAKTIV" = {}; + "The Thief" = {}; + "espressohouse" = {}; + "Gotanet Open" = {}; + "wifi.flytoget.no" = {}; + "AIRPORT" = {}; + "ilcaffelovesyou" = {}; + "WIFIonICE" = {}; + "Lorry Gjest" = {}; + "Amundsengjest" = {}; + "Beer Palace Gjest" = {}; + "ibis" = {}; + "GoogleGuest" = {}; + }; + }; + + hardware.bluetooth.enable = true; + + # Configure POSIX queue limits (for work) + systemd.tmpfiles.rules = let mqueue = "/proc/sys/fs/mqueue"; in [ + "w ${mqueue}/msgsize_max - - - - ${toString (64 * 1024)}" + "w ${mqueue}/msg_max - - - - 50" + ]; +} -- cgit 1.4.1