nixos-configs/configurations/homie/modules/music/default.nix
matt1432 5a067656df
All checks were successful
Discord / discord commits (push) Has been skipped
chore: update sources
Flake Inputs:
    • Updated input 'grim-hyprland':
        'github:eriedaberrie/grim-hyprland' (2024-10-02) rev: db5b1ccdf272d18224d3e5089894a6407e97d9b6
      → 'github:eriedaberrie/grim-hyprland' (2025-03-11) rev: 4a3d6f5b87b01e92c404b9393b79057b85f58c60

    • Updated input 'home-manager':
        'github:nix-community/home-manager' (2025-03-10) rev: 7fb8678716c158642ac42f9ff7a18c0800fea551
      → 'github:nix-community/home-manager' (2025-03-12) rev: 18780912345970e5b546b1b085385789b6935a83

    • Updated input 'hyprland':
        'github:hyprwm/Hyprland' (2025-03-10) rev: e4af4b5e2e3566a5fa95505b0d0ef5e5c9e174b8
      → 'github:hyprwm/Hyprland' (2025-03-12) rev: e86d3a14e46d19d8a47f8ceb6410546715d45f10

    • Updated input 'jovian':
        'github:Jovian-Experiments/Jovian-NixOS' (2025-03-10) rev: c769e6fa7ea00689254eb3f8385baec7e2f771cc
      → 'github:Jovian-Experiments/Jovian-NixOS' (2025-03-12) rev: 2f6342dc0cc9ffe5f9be8bd4db6ce43f2c4c1d87

    • Updated input 'kompass':
        'github:kotontrion/kompass' (2025-03-09) rev: ba7cd8f69ade8aade3d354d5f68b4ccec0b4284f
      → 'github:kotontrion/kompass' (2025-03-12) rev: cf6c8b26137adafae845f3905c11c98a197cd6cd

    • Updated input 'minix':
        'github:matt1432/Minix' (2025-03-06) rev: 775f99b1876d0e91d448d6078b9b1beae1f26ee6
      → 'github:matt1432/Minix' (2025-03-11) rev: f54246132bf10b385ed25a9d887e3d982c2c25de

    • Updated input 'nix-gaming':
        'github:fufexan/nix-gaming' (2025-03-10) rev: f627335019cb3395c52d89c72abb353d2456ba16
      → 'github:fufexan/nix-gaming' (2025-03-11) rev: 64a949349294543a48b3f946c9fca84332d1398b

    • Updated input 'nixpkgs':
        'github:NixOS/nixpkgs' (2025-03-09) rev: e3e32b642a31e6714ec1b712de8c91a3352ce7e1
      → 'github:NixOS/nixpkgs' (2025-03-12) rev: 75cd88fa9bfa1cf444a62d5e713fc76bb0fbba6f

    • Updated input 'nixpkgs-wayland':
        'github:nix-community/nixpkgs-wayland' (2025-03-10) rev: 4aa87b0399b9c17aa88a7c8606d41b123bcc7f99
      → 'github:nix-community/nixpkgs-wayland' (2025-03-12) rev: 120cd8e7a8c191e097b663e2cb9a1aa4c2588a31

    • Updated input 'poetry2nix':
        'github:nix-community/poetry2nix' (2025-03-10) rev: ac847558db725d865d44bbd77f894076c4b03ee3
      → 'github:nix-community/poetry2nix' (2025-03-12) rev: f842aae3a72ef764e38eaf3e75aa435fb9861bba

    • Updated input 'sops-nix':
        'github:Mic92/sops-nix' (2025-03-03) rev: 3f2412536eeece783f0d0ad3861417f347219f4d
      → 'github:Mic92/sops-nix' (2025-03-10) rev: e653d71e82575a43fe9d228def8eddb73887b866

    • Updated input 'vimplugin-roslyn-nvim-src':
        'github:seblj/roslyn.nvim' (2025-03-10) rev: 4fd5ab3c3c9ebb3b2c3fc7cc8d05bfb5cb1d1e97
      → 'github:seblj/roslyn.nvim' (2025-03-12) rev: 0d298e68efa511df18a0bd4fd9a0c9bf70ebdbf2

Docker Images:
    • ghcr.io/linuxserver/bazarr latest:
       sha256:36f4ba69ab5bfb32c384ea84cf0036b8b6e07fb9a7ab65885f3619de2a8318f8
     → sha256:0b3e1b888615cbd32cf879963d041abcf863d15160a9ace2928039a7b00590ef

    • ghcr.io/linuxserver/prowlarr latest:
       sha256:761f73534a01aec4bf72a1396e9b9fda3f01632948b3fa31985982d26120a330
     → sha256:2100d2cee89da16e7ce4a1169406c7718e6508c86ddc497dfbfdb7d6be2ea0c2

    • docker.io/fallenbagel/jellyseerr latest:
       sha256:ae1703c66b0fc12bfcc8cba339a77044246a93f86cc8ea53665e88b3218f111f
     → sha256:92dc0eb9ba260a11886ac52c3a82c5490769238f120e6312a2793809842021a6

Firefox Addons:
    sponsorblock: 5.11.5 -> 5.11.8

Node modules:
    eslint-plugin-jsdoc: 50.6.3 -> 50.6.6
2025-03-12 13:46:39 -04:00

122 lines
2.5 KiB
Nix

{
config,
mainUser,
pkgs,
...
}: {
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
AlwaysPairable = true;
PairableTimeout = 0;
DiscoverableTimeout = 0;
Experimental = true;
KernelExperimental = true;
};
Policy.AutoEnable = true;
};
};
# Have pulseaudio and spotifyd start at boot but after bluetooth
# so bluetooth accepts sound connections from the start.
users.users.${mainUser}.linger = true;
systemd.user.services = {
pulseaudio = {
after = ["bluetooth.service"];
wantedBy = ["default.target"];
};
spotifyd = {
after = ["pulseaudio.service"];
wantedBy = ["default.target"];
};
ueboom = {
path = builtins.attrValues {
inherit (pkgs) bluez;
inherit (config.services.pulseaudio) package;
};
script = ''
if [[ "$(pactl get-default-sink)" == "auto_null" ]]; then
exec bluetoothctl connect 88:C6:26:93:4B:77
fi
'';
serviceConfig = {
Restart = "on-failure";
RestartSec = 3;
RestartPreventExitStatus = 3;
};
};
};
systemd.user.timers.ueboom = {
after = ["spotifyd.service"];
timerConfig = {
Unit = "ueboom.service";
OnCalendar = "*-*-* *:0/10:50"; # Every 10 minutes
Persistent = true;
};
wantedBy = ["timers.target"];
};
services = {
# Allow pulseaudio to be managed by MPD
pulseaudio = {
enable = true;
zeroconf = {
discovery.enable = true;
publish.enable = true;
};
extraConfig = ''
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
'';
};
upower.enable = true;
mpd = {
enable = true;
network = {
listenAddress = "127.0.0.1";
port = 6600;
};
extraConfig = ''
audio_output {
type "pulse"
name "UE Boom 2"
sink "bluez_sink.88_C6_26_93_4B_77.a2dp_sink"
server "127.0.0.1"
}
'';
};
};
home-manager.users.${mainUser}.services.spotifyd = {
enable = true;
package = pkgs.spotifyd.override {
withMpris = false;
};
settings.global = {
device_name = config.networking.hostName;
device_type = "speaker";
zeroconf_port = 33798;
autoplay = false;
backend = "pulseaudio";
bitrate = 320;
no_audio_cache = true;
volume_normalisation = false;
};
};
}