kodi & tv-wakeup
This commit is contained in:
parent
1e19b7ca2f
commit
34495ccc71
@ -1,5 +1,21 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
hdmiHandler = pkgs.writeShellScript "hdmi-handler" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
PORT="/sys/class/drm/card0-HDMI-A-1/status"
|
||||||
|
USER="nicole"
|
||||||
|
|
||||||
|
read status < "$PORT"
|
||||||
|
if [[ "$status" == "connected" ]]; then
|
||||||
|
runuser -l "$USER" -c "systemctl --user start kodi.service"
|
||||||
|
# runuser -l "$USER" -c "systemctl --user start vm-viewer@ha-vm.service"
|
||||||
|
else
|
||||||
|
runuser -l "$USER" -c "systemctl --user stop vm-viewer@ha-vm.service" || true
|
||||||
|
runuser -l "$USER" -c "systemctl --user stop kodi.service"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./hardware/hardware-configuration.nix ];
|
imports = [ ./hardware/hardware-configuration.nix ];
|
||||||
|
|
||||||
@ -44,6 +60,7 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
hashedPassword = "$6$p73d5mOLoSuJGOol$KRlszaPXZK9/frADlfR3kAr/57DD5f4.CPTGNNX80QWEWFE5y.bM1WiZwmRHiAlrws3q/zCDQ6AqeSyCUX.8U/";
|
hashedPassword = "$6$p73d5mOLoSuJGOol$KRlszaPXZK9/frADlfR3kAr/57DD5f4.CPTGNNX80QWEWFE5y.bM1WiZwmRHiAlrws3q/zCDQ6AqeSyCUX.8U/";
|
||||||
extraGroups = [ "wheel" "docker" "libvirtd" ];
|
extraGroups = [ "wheel" "docker" "libvirtd" ];
|
||||||
|
linger = true;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGAsiKDWCwyf1usprg3K6Zk0xE9S4DX6+Bc4+nIOZGmf drezil@Manticore"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGAsiKDWCwyf1usprg3K6Zk0xE9S4DX6+Bc4+nIOZGmf drezil@Manticore"
|
||||||
];
|
];
|
||||||
@ -65,7 +82,7 @@
|
|||||||
# Wir pinnen den Kernel, bis ZFS 2.3.x für 6.13 bereit ist
|
# Wir pinnen den Kernel, bis ZFS 2.3.x für 6.13 bereit ist
|
||||||
boot.kernelPackages = pkgs.linuxPackages_6_12;
|
boot.kernelPackages = pkgs.linuxPackages_6_12;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ git vim zfs ];
|
environment.systemPackages = with pkgs; [ git vim zfs virt-viewer kodi ];
|
||||||
|
|
||||||
|
|
||||||
#### Virtualisation
|
#### Virtualisation
|
||||||
@ -77,8 +94,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#### nix-Cache
|
#### nix-Cache
|
||||||
|
# --- Binary-Cache
|
||||||
# --- Binary-Cache -------------------------------------------------------------
|
|
||||||
services.nix-serve = {
|
services.nix-serve = {
|
||||||
enable = true;
|
enable = true;
|
||||||
secretKeyFile = "/var/cache/nix/secret-key";
|
secretKeyFile = "/var/cache/nix/secret-key";
|
||||||
@ -95,5 +111,36 @@
|
|||||||
secret-key-files = [ "/var/cache/nix/secret-key" ];
|
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+="${hdmiHandler}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
## Kodi – GBM/Wayland Stand-alone ###################################
|
||||||
|
systemd.user.services.kodi = {
|
||||||
|
description = "Kodi Media Center (stand-alone)";
|
||||||
|
# wird nur manuell/über den Udev-Hook gestartet → kein wantedBy nötig
|
||||||
|
# wantedBy = [ "default.target" ]; # auskommentieren, falls immer laufen soll
|
||||||
|
after = [ "graphical-session.target" ]; # optional
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.kodi}/bin/kodi-standalone";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
### 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user