Add ncspot theme

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-06-08 13:40:50 +01:00
parent c5d0933648
commit 24ac4753eb
3 changed files with 49 additions and 21 deletions

View File

@@ -2,25 +2,30 @@
user ? throw "user argument is required", user ? throw "user argument is required",
home ? throw "home argument is required", home ? throw "home argument is required",
}: }:
{ ... }: { lib, pkgs, ... }:
{ {
environment.persistence = { environment.persistence = {
"/persist/state"."${home}/.config/ncspot/userstate.cbor" = { }; "/persist/state"."${home}/.config/ncspot/userstate.cbor" = { };
"/persist/cache"."${home}/.cache/ncspot" = { }; "/persist/cache"."${home}/.cache/ncspot" = { };
}; };
home-manager.users.${user}.programs.ncspot = { home-manager.users.${user} = {
enable = true; programs.ncspot.enable = true;
settings = {
use_nerdfont = true; theme = {
volnorm = true; template.".config/ncspot/config.toml".source = ./theme.toml;
default_keybindings = true;
library_tabs = [ reloadExtraConfig = "${
"albums" lib.meta.getExe (
"artists" pkgs.writeShellApplication {
"playlists" name = "reload-ncspot";
"browse" runtimeInputs = with pkgs; [ netcat ];
]; text = ''
printf "reload\n" | nc -W 1 -U "''${XDG_RUNTIME_DIR:-/run/user/$UID}/ncspot/ncspot.sock"
'';
}
)
} &";
}; };
}; };
} }

View File

@@ -0,0 +1,23 @@
use_nerdfont = true
volnorm = true
default_keybindings = true
library_tabs = [ "albums", "artists", "playlists", "browse" ]
[theme]
background = "{{colors.surface.default.hex}}"
primary = "{{colors.on_surface.default.hex}}"
secondary = "{{colors.surface.default.hex}}"
title = "{{colors.primary.default.hex}}"
playing = "{{colors.primary.default.hex}}"
playing_bg = "{{colors.surface.default.hex}}"
highlight = "{{colors.on_primary.default.hex}}"
highlight_bg = "{{colors.primary.default.hex}}"
playing_selected = "{{colors.on_primary.default.hex}}"
error = "{{colors.on_error.default.hex}}"
error_bg = "{{colors.error.default.hex}}"
statusbar = "{{colors.primary.default.hex}}"
statusbar_progress = "{{colors.primary.default.hex}}"
statusbar_bg = "{{colors.surface.default.hex}}"
cmdline = "{{colors.on_surface.default.hex}}"
cmdline_bg = "{{colors.surface.default.hex}}"
search_match = "{{colors.tertiary.default.hex}}"

View File

@@ -1,19 +1,19 @@
[mgr] [mgr]
cwd = { fg = "{{colors.primary.default.hex}}" } cwd = { fg = "{{colors.primary.default.hex}}" }
preview_hovered = { underline = false } preview_hovered = { }
find_keyword = { fg = "{{colors.error.default.hex}}", bold = true, italic = true, underline = true } find_keyword = { fg = "{{colors.tertiary.default.hex}}", bold = true, italic = true, underline = true }
find_position = { fg = "{{colors.error.default.hex}}", bg = "reset", bold = true, italic = true } find_position = { fg = "{{colors.tertiary.default.hex}}", bg = "reset", bold = true, italic = true }
marker_copied = { fg = "{{colors.secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
marker_cut = { fg = "{{colors.warning.default.hex}}", bg = "{{colors.warning.default.hex}}" }
marker_marked = { fg = "{{colors.error.default.hex}}", bg = "{{colors.error.default.hex}}" }
marker_selected = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.primary.default.hex}}" } marker_selected = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.primary.default.hex}}" }
marker_copied = { fg = "{{colors.secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
marker_cut = { fg = "{{colors.secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
marker_marked = { fg = "{{colors.tertiary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" }
count_copied = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
count_cut = { fg = "{{colors.on_warning.default.hex}}", bg = "{{colors.warning.default.hex}}" }
count_selected = { fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.primary.default.hex}}" } count_selected = { fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.primary.default.hex}}" }
count_copied = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
count_cut = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
border_style = { fg = "{{colors.outline.default.hex}}" } border_style = { fg = "{{colors.outline.default.hex}}" }