feat: Added jellyfin for shiro

This commit is contained in:
uttarayan21
2025-06-13 21:46:40 +05:30
parent 4708f79799
commit 7b87c7071f
4 changed files with 47 additions and 38 deletions

View File

@@ -1,13 +1,13 @@
{...}: { {...}: {
# imports = [../../../modules/jellyfin.nix]; imports = [../../../modules/macos/jellyfin.nix];
# services = { services = {
# jellyfin = { jellyfin = {
# enable = false; enable = true;
# }; };
# # caddy = { # caddy = {
# # virtualHosts."media.darksailor.dev".extraConfig = '' # virtualHosts."media.darksailor.dev".extraConfig = ''
# # reverse_proxy localhost:8096 # reverse_proxy localhost:8096
# # ''; # '';
# # };
# }; # };
};
} }

View File

@@ -1,4 +1,10 @@
{pkgs, ...}: { {pkgs, ...}: let
mkScript = scriptFile: deps: (pkgs.writeShellApplication {
runtimeInputs = deps;
name = builtins.baseNameOf scriptFile;
text = builtins.readFile scriptFile;
});
in {
home.packages = [ home.packages = [
(pkgs.writeShellApplication (pkgs.writeShellApplication
{ {
@@ -26,5 +32,7 @@
exec $EDITOR "$1" exec $EDITOR "$1"
''; '';
}) })
(mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
(mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
]; ];
} }

View File

@@ -37,39 +37,40 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
users.users.jellyfin = { # users.users.jellyfin = {
name = "jellyfin"; # name = "jellyfin";
uid = mkDefault 601; # uid = mkDefault 601;
gid = mkDefault config.users.groups.jellyfin.gid; # gid = mkDefault config.users.groups.jellyfin.gid;
home = cfg.dataDir; # home = cfg.dataDir;
createHome = true; # createHome = true;
shell = "/bin/bash"; # shell = "/bin/bash";
description = "Jellyfin runner user account"; # description = "Jellyfin runner user account";
}; # };
users.groups.jellyfin = { # users.groups.jellyfin = {
name = "jellyfin"; # name = "jellyfin";
gid = mkDefault 602; # gid = mkDefault 602;
description = "Jellyfin runner group"; # description = "Jellyfin runner group";
}; # };
environment.systemPackages = [cfg.package]; environment.systemPackages = [cfg.package];
launchd.daemons.jellyfin = { launchd.daemons.jellyfin = {
environment = { # environment = {
HOME = cfg.dataDir; # HOME = cfg.dataDir;
}; # };
path = [cfg.package pkgs.coreutils pkgs.darwin.DarwinTools]; path = [cfg.package pkgs.coreutils pkgs.darwin.DarwinTools];
command = "${lib.getExe cfg.package}"; command = "${lib.getExe cfg.package}";
serviceConfig = { serviceConfig = {
UserName = "servius";
# ProcessType = "Background"; # ProcessType = "Background";
Label = "org.jellyfin.server"; # Label = "org.jellyfin.server";
RunAtLoad = true; # RunAtLoad = true;
# KeepAlive = true; KeepAlive = true;
UserName = "${config.users.users.jellyfin.name}"; # UserName = "${config.users.users.jellyfin.name}";
GroupName = "${config.users.groups.jellyfin.name}"; # GroupName = "${config.users.groups.jellyfin.name}";
StandardOutPath = "${cfg.dataDir}/log/jellyfin.log"; # StandardOutPath = "${cfg.dataDir}/log/jellyfin.log";
StandardErrorPath = "${cfg.dataDir}/log/jellyfin.error.log"; # StandardErrorPath = "${cfg.dataDir}/log/jellyfin.error.log";
WorkingDirectory = cfg.dataDir; # WorkingDirectory = cfg.dataDir;
}; };
}; };
}; };

View File

@@ -1,2 +1,2 @@
#!/bin/bash #!/bin/bash
yt-dlp --proxy socks5://127.0.0.1:1080 $@ yt-dlp --proxy socks5://127.0.0.1:1080 "$@"