Compare commits

..

2 Commits

Author SHA1 Message Date
root@nixos-nas
1a59f4d7b3 kodi & tv-wakeup 2025-06-11 19:11:16 +00:00
root@nixos-nas
1e19b7ca2f nix-cache 2025-06-11 18:59:31 +00:00

View File

@ -65,7 +65,7 @@
# Wir pinnen den Kernel, bis ZFS 2.3.x für 6.13 bereit ist
boot.kernelPackages = pkgs.linuxPackages_6_12;
environment.systemPackages = with pkgs; [ git vim zfs ];
environment.systemPackages = with pkgs; [ git vim zfs virt-viewer ];
#### Virtualisation
@ -75,4 +75,68 @@
users.groups.docker.members = [ "nicole" ];
programs.virt-manager.enable = true;
#### nix-Cache
# --- Binary-Cache
services.nix-serve = {
enable = true;
secretKeyFile = "/var/cache/nix/secret-key";
openFirewall = true;
port = 5000;
};
nix.settings = {
substituters = [ "http://nix-nas:5000" "https://cache.nixos.org" ];
trusted-public-keys = [
"nas-cache:rgCDn9SwmvxvhjiEiRgrjAuAEyRiJT/aBIlywetuypM="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # Standard-Key vom upstream Cache
];
secret-key-files = [ "/var/cache/nix/secret-key" ];
};
##########################################################################
### Kodi & TV-Detect #####################################################
##########################################################################
### UDEV-Regel + Skript ##################################################
services.udev.extraRules = ''
ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", \
RUN+="/etc/udev/scripts/hdmi-handler.sh"
'';
environment.etc."udev/scripts/hdmi-handler.sh".text = ''
#!/usr/bin/env bash
PORT="/sys/class/drm/card0-HDMI-A-1/status"
USER="nicole"
read status < "$PORT"
if [[ "$status" == "connected" ]]; then
# Fernseher an ➜ Kodi starten
runuser -l "$USER" -c "systemctl --user start kodi.service"
# Beispiel: alternative Wartungs-VM
# runuser -l "$USER" -c "systemctl --user start vm-viewer@ha-vm.service"
else
# Fernseher aus ➜ alles stoppen
runuser -l "$USER" -c "systemctl --user stop vm-viewer@ha-vm.service" || true
runuser -l "$USER" -c "systemctl --user stop kodi.service"
fi
'';
environment.etc."udev/scripts/hdmi-handler.sh".mode = "0755";
### Kodi (GBM-Wayland Variante) ##########################################
programs.kodi = {
enable = true;
package = pkgs.kodi; # ← Standard; wähle ggf. `pkgs.kodi-wayland`
gpuSupport = true; # deaktiviert X11-Abhängigkeit
};
### Virt-Viewer Template-Unit (optional) #################################
systemd.user.services."vm-viewer@" = {
description = "Virt-viewer fullscreen for %i";
serviceConfig = {
ExecStart = "${pkgs.virt-viewer}/bin/virt-viewer --full-screen --wait --domain-name %i";
Restart = "on-failure";
};
};
}