aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-25 17:56:10 +0100
committerMx Kookie <kookie@spacekookie.de>2020-12-25 17:56:10 +0100
commit705a7e67fab9a1f0ecca92084d54acd0bc4c8b89 (patch)
treee1618a4a6ea417873d1e95d03b49865070757643
parent2757a4e9d5cd44b1d0ef6f9faf4e00f2d332ea4a (diff)
libkookie: harness: add ability to load ssh public keys
-rw-r--r--infra/libkookie/configuration/users/spacekookie/default.nix6
-rw-r--r--infra/libkookie/modules/harness/users.nix6
2 files changed, 9 insertions, 3 deletions
diff --git a/infra/libkookie/configuration/users/spacekookie/default.nix b/infra/libkookie/configuration/users/spacekookie/default.nix
index 5db2e19a7e8a..01eea96fa4be 100644
--- a/infra/libkookie/configuration/users/spacekookie/default.nix
+++ b/infra/libkookie/configuration/users/spacekookie/default.nix
@@ -10,4 +10,10 @@
extraGroups = [ "wheel" "dialout" ];
shell = lib.mkDefault pkgs.fish;
};
+
+ pubkeys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBdIsXiaE3YLuqekTg8Xq65n1GUX5IQc8/FKMrbCsCWY" # tempest
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBALMtai+K3wBvpSf9ntuBH1GNte7quhIA4/ZWKlvF0A" # uwu
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICPQ7alBckvMjRL/Tp38dSkZDTR/cLHRcJPwhP5+/fdM" # qq
+ ];
}
diff --git a/infra/libkookie/modules/harness/users.nix b/infra/libkookie/modules/harness/users.nix
index 525c7d6ead2a..6586e7b0dea0 100644
--- a/infra/libkookie/modules/harness/users.nix
+++ b/infra/libkookie/modules/harness/users.nix
@@ -7,7 +7,7 @@ let
options = {
name = mkOption { type = str; description = "The name of the user"; };
cfg = mkOption { description = "The user configuration"; };
- pubkeys = mkOption { type = listOf path;
+ pubkeys = mkOption { type = listOf str;
default = [];
description = "Set of ssh public keys to include"; };
};
@@ -28,9 +28,9 @@ in
config = {
users.mutableUsers = false;
- users.users = builtins.listToAttrs (map ({ name, cfg, ... }:
+ users.users = builtins.listToAttrs (map ({ name, cfg, pubkeys }:
nameValuePair "${name}"
- (cfg // { group = "${name}"; })) config.libkookie.activeUsers);
+ (cfg // { group = "${name}"; openssh.authorizedKeys.keys = pubkeys; })) config.libkookie.activeUsers);
users.groups = builtins.listToAttrs (map ({ name, ... }:
nameValuePair "${name}" {}) config.libkookie.activeUsers);