Compare commits
11 Commits
master
...
20afc8836f
| Author | SHA1 | Date | |
|---|---|---|---|
|
20afc8836f
|
|||
|
cbeead85eb
|
|||
|
8069839f38
|
|||
|
daa3202393
|
|||
|
909baf9111
|
|||
|
341e4d703a
|
|||
|
a81fc48127
|
|||
|
f6d5c83a8e
|
|||
|
695e196024
|
|||
|
8ae48df307
|
|||
|
0e893bc106
|
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -104,7 +104,8 @@
|
||||
};
|
||||
|
||||
boot = {
|
||||
# kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
# kernelParams = [ "quiet" ];
|
||||
# plymouth.enable = true;
|
||||
|
||||
@ -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"];
|
||||
};
|
||||
|
||||
@ -33,6 +33,7 @@
|
||||
../services/nginx-proxy-manager.nix
|
||||
../services/paperless.nix
|
||||
../services/portainer-agent.nix
|
||||
../services/tinymediamanager.nix
|
||||
../services/whats-up-docker.nix
|
||||
];
|
||||
|
||||
|
||||
@ -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"];
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
jellyfinVersion = "10.10.7";
|
||||
jellyfinVersion = "10.11.2";
|
||||
in {
|
||||
virtualisation.oci-containers.containers = {
|
||||
jellyfin = {
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
nginxVersion = "2.12.6";
|
||||
nginxVersion = "2.13.1";
|
||||
in {
|
||||
virtualisation.oci-containers.containers = {
|
||||
nginx-proxy-manager = {
|
||||
|
||||
@ -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 = {
|
||||
|
||||
@ -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 = {
|
||||
|
||||
54
system/services/tinymediamanager.nix
Normal file
54
system/services/tinymediamanager.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@ -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"];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user