added ncmpcpp
This commit is contained in:
parent
b121b5d8c3
commit
5104628104
8 changed files with 641 additions and 21 deletions
|
@ -22,6 +22,17 @@
|
||||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
|
services.mpd = {
|
||||||
|
enable = true;
|
||||||
|
musicDirectory = "/home/vali/Nextcloud/Media/Music/";
|
||||||
|
startWhenNeeded = true;
|
||||||
|
extraConfig = ''
|
||||||
|
audio_output {
|
||||||
|
type "pipewire"
|
||||||
|
name "My PipeWire Output"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
myOptions = {
|
myOptions = {
|
||||||
other = {
|
other = {
|
||||||
system = {
|
system = {
|
||||||
|
|
|
@ -4,7 +4,7 @@ _: {
|
||||||
./programs.nix
|
./programs.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./profile.nix
|
./profile.nix
|
||||||
./i3.nix
|
./i3
|
||||||
./awesome.nix
|
./awesome.nix
|
||||||
./hypr/default.nix
|
./hypr/default.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -22,7 +22,7 @@ font pango:monospace 12
|
||||||
# Start XDG autostart .desktop files using dex. See also
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
|
exec --no-startup-id xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1
|
||||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
# they are included here as an example. Modify as you see fit.
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
@ -36,10 +36,10 @@ exec --no-startup-id nm-applet
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
set $refresh_i3status killall -SIGUSR1 i3status
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
bindsym 123 exec --no-startup-id wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ && $refresh_i3status
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
bindsym 122 exec --no-startup-id wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ && $refresh_i3status
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
bindsym 198 exec --no-startup-id pamixer --default-source -t && $refresh_i3status
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
floating_modifier $mod
|
floating_modifier $mod
|
||||||
|
@ -111,7 +111,7 @@ bindsym $mod+a focus parent
|
||||||
#bindsym $mod+d focus child
|
#bindsym $mod+d focus child
|
||||||
default_border pixel 3
|
default_border pixel 3
|
||||||
#smart_borders on
|
#smart_borders on
|
||||||
#hide_edge_borders smart_no_gaps
|
hide_edge_borders smart_no_gaps
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
set $ws1 "1"
|
set $ws1 "1"
|
||||||
|
|
|
@ -2,5 +2,4 @@ _: {
|
||||||
imports = [
|
imports = [
|
||||||
./i3.nix
|
./i3.nix
|
||||||
];
|
];
|
||||||
home.file.".config/i3(config)".source = ./config;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
{ pkgs, lib, config, callPackage, ... }:
|
{ pkgs, lib, config, callPackage, ... }:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.myOptions.programs.i3;
|
cfg = config.myOptions.programs.i3;
|
||||||
|
username = config.myOptions.other.system.username;
|
||||||
in {
|
in {
|
||||||
options.myOptions.programs.i3.enable = mkEnableOption "i3";
|
options.myOptions.programs.i3.enable = mkEnableOption "i3";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${username}.xdg.configFile."i3/config".source = ./config;
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb.layout = "de";
|
xkb.layout = "de";
|
||||||
|
@ -14,10 +16,6 @@ in {
|
||||||
displayManager = {
|
displayManager = {
|
||||||
gdm.enable = true;
|
gdm.enable = true;
|
||||||
defaultSession = "none+i3";
|
defaultSession = "none+i3";
|
||||||
setupCommands = ''
|
|
||||||
xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1
|
|
||||||
'';
|
|
||||||
# ❯ xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,23 +1,17 @@
|
||||||
{ config, inputs, pkgs, ... }:
|
{ config, inputs, pkgs, ... }:
|
||||||
let
|
let
|
||||||
username = config.myOptions.other.system.username;
|
fenix = inputs.fenix.packages.${pkgs.system};
|
||||||
in {
|
in {
|
||||||
home-manager.users.${username} = {
|
environment.systemPackages = with pkgs; [
|
||||||
home.packages = let
|
|
||||||
fenix = inputs.fenix.packages.${pkgs.system};
|
|
||||||
|
|
||||||
in with pkgs; [
|
|
||||||
alacritty
|
alacritty
|
||||||
alsa-utils
|
alsa-utils
|
||||||
asciinema
|
asciinema
|
||||||
betterbird
|
betterbird
|
||||||
bibata-cursors
|
bibata-cursors
|
||||||
chromium
|
|
||||||
dig
|
dig
|
||||||
easyeffects
|
easyeffects
|
||||||
element-desktop
|
element-desktop
|
||||||
eza
|
eza
|
||||||
ripgrep
|
|
||||||
fastfetch
|
fastfetch
|
||||||
(fenix.complete.withComponents [
|
(fenix.complete.withComponents [
|
||||||
"cargo"
|
"cargo"
|
||||||
|
@ -39,6 +33,7 @@ in {
|
||||||
krita
|
krita
|
||||||
lazygit
|
lazygit
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
|
ncmpcpp
|
||||||
neofetch
|
neofetch
|
||||||
neovim
|
neovim
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
@ -47,18 +42,20 @@ in {
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pcmanfm
|
pcmanfm
|
||||||
pfetch
|
pfetch
|
||||||
|
playerctl
|
||||||
polkit
|
polkit
|
||||||
python3
|
python3
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
ripgrep
|
||||||
rustdesk
|
rustdesk
|
||||||
rofi
|
rofi
|
||||||
scc
|
scc
|
||||||
sherlock
|
sherlock
|
||||||
signal-desktop-beta
|
signal-desktop-beta
|
||||||
smartmontools
|
smartmontools
|
||||||
|
spotube
|
||||||
st
|
st
|
||||||
steam
|
steam
|
||||||
strawberry-qt6
|
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
texliveFull
|
texliveFull
|
||||||
thunderbird
|
thunderbird
|
||||||
|
@ -74,5 +71,4 @@ in {
|
||||||
zathura
|
zathura
|
||||||
zip
|
zip
|
||||||
];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
598
modules/tui/config
Normal file
598
modules/tui/config
Normal file
|
@ -0,0 +1,598 @@
|
||||||
|
##############################################################
|
||||||
|
## This is an example configuration file. Copy it to ##
|
||||||
|
## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.ncmpcpp/config ##
|
||||||
|
## and set up your preferences. ##
|
||||||
|
##############################################################
|
||||||
|
#
|
||||||
|
##### directories ######
|
||||||
|
##
|
||||||
|
## Directory for storing ncmpcpp related files. Changing it is useful if you
|
||||||
|
## want to store everything somewhere else and provide command line setting for
|
||||||
|
## alternative location to config file which defines that while launching
|
||||||
|
## ncmpcpp.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#ncmpcpp_directory = ~/.config/ncmpcpp
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other
|
||||||
|
## MPD clients (eg. ncmpc) also use that location.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#lyrics_directory = ~/.lyrics
|
||||||
|
#
|
||||||
|
##### connection settings #####
|
||||||
|
#
|
||||||
|
#mpd_host = localhost
|
||||||
|
#
|
||||||
|
#mpd_port = 6600
|
||||||
|
#
|
||||||
|
#mpd_connection_timeout = 5
|
||||||
|
#
|
||||||
|
## Needed for tag editor and file operations to work.
|
||||||
|
##
|
||||||
|
#mpd_music_dir = ~/music
|
||||||
|
#
|
||||||
|
#mpd_crossfade_time = 5
|
||||||
|
#
|
||||||
|
# Exclude pattern for random song action
|
||||||
|
# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
|
||||||
|
#random_exclude_pattern = "^(temp|midi_songs).*"
|
||||||
|
#
|
||||||
|
##### music visualizer #####
|
||||||
|
##
|
||||||
|
## In order to make music visualizer work with MPD you need to use the fifo
|
||||||
|
## output. Its format parameter has to be set to 44100:16:1 for mono
|
||||||
|
## visualization or 44100:16:2 for stereo visualization. As an example here is
|
||||||
|
## the relevant section for mpd.conf:
|
||||||
|
##
|
||||||
|
## audio_output {
|
||||||
|
## type "fifo"
|
||||||
|
## name "Visualizer feed"
|
||||||
|
## path "/tmp/mpd.fifo"
|
||||||
|
## format "44100:16:2"
|
||||||
|
## }
|
||||||
|
##
|
||||||
|
## If the visualization on occasion diverges from the audio output, please set
|
||||||
|
## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
|
||||||
|
## or less to prevent that from happening.
|
||||||
|
##
|
||||||
|
## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
|
||||||
|
## also accepted. For example, the following section in mopidy.conf:
|
||||||
|
##
|
||||||
|
## [audio]
|
||||||
|
## output = tee name=t ! queue ! autoaudiosink t.
|
||||||
|
## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
|
||||||
|
## ! udpsink host=localhost port=5555
|
||||||
|
##
|
||||||
|
## will make localhost:5555 available as a source of data for the stereo
|
||||||
|
## visualizer.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#visualizer_data_source = /tmp/mpd.fifo
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Below parameter is needed for ncmpcpp to determine which output
|
||||||
|
## provides data for visualizer and reset it at the beginning of visualization
|
||||||
|
## to synchronize with audio.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#visualizer_output_name = Visualizer feed
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## If you set format to 44100:16:2, make it 'yes'.
|
||||||
|
##
|
||||||
|
#visualizer_in_stereo = yes
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: set below to >=10 only if you have synchronization issues with
|
||||||
|
## visualization and audio.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#visualizer_sync_interval = 0
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
|
||||||
|
## with fftw3 support.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
## Available values: spectrum, wave, wave_filled, ellipse.
|
||||||
|
##
|
||||||
|
#visualizer_type = spectrum
|
||||||
|
#
|
||||||
|
#visualizer_fps = 60
|
||||||
|
#
|
||||||
|
#visualizer_autoscale = no
|
||||||
|
#
|
||||||
|
#visualizer_look = ●▮
|
||||||
|
#
|
||||||
|
#visualizer_color = blue, cyan, green, yellow, magenta, red
|
||||||
|
#
|
||||||
|
## Alternative subset of 256 colors for terminals that support it.
|
||||||
|
##
|
||||||
|
#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: The next few visualization options apply to the spectrum visualizer.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
## Use unicode block characters for a smoother, more continuous look.
|
||||||
|
## This will override the visualizer_look option. With transparent terminals
|
||||||
|
## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
|
||||||
|
## the visualization.
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_smooth_look = yes
|
||||||
|
#
|
||||||
|
## A value between 1 and 5 inclusive. Specifying a larger value makes the
|
||||||
|
## visualizer look at a larger slice of time, which results in less jumpy
|
||||||
|
## visualizer output.
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_dft_size = 2
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_gain = 10
|
||||||
|
#
|
||||||
|
## Left-most frequency of visualizer in Hz, must be less than HZ MAX
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_hz_min = 20
|
||||||
|
#
|
||||||
|
## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_hz_max = 20000
|
||||||
|
#
|
||||||
|
##### system encoding #####
|
||||||
|
##
|
||||||
|
## ncmpcpp should detect your charset encoding but if it failed to do so, you
|
||||||
|
## can specify charset encoding you are using here.
|
||||||
|
##
|
||||||
|
## Note: You can see whether your ncmpcpp build supports charset detection by
|
||||||
|
## checking output of `ncmpcpp --version`.
|
||||||
|
##
|
||||||
|
## Note: Since MPD uses UTF-8 by default, setting this option makes sense only
|
||||||
|
## if your encoding is different.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#system_encoding = ""
|
||||||
|
#
|
||||||
|
##### delays #####
|
||||||
|
#
|
||||||
|
## Time of inactivity (in seconds) after playlist highlighting will be disabled
|
||||||
|
## (0 = always on).
|
||||||
|
##
|
||||||
|
#playlist_disable_highlight_delay = 5
|
||||||
|
#
|
||||||
|
## Defines how long messages are supposed to be visible.
|
||||||
|
##
|
||||||
|
#message_delay_time = 5
|
||||||
|
#
|
||||||
|
##### song format #####
|
||||||
|
##
|
||||||
|
## For a song format you can use:
|
||||||
|
##
|
||||||
|
## %l - length
|
||||||
|
## %f - filename
|
||||||
|
## %D - directory
|
||||||
|
## %a - artist
|
||||||
|
## %A - album artist
|
||||||
|
## %t - title
|
||||||
|
## %b - album
|
||||||
|
## %y - date
|
||||||
|
## %n - track number (01/12 -> 01)
|
||||||
|
## %N - full track info (01/12 -> 01/12)
|
||||||
|
## %g - genre
|
||||||
|
## %c - composer
|
||||||
|
## %p - performer
|
||||||
|
## %d - disc
|
||||||
|
## %C - comment
|
||||||
|
## %P - priority
|
||||||
|
## $R - begin right alignment
|
||||||
|
##
|
||||||
|
## If you want to make sure that a part of the format is displayed only when
|
||||||
|
## certain tags are present, you can archieve it by grouping them with brackets,
|
||||||
|
## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
|
||||||
|
## present or '' otherwise. It is also possible to define a list of
|
||||||
|
## alternatives by providing several groups and separating them with '|',
|
||||||
|
## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
|
||||||
|
## not present.
|
||||||
|
##
|
||||||
|
## Note: If you want to set limit on maximal length of a tag, just put the
|
||||||
|
## appropriate number between % and character that defines tag type, e.g. to
|
||||||
|
## make album take max. 20 terminal cells, use '%20b'.
|
||||||
|
##
|
||||||
|
## In addition, formats support markers used for text attributes. They are
|
||||||
|
## followed by character '$'. After that you can put:
|
||||||
|
##
|
||||||
|
## - 0 - default window color (discards all other colors)
|
||||||
|
## - 1 - black
|
||||||
|
## - 2 - red
|
||||||
|
## - 3 - green
|
||||||
|
## - 4 - yellow
|
||||||
|
## - 5 - blue
|
||||||
|
## - 6 - magenta
|
||||||
|
## - 7 - cyan
|
||||||
|
## - 8 - white
|
||||||
|
## - 9 - end of current color
|
||||||
|
## - b - bold text
|
||||||
|
## - u - underline text
|
||||||
|
## - r - reverse colors
|
||||||
|
## - a - use alternative character set
|
||||||
|
##
|
||||||
|
## If you don't want to use a non-color attribute anymore, just put it again,
|
||||||
|
## but this time insert character '/' between '$' and attribute character,
|
||||||
|
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with
|
||||||
|
## reversed colors.
|
||||||
|
##
|
||||||
|
## If you want to use 256 colors and/or background colors in formats (the naming
|
||||||
|
## scheme is described below in section about color definitions), it can be done
|
||||||
|
## with the syntax $(COLOR), e.g. to set the artist tag to one of the
|
||||||
|
## non-standard colors and make it have yellow background, you need to write
|
||||||
|
## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
|
||||||
|
## with attributes listed above.
|
||||||
|
##
|
||||||
|
## Note: colors can be nested.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3%l$9}
|
||||||
|
#
|
||||||
|
#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
|
||||||
|
#
|
||||||
|
#song_library_format = {%n - }{%t}|{%f}
|
||||||
|
#
|
||||||
|
#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
|
||||||
|
#
|
||||||
|
#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
|
||||||
|
#
|
||||||
|
#current_item_prefix = $(yellow)$r
|
||||||
|
#
|
||||||
|
#current_item_suffix = $/r$(end)
|
||||||
|
#
|
||||||
|
#current_item_inactive_column_prefix = $(white)$r
|
||||||
|
#
|
||||||
|
#current_item_inactive_column_suffix = $/r$(end)
|
||||||
|
#
|
||||||
|
#now_playing_prefix = $b
|
||||||
|
#
|
||||||
|
#now_playing_suffix = $/b
|
||||||
|
#
|
||||||
|
#browser_playlist_prefix = "$2playlist$9 "
|
||||||
|
#
|
||||||
|
#selected_item_prefix = $6
|
||||||
|
#
|
||||||
|
#selected_item_suffix = $9
|
||||||
|
#
|
||||||
|
#modified_item_prefix = $3> $9
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: attributes are not supported for the following variables.
|
||||||
|
##
|
||||||
|
#song_window_title_format = {%a - }{%t}|{%f}
|
||||||
|
##
|
||||||
|
## Note: Below variables are used for sorting songs in browser. The sort mode
|
||||||
|
## determines how songs are sorted, and can be used in combination with a sort
|
||||||
|
## format to specify a custom sorting format. Available values for
|
||||||
|
## browser_sort_mode are "type", "name", "mtime", "format" and "none".
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#browser_sort_mode = type
|
||||||
|
#
|
||||||
|
#browser_sort_format = {%a - }{%t}|{%f} {%l}
|
||||||
|
#
|
||||||
|
##### columns settings #####
|
||||||
|
##
|
||||||
|
## syntax of song columns list format is "column column etc."
|
||||||
|
##
|
||||||
|
## - syntax for each column is:
|
||||||
|
##
|
||||||
|
## (width of the column)[color of the column]{displayed tag}
|
||||||
|
##
|
||||||
|
## Note: Width is by default in %, if you want a column to have fixed size, add
|
||||||
|
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
|
||||||
|
## screen (so the real width will depend on actual screen size), whereas
|
||||||
|
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
|
||||||
|
## is.
|
||||||
|
##
|
||||||
|
## - color is optional (if you want the default one, leave the field empty).
|
||||||
|
##
|
||||||
|
## Note: You can give a column additional attributes by putting appropriate
|
||||||
|
## character after displayed tag character. Available attributes are:
|
||||||
|
##
|
||||||
|
## - r - column will be right aligned
|
||||||
|
## - E - if tag is empty, empty tag marker won't be displayed
|
||||||
|
##
|
||||||
|
## You can also:
|
||||||
|
##
|
||||||
|
## - give a column custom name by putting it after attributes, separated with
|
||||||
|
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
|
||||||
|
## named "Length".
|
||||||
|
##
|
||||||
|
## - define sequence of tags, that have to be displayed in case predecessor is
|
||||||
|
## empty in a way similar to the one in classic song format, i.e. using '|'
|
||||||
|
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
|
||||||
|
## display artist tag and then composer and performer if previous ones are not
|
||||||
|
## available.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
|
||||||
|
#
|
||||||
|
##### various settings #####
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time song changes. Useful for
|
||||||
|
## notifications etc.
|
||||||
|
##
|
||||||
|
#execute_on_song_change = ""
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time player state
|
||||||
|
## changes. The environment variable MPD_PLAYER_STATE is set to the current
|
||||||
|
## state (either unknown, play, pause, or stop) for its duration.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#execute_on_player_state_change = ""
|
||||||
|
#
|
||||||
|
#playlist_show_mpd_host = no
|
||||||
|
#
|
||||||
|
#playlist_show_remaining_time = no
|
||||||
|
#
|
||||||
|
#playlist_shorten_total_times = no
|
||||||
|
#
|
||||||
|
#playlist_separate_albums = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Possible display modes: classic, columns.
|
||||||
|
##
|
||||||
|
#playlist_display_mode = columns
|
||||||
|
#
|
||||||
|
#browser_display_mode = classic
|
||||||
|
#
|
||||||
|
#search_engine_display_mode = classic
|
||||||
|
#
|
||||||
|
#playlist_editor_display_mode = classic
|
||||||
|
#
|
||||||
|
#discard_colors_if_item_is_selected = yes
|
||||||
|
#
|
||||||
|
#show_duplicate_tags = yes
|
||||||
|
#
|
||||||
|
#incremental_seeking = yes
|
||||||
|
#
|
||||||
|
#seek_time = 1
|
||||||
|
#
|
||||||
|
#volume_change_step = 2
|
||||||
|
#
|
||||||
|
#autocenter_mode = no
|
||||||
|
#
|
||||||
|
#centered_cursor = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can specify third character which will be used to build 'empty'
|
||||||
|
## part of progressbar.
|
||||||
|
##
|
||||||
|
#progressbar_look = =>
|
||||||
|
#
|
||||||
|
## Available values: database, playlist.
|
||||||
|
##
|
||||||
|
#default_place_to_search_in = database
|
||||||
|
#
|
||||||
|
## Available values: classic, alternative.
|
||||||
|
##
|
||||||
|
#user_interface = classic
|
||||||
|
#
|
||||||
|
#data_fetching_delay = yes
|
||||||
|
#
|
||||||
|
## Available values: artist, album_artist, date, genre, composer, performer.
|
||||||
|
##
|
||||||
|
#media_library_primary_tag = artist
|
||||||
|
#
|
||||||
|
#media_library_albums_split_by_date = yes
|
||||||
|
#
|
||||||
|
#media_library_hide_album_dates = no
|
||||||
|
#
|
||||||
|
## Available values: wrapped, normal.
|
||||||
|
##
|
||||||
|
#default_find_mode = wrapped
|
||||||
|
#
|
||||||
|
#default_tag_editor_pattern = %n - %t
|
||||||
|
#
|
||||||
|
#header_visibility = yes
|
||||||
|
#
|
||||||
|
#statusbar_visibility = yes
|
||||||
|
#
|
||||||
|
## Show the "Connected to ..." message on startup
|
||||||
|
#connected_message_on_startup = yes
|
||||||
|
#
|
||||||
|
#titles_visibility = yes
|
||||||
|
#
|
||||||
|
#header_text_scrolling = yes
|
||||||
|
#
|
||||||
|
#cyclic_scrolling = no
|
||||||
|
#
|
||||||
|
#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
|
||||||
|
#
|
||||||
|
#follow_now_playing_lyrics = no
|
||||||
|
#
|
||||||
|
#fetch_lyrics_for_current_song_in_background = no
|
||||||
|
#
|
||||||
|
#store_lyrics_in_song_dir = no
|
||||||
|
#
|
||||||
|
#generate_win32_compatible_filenames = yes
|
||||||
|
#
|
||||||
|
#allow_for_physical_item_deletion = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
|
||||||
|
## language you set and if it fails, it will fall back to english. Otherwise it
|
||||||
|
## will use english the first time.
|
||||||
|
##
|
||||||
|
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
|
||||||
|
##
|
||||||
|
#lastfm_preferred_language = en
|
||||||
|
#
|
||||||
|
#space_add_mode = add_remove
|
||||||
|
#
|
||||||
|
#show_hidden_files_in_local_browser = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## How shall screen switcher work?
|
||||||
|
##
|
||||||
|
## - "previous" - switch between the current and previous screen.
|
||||||
|
## - "screen1,...,screenN" - switch between given sequence of screens.
|
||||||
|
##
|
||||||
|
## Screens available for use: help, playlist, browser, search_engine,
|
||||||
|
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
|
||||||
|
## lyrics, last_fm.
|
||||||
|
##
|
||||||
|
#screen_switcher_mode = playlist, browser
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup screen by choosing screen from the list above.
|
||||||
|
##
|
||||||
|
#startup_screen = playlist
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup slave screen by choosing screen from the list
|
||||||
|
## above or an empty value for no slave screen.
|
||||||
|
##
|
||||||
|
#startup_slave_screen = ""
|
||||||
|
#
|
||||||
|
#startup_slave_screen_focus = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#locked_screen_width_part = 50
|
||||||
|
#
|
||||||
|
#ask_for_locked_screen_width_part = yes
|
||||||
|
#
|
||||||
|
#jump_to_now_playing_song_at_start = yes
|
||||||
|
#
|
||||||
|
#ask_before_clearing_playlists = yes
|
||||||
|
#
|
||||||
|
#clock_display_seconds = no
|
||||||
|
#
|
||||||
|
#display_volume_level = yes
|
||||||
|
#
|
||||||
|
#display_bitrate = no
|
||||||
|
#
|
||||||
|
#display_remaining_time = no
|
||||||
|
#
|
||||||
|
## Available values: none, basic, extended, perl.
|
||||||
|
##
|
||||||
|
#regular_expressions = perl
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
|
||||||
|
## sorting items in browser, tags in media library, etc.
|
||||||
|
##
|
||||||
|
#ignore_leading_the = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
|
||||||
|
## filtering lists. This takes an effect only if boost was compiled with ICU
|
||||||
|
## support.
|
||||||
|
##
|
||||||
|
#ignore_diacritics = no
|
||||||
|
#
|
||||||
|
#block_search_constraints_change_if_items_found = yes
|
||||||
|
#
|
||||||
|
#mouse_support = yes
|
||||||
|
#
|
||||||
|
#mouse_list_scroll_whole_page = no
|
||||||
|
#
|
||||||
|
#lines_scrolled = 5
|
||||||
|
#
|
||||||
|
#empty_tag_marker = <empty>
|
||||||
|
#
|
||||||
|
#tags_separator = " | "
|
||||||
|
#
|
||||||
|
#tag_editor_extended_numeration = no
|
||||||
|
#
|
||||||
|
#media_library_sort_by_mtime = no
|
||||||
|
#
|
||||||
|
#enable_window_title = yes
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can choose default search mode for search engine. Available modes
|
||||||
|
## are:
|
||||||
|
##
|
||||||
|
## - 1 - use mpd built-in searching (no regexes, pattern matching)
|
||||||
|
##
|
||||||
|
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
|
||||||
|
## if your mpd is on a remote machine, downloading big database to process
|
||||||
|
## it can take a while
|
||||||
|
##
|
||||||
|
## - 3 - match only exact values (this mode uses mpd function for searching in
|
||||||
|
## database and local one for searching in current playlist)
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#search_engine_default_search_mode = 1
|
||||||
|
#
|
||||||
|
#external_editor = nano
|
||||||
|
#
|
||||||
|
## Note: set to yes if external editor is a console application.
|
||||||
|
##
|
||||||
|
#use_console_editor = yes
|
||||||
|
#
|
||||||
|
##### colors definitions #####
|
||||||
|
##
|
||||||
|
## It is possible to set a background color by setting a color value
|
||||||
|
## "<foreground>_<background>", e.g. red_black will set foregound color to red
|
||||||
|
## and background color to black.
|
||||||
|
##
|
||||||
|
## In addition, for terminals that support 256 colors it is possible to set one
|
||||||
|
## of them by using a number in range [1, 256] instead of color name,
|
||||||
|
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
|
||||||
|
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
|
||||||
|
## help screen for list of available colors and their numerical values.
|
||||||
|
##
|
||||||
|
## What is more, there are two special values for the background color:
|
||||||
|
## "transparent" and "current". The first one explicitly sets the background to
|
||||||
|
## be transparent, while the second one allows you to preserve current
|
||||||
|
## background color and change only the foreground one. It's used implicitly
|
||||||
|
## when background color is not specified.
|
||||||
|
##
|
||||||
|
## Moreover, it is possible to attach format information to selected color
|
||||||
|
## variables by appending to their end a colon followed by one or more format
|
||||||
|
## flags, e.g. black:b or red:ur. The following variables support this syntax:
|
||||||
|
## visualizer_color, color1, color2, empty_tag_color, volume_color,
|
||||||
|
## state_line_color, state_flags_color, progressbar_color,
|
||||||
|
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
|
||||||
|
## alternative_ui_separator_color.
|
||||||
|
##
|
||||||
|
## Note: due to technical limitations of older ncurses version, if 256 colors
|
||||||
|
## are used there is a possibility that you'll be able to use only colors with
|
||||||
|
## transparent background.
|
||||||
|
#
|
||||||
|
#colors_enabled = yes
|
||||||
|
#
|
||||||
|
#empty_tag_color = cyan
|
||||||
|
#
|
||||||
|
#header_window_color = default
|
||||||
|
#
|
||||||
|
#volume_color = default
|
||||||
|
#
|
||||||
|
#state_line_color = default
|
||||||
|
#
|
||||||
|
#state_flags_color = default:b
|
||||||
|
#
|
||||||
|
#main_window_color = yellow
|
||||||
|
#
|
||||||
|
#color1 = white
|
||||||
|
#
|
||||||
|
#color2 = green
|
||||||
|
#
|
||||||
|
#progressbar_color = black:b
|
||||||
|
#
|
||||||
|
#progressbar_elapsed_color = green:b
|
||||||
|
#
|
||||||
|
#statusbar_color = default
|
||||||
|
#
|
||||||
|
#statusbar_time_color = default:b
|
||||||
|
#
|
||||||
|
#player_state_color = default:b
|
||||||
|
#
|
||||||
|
#alternative_ui_separator_color = black:b
|
||||||
|
#
|
||||||
|
#window_border_color = green
|
||||||
|
#
|
||||||
|
#active_window_border = red
|
||||||
|
#
|
18
modules/tui/ncmpcpp.nix
Normal file
18
modules/tui/ncmpcpp.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.myOptions.programs.ncmpcpp
|
||||||
|
username = config.myOptions.other.system.username;
|
||||||
|
in {
|
||||||
|
options.myOptions.programs.ncmpcpp.enable = mkEnableOption "ncmpcpp";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
programs.ncmpcpp = {
|
||||||
|
enable = true;
|
||||||
|
mpdMusicDir = "/home/vali/Nextcloud/Media/Music";
|
||||||
|
xdg.configFile."ncmpcpp/config".source = ./config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue