From eec1a9c66aa96dd38cc0bd1aa614c3d6d5f4e7a6 Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Sat, 26 Apr 2025 16:27:13 +0100 Subject: [PATCH] feat: added media module --- hosts/architect/default.nix | 26 ++++++++++++++++++-------- modules/core/default.nix | 5 +++++ modules/core/media.nix | 27 +++++++++++++++++++++++++++ modules/default.nix | 5 ++++- 4 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 modules/core/default.nix create mode 100644 modules/core/media.nix diff --git a/hosts/architect/default.nix b/hosts/architect/default.nix index 26b4bcc..207b437 100644 --- a/hosts/architect/default.nix +++ b/hosts/architect/default.nix @@ -151,15 +151,25 @@ in smartd.enable = true; }; - pepe.services = { - gitea = { - enable = true; - domain = "git.giugl.io"; + pepe = { + core = { + media = { + enable = true; + path = "/media"; + }; }; - immich = { - enable = true; - domain = "photos.giugl.io"; - package = pkgs.unstablePkgs.immich; + + services = { + gitea = { + enable = true; + domain = "git.giugl.io"; + }; + + immich = { + enable = true; + domain = "photos.giugl.io"; + package = pkgs.unstablePkgs.immich; + }; }; }; } diff --git a/modules/core/default.nix b/modules/core/default.nix new file mode 100644 index 0000000..ea5f08c --- /dev/null +++ b/modules/core/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./media.nix + ]; +} diff --git a/modules/core/media.nix b/modules/core/media.nix new file mode 100644 index 0000000..1e76498 --- /dev/null +++ b/modules/core/media.nix @@ -0,0 +1,27 @@ +{ config, lib, ... }: + +let + cfg = config.pepe.core.media; +in +{ + options.pepe.core.media = with lib; { + enable = mkEnableOption "Enable media library"; + group = mkOption { + type = types.str; + default = "media"; + }; + path = mkOption { + type = types.str; + default = null; + }; + groupMembers = mkOption { + type = types.listOf types.str; + default = []; + }; + }; + + config = lib.mkIf cfg.enable { + users.groups.${cfg.group}.members = [ cfg.group ] ++ cfg.groupMembers; + }; +} + diff --git a/modules/default.nix b/modules/default.nix index 0d7bbef..c8f7477 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,4 +1,7 @@ { ... }: { - imports = [ ./services ]; + imports = [ + ./services + ./core + ]; }