Compare commits
3 Commits
eb191a911a
...
3d5c00f741
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d5c00f741 | ||
|
|
9f37b19502 | ||
|
|
7bca2c9135 |
@@ -28,6 +28,23 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"10-cameras-public" = {
|
||||||
|
"/mnt/cameras/public" = {
|
||||||
|
d = {
|
||||||
|
# Create directory
|
||||||
|
user = "storage";
|
||||||
|
group = "storage";
|
||||||
|
mode = "2775";
|
||||||
|
};
|
||||||
|
z = {
|
||||||
|
# Ensure permissions are inherited
|
||||||
|
user = "storage";
|
||||||
|
group = "storage";
|
||||||
|
mode = "2775";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostId = "0a9474e7"; # Required by ZFS
|
networking.hostId = "0a9474e7"; # Required by ZFS
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ in
|
|||||||
|
|
||||||
transmission.enable = true;
|
transmission.enable = true;
|
||||||
audiobookshelf.enable = true;
|
audiobookshelf.enable = true;
|
||||||
|
jellyfin.enable = true;
|
||||||
|
immich.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
35
hosts/manatee/modules/immich/default.nix
Normal file
35
hosts/manatee/modules/immich/default.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
enabled = config.mod.immich.enable;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
mod.immich = {
|
||||||
|
enable = lib.mkEnableOption "Enable immich module";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf enabled {
|
||||||
|
users.users.immich = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "storage";
|
||||||
|
|
||||||
|
extraGroups = [
|
||||||
|
"render"
|
||||||
|
"video"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.immich = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
user = "immich";
|
||||||
|
group = "storage";
|
||||||
|
|
||||||
|
host = "0.0.0.0";
|
||||||
|
|
||||||
|
mediaLocation = "/mnt/cameras/public";
|
||||||
|
accelerationDevices = [ "/dev/dri/renderD128" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,20 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
enabled = config.mod.jellyfin.enable;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
mod.jellyfin = {
|
||||||
|
enable = lib.mkEnableOption "Enable jellyfin module";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf enabled {
|
||||||
users.users.jellyfin = {
|
users.users.jellyfin = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "storage";
|
group = "storage";
|
||||||
@@ -36,4 +51,5 @@
|
|||||||
pkgs.jellyfin-web
|
pkgs.jellyfin-web
|
||||||
pkgs.jellyfin-ffmpeg
|
pkgs.jellyfin-ffmpeg
|
||||||
];
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user