1

Compare commits

...

11 Commits

13 changed files with 97 additions and 28 deletions

View File

@ -50,7 +50,8 @@ in {
"edit" # edit metadata in text editor
"fetchart" # pickup local cover art or search online
"fish" # beet fish generates ~/.config/fish/completions file
"lyrics" # fetch song lyrics
# "lyrics" # fetch song lyrics
"musicbrainz" # auto tagger data source
"replaygain" # write replaygain tags for automatic loudness adjustments
];
@ -59,10 +60,10 @@ in {
sources = "filesystem coverart itunes amazon albumart"; # sources are queried in this order
};
lyrics = {
auto = "yes"; # only embeds lyrics into metadata, needed for jellyfin but useless for rmpc
synced = "yes"; # prefer synced lyrics if provided
};
# lyrics = {
# auto = "yes"; # only embeds lyrics into metadata, needed for jellyfin but useless for rmpc
# synced = "yes"; # prefer synced lyrics if provided
# };
replaygain = {
auto = "yes"; # analyze on import automatically

View File

@ -143,7 +143,7 @@ with mylib.networking; {
# Bootloader/Kernel stuff
boot = {
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
kernelPackages = lib.mkDefault pkgs.linuxPackages;
kernelParams = ["mitigations=off"]; # I don't care
# Make /tmp volatile

View File

@ -117,6 +117,7 @@ in {
# (mkUDir ".android" m755) # Unity
# (mkUDir ".gradle" m755) # Unity
# (mkUDir ".java" m755) # Unity/Rider
(mkUDir ".MakeMKV" m755)
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
(mkUDir ".mozilla/native-messaging-hosts" m755)
(mkUDir ".nix-package-search" m755)

View File

@ -104,7 +104,8 @@
};
boot = {
# kernelPackages = pkgs.linuxPackages_zen;
kernelPackages = pkgs.linuxPackages_zen;
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
# kernelParams = [ "quiet" ];
# plymouth.enable = true;

View File

@ -35,6 +35,10 @@
"vfat"
];
supportedFilesystems = [
# "zfs" # Probably requires LTS kernel + networking.hostId
];
kernelModules = [
"kvm-amd"
"sg" # Blu-Ray drive
@ -60,6 +64,9 @@
];
};
# Required for supportedFilesystems = ["zfs"];, so pools don't get imported on the wrong machine
# networking.hostId = "611e6afb";
fileSystems = {
# NOTE: Some filesystems are managed by disko (see ./disks.nix)
@ -82,26 +89,30 @@
# Using NFS over TCP or increasing the value of the retrans option may mitigate
# some of the risks of using the soft option.
# Synology DS223j
"/home/${username}/Restic" = {
device = "192.168.86.15:/volume1/NixinatorPersistence";
fsType = "nfs";
options = ["defaults" "rw" "noatime" "_netdev" "bg" "soft"];
};
# TrueNAS
"/home/${username}/Movies" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Movie";
device = "192.168.86.20:/mnt/Seagate4TB/Movies";
fsType = "nfs";
options = ["defaults" "rw" "noatime" "_netdev" "bg" "soft"];
};
"/home/${username}/Shows" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Show";
device = "192.168.86.20:/mnt/Seagate4TB/Shows";
fsType = "nfs";
options = ["defaults" "rw" "noatime" "_netdev" "bg" "soft"];
};
"/home/${username}/Music" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music";
fsType = "nfs";
options = ["defaults" "rw" "noatime" "_netdev" "bg" "soft"];
};
"/home/${username}/Restic" = {
device = "192.168.86.15:/volume1/NixinatorPersistence";
device = "192.168.86.20:/mnt/Seagate4TB/Music";
fsType = "nfs";
options = ["defaults" "rw" "noatime" "_netdev" "bg" "soft"];
};

View File

@ -33,6 +33,7 @@
../services/nginx-proxy-manager.nix
../services/paperless.nix
../services/portainer-agent.nix
../services/tinymediamanager.nix
../services/whats-up-docker.nix
];

View File

@ -44,22 +44,22 @@
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
# SG Exos Mirror Shares
# TrueNAS
"/media/Movie" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Movie";
device = "192.168.86.20:/mnt/Seagate4TB/Movies";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
"/media/Show" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Show";
device = "192.168.86.20:/mnt/Seagate4TB/Shows";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
"/media/TV-Music" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music";
device = "192.168.86.20:/mnt/Seagate4TB/Music";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};

View File

@ -4,7 +4,7 @@
pkgs,
...
}: let
jellyfinVersion = "10.10.7";
jellyfinVersion = "10.11.2";
in {
virtualisation.oci-containers.containers = {
jellyfin = {

View File

@ -4,7 +4,7 @@
pkgs,
...
}: let
nginxVersion = "2.12.6";
nginxVersion = "2.13.1";
in {
virtualisation.oci-containers.containers = {
nginx-proxy-manager = {

View File

@ -5,7 +5,7 @@
...
}: let
# Match this with the portainer-ce version
portainerVersion = "2.31.3";
portainerVersion = "2.33.3";
in {
# Use the agent to connect clients to a main portainer instance
virtualisation.oci-containers.containers = {

View File

@ -5,7 +5,7 @@
...
}: let
# Match this with the portainer agent version
portainerVersion = "2.31.3";
portainerVersion = "2.33.3";
in {
virtualisation.oci-containers.containers = {
portainer = {

View File

@ -0,0 +1,54 @@
{
config,
lib,
pkgs,
...
}: let
version = "5.2.3";
in {
virtualisation.oci-containers.containers = {
tinymediamanager = {
image = "tinymediamanager/tinymediamanager:${version}";
autoStart = true;
login = {
# Uses DockerHub by default
# registry = "";
# DockerHub Credentials
username = "christoph.urlacher@protonmail.com";
passwordFile = "${config.sops.secrets.docker-password.path}";
};
dependsOn = [];
ports = [];
volumes = [
"tinymediamanager_data:/data"
"/media/Show:/media/tvshows"
"/media/Movie:/media/movies"
];
environment = {
PUID = "1000";
PGID = "1000";
TZ = "Europe/Berlin";
USER_ID = "1000";
GROUP_ID = "1000";
ALLOW_DIRECT_VNC = "true";
LC_ALL = "en_US.UTF-8"; # force UTF8
LANG = "en_US.UTF-8"; # force UTF8
PASSWORD = "<password>";
};
extraOptions = [
# "--privileged"
# "--device=nvidia.com/gpu=all"
"--net=behind-nginx"
];
};
};
}

View File

@ -40,22 +40,22 @@
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
# SG Exos Mirror Shares
# TrueNAS
"/media/Movie" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Movie";
device = "192.168.86.20:/mnt/Seagate4TB/Movies";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
"/media/Show" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Show";
device = "192.168.86.20:/mnt/Seagate4TB/Shows";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};
"/media/TV-Music" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music";
device = "192.168.86.20:/mnt/Seagate4TB/Music";
fsType = "nfs";
options = ["defaults" "rw" "relatime" "_netdev" "bg" "soft"];
};