From 280ad7013d4989f84abd3bf428e364ebb09f7add Mon Sep 17 00:00:00 2001 From: eyjhb Date: Tue, 13 Aug 2024 14:42:32 +0200 Subject: [PATCH] add service information to mine.shared.meta --- machines/gerd/services/forgejo/default.nix | 17 +++++++++++++++++ machines/gerd/services/hedgedoc.nix | 15 +++++++++++++++ machines/gerd/services/lldap.nix | 14 ++++++++++++++ machines/gerd/services/murmur.nix | 19 +++++++++++++++++++ machines/gerd/services/teeworlds.nix | 16 ++++++++++++++++ 5 files changed, 81 insertions(+) diff --git a/machines/gerd/services/forgejo/default.nix b/machines/gerd/services/forgejo/default.nix index 8374682..4630091 100644 --- a/machines/gerd/services/forgejo/default.nix +++ b/machines/gerd/services/forgejo/default.nix @@ -1,6 +1,23 @@ +{ config, ... }: + { imports = [ ./forgejo.nix ./auth_sources.nix ]; + + + mine.shared.meta.forgejo = { + name = "Forgejo"; + description = "We host our own Forgejo for hosting and managing your code! Login using your credentials."; + url = "https://${config.mine.shared.settings.forgejo.domain}"; + + package = let + pkg = config.services.forgejo.package; + in { + name = pkg.pname; + version = pkg.version; + meta = pkg.meta; + }; + }; } diff --git a/machines/gerd/services/hedgedoc.nix b/machines/gerd/services/hedgedoc.nix index 038a166..59dda07 100644 --- a/machines/gerd/services/hedgedoc.nix +++ b/machines/gerd/services/hedgedoc.nix @@ -47,4 +47,19 @@ in { enableACME = true; locations."/".proxyPass = "http://localhost:${builtins.toString config.services.hedgedoc.settings.port}"; }; + + + mine.shared.meta.hedgedoc = { + name = "Hedgedoc"; + description = "We host our own Hedgedoc for writing small documents, and sharing with others. Login using your credentials."; + url = "https://${svc_domain}"; + + package = let + pkg = config.services.hedgedoc.package; + in { + name = pkg.pname; + version = pkg.version; + meta = pkg.meta; + }; + }; } diff --git a/machines/gerd/services/lldap.nix b/machines/gerd/services/lldap.nix index 3f203fd..737e461 100644 --- a/machines/gerd/services/lldap.nix +++ b/machines/gerd/services/lldap.nix @@ -85,4 +85,18 @@ in { age_secret = config.age.secrets.lldap-bind-user-pass.path; }; + + mine.shared.meta.lldap = { + name = "LDAP"; + description = "We host our own LDAP server, you can use it to change your displayname, name, password, etc."; + url = "https://${svc_domain}"; + + package = let + pkg = config.services.lldap.package; + in { + name = pkg.pname; + version = pkg.version; + meta = pkg.meta; + }; + }; } diff --git a/machines/gerd/services/murmur.nix b/machines/gerd/services/murmur.nix index 1570157..9240a5b 100644 --- a/machines/gerd/services/murmur.nix +++ b/machines/gerd/services/murmur.nix @@ -26,12 +26,31 @@ in { # add murmur user to domain group to access cert users.groups.main-domain.members = [ config.users.groups.murmur.name ]; + # secrets age.secrets = { murmur-env.owner = config.users.users.murmur.name; murmur-superpassword.owner = config.users.users.murmur.name; }; + # persistence environment.persistence.root.directories = [ "/var/lib/murmur" ]; + + # meta information about the service. + mine.shared.meta.murmur = { + name = "Mumble"; + description = "We host our own mumble server at, which you're welcome to join. The password is {{secrets.MURMUR_PASSWORD}}."; + url = "mumble://${svc_domain}"; + + secrets.auth = config.age.secrets.murmur-env.path; + + package = let + pkg = config.services.murmur.package; + in { + name = pkg.pname; + version = pkg.version; + meta = pkg.meta; + }; + }; } diff --git a/machines/gerd/services/teeworlds.nix b/machines/gerd/services/teeworlds.nix index f39b94a..c5a6232 100644 --- a/machines/gerd/services/teeworlds.nix +++ b/machines/gerd/services/teeworlds.nix @@ -6,5 +6,21 @@ openPorts = true; motd = "Welcome to ${config.mine.shared.settings.domain}'s Teeworld server!"; + + password = "XHDThcZGjBW8W4UGZ7bwYVbgPErJobuv"; + }; + + mine.shared.meta.teeworlds = { + name = "Teeworlds"; + description = ''We host our own Teeworlds instance. Connect using `nix-shell -p teeworlds --run 'teeworlds "connect teeworlds.fricloud.dk"'`, the password is ${config.services.teeworlds.password}''; + url = ""; + + package = let + pkg = config.services.teeworlds.package; + in { + name = pkg.pname; + version = pkg.version; + meta = pkg.meta; + }; }; }