From f9a5581410b32aa6ce2ac155193560f30a7702d7 Mon Sep 17 00:00:00 2001 From: chn Date: Thu, 28 Sep 2023 23:35:25 +0800 Subject: [PATCH] add beesd --- flake.nix | 1 + modules/services/beesd.nix | 20 ++++++++++++++++++++ modules/services/default.nix | 1 + secrets/vps6.yaml | 5 +++-- 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 modules/services/beesd.nix diff --git a/flake.nix b/flake.nix index 9c17b872..047798e1 100644 --- a/flake.nix +++ b/flake.nix @@ -215,6 +215,7 @@ nginx = { enable = true; transparentProxy.externalIp = [ "192.168.82.3" ]; }; misskey = { enable = true; hostname = "xn--qbtm095lrg0bfka60z.chn.moe"; }; misskey-proxy."xn--qbtm095lrg0bfka60z.chn.moe" = {}; + beesd = { enable = true; instances.root = "/dev/mapper/root"; }; }; bugs = [ diff --git a/modules/services/beesd.nix b/modules/services/beesd.nix new file mode 100644 index 00000000..70c5b7f7 --- /dev/null +++ b/modules/services/beesd.nix @@ -0,0 +1,20 @@ +inputs: +{ + options.nixos.services.beesd = let inherit (inputs.lib) mkOption types; in + { + enable = mkOption { type = types.bool; default = false; }; + instances = mkOption { type = types.attrsOf types.string; default = {}; }; + }; + config = + let + inherit (inputs.config.nixos.services) beesd; + inherit (inputs.lib) mkIf; + inherit (builtins) map listToAttrs; + inherit (inputs.localLib) attrsToList; + in mkIf beesd.enable + { + services.beesd.filesystems = listToAttrs (map + (instance: { inherit (instance) name; value.spec = instance.value; }) + (attrsToList beesd.instances)); + }; +} diff --git a/modules/services/default.nix b/modules/services/default.nix index f96ac65f..ccf9dc7f 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -19,6 +19,7 @@ inputs: ./sshd.nix ./vaultwarden.nix ./frp.nix + ./beesd.nix ]; options.nixos.services = let inherit (inputs.lib) mkOption types; in { diff --git a/secrets/vps6.yaml b/secrets/vps6.yaml index 059212ea..a60fdf67 100644 --- a/secrets/vps6.yaml +++ b/secrets/vps6.yaml @@ -22,6 +22,7 @@ xray-server: user7: ENC[AES256_GCM,data:7rxvmKbtYrDKBlo8kZIfd86KLd9EcSWB0ikasIRqfCZ24W0h,iv:Uplz4fnFymmBVZ9YTniHFFY3EVSrTYsg1+CTFqBu1WY=,tag:l3EPeYRHSeRsCyRhqFRrEg==,type:str] #ENC[AES256_GCM,data:8FxApg==,iv:vPa5p3QVHAvw+ECusWGqx1ugTcHh42CVFDQcMhG59wM=,tag:lHiZtydcYFBQiXnWh8pCrw==,type:comment] user8: ENC[AES256_GCM,data:FNT3hHMwPJu3iI1LuOP1KvsoOonh+J/ecrNrRQO5TpunDPUq,iv:tTEB0MSUmQ39tNq9v1BTfaEcJY7Y59CPHRASMC1a4U8=,tag:klDm6Isk52hG8ubcFu6yHA==,type:str] + #ENC[AES256_GCM,data:QdaYYH3RGJ4qIg==,iv:79NBTEKCPtgVVv3G7wg+vdoLOWxc+bdqT1lF4HJpTC8=,tag:8mRFGjy7lBrdyGyX9vaSOQ==,type:comment] user9: ENC[AES256_GCM,data:4BD/4MXAVLhDm3EXdgTiEgPketf0WgflVPGb3/JMWXfycEKY,iv:jwE5sFVxZjORwoqCBdufP2EhetVtFGHyCP58AzJwle0=,tag:OCteA20hDBLI9zt1ET0tUQ==,type:str] user10: ENC[AES256_GCM,data:d9qxJQH9Jo8gJKUi5jjSdVwqzuHG+dj08Tk+TxhczJmlSaFT,iv:DS+9isZX2B9AYAyV4Yle4fpHzA/SHcR56B/GW8QdALw=,tag:9nUQ0OuMCuXGSZs2kjfnIQ==,type:str] user11: ENC[AES256_GCM,data:RPIH0DudfPJwPsa0yFLNqUy2EMwQh1bIqkmhCfteVTkUQGWP,iv:NH0aGTZ6nVqz2nn+o1HQS0PKpqHTBMkAhy0oFeyX/8k=,tag:kgd5zkHXW+oxRFC9x2VTUg==,type:str] @@ -86,8 +87,8 @@ sops: ZXFTU3ZCaW1pTVh0RUJzdDdGdHlPYTgK2mlgcX2kEc8+2UDdBnhUm6IIuh8V6agW ooxH9OEPXUVI/4JcDo4v8ZUhAyU1ehLH0Ef7PJCChOZe2KZmWSNbhA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-09-03T08:50:37Z" - mac: ENC[AES256_GCM,data:+w04X4hdgiBO3VpCI5tM2h+X13m3QOQeMdcmKGavqBoC9S+jx9dOoy2H9FdhjyYN/dkhglFqG5LMnHqEsdLGSwSxUsJDmHMm3MvFLJYIybvanNB+Gxb9+ooBNpC/e+d1iLg85mAUTXhLlezw5gaRHtwiQ4llOXZesE+c+Wnbbws=,iv:mM5lw8pFJoqYvz8uIi+oTqJFyIHq6HjspYTaEJp2xzY=,tag:9AqRnzwUxIV/ClJATxz95g==,type:str] + lastmodified: "2023-09-28T10:44:46Z" + mac: ENC[AES256_GCM,data:1NUScKsMkEl8gcoz8YXVNMX8DHsICX+cdc2DslmZujrNENs32NOyTA/k6JvZvyK/ApEAfqoIBR0dOSbTjtbtQ6jsLeKMLZRyas2rIaAIIM2Tw0hK5F+MVFRkkx2z7LodL4Dk/kPmIa3A6zdBGJ2N/kM9tTTIMMCkPj+6zVfGD9s=,iv:9BkQpOf2iu39gQvF3NR3ZWMakXPiBzfUmYC4vC9AwSE=,tag:jcc362b2QXGnGgjztVxPOg==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.7.3