about summary refs log tree commit diff
path: root/machines/default.nix
blob: 13cf8f6e5c181239c77e5df30f7397ce99529466 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ system ? builtins.currentSystem, ... }:

let
  callMachine = import ../lib/call-machine.nix;
  callMachines = path: args: let
    machines = import path;
  in with builtins; listToAttrs (map (name: {
    inherit name;
    value = callMachine machines.${name} ({
      extraConfig = { lib, ... }: {
        imports = lib.singleton (args.extraConfig or {});
        networking.hostName = lib.mkOverride 900 name;
      };
    } // removeAttrs args [ "extraConfig" ]);
  }) (attrNames machines));
  nixpkgs = import (import ../nixpkgs-path.nix) {};
in {
  aszlig = {
    dnyarri   = callMachine ./aszlig/dnyarri.nix {};
    mmrnmhrm  = callMachine ./aszlig/mmrnmhrm.nix {};
    arilou    = callMachine ./aszlig/arilou.nix {};
    kzerza    = callMachine ./aszlig/kzerza.nix {};
    tishtushi = callMachine ./aszlig/tishtushi.nix {};
    managed = {
      notsure = callMachine ./aszlig/managed/notsure.nix {};
      tyree   = callMachine ./aszlig/managed/tyree.nix {};
    };
  };
  labnet = {
    labtops = callMachines ./labnet/labtop.nix {
      extraConfig.vuizvui.user.openlab.labtops.enable = true;
    };
  };
  profpatsch = {
    katara = callMachine ./profpatsch/katara.nix {};
  };
  misc = {
    mailserver = callMachine ./misc/mailserver.nix {};
  };
  sternenseemann = {
    fliewatuet = callMachine ./sternenseemann/fliewatuet.nix {};
  };
}