summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitsuo Tokumori <[email protected]>2022-09-07 01:00:45 -0500
committerMitsuo Tokumori <[email protected]>2022-09-07 01:00:45 -0500
commita4c22c8fc224630dd82e13326eb64587e86e2c68 (patch)
tree45d5d207a883917013caafb72134ba4d96d58cd4
parent00189e89e1092cbf9a6f452de0ae1283473e0639 (diff)
downloaddotfiles-a4c22c8fc224630dd82e13326eb64587e86e2c68.tar.gz
dotfiles-a4c22c8fc224630dd82e13326eb64587e86e2c68.tar.bz2
dotfiles-a4c22c8fc224630dd82e13326eb64587e86e2c68.zip
Add mpd and ncmpc dotfiles
-rwxr-xr-xinstall.sh4
-rw-r--r--other/mpd/mpd.conf425
-rw-r--r--other/ncmpc/config186
-rw-r--r--other/ncmpc/keys23
4 files changed, 638 insertions, 0 deletions
diff --git a/install.sh b/install.sh
index 36c84b6..fb7bb1e 100755
--- a/install.sh
+++ b/install.sh
@@ -9,6 +9,10 @@
#
# Note: This solution is lazy and causes some problems. Like not being able to
# track vim pluggins.
+#
+# As always, ArchLinux's Wiki has a great article explaining dotfiles and how
+# people usually manage them.
+# https://wiki.archlinux.org/title/Dotfiles
# Config
# ======
diff --git a/other/mpd/mpd.conf b/other/mpd/mpd.conf
new file mode 100644
index 0000000..673858d
--- /dev/null
+++ b/other/mpd/mpd.conf
@@ -0,0 +1,425 @@
+# An example configuration file for MPD.
+# Read the user manual for documentation: http://www.musicpd.org/doc/user/
+
+
+# Files and directories #######################################################
+#
+# This setting controls the top directory which MPD will search to discover the
+# available audio files and add them to the daemon's online database. This
+# setting defaults to the XDG directory, otherwise the music directory will be
+# be disabled and audio files will only be accepted over ipc socket (using
+# file:// protocol) or streaming files over an accepted protocol.
+#
+music_directory "~/media/Music/artistas (320kbps)/"
+#
+# This setting sets the MPD internal playlist directory. The purpose of this
+# directory is storage for playlists created by MPD. The server will use
+# playlist files not created by the server but only if they are in the MPD
+# format. This setting defaults to playlist saving being disabled.
+#
+playlist_directory "~/media/Music/playlists/mpd"
+#
+# This setting sets the location of the MPD database. This file is used to
+# load the database at server start up and store the database while the
+# server is not up. This setting defaults to disabled which will allow
+# MPD to accept files over ipc socket (using file:// protocol) or streaming
+# files over an accepted protocol.
+#
+db_file "~/.config/mpd/database"
+
+# These settings are the locations for the daemon log files for the daemon.
+#
+# The special value "syslog" makes MPD use the local syslog daemon. This
+# setting defaults to logging to syslog.
+#
+# If you use systemd, do not configure a log_file. With systemd, MPD
+# defaults to the systemd journal, which is fine.
+#
+log_file "~/.config/mpd/log"
+
+# This setting sets the location of the file which stores the process ID
+# for use of mpd --kill and some init scripts. This setting is disabled by
+# default and the pid file will not be stored.
+#
+# If you use systemd, do not configure a pid_file.
+#
+#pid_file "~/.config/mpd/pid"
+
+# This setting sets the location of the file which contains information about
+# most variables to get MPD back into the same general shape it was in before
+# it was brought down. This setting is disabled by default and the server
+# state will be reset on server start up.
+#
+#state_file "~/.config/mpd/state"
+#
+# The location of the sticker database. This is a database which
+# manages dynamic information attached to songs.
+#
+#sticker_file "~/.config/mpd/sticker.sql"
+#
+###############################################################################
+
+
+# General music daemon options ################################################
+#
+# This setting specifies the user that MPD will run as. MPD should never run as
+# root and you may use this setting to make MPD change its user ID after
+# initialization. This setting is disabled by default and MPD is run as the
+# current user.
+#
+#user "nobody"
+#
+# This setting specifies the group that MPD will run as. If not specified
+# primary group of user specified with "user" setting will be used (if set).
+# This is useful if MPD needs to be a member of group such as "audio" to
+# have permission to use sound card.
+#
+#group "nogroup"
+#
+# This setting sets the address for the daemon to listen on. Careful attention
+# should be paid if this is assigned to anything other than the default, any.
+# This setting can deny access to control of the daemon. Not effective if
+# systemd socket activation is in use.
+#
+# For network
+#bind_to_address "any"
+#
+# And for Unix Socket
+#bind_to_address "~/.mpd/socket"
+#
+# This setting is the TCP port that is desired for the daemon to get assigned
+# to.
+#
+#port "6600"
+#
+# Suppress all messages below the given threshold. Use "verbose" for
+# troubleshooting. Available setting arguments are "notice", "info", "verbose",
+# "warning" and "error".
+#
+#log_level "notice"
+#
+# Setting "restore_paused" to "yes" puts MPD into pause mode instead
+# of starting playback after startup.
+#
+#restore_paused "no"
+#
+# This setting enables MPD to create playlists in a format usable by other
+# music players.
+#
+#save_absolute_paths_in_playlists "no"
+#
+# This setting defines a list of tag types that will be extracted during the
+# audio file discovery process. The complete list of possible values can be
+# found in the user manual.
+#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
+#
+# This example just enables the "comment" tag without disabling all
+# the other supported tags:
+#metadata_to_use "+comment"
+#
+# This setting enables automatic update of MPD's database when files in
+# music_directory are changed.
+#
+auto_update "no"
+#
+# Limit the depth of the directories being watched, 0 means only watch
+# the music directory itself. There is no limit by default.
+#
+#auto_update_depth "3"
+#
+###############################################################################
+
+
+# Symbolic link behavior ######################################################
+#
+# If this setting is set to "yes", MPD will discover audio files by following
+# symbolic links outside of the configured music_directory.
+#
+#follow_outside_symlinks "yes"
+#
+# If this setting is set to "yes", MPD will discover audio files by following
+# symbolic links inside of the configured music_directory.
+#
+#follow_inside_symlinks "yes"
+#
+###############################################################################
+
+
+# Zeroconf / Avahi Service Discovery ##########################################
+#
+# If this setting is set to "yes", service information will be published with
+# Zeroconf / Avahi.
+#
+#zeroconf_enabled "yes"
+#
+# The argument to this setting will be the Zeroconf / Avahi unique name for
+# this MPD server on the network. %h will be replaced with the hostname.
+#
+#zeroconf_name "Music Player @ %h"
+#
+###############################################################################
+
+
+# Permissions #################################################################
+#
+# If this setting is set, MPD will require password authorization. The password
+# setting can be specified multiple times for different password profiles.
+#
+#password "password@read,add,control,admin"
+#
+# This setting specifies the permissions a user has who has not yet logged in.
+#
+#default_permissions "read,add,control,admin"
+#
+###############################################################################
+
+
+# Database #######################################################################
+#
+# An example of a database section instead of the old 'db_file' setting.
+# It enables mounting other storages into the music directory.
+#
+#database {
+# plugin "simple"
+# path "~/.local/share/mpd/db
+# cache_directory "~/.local/share/mpd/cache"
+#}
+#
+# An example of database config for a satellite setup
+#
+#music_directory "nfs://fileserver.local/srv/mp3"
+#database {
+# plugin "proxy"
+# host "other.mpd.host"
+# port "6600"
+#}
+
+# Input #######################################################################
+#
+input {
+ plugin "curl"
+# proxy "proxy.isp.com:8080"
+# proxy_user "user"
+# proxy_password "password"
+}
+
+#
+###############################################################################
+
+# Audio Output ################################################################
+#
+# MPD supports various audio output types, as well as playing through multiple
+# audio outputs at the same time, through multiple audio_output settings
+# blocks. Setting this block is optional, though the server will only attempt
+# autodetection for one sound card.
+#
+# PipeWire (in ArchLinux install)
+#
+audio_output {
+ type "pipewire"
+ name "PipeWire Sound Server"
+}
+
+# An example of an ALSA output:
+#
+#audio_output {
+# type "alsa"
+# name "My ALSA Device"
+## device "hw:0,0" # optional
+## mixer_type "hardware" # optional
+## mixer_device "default" # optional
+## mixer_control "PCM" # optional
+## mixer_index "0" # optional
+#}
+#
+# An example of an OSS output:
+#
+#audio_output {
+# type "oss"
+# name "My OSS Device"
+## device "/dev/dsp" # optional
+## mixer_type "hardware" # optional
+## mixer_device "/dev/mixer" # optional
+## mixer_control "PCM" # optional
+#}
+#
+# An example of a shout output (for streaming to Icecast):
+#
+#audio_output {
+# type "shout"
+# encoder "vorbis" # optional
+# name "My Shout Stream"
+# host "localhost"
+# port "8000"
+# mount "/mpd.ogg"
+# password "hackme"
+# quality "5.0"
+# bitrate "128"
+# format "44100:16:1"
+## protocol "icecast2" # optional
+## user "source" # optional
+## description "My Stream Description" # optional
+## url "http://example.com" # optional
+## genre "jazz" # optional
+## public "no" # optional
+## timeout "2" # optional
+## mixer_type "software" # optional
+#}
+#
+# An example of a recorder output:
+#
+#audio_output {
+# type "recorder"
+# name "My recorder"
+# encoder "vorbis" # optional, vorbis or lame
+# path "/var/lib/mpd/recorder/mpd.ogg"
+## quality "5.0" # do not define if bitrate is defined
+# bitrate "128" # do not define if quality is defined
+# format "44100:16:1"
+#}
+#
+# An example of a httpd output (built-in HTTP streaming server):
+#
+#audio_output {
+# type "httpd"
+# name "My HTTP Stream"
+# encoder "vorbis" # optional, vorbis or lame
+# port "8000"
+# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
+## quality "5.0" # do not define if bitrate is defined
+# bitrate "128" # do not define if quality is defined
+# format "44100:16:1"
+# max_clients "0" # optional 0=no limit
+#}
+#
+# An example of a pulseaudio output (streaming to a remote pulseaudio server)
+#
+#audio_output {
+# type "pulse"
+# name "My Pulse Output"
+## server "remote_server" # optional
+## sink "remote_server_sink" # optional
+## media_role "media_role" #optional
+#}
+#
+# An example of a winmm output (Windows multimedia API).
+#
+#audio_output {
+# type "winmm"
+# name "My WinMM output"
+## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
+# or
+## device "0" # optional
+## mixer_type "hardware" # optional
+#}
+#
+# An example of a wasapi output (Windows multimedia API).
+#
+#audio_output {
+# type "wasapi"
+# name "My WASAPI output"
+## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
+# or
+## device "0" # optional
+## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
+## exclusive "no" # optional
+## Enumerate all devices in log.
+## enumerate "no" # optional
+#}
+#
+# An example of an openal output.
+#
+#audio_output {
+# type "openal"
+# name "My OpenAL output"
+## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
+#}
+#
+# An example of an sndio output.
+#
+#audio_output {
+# type "sndio"
+# name "sndio output"
+# mixer_type "hardware"
+#}
+#
+# An example of an OS X output:
+#
+#audio_output {
+# type "osx"
+# name "My OS X Device"
+## device "Built-in Output" # optional
+## channel_map "-1,-1,0,1" # optional
+#}
+#
+## Example "pipe" output:
+#
+#audio_output {
+# type "pipe"
+# name "my pipe"
+# command "aplay -f cd 2>/dev/null"
+## Or if you're want to use AudioCompress
+# command "AudioCompress -m | aplay -f cd 2>/dev/null"
+## Or to send raw PCM stream through PCM:
+# command "nc example.org 8765"
+# format "44100:16:2"
+#}
+#
+## An example of a null output (for no audio output):
+#
+#audio_output {
+# type "null"
+# name "My Null Output"
+# mixer_type "none" # optional
+#}
+#
+###############################################################################
+
+
+# Normalization automatic volume adjustments ##################################
+#
+# This setting specifies the type of ReplayGain to use. This setting can have
+# the argument "off", "album", "track" or "auto". "auto" is a special mode that
+# chooses between "track" and "album" depending on the current state of
+# random playback. If random playback is enabled then "track" mode is used.
+# See <https://wiki.hydrogenaud.io/index.php?title=Replaygain> for
+# more details about ReplayGain.
+# This setting is off by default.
+#
+#replaygain "album"
+#
+# This setting sets the pre-amp used for files that have ReplayGain tags. By
+# default this setting is disabled.
+#
+#replaygain_preamp "0"
+#
+# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
+# By default this setting is disabled.
+#
+#replaygain_missing_preamp "0"
+#
+# This setting enables or disables ReplayGain limiting.
+# MPD calculates actual amplification based on the ReplayGain tags
+# and replaygain_preamp / replaygain_missing_preamp setting.
+# If replaygain_limit is enabled MPD will never amplify audio signal
+# above its original level. If replaygain_limit is disabled such amplification
+# might occur. By default this setting is enabled.
+#
+#replaygain_limit "yes"
+#
+# This setting enables on-the-fly normalization volume adjustment. This will
+# result in the volume of all playing audio to be adjusted so the output has
+# equal "loudness". This setting is disabled by default.
+#
+#volume_normalization "no"
+#
+###############################################################################
+
+# Character Encoding ##########################################################
+#
+# If file or directory names do not display correctly for your locale then you
+# may need to modify this setting.
+#
+#filesystem_charset "UTF-8"
+#
+###############################################################################
diff --git a/other/ncmpc/config b/other/ncmpc/config
new file mode 100644
index 0000000..8eff228
--- /dev/null
+++ b/other/ncmpc/config
@@ -0,0 +1,186 @@
+##
+## Configuration file for ncmpc (~/.config/ncmpc/config)
+##
+
+############## Connection ###################
+## Connect to mpd running on a specified host
+#host = "localhost"
+
+## Connect to mpd on the specified port.
+#port = 6600
+
+## Connect to mpd using the specified password.
+#password = "secret"
+
+## Reconnect after NUM seconds of MPD not responding.
+#timeout = 5
+
+############## Interface ####################
+## Enable mouse support (if enabled at compile time).
+#enable-mouse = yes
+
+# Which tags shall be grouped on the library page?
+#library-page-tags = artist album
+
+## A list of screens to cycle through when using
+## the previous/next screen commands (tab and shift+tab).
+## names: playlist browse help library search song keydef lyrics outputs chat
+#screen-list = playlist browse
+
+## Default search mode for the search screen. The mode is an
+## integer index, with 0 for title, 1 for artist, 2 for album,
+## 3 for filename, and 4 for artist+title.
+#search-mode = 0
+
+## Auto center (center the playing track in the playlist)
+#auto-center = no
+
+## Keep at least NUM lines above and below the cursor on list windows, if possible.
+scroll-offset = 5
+
+## Show the most recent query when using find.
+#find-show-last = no
+
+## Wrapped find mode.
+#find-wrap = yes
+
+## Wrapped cursor movement.
+#wrap-around = no
+
+## Ring bell when find wraps around.
+#bell-on-wrap = yes
+
+## Sound audible bell on alerts.
+#audible-bell = yes
+
+## Enable visible bell on alerts.
+#visible-bell = no
+
+## Default crossfade time in seconds.
+#crossfade-time = 10
+
+## Seek forward/backward by NUM seconds.
+#seek-time = 1
+
+## Quits downloading lyrics of a song after the timeout of NUM seconds is reached, if NUM is greater than zero.
+#lyrics-timeout = 60
+
+############## Display ######################
+## Show a list of the screens in the top line.
+#welcome-screen-list = yes
+
+## Make the cursor as wide as the screen.
+#wide-cursor = yes
+
+## Use the terminal's hardware cursor instead of inverse colors
+#hardware-cursor = yes
+
+## Hide playlist cursor after x seconds (0 disables this feature).
+#hide-cursor = 5
+
+## Scroll the title if it is too long for the screen.
+#scroll = yes
+
+## The separator to show at the end of the scrolling title.
+#scroll-sep = " *** "
+
+## list-format
+## The format used to display songs in the main window.
+#list-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
+
+## The format used to display songs in the search window.
+#search-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
+
+## The format used to display songs on the status line.
+#status-format = "[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
+
+## The time, in seconds, for which status messages will be displayed.
+#status-message-time = 3
+
+## Sets whether to display remaining or elapsed time in
+## the status window. Default is elapsed.
+#timedisplay-type = elapsed
+
+# Show the bitrate in the status bar when playing a stream.
+visible-bitrate = yes
+
+## Change the XTerm title (ncmpc will not restore the title).
+#set-xterm-title = no
+
+## The format used to for the xterm title when ncmpc is playing.
+#xterm-title-format = "ncmpc: [%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]]"
+
+## Automatically save the lyrics after receiving them.
+lyrics-autosave = yes
+
+## Show the name of the plugin used to receive lyrics on the lyrics screen.
+lyrics-show-plugin = yes
+
+## The text editor used for editing lyrics.
+text-editor = vim
+
+## Ask before starting an editor.
+#text-editor-ask = yes
+
+## The prefix of chat messages
+#chat-prefix = "<user> "
+
+## Display song length in second column
+#second-column = yes
+
+############## Colors #######################
+## colors: none, black, red, green, yellow, blue, magenta, cyan, white
+## attributes: standout, underline, reverse, blink, dim, bold
+##
+## Colors can also be given as an integer representing a terminal specific
+## color code. The special color, none, represents the terminals default color.
+
+## Enable/disable colors.
+#enable-colors = no
+
+## Set the background color.
+#color background = black
+
+## Set the text color for the title row.
+#color title = yellow
+
+## Set the text color for the title row (the bold part).
+#color title-bold = yellow,bold
+
+## Set the color of the line on the second row.
+#color line = white
+
+## Set the text color used to indicate mpd flags on the second row.
+#color line-flags = white,bold
+
+## Set the text color in the main area of ncmpc.
+#color list = green
+
+## Set the bold text color in the main area of ncmpc.
+#color list-bold = green,bold
+
+## Sets the text color of directories in the browser
+#color browser-directory = yellow
+
+## Sets the text color of playlists in the browser
+#color browser-playlist = red
+
+## Set the color of the progress indicator.
+#color progressbar = white
+
+## Set the text color used to display mpd status in the status window.
+#color status-state = yellow,bold
+
+## Set the text color used to display song names in the status window.
+#color status-song = yellow
+
+## Set the text color used to display time the status window.
+#color status-time = red
+
+## Text color used to display alerts in the status window.
+#color alert = red,bold
+
+## Redefine any of the base colors.
+## The RGB values must be an integer value between 0 and 1000.
+## Note: Only some terminals allow redefinitions of colors!
+#colordef yellow = 255, 140, 0
diff --git a/other/ncmpc/keys b/other/ncmpc/keys
new file mode 100644
index 0000000..4e2b152
--- /dev/null
+++ b/other/ncmpc/keys
@@ -0,0 +1,23 @@
+## Key bindings for ncmpc (generated by ncmpc)
+
+## Move cursor to the top of the list
+key home = 262, Ctrl-A, 'g'
+
+## Move cursor to the bottom of the list
+key end = 360, Ctrl-E, 'G'
+
+## Scroll up half a screen
+key scroll-down-half = 'N', Ctrl-D
+
+## Scroll down half a screen
+key scroll-up-half = 'B', Ctrl-U
+
+## Delete song from queue
+key delete = 330
+
+## Start a music database update
+key db-update = 0
+
+## Locate song in browser
+key locate = 0
+