dotfiles

config files and scripts
git clone git://git.hanetzok.net/dotfiles
Log | Files | Refs

commit 5447b75893254eee14831a904020ed8c162a1781
Author: Markus Hanetzok <markus@hanetzok.net>
Date:   Fri, 20 Jun 2025 22:29:46 +0200

initial commit

Diffstat:
A.config/dunst/dunstrc | 36++++++++++++++++++++++++++++++++++++
A.config/fontconfig/fonts.conf | 28++++++++++++++++++++++++++++
A.config/mpd/mpd.conf | 4++++
A.config/ncmpcpp/bindings | 479+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/ncmpcpp/config | 32++++++++++++++++++++++++++++++++
A.config/sclirc | 2++
A.config/user-dirs.dirs | 15+++++++++++++++
A.config/x11/xinitrc | 17+++++++++++++++++
A.config/zsh/.zshrc | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.zprofile | 43+++++++++++++++++++++++++++++++++++++++++++
10 files changed, 729 insertions(+), 0 deletions(-)

diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc @@ -0,0 +1,36 @@ +[global] + monitor = 0 + follow = keyboard + width = 370 + height = (0, 350) + origin = top-right + offset = (0,19) + padding = 2 + horizontal_padding = 10 + transparency = 25 + font = Monospace 12 + format = "<b>%s</b>\n%b" + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#091833" + foreground = "#0abdc6" + frame_color = "#0abdc6" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #new_icon = /path/to/icon + +[urgency_normal] + background = "#091833" + foreground = "#ea00d9" + frame_color = "#ea00d9" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #new_icon = /path/to/icon + +[urgency_critical] + background = "#ff0000" + foreground = "#000000" + frame_color = "#000000" + timeout = 0 diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf @@ -0,0 +1,28 @@ +<?xml version='1.0'?> +<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'> +<fontconfig> + <alias> + <family>serif</family> + <prefer> + <family>Liberation Serif</family> + </prefer> + </alias> + <alias> + <family>sans-serif</family> + <prefer> + <family>Liberation Sans</family> + </prefer> + </alias> + <alias> + <family>sans</family> + <prefer> + <family>Liberation Sans</family> + </prefer> + </alias> + <alias> + <family>monospace</family> + <prefer> + <family>IBM Plex Mono</family> + </prefer> + </alias> +</fontconfig> diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf @@ -0,0 +1,4 @@ +db_file "~/.config/mpd/database" +log_file "syslog" +music_directory "~/media/music" +auto_update "yes" diff --git a/.config/ncmpcpp/bindings b/.config/ncmpcpp/bindings @@ -0,0 +1,479 @@ +############################################################## +## This is the example bindings file. Copy it to ## +## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ## +## and set up your preferences ## +############################################################## +# +#def_key "mouse" +# mouse_event +# +#def_key "up" +# scroll_up +# +#def_key "shift-up" +# select_item +# scroll_up +# +#def_key "down" +# scroll_down +# +#def_key "shift-down" +# select_item +# scroll_down +# +#def_key "[" +# scroll_up_album +# +#def_key "]" +# scroll_down_album +# +#def_key "{" +# scroll_up_artist +# +#def_key "}" +# scroll_down_artist +# +#def_key "page_up" +# page_up +# +#def_key "page_down" +# page_down +# +#def_key "home" +# move_home +# +#def_key "end" +# move_end +# +#def_key "insert" +# select_item +# +#def_key "enter" +# enter_directory +# +#def_key "enter" +# toggle_output +# +#def_key "enter" +# run_action +# +#def_key "enter" +# play_item +# +#def_key "space" +# add_item_to_playlist +# +#def_key "space" +# toggle_lyrics_update_on_song_change +# +#def_key "space" +# toggle_visualization_type +# +#def_key "delete" +# delete_playlist_items +# +#def_key "delete" +# delete_browser_items +# +#def_key "delete" +# delete_stored_playlist +# +#def_key "right" +# next_column +# +#def_key "right" +# slave_screen +# +#def_key "right" +# volume_up +# +#def_key "+" +# volume_up +# +#def_key "left" +# previous_column +# +#def_key "left" +# master_screen +# +#def_key "left" +# volume_down +# +#def_key "-" +# volume_down +# +#def_key ":" +# execute_command +# +#def_key "tab" +# next_screen +# +#def_key "shift-tab" +# previous_screen +# +#def_key "f1" +# show_help +# +#def_key "1" +# show_playlist +# +#def_key "2" +# show_browser +# +#def_key "2" +# change_browse_mode +# +#def_key "3" +# show_search_engine +# +#def_key "3" +# reset_search_engine +# +#def_key "4" +# show_media_library +# +#def_key "4" +# toggle_media_library_columns_mode +# +#def_key "5" +# show_playlist_editor +# +#def_key "6" +# show_tag_editor +# +#def_key "7" +# show_outputs +# +#def_key "8" +# show_visualizer +# +#def_key "=" +# show_clock +# +#def_key "@" +# show_server_info +# +#def_key "s" +# stop +# +#def_key "p" +# pause +# +#def_key ">" +# next +# +#def_key "<" +# previous +# +#def_key "ctrl-h" +# jump_to_parent_directory +# +#def_key "ctrl-h" +# replay_song +# +#def_key "backspace" +# jump_to_parent_directory +# +#def_key "backspace" +# replay_song +# +#def_key "f" +# seek_forward +# +#def_key "b" +# seek_backward +# +#def_key "r" +# toggle_repeat +# +#def_key "z" +# toggle_random +# +#def_key "y" +# save_tag_changes +# +#def_key "y" +# start_searching +# +#def_key "y" +# toggle_single +# +#def_key "R" +# toggle_consume +# +#def_key "Y" +# toggle_replay_gain_mode +# +#def_key "T" +# toggle_add_mode +# +#def_key "|" +# toggle_mouse +# +#def_key "#" +# toggle_bitrate_visibility +# +#def_key "Z" +# shuffle +# +#def_key "x" +# toggle_crossfade +# +#def_key "X" +# set_crossfade +# +#def_key "u" +# update_database +# +#def_key "ctrl-s" +# sort_playlist +# +#def_key "ctrl-s" +# toggle_browser_sort_mode +# +#def_key "ctrl-s" +# toggle_media_library_sort_mode +# +#def_key "ctrl-r" +# reverse_playlist +# +#def_key "ctrl-f" +# apply_filter +# +#def_key "ctrl-_" +# select_found_items +# +#def_key "/" +# find +# +#def_key "/" +# find_item_forward +# +#def_key "?" +# find +# +#def_key "?" +# find_item_backward +# +#def_key "." +# next_found_item +# +#def_key "," +# previous_found_item +# +#def_key "w" +# toggle_find_mode +# +#def_key "e" +# edit_song +# +#def_key "e" +# edit_library_tag +# +#def_key "e" +# edit_library_album +# +#def_key "e" +# edit_directory_name +# +#def_key "e" +# edit_playlist_name +# +#def_key "e" +# edit_lyrics +# +#def_key "i" +# show_song_info +# +#def_key "I" +# show_artist_info +# +#def_key "g" +# jump_to_position_in_song +# +#def_key "l" +# show_lyrics +# +#def_key "ctrl-v" +# select_range +# +#def_key "v" +# reverse_selection +# +#def_key "V" +# remove_selection +# +#def_key "B" +# select_album +# +#def_key "a" +# add_selected_items +# +#def_key "c" +# clear_playlist +# +#def_key "c" +# clear_main_playlist +# +#def_key "C" +# crop_playlist +# +#def_key "C" +# crop_main_playlist +# +#def_key "m" +# move_sort_order_up +# +#def_key "m" +# move_selected_items_up +# +#def_key "n" +# move_sort_order_down +# +#def_key "n" +# move_selected_items_down +# +#def_key "M" +# move_selected_items_to +# +#def_key "A" +# add +# +#def_key "S" +# save_playlist +# +#def_key "o" +# jump_to_playing_song +# +#def_key "G" +# jump_to_browser +# +#def_key "G" +# jump_to_playlist_editor +# +#def_key "~" +# jump_to_media_library +# +#def_key "E" +# jump_to_tag_editor +# +#def_key "U" +# toggle_playing_song_centering +# +#def_key "P" +# toggle_display_mode +# +#def_key "\\" +# toggle_interface +# +#def_key "!" +# toggle_separators_between_albums +# +#def_key "L" +# toggle_lyrics_fetcher +# +#def_key "F" +# fetch_lyrics_in_background +# +#def_key "alt-l" +# toggle_fetching_lyrics_in_background +# +#def_key "ctrl-l" +# toggle_screen_lock +# +#def_key "`" +# toggle_library_tag_type +# +#def_key "`" +# refetch_lyrics +# +#def_key "`" +# add_random_items +# +#def_key "ctrl-p" +# set_selected_items_priority +# +#def_key "q" +# quit +# +# +#def_key "f" +# find +#def_key "f" +# find_item_forward + +def_key "+" + show_clock +def_key "=" + volume_up + +def_key "j" + scroll_down +def_key "k" + scroll_up + +def_key "ctrl-u" + page_up +#push_characters "kkkkkkkkkkkkkkk" +def_key "ctrl-d" + page_down +#push_characters "jjjjjjjjjjjjjjj" +def_key "u" + page_up +#push_characters "kkkkkkkkkkkkkkk" +def_key "d" + page_down +#push_characters "jjjjjjjjjjjjjjj" +def_key "h" + previous_column +def_key "l" + next_column + +def_key "." + show_lyrics + +def_key "n" + next_found_item +def_key "N" + previous_found_item + +# not used but bound +def_key "J" + move_sort_order_down +def_key "K" + move_sort_order_up +def_key "h" + jump_to_parent_directory +def_key "l" + enter_directory +def_key "l" + run_action +def_key "l" + play_item +def_key "m" + show_media_library +def_key "m" + toggle_media_library_columns_mode +def_key "t" + show_tag_editor +def_key "v" + show_visualizer +def_key "G" + move_end +def_key "g" + move_home +#jump_to_position_in_song +def_key "U" + update_database +def_key "s" + reset_search_engine +def_key "s" + show_search_engine +def_key "f" + show_browser +def_key "f" + change_browse_mode +def_key "x" + delete_playlist_items +def_key "P" + show_playlist diff --git a/.config/ncmpcpp/config b/.config/ncmpcpp/config @@ -0,0 +1,32 @@ +# vim: filetype=conf + +ncmpcpp_directory = "~/.config/ncmpcpp" +lyrics_directory = "~/.local/share/lyrics" +mpd_music_dir = "~/media/music" +message_delay_time = "1" +visualizer_type = "spectrum" +song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9} +song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%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 = $(cyan)$r$b +current_item_suffix = $/r$(end)$/b +current_item_inactive_column_prefix = $(magenta)$r +current_item_inactive_column_suffix = $/r$(end) +playlist_display_mode = columns +browser_display_mode = columns +progressbar_look = -> +media_library_primary_tag = album_artist +media_library_albums_split_by_date = no +startup_screen = "media_library" +display_volume_level = no +ignore_leading_the = yes +external_editor = nvim +use_console_editor = yes +empty_tag_color = magenta +main_window_color = white +progressbar_color = black:b +progressbar_elapsed_color = blue:b +statusbar_color = red +statusbar_time_color = cyan:b diff --git a/.config/sclirc b/.config/sclirc @@ -0,0 +1,2 @@ +save-history = true +partition-contacts = true diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/" +XDG_DOWNLOAD_DIR="$HOME/downloads" +XDG_PUBLICSHARE_DIR="$HOME/public" +XDG_DOCUMENTS_DIR="$HOME/nextcloud/documents" +XDG_MUSIC_DIR="$HOME/media/music" +XDG_TEMPLATES_DIR="$HOME/Vorlagen" +XDG_PICTURES_DIR="$HOME/Bilder" +XDG_VIDEOS_DIR="$HOME/Videos" diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc @@ -0,0 +1,17 @@ +#xrdb merge ~/.Xresources +setxkbmap eu & +xbacklight -set 10 & +setbg & +xset r rate 200 50 & +dunst & +xcompmgr & +status & +mpd & +nextcloud & + +eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) +export SSH_AUTH_SOCK + +#exec dwm +dbus-update-activation-environment --all +dbus-launch ssh-agent dwm diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc @@ -0,0 +1,73 @@ +export PATH="$PATH:$HOME/.dotnet/tools" +# Enable colors and change prompt: +autoload -U colors && colors # Load colors +PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " +stty stop undef # Disable ctrl-s to freeze terminal. +setopt interactive_comments + +# History in cache directory: +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE="$HOME/.cache/zsh/history" +setopt inc_append_history + +# Basic auto/tab complete: +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +# vi mode +bindkey -v +export KEYTIMEOUT=1 + +# Use vim keys in tab complete menu: +bindkey -M menuselect 'h' vi-backward-char +bindkey -M menuselect 'k' vi-up-line-or-history +bindkey -M menuselect 'l' vi-forward-char +bindkey -M menuselect 'j' vi-down-line-or-history +bindkey -v '^?' backward-delete-char + +# Change cursor shape for different vi modes. +function zle-keymap-select () { + case $KEYMAP in + vicmd) echo -ne '\e[1 q';; # block + viins|main) echo -ne '\e[5 q';; # beam + esac +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. + +# Edit line in vim with ctrl-e: +autoload edit-command-line; zle -N edit-command-line +bindkey '^e' edit-command-line +bindkey -M vicmd '^[[P' vi-delete-char +bindkey -M vicmd '^e' edit-command-line +bindkey -M visual '^[[P' vi-delete + +# Load syntax highlighting; should be last. +source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null + +# Aliases +alias \ + p='sudo pacman' \ + dcd='sudo docker compose down' \ + dcud='sudo docker compose up -d' \ + dcp='sudo docker compose pull' \ + dcl='sudo docker compose logs -n 100 -f' \ + v='nvim' + +alias \ + ls="ls -hN --color=auto --group-directories-first" \ + grep="grep --color=auto" \ + diff="diff --color=auto" \ + ccat="highlight --out-format=ansi" \ + ip="ip -color=auto" + diff --git a/.zprofile b/.zprofile @@ -0,0 +1,43 @@ +# PATH +export PATH="$PATH":"$HOME"/.local/bin:"$HOME"/.local/bin/dmenu + +# default programs +export EDITOR='nvim' +export BROWSER='google-chrome' + +# XDG directories +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_STATE_HOME="$HOME"/.local/state +export XDG_CACHE_HOME="$HOME"/.cache + +# other settings +export SUDO_ASKPASS="$HOME"/.local/bin/dmenu/askpass +export FZF_DEFAULT_OPTS="--layout=reverse --height=40%" +export _JAVA_AWT_WM_NONREPARENTING=1 + +# keep home clean +export ANDROID_SDK_HOME="$XDG_CONFIG_HOME/android" +export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible/ansible.cfg" +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet +export ELECTRUMDIR="$XDG_DATA_HOME/electrum" +export GNUPGHOME="$XDG_DATA_HOME"/gnupg +export GOMODCACHE="$XDG_CACHE_HOME/go/mod" +export GOPATH="$XDG_DATA_HOME/go" +export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" +export HISTFILE="$XDG_STATE_HOME"/zsh/history +export KODI_DATA="$XDG_DATA_HOME/kodi" +export MBSYNCRC="$XDG_CONFIG_HOME/mbsync/config" +export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config" +export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages +export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" +export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc" +export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" +export TMUX_TMPDIR="$XDG_RUNTIME_DIR" +export UNISON="$XDG_DATA_HOME/unison" +export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" +#export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default" +export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority +export XINITRC="$XDG_CONFIG_HOME"/x11/xinitrc +export ZDOTDIR="$XDG_CONFIG_HOME"/zsh