From b7cba0244358beb61aaab135cbe62c331ab6c900 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Thu, 13 Oct 2016 21:49:04 +0200
Subject: [PATCH] lib: don't define defaults that require config

---
 krebs/4lib/default.nix |  1 -
 krebs/4lib/types.nix   | 13 +------------
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/krebs/4lib/default.nix b/krebs/4lib/default.nix
index 3f224edd1..c40b9a868 100644
--- a/krebs/4lib/default.nix
+++ b/krebs/4lib/default.nix
@@ -19,7 +19,6 @@ let out = lib // rec {
       ]));
 
   types = import ./types.nix {
-    inherit config;
     lib = lib // { inherit genid optionalTrace; };
   };
 
diff --git a/krebs/4lib/types.nix b/krebs/4lib/types.nix
index 02ca2b8db..8d6ace2e5 100644
--- a/krebs/4lib/types.nix
+++ b/krebs/4lib/types.nix
@@ -1,14 +1,9 @@
-{ config, lib, ... }:
+{ lib, ... }:
 
 with builtins;
 with lib;
 with types;
 
-let
-  # Inherited attributes are used in submodules that have their own `config`.
-  inherit (config.krebs) build users;
-in
-
 types // rec {
 
   host = submodule ({ config, ... }: {
@@ -27,7 +22,6 @@ types // rec {
 
       owner = mkOption {
         type = user;
-        default = users.krebs;
       };
 
       extraZones = mkOption {
@@ -49,10 +43,6 @@ types // rec {
       ssh.pubkey = mkOption {
         type = nullOr ssh-pubkey;
         default = null;
-        apply = x:
-          optionalTrace (x == null && config.owner.name == build.user.name)
-            "The option `krebs.hosts.${config.name}.ssh.pubkey' is unused."
-            x;
       };
       ssh.privkey = mkOption {
         type = nullOr ssh-privkey;
@@ -187,7 +177,6 @@ types // rec {
       };
       owner = mkOption {
         type = user;
-        default = users.root;
       };
       group-name = mkOption {
         type = str;