Music assistant has custom modifications they made to librespot that they haven't bothered to even try to upstream. Thus, they require a custom librespot. I tried and tried and tried and tried to just override the one already in nixpkgs but I had trouble doing so despite copying the pattern already shown in nixpkgs for overriding the src of a cargo pkg (See mopidy) but it just didn't work... Oh well. So I just patch nixpkgs instead with the new source. It works I guess. This is about where I gave up... ```nix nixpkgs.overlays = [ (final: prev: { # Cannot use librespot upstream because music-assistant requires custom changes # that they never bothered to even try to uptream librespot = prev.librespot.overrideAttrs (oldAttrs: rec { src = prev.fetchFromGitHub { owner = "music-assistant"; repo = "librespot"; rev = "786cc46199e583f304a84c786acb0a9b37bc3fbd"; sha256 = "sha256-xaOrqC8yCjF23Tz31RD3CzqZ3xxrDM6ncW1yoovEaGQ="; }; cargoDeps = oldAttrs.cargoDeps.overrideAttrs (oldAttrs': { vendorStaging = oldAttrs'.vendorStaging.overrideAttrs { outputHash = "sha256-SqvJSHkyd1IicT6c4pE96dBJNNodULhpyG14HRGVWCk="; }; }); }); }) ]; ```
My NixOS configurations
Source Layout
/common
- common configuration imported into all/machines
/boot
- config related to bootloaders, cpu microcode, and unlocking LUKS root disks over tor/network
- config for tailscale, and NixOS container with automatic vpn tunneling via PIA/pc
- config that a graphical PC should have. Have thepersonal
role set in the machine'sproperties.nix
to enable everthing./server
- config that creates new nixos services or extends existing ones to meet my needs
/machines
- all my NixOS machines along with their machine unique configuration for hardware and services/kexec
- a special machine for generating minimal kexec images. Does not import/common
/secrets
- encrypted shared secrets unlocked through/machines
ssh host keys
Languages
Nix
92.8%
Shell
6.8%
Makefile
0.4%