From 505db4048338db9a5115526054b79e20fde7b25a Mon Sep 17 00:00:00 2001 From: Alexander Kassouni Date: Fri, 25 Sep 2026 22:40:15 -0700 Subject: options, git --- options.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 options.nix (limited to 'options.nix') diff --git a/options.nix b/options.nix new file mode 100644 index 0000000..ad62721 --- /dev/null +++ b/options.nix @@ -0,0 +1,29 @@ +{config, lib, ...}: let + alex = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGBmhTnNG0ym84RJzbIcDCwGmPFVaFPkSYiUtNQrrnV6"; +in { + options.my = { + adminKeys = lib.mkOption { + type = with lib.types; listOf singleLineStr; + description = '' + Keys granted an interactive shell in the wheel group, i.e. root by way + of sudo. Only add a key you would trust with the whole machine. + ''; + }; + + gitKeys = lib.mkOption { + type = with lib.types; listOf singleLineStr; + description = '' + Keys granted git-shell access to the repositories under /srv/git. + No interactive shell and no sudo, so this is the list to grow when + someone needs to push. + ''; + }; + }; + + config.my = { + adminKeys = [ alex ]; + + # Admins push too; collaborator keys belong here and nowhere else. + gitKeys = config.my.adminKeys; + }; +} -- cgit v1.3.1