{ user, home }: { lib, pkgs, ... }: { # FIXME: https://github.com/hrkfdn/ncspot/issues/1681#issuecomment-3186274719 nixpkgs.overlays = [ (final: prev: { ncspot = prev.ncspot.overrideAttrs (oldAttrs: rec { src = pkgs.fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; rev = "aac67d631f25bbc79f509d34aa85e6daff954830"; hash = "sha256-B6BA1ksfDEySZH6gzkU5khOzwXAmeHbMHsx3sXd9lbs="; }; cargoDeps = pkgs.rustPlatform.fetchCargoVendor { inherit src; hash = "sha256-HrQJiIzSvu/vR03UdnCcU6TGToBDKKDC6XscjvX3KPE="; }; }); }) ]; environment.persistence = { "/persist/state"."${home}/.config/ncspot/userstate.cbor" = { }; "/persist/cache"."${home}/.cache/ncspot" = { }; }; home-manager.users.${user} = { programs.ncspot.enable = true; theme = { template.".config/ncspot/config.toml".source = ./theme.toml; reloadExtraConfig = "${ lib.meta.getExe ( pkgs.writeShellApplication { name = "reload-ncspot"; runtimeInputs = with pkgs; [ netcat ]; text = '' printf "reload\n" | nc -W 1 -U "''${XDG_RUNTIME_DIR:-/run/user/$UID}/ncspot/ncspot.sock" ''; } ) } &"; }; }; }