summaryrefslogtreecommitdiffstats
path: root/lass/2configs/home-media.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lass/2configs/home-media.nix')
-rw-r--r--lass/2configs/home-media.nix102
1 files changed, 0 insertions, 102 deletions
diff --git a/lass/2configs/home-media.nix b/lass/2configs/home-media.nix
deleted file mode 100644
index 1f7c3fcb..00000000
--- a/lass/2configs/home-media.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-with import <stockholm/lib>;
-{ pkgs, ... }:
-{
- imports = [
- ./mpv.nix
- ];
- users.users.media = {
- isNormalUser = true;
- uid = genid_uint31 "media";
- extraGroups = [ "video" "audio" "pipewire" ];
- packages = [
- (pkgs.writers.writeDashBin "mpv" ''
- if test -e "$1"; then
- mpv-ipc-cli loadfile "$(realpath "$1")"
- else
- mpv-ipc-cli loadfile "$1"
- fi
- '')
- ];
- };
-
- users.users.mainUser.packages = [
- (pkgs.writers.writeDashBin "mpv" ''
- if test -e "$1"; then
- mpv-ipc-cli loadfile "$(realpath "$1")"
- else
- mpv-ipc-cli loadfile "$1"
- fi
- '')
- ];
-
- services.xserver.displayManager.autoLogin = {
- enable = true;
- user = "media";
- };
-
- hardware.pulseaudio.configFile = pkgs.writeText "pulse.pa" ''
- .include ${pkgs.pulseaudioFull}/etc/pulse/default.pa
- load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.42.0.0/24 auth-anonymous=1
- '';
-
- environment.systemPackages = [
- (pkgs.writers.writeDashBin "mpv-ipc-cli" ''
- set -efux
- ${pkgs.jq}/bin/jq -nc '{ "command": $ARGS.positional }' --args "$@" | ${pkgs.socat}/bin/socat - /tmp/mpv.ipc
- '')
- (pkgs.writers.writeDashBin "ipc-mpv" ''
- /run/current-system/sw/bin/mpv \
- --audio-display=no --audio-channels=stereo \
- --audio-samplerate=48000 --audio-format=s16 \
- --ao-pcm-file=/run/snapserver/snapfifo --ao=pcm \
- --audio-delay=-1 \
- "$@"
- '')
- pkgs.mpvc
- (pkgs.writers.writeDashBin "iptv" ''
- curl -Ssf 'https://iptv-org.github.io/iptv/index.nsfw.m3u' |
- sed 's/.*,//' |
- sed -z 's/\nhttp/,http/g' |
- fzf --bind='enter:execute(echo {} | cut -d ',' -f 2 | xargs -0 mpv-ipc-cli loadfile)'
- '')
- ];
-
- environment.variables.SOCKET = "/tmp/mpv.ipc";
- systemd.services.mpvd = {
- wantedBy = [ "multi-user.target" ];
- environment.DISPLAY = ":0";
- serviceConfig = {
- User = "media";
- RemainAfterExit = true;
- Nice = "-10";
- ExecStart = ''${pkgs.tmux}/bin/tmux -2 new-session -d -s mpvd -- /run/current-system/sw/bin/ipc-mpv \
- --audio-display=no --audio-channels=stereo \
- --audio-samplerate=48000 --audio-format=s16 \
- --ao-pcm-file=/run/snapserver/snapfifo --ao=pcm \
- --audio-delay=-1 \
- --network-timeout=3 \
- --untimed --cache-pause=no \
- --idle=yes --force-window=yes \
- --loop-playlist=inf \
- --input-ipc-server=/tmp/mpv.ipc
- '';
- ExecStop = "${pkgs.tmux}/bin/tmux kill-session -t mpvd";
- ExecStartPre = [
- "+${pkgs.writers.writeDash "remove_socket" ''
- set -efux
- rm -f /tmp/mpv.ipc
- ''}"
- ];
- ExecStartPost = [
- "+${pkgs.writers.writeDash "fix_permissions" ''
- set -efux
- until test -e /tmp/mpv.ipc; do
- sleep 1
- done
- # sleep 2
- chmod 666 /tmp/mpv.ipc || :
- ''}"
- ];
- };
- };
-}