Files
nix/hosts/common/configs/user/console/ncspot/default.nix
Nikolaos Karaolidis 7b93b1ac5b Add ncspot
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-08-15 14:33:36 +03:00

48 lines
1.3 KiB
Nix

{ 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"
'';
}
)
} &";
};
};
}