Compare commits

..

2 commits

Author SHA1 Message Date
Snorre d06ccea420 test
Some checks failed
Run tests / run_tests (push) Failing after 59s
2025-04-06 05:26:36 +02:00
Snorre 5b188064a7 stuff 2025-04-06 03:34:04 +02:00
2 changed files with 30 additions and 20 deletions

View file

@ -68,11 +68,11 @@ in {
file = "network.xml"; file = "network.xml";
content = cfg.network; content = cfg.network;
} }
# { {
# name = "EncodingOptions"; name = "EncodingOptions";
# file = "encoding.xml"; file = "encoding.xml";
# content = cfg.encoding; content = cfg.encoding;
# } }
{ {
name = "ServerConfiguration"; name = "ServerConfiguration";
file = "system.xml"; file = "system.xml";
@ -96,7 +96,8 @@ in {
# VALUES(${user.})" # VALUES(${user.})"
genUser = index: user: let genUser = index: user: let
values = values =
builtins.mapAttrs (name: value: builtins.mapAttrs
(name: value:
if (isBool value) if (isBool value)
then then
if value if value
@ -126,9 +127,11 @@ in {
if [ -n $(${sq} "SELECT 1 FROM Users WHERE Username = '${user.Username}'") ]; then if [ -n $(${sq} "SELECT 1 FROM Users WHERE Username = '${user.Username}'") ]; then
# Create user # Create user
${sq} "INSERT INTO Users (${concatStringsSep "," ${sq} "INSERT INTO Users (${concatStringsSep ","
(builtins.filter (x: x != "HashedPasswordFile") (
builtins.filter (x: x != "HashedPasswordFile")
(lib.attrsets.mapAttrsToList (name: value: "${name}") (lib.attrsets.mapAttrsToList (name: value: "${name}")
options.services.declarative-jellyfin.Users.options))}) \\ options.services.declarative-jellyfin.Users.options)
)}) \\
VALUES(${builtins.attrValues values})" VALUES(${builtins.attrValues values})"
fi fi
''; '';
@ -139,11 +142,14 @@ in {
'' ''
mkdir -p ${path} mkdir -p ${path}
# Make sure there is a database # Make sure there is a database
if [ -z "${path}/${dbname}" ] && cp ${defaultDB} "${path}/${dbname}" if [ -z "${path}/${dbname}" ]; then
cp ${defaultDB} "${path}/${dbname}"
fi
maxIndex=$(${sq} 'SELECT InternalId FROM Users ORDER BY InternalId DESC LIMIT 1') maxIndex=$(${sq} 'SELECT InternalId FROM Users ORDER BY InternalId DESC LIMIT 1')
if [ -n "$maxIndex" ] && maxIndex="1" if [ -n "$maxIndex" ]; then
maxIndex="1"
fi
'' ''
); );

View file

@ -1,6 +1,10 @@
{lib, ...}: {
pkgs,
lib,
...
}:
with lib; { with lib; {
options.service.declarative-jellyfin.encoding = { options.services.declarative-jellyfin.encoding = {
EncodingThreadCount = mkOption { EncodingThreadCount = mkOption {
type = types.int; type = types.int;
default = -1; default = -1;
@ -18,7 +22,7 @@ with lib; {
EnableFallbackFont = mkEnableOption "Enable fallback font"; EnableFallbackFont = mkEnableOption "Enable fallback font";
EnableAudioVbr = mkEnableOption "Enable VBR Audio"; EnableAudioVbr = mkEnableOption "Enable VBR Audio";
DownMixAudioBoost = mkOption { DownMixAudioBoost = mkOption {
type = types.float; type = types.number;
default = 2; default = 2;
description = "Boost audio when downmixing. A value of one will preserve the original volume."; description = "Boost audio when downmixing. A value of one will preserve the original volume.";
}; };
@ -126,7 +130,7 @@ with lib; {
default = "auto"; default = "auto";
}; };
TonemappingDesat = mkOption { TonemappingDesat = mkOption {
type = types.float; type = types.number;
description = '' description = ''
Apply desaturation for highlights that exceed this level of brightness. Apply desaturation for highlights that exceed this level of brightness.
The higher the parameter, the more color information will be preserved. The higher the parameter, the more color information will be preserved.
@ -138,7 +142,7 @@ with lib; {
default = 0; default = 0;
}; };
TonemappingPeak = mkOption { TonemappingPeak = mkOption {
type = types.float; type = types.number;
description = '' description = ''
Override signal/nominal/reference peak with this value. Override signal/nominal/reference peak with this value.
Useful when the embedded peak information in display metadata is not reliable or when tone mapping from a lower range to a higher range. Useful when the embedded peak information in display metadata is not reliable or when tone mapping from a lower range to a higher range.
@ -148,7 +152,7 @@ with lib; {
default = 100; default = 100;
}; };
TonemapingParam = mkOption { TonemapingParam = mkOption {
type = types.float; type = types.number;
description = '' description = ''
Tune the tone mapping algorithm. Tune the tone mapping algorithm.
The recommended and default values are 0. The recommended and default values are 0.
@ -158,7 +162,7 @@ with lib; {
default = 0; default = 0;
}; };
VppTonemappingBrightness = mkOption { VppTonemappingBrightness = mkOption {
type = types.float; type = types.number;
description = '' description = ''
Apply brightness gain in VPP tone mapping. Apply brightness gain in VPP tone mapping.
@ -167,7 +171,7 @@ with lib; {
default = 16; default = 16;
}; };
VppTonemappingContrast = mkOption { VppTonemappingContrast = mkOption {
type = types.float; type = types.number;
description = '' description = ''
Apply contrast gain in VPP tone mapping. Apply contrast gain in VPP tone mapping.
@ -278,7 +282,7 @@ with lib; {
''; '';
}; };
AllowOnDemandMetadataBasedKeyframeExtractionForExtensions = mkOption { AllowOnDemandMetadataBasedKeyframeExtractionForExtensions = mkOption {
type = types.listOf str; type = with types; listOf str;
description = "imma be real i have no idea what this option is. Just leave it as the default"; description = "imma be real i have no idea what this option is. Just leave it as the default";
default = ["mkv"]; default = ["mkv"];
}; };