From 4afd9910e9e51d4aca04847e083a4caa52353e1f Mon Sep 17 00:00:00 2001 From: DavHau Date: Wed, 30 Aug 2023 15:24:33 +0200 Subject: [PATCH] Revert "rename clanCore to clan.core" This reverts commit fef796fa6e27036c4a7dfdb2a2aaec1cff18544f. --- flake.nix | 2 +- flakeModules/clan-config.nix | 8 ++++---- .../{core => clanCore}/flake-module.nix | 4 ++-- .../{core => clanCore}/secrets/default.nix | 4 ++-- .../{core => clanCore}/secrets/sops.nix | 20 +++++++++---------- nixosModules/{core => clanCore}/zerotier.nix | 4 ++-- pkgs/clan-cli/clan_cli/secrets/generate.py | 2 +- 7 files changed, 22 insertions(+), 22 deletions(-) rename nixosModules/{core => clanCore}/flake-module.nix (91%) rename nixosModules/{core => clanCore}/secrets/default.nix (92%) rename nixosModules/{core => clanCore}/secrets/sops.nix (70%) rename nixosModules/{core => clanCore}/zerotier.nix (95%) diff --git a/flake.nix b/flake.nix index 4b908bdd..79119ed3 100644 --- a/flake.nix +++ b/flake.nix @@ -37,7 +37,7 @@ ./lib/flake-module.nix ./nixosModules/flake-module.nix - ./nixosModules/core/flake-module.nix + ./nixosModules/clanCore/flake-module.nix ]; }); } diff --git a/flakeModules/clan-config.nix b/flakeModules/clan-config.nix index 2d1cd5c8..236d2259 100644 --- a/flakeModules/clan-config.nix +++ b/flakeModules/clan-config.nix @@ -1,4 +1,4 @@ -{ ... } @ core: { +{ ... } @ clanCore: { flake.flakeModules.clan-config = { self, inputs, ... }: let @@ -29,12 +29,12 @@ perSystem = { pkgs, ... }: { devShells.clan-config = pkgs.mkShell { packages = [ - core.config.flake.packages.${pkgs.system}.clan-cli + clanCore.config.flake.packages.${pkgs.system}.clan-cli ]; shellHook = '' export CLAN_OPTIONS_FILE=$(nix eval --raw .#clanOptions) - export XDG_DATA_DIRS="${core.config.flake.packages.${pkgs.system}.clan-cli}/share''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" - export fish_complete_path="${core.config.flake.packages.${pkgs.system}.clan-cli}/share/fish/vendor_completions.d''${fish_complete_path:+:$fish_complete_path}" + export XDG_DATA_DIRS="${clanCore.config.flake.packages.${pkgs.system}.clan-cli}/share''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + export fish_complete_path="${clanCore.config.flake.packages.${pkgs.system}.clan-cli}/share/fish/vendor_completions.d''${fish_complete_path:+:$fish_complete_path}" ''; }; }; diff --git a/nixosModules/core/flake-module.nix b/nixosModules/clanCore/flake-module.nix similarity index 91% rename from nixosModules/core/flake-module.nix rename to nixosModules/clanCore/flake-module.nix index 55648bf6..da8fa0e6 100644 --- a/nixosModules/core/flake-module.nix +++ b/nixosModules/clanCore/flake-module.nix @@ -1,6 +1,6 @@ { self, inputs, lib, ... }: { - flake.nixosModules.clan.core = { pkgs, ... }: { - options.clan.core = { + flake.nixosModules.clanCore = { pkgs, ... }: { + options.clanCore = { clanDir = lib.mkOption { type = lib.types.str; description = '' diff --git a/nixosModules/core/secrets/default.nix b/nixosModules/clanCore/secrets/default.nix similarity index 92% rename from nixosModules/core/secrets/default.nix rename to nixosModules/clanCore/secrets/default.nix index 1660de63..f1128a32 100644 --- a/nixosModules/core/secrets/default.nix +++ b/nixosModules/clanCore/secrets/default.nix @@ -1,6 +1,6 @@ { config, lib, ... }: { - options.clan.core.secrets = lib.mkOption { + options.clanCore.secrets = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule (secret: { options = { @@ -49,7 +49,7 @@ description = '' path to a fact which is generated by the generator ''; - default = "${config.clan.core.clanDir}/facts/${config.clan.core.machineName}/${fact.config._module.args.name}"; + default = "${config.clanCore.clanDir}/facts/${config.clanCore.machineName}/${fact.config._module.args.name}"; }; value = lib.mkOption { default = builtins.readFile fact.config.path; diff --git a/nixosModules/core/secrets/sops.nix b/nixosModules/clanCore/secrets/sops.nix similarity index 70% rename from nixosModules/core/secrets/sops.nix rename to nixosModules/clanCore/secrets/sops.nix index cc0507d5..7df0b31d 100644 --- a/nixosModules/core/secrets/sops.nix +++ b/nixosModules/clanCore/secrets/sops.nix @@ -7,24 +7,24 @@ set -x # remove for prod PATH=$PATH:${lib.makeBinPath [ - config.clan.core.clanPkgs.clan-cli + config.clanCore.clanPkgs.clan-cli ]} # initialize secret store - if ! clan secrets machines list | grep -q ${config.clan.core.machineName}; then ( + if ! clan secrets machines list | grep -q ${config.clanCore.machineName}; then ( INITTMP=$(mktemp -d) trap 'rm -rf "$INITTMP"' EXIT ${pkgs.age}/bin/age-keygen -o "$INITTMP/secret" 2> "$INITTMP/public" PUBKEY=$(cat "$INITTMP/public" | sed 's/.*: //') - clan secrets machines add ${config.clan.core.machineName} "$PUBKEY" - tail -1 "$INITTMP/secret" | clan secrets set --machine ${config.clan.core.machineName} ${config.clan.core.machineName}-age.key + clan secrets machines add ${config.clanCore.machineName} "$PUBKEY" + tail -1 "$INITTMP/secret" | clan secrets set --machine ${config.clanCore.machineName} ${config.clanCore.machineName}-age.key ) fi ${lib.foldlAttrs (acc: n: v: '' ${acc} # ${n} # if any of the secrets are missing, we regenerate all connected facts/secrets - (if ! ${lib.concatMapStringsSep " && " (x: "clan secrets get ${config.clan.core.machineName}-${x.name} >/dev/null") (lib.attrValues v.secrets)}; then + (if ! ${lib.concatMapStringsSep " && " (x: "clan secrets get ${config.clanCore.machineName}-${x.name} >/dev/null") (lib.attrValues v.secrets)}; then facts=$(mktemp -d) trap "rm -rf $facts" EXIT @@ -38,24 +38,24 @@ '') (lib.attrValues v.facts)} ${lib.concatMapStrings (secret: '' - cat "$secrets"/${secret.name} | clan secrets set --machine ${config.clan.core.machineName} ${config.clan.core.machineName}-${secret.name} + cat "$secrets"/${secret.name} | clan secrets set --machine ${config.clanCore.machineName} ${config.clanCore.machineName}-${secret.name} '') (lib.attrValues v.secrets)} fi) - '') "" config.clan.core.secrets} + '') "" config.clanCore.secrets} ''; sops.secrets = let encryptedForThisMachine = name: type: let - symlink = config.clan.core.clanDir + "/sops/secrets/${name}/machines/${config.clan.core.machineName}"; + symlink = config.clanCore.clanDir + "/sops/secrets/${name}/machines/${config.clanCore.machineName}"; in # WTF, nix bug, my symlink is in the nixos module detected as a directory also it works in the repl type == "directory" && (builtins.readFileType symlink == "directory" || builtins.readFileType symlink == "symlink"); - secrets = lib.filterAttrs encryptedForThisMachine (builtins.readDir (config.clan.core.clanDir + "/sops/secrets")); + secrets = lib.filterAttrs encryptedForThisMachine (builtins.readDir (config.clanCore.clanDir + "/sops/secrets")); in builtins.mapAttrs (name: _: { - sopsFile = config.clan.core.clanDir + "/sops/secrets/${name}/secret"; + sopsFile = config.clanCore.clanDir + "/sops/secrets/${name}/secret"; format = "binary"; }) secrets; diff --git a/nixosModules/core/zerotier.nix b/nixosModules/clanCore/zerotier.nix similarity index 95% rename from nixosModules/core/zerotier.nix rename to nixosModules/clanCore/zerotier.nix index 67b9b6fe..452294d9 100644 --- a/nixosModules/core/zerotier.nix +++ b/nixosModules/clanCore/zerotier.nix @@ -41,13 +41,13 @@ in } // lib.mkIf cfg.controller.enable { # only the controller needs to have the key in the repo, the other clients can be dynamic # we generate the zerotier code manually for the controller, since it's part of the bootstrap command - clan.core.secrets.zerotier = { + clanCore.secrets.zerotier = { facts."network.id" = { }; secrets."identity.secret" = { }; generator = '' TMPDIR=$(mktemp -d) trap 'rm -rf "$TMPDIR"' EXIT - ${config.clan.core.clanPkgs.clan-cli}/bin/clan zerotier --outpath "$TMPDIR" + ${config.clanCore.clanPkgs.clan-cli}/bin/clan zerotier --outpath "$TMPDIR" cp "$TMPDIR"/network.id "$facts"/network.id cp "$TMPDIR"/identity.secret "$secrets"/identity.secret ''; diff --git a/pkgs/clan-cli/clan_cli/secrets/generate.py b/pkgs/clan-cli/clan_cli/secrets/generate.py index 01499db0..0b01a8c8 100644 --- a/pkgs/clan-cli/clan_cli/secrets/generate.py +++ b/pkgs/clan-cli/clan_cli/secrets/generate.py @@ -15,7 +15,7 @@ def get_secret_script(machine: str) -> None: "--expr", "let f = builtins.getFlake (toString ./.); in " f"(f.nixosConfigurations.{machine}.extendModules " - "{ modules = [{ clan.core.clanDir = toString ./.; }]; })" + "{ modules = [{ clanCore.clanDir = toString ./.; }]; })" ".config.system.clan.generateSecrets", ], check=True,