diff options
Diffstat (limited to 'ops/nixos/default.nix')
-rw-r--r-- | ops/nixos/default.nix | 53 |
1 files changed, 10 insertions, 43 deletions
diff --git a/ops/nixos/default.nix b/ops/nixos/default.nix index c73a1ac73403..02a42425fdc6 100644 --- a/ops/nixos/default.nix +++ b/ops/nixos/default.nix @@ -1,48 +1,15 @@ { pkgs, ... }: let - inherit (pkgs) third_party lib; - configuration = rec { - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.cleanTmpDir = true; - hardware.pulseaudio.enable = true; - hardware.cpu.intel.updateMicrocode = true; - time.timeZone = "Europe/London"; - - networking = { - # Don't use ISP's DNS servers: - nameservers = [ - "8.8.8.8" - "8.8.4.4" - ]; - - # Open Chromecast-related ports & servedir - firewall.allowedTCPPorts = [ 3000 5556 5558 ]; - }; - - # Generate an immutable /etc/resolv.conf from the nameserver settings - # above (otherwise DHCP overwrites it): - environment.etc."resolv.conf" = with lib; with pkgs; { - source = writeText "resolv.conf" '' - ${concatStringsSep "\n" (map (ns: "nameserver ${ns}") networking.nameservers)} - options edns0 - ''; - }; - - nixpkgs.config.allowUnfree = true; - }; - - # Desktop at home - stallo = { - networking.hostName = "stallo"; - services.xserver.videoDrivers = [ "nvidia" ]; - boot.initrd.luks.devices.stallo-luks.device = "/dev/disk/by-uuid/b484cf1e-a27b-4785-8bd6-fa85a004b073"; - - fileSystems."/".device = "/dev/disk/by-label/stallo-root"; - }; + inherit (pkgs) lib; + inherit (builtins) foldl'; + + systemFor = configs: (pkgs.third_party.nixos { + configuration = lib.fix(config: + foldl' lib.recursiveUpdate {} (map (c: c config) configs) + ); + }).system; in { - stallo = third_party.nixos { - configuration = lib.recursiveUpdate configuration stallo; - }; + # TODO(tazjin): rename 'pkgs' -> 'depot'? + nuggetSystem = systemFor [ pkgs.ops.nixos.nugget ]; } |