diff --git a/projects-old/Rosenpass/default.nix b/projects-old/Rosenpass/default.nix deleted file mode 100644 index df2f151fa..000000000 --- a/projects-old/Rosenpass/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - pkgs, - lib, - sources, -}@args: -{ - packages = { - inherit (pkgs) rosenpass rosenpass-tools; - }; - nixos = { - modules.services.rosenpass = "${sources.inputs.nixpkgs}/nixos/modules/services/networking/rosenpass.nix"; - tests.with-sops = import ./tests args; - tests.without-sops = "${sources.inputs.nixpkgs}/nixos/tests/rosenpass.nix"; - examples = null; - }; -} diff --git a/projects/Rosenpass/default.nix b/projects/Rosenpass/default.nix new file mode 100644 index 000000000..0b48df179 --- /dev/null +++ b/projects/Rosenpass/default.nix @@ -0,0 +1,55 @@ +{ + lib, + pkgs, + sources, +}@args: + +{ + metadata = { + summary = "Rosenpass is a formally verified, post-quantum secure VPN that uses WireGuard to transport the actual data."; + subgrants = [ + "Rosenpass" + "Rosenpass-API" + "Rosenpass-integration" + ]; + links = { + docs = { + text = "Rosenpass documentation"; + url = "https://rosenpass.eu/docs/"; + }; + docker = { + text = "Rosenpass in Docker"; + url = "https://github.com/rosenpass/rosenpass/blob/main/docker/USAGE.md"; + }; + build = { + text = "Build from source"; + url = "http://rosenpass.eu/docs/rosenpass-tool/compilation/#installation-via-binary-files"; + }; + }; + }; + + nixos.modules.programs = { + rosenpass = { + name = "rosenpass"; + module = ./programs/basic/module.nix; + examples.basic = { + module = ./programs/basic/examples/basic.nix; + description = ""; + tests.basic = null; + }; + }; + }; + + nixos.modules.services = { + rosenpass = { + name = "rosenpass"; + module = "${sources.inputs.nixpkgs}/nixos/modules/services/networking/rosenpass.nix"; + examples.basic = { + module = ./services/basic/examples/basic.nix; + description = ""; + tests.with-sops = import ./tests args; + tests.without-sops = "${sources.inputs.nixpkgs}/nixos/tests/rosenpass.nix"; + }; + }; + }; +} diff --git a/projects/Rosenpass/programs/basic/examples/basic.nix b/projects/Rosenpass/programs/basic/examples/basic.nix new file mode 100644 index 000000000..54dcb37d8 --- /dev/null +++ b/projects/Rosenpass/programs/basic/examples/basic.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + programs.rosenpass.enable = true; +} diff --git a/projects/Rosenpass/programs/basic/module.nix b/projects/Rosenpass/programs/basic/module.nix new file mode 100644 index 000000000..51dedecbc --- /dev/null +++ b/projects/Rosenpass/programs/basic/module.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.programs.rosenpass; +in +{ + options.programs.rosenpass = { + enable = lib.mkEnableOption "rosenpass"; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + rosenpass + rosenpass-tools + ]; + }; +} diff --git a/projects/Rosenpass/services/basic/examples/basic.nix b/projects/Rosenpass/services/basic/examples/basic.nix new file mode 100644 index 000000000..2559e83d7 --- /dev/null +++ b/projects/Rosenpass/services/basic/examples/basic.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + services.rosenpass.enable = true; +} diff --git a/projects-old/Rosenpass/tests/.sops.yaml b/projects/Rosenpass/tests/.sops.yaml similarity index 100% rename from projects-old/Rosenpass/tests/.sops.yaml rename to projects/Rosenpass/tests/.sops.yaml diff --git a/projects-old/Rosenpass/tests/client/pqpk.bin b/projects/Rosenpass/tests/client/pqpk.bin similarity index 100% rename from projects-old/Rosenpass/tests/client/pqpk.bin rename to projects/Rosenpass/tests/client/pqpk.bin diff --git a/projects-old/Rosenpass/tests/client/pqsk.yaml b/projects/Rosenpass/tests/client/pqsk.yaml similarity index 100% rename from projects-old/Rosenpass/tests/client/pqsk.yaml rename to projects/Rosenpass/tests/client/pqsk.yaml diff --git a/projects-old/Rosenpass/tests/client/sops.yaml b/projects/Rosenpass/tests/client/sops.yaml similarity index 100% rename from projects-old/Rosenpass/tests/client/sops.yaml rename to projects/Rosenpass/tests/client/sops.yaml diff --git a/projects-old/Rosenpass/tests/default.nix b/projects/Rosenpass/tests/default.nix similarity index 100% rename from projects-old/Rosenpass/tests/default.nix rename to projects/Rosenpass/tests/default.nix diff --git a/projects-old/Rosenpass/tests/keys.txt b/projects/Rosenpass/tests/keys.txt similarity index 100% rename from projects-old/Rosenpass/tests/keys.txt rename to projects/Rosenpass/tests/keys.txt diff --git a/projects-old/Rosenpass/tests/server/pqpk.bin b/projects/Rosenpass/tests/server/pqpk.bin similarity index 100% rename from projects-old/Rosenpass/tests/server/pqpk.bin rename to projects/Rosenpass/tests/server/pqpk.bin diff --git a/projects-old/Rosenpass/tests/server/pqsk.yaml b/projects/Rosenpass/tests/server/pqsk.yaml similarity index 100% rename from projects-old/Rosenpass/tests/server/pqsk.yaml rename to projects/Rosenpass/tests/server/pqsk.yaml diff --git a/projects-old/Rosenpass/tests/server/sops.yaml b/projects/Rosenpass/tests/server/sops.yaml similarity index 100% rename from projects-old/Rosenpass/tests/server/sops.yaml rename to projects/Rosenpass/tests/server/sops.yaml