1
0
Fork 0

switch to chezmoi

This commit is contained in:
Von Random 2025-01-02 17:33:13 +02:00
parent 3c5d00dbf3
commit a8b0acd4db
76 changed files with 27 additions and 531 deletions

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
cli/.config/zsh/env.zsh
cli/.config/zsh/local.zsh
cli/.config/fish/conf.d/local.fish
cli/.config/fish/fish_variables
cli/.config/nvim/lazy-lock.json

View file

@ -1,4 +1,4 @@
vdotfiles vdotfiles
========= =========
stow is cool chezmoi is cooler

View file

@ -1,10 +0,0 @@
set bang_symbol \u276f
set kube_symbol \u2388
set kube_config "$HOME/.kube/config"
set git_symbol \ue0a0
set color_git_branch brblack
# git symbols and colors
# [1] unstaged, [2] staged, [3] untracked, [4] conflicts
set git_status \~ + ! \*
set color_git yellow blue red purple

View file

@ -1,22 +0,0 @@
if status is-interactive
function postexec --on-event fish_postexec
set -l ret $status
if test $ret -ne 0
printf '\e[31m>>\e[39m exit \e[31m%s\e[39m\n' $ret
end
end
if command -q grc
set -l grc_cmds \
iptables ipneighbor ipaddr iproute ip nmap netstat \
traceroute tcpdump ss ping \
dockerversion dockersearch dockerpull dockerps dockernetwork \
docker-machinels dockerinfo dockerimages \
lspci lsof lsmod lsblk lsattr getfacl id whois vmstat ulimit \
systemctl sysctl stat pv ps ping last gcc free findmnt fdisk env du \
dig diff df blkid
for cmd in $grc_cmds
command -q $cmd && alias $cmd="command grc -es --colour=auto $cmd"
end
end
end

View file

@ -1,14 +0,0 @@
function fish_prompt.add
set -l text $argv[1]
set -l color $argv[2]
if test -n "$color"
set value (set_color $color)$text(set_color normal)
else
set value $text
end
if test -z "$prompt_string"
set prompt_string $value
else
set -a prompt_string $value
end
end

View file

@ -1,14 +0,0 @@
function fish_prompt.add.pl
set -l color $argv[1]
set -l text $argv[2]
set -l sep ''
if test -n "$prompt_sep"
set sep (set_color $prev_color)$prompt_sep(set_color $color_fg)
set prev_color $color
end
if test -z "$prompt_string"
set prompt_string (set_color -b $color)(set_color $color_fg) $text
else
set -a prompt_string (set_color -b $color)$sep $text
end
end

View file

@ -1,7 +0,0 @@
function fish_prompt.bang
if ! string match -eq linux $TERM
fish_prompt.add \n$bang_symbol\ brblack
else
fish_prompt.add \n\#\ brred
end
end

View file

@ -1,4 +0,0 @@
function fish_prompt.emoji
set emoji \U1f41f \U1f420 \U1f421
printf $emoji[(random 1 (count $emoji))]
end

View file

@ -1,14 +0,0 @@
function fish_prompt
set -g prompt_string
set -g prev_color
fish_prompt.add \[ brblack
fish_prompt.user
fish_prompt.add (prompt_pwd) blue
fish_prompt.kube
fish_prompt.git
fish_prompt.add \] brblack
fish_prompt.bang
echo $prompt_string
set -e prompt_string
end

View file

@ -1,21 +0,0 @@
function fish_prompt.git
set -l is_git_tree (git rev-parse --is-inside-work-tree 2>/dev/null)
string match -qe 'true' "$is_git_tree" || return
git status --porcelain -bu | while read line
if string match -qr '^##' "$line"
set git_branch (string match -r '[^# .]+' "$line")
string match -qr '\[behind' $line && set git_branch "$git_branch?"
string match -qr '\[ahead' $line && set git_branch "$git_branch!"
fish_prompt.add "$git_symbol $git_branch"
else
string match -qr "^.[MD]" "$line" && set git_count[1] (math $git_count[1] + 1)
string match -qr "^[MDARC]." "$line" && set git_count[2] (math $git_count[2] + 1)
string match -qr "^\?\?" "$line" && set git_count[3] (math $git_count[3] + 1)
string match -qr "^[ADU]{2}" "$line" && set git_count[4] (math $git_count[4] + 1)
end
end
test -n "$git_count[1]" && fish_prompt.add "$git_count[1]$git_status[1]" "$color_git[1]"
test -n "$git_count[2]" && fish_prompt.add "$git_count[2]$git_status[2]" "$color_git[2]"
test -n "$git_count[3]" && fish_prompt.add "$git_count[3]$git_status[3]" "$color_git[3]"
test -n "$git_count[4]" && fish_prompt.add "$git_count[4]$git_status[4]" "$color_git[4]"
end

View file

@ -1,8 +0,0 @@
function fish_prompt.kube
if ! test -r "$kube_config"
return
end
fish_prompt.add "$kube_symbol"
set -l kube_context (awk -F- '($1 == "current") {print $3}' "$kube_config")
fish_prompt.add "$kube_context" green
end

View file

@ -1,5 +0,0 @@
function fish_prompt.user
if test -n "$SSH_CONNECTION" || string match -qe root "$USER"
fish_prompt.add $USER@$hostname brblack
end
end

View file

@ -1,3 +0,0 @@
function ls
command eza --group-directories-first $argv
end

View file

@ -2,7 +2,7 @@ font-family = Cascadia Mono PL
font-feature = ss01 font-feature = ss01
font-feature = ss19 font-feature = ss19
font-feature = ss20 font-feature = ss20
font-size = 14 font-size = 12
cursor-style = block cursor-style = block
cursor-style-blink = false cursor-style-blink = false

View file

@ -0,0 +1,3 @@
function ls
command eza --group-directories-first --icons $argv
end

22
dot_config/starship.toml Normal file
View file

@ -0,0 +1,22 @@
format = '[\[](bright-black) $all[\]](bright-black)$character'
add_newline = false
[git_status]
conflicted = '*'
ahead = '↑'
behind = '↓'
diverged = '?'
up_to_date = ''
untracked = '!'
stashed = '$'
modified = '~'
staged = '+'
renamed = '→'
deleted = '×'
typechanged = ''
[character]
format = "\n[❯](bright-black) "
[line_break]
disabled = true

View file

@ -1,148 +0,0 @@
! {{{ xft and cursor configuration, aliases
Xcursor.theme: Vanilla-DMZ
Xft.antialias: true
Xft.lcdfilter: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.dpi: 96
#define FONT xft:VascadiaMod:size=12
! gruvbox
#define COLORFG #ebdbb2
#define COLORBG #282828
#define COLORBD #ebdbb2
#define COLORCR #fb4934
#define COLOR0 #282828
#define COLOR1 #cc241d
#define COLOR2 #98971a
#define COLOR3 #d79921
#define COLOR4 #458588
#define COLOR5 #b16286
#define COLOR6 #689d6a
#define COLOR7 #a89984
#define COLOR8 #928374
#define COLOR9 #fb4934
#define COLOR10 #b8bb26
#define COLOR11 #fabd2f
#define COLOR12 #83a598
#define COLOR13 #d3869b
#define COLOR14 #8ec07c
#define COLOR15 #ebdbb2
! solarized light
!#define COLORFG #657b83
!#define COLORBG #fdf6e3
!#define COLORBD #002b36
!#define COLORCR #cb4b16
!
!#define COLOR0 #073642
!#define COLOR1 #dc322f
!#define COLOR2 #859900
!#define COLOR3 #b58900
!#define COLOR4 #268bd2
!#define COLOR5 #d33682
!#define COLOR6 #2aa198
!#define COLOR7 #eee8d5
!
!#define COLOR8 #002b36
!#define COLOR9 #cb4b16
!#define COLOR10 #586e75
!#define COLOR11 #657b83
!#define COLOR12 #839496
!#define COLOR13 #6c71c4
!#define COLOR14 #93a1a1
!#define COLOR15 #fdf6e3
! }}}
! {{{ urxvt
! fonts
URxvt.font: FONT
URxvt.letterSpace: -1
! misc
URxvt.intensityStyles: false
URxvt.internalBorder: 1
URxvt.iso14755: false
URxvt.pastableTabs: true
URxvt.pointerBlank: true
URxvt.saveLines: 10000
URxvt.scrollBar: false
URxvt.secondaryScroll: false
URxvt.urgentOnBell: false
URxvt.visualBell: false
URxvt.cutchars: `'"'&()*,;<=>?@[]^{|}│
! perl extensions
URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /home/von/.local/bin/default-web-browser
URxvt.matcher.button: 3
! keymaps
URxvt.keysym.C-V: eval:paste_clipboard
URxvt.keysym.M-v: eval:paste_clipboard
URxvt.keysym.C-C: eval:selection_to_clipboard
URxvt.keysym.M-c: eval:selection_to_clipboard
! colors
URxvt.foreground: COLORFG
URxvt.colorBD: COLORBD
URxvt.background: COLORBG
URxvt.cursorColor: COLORCR
URxvt.color0: COLOR0
URxvt.color1: COLOR1
URxvt.color2: COLOR2
URxvt.color3: COLOR3
URxvt.color4: COLOR4
URxvt.color5: COLOR5
URxvt.color6: COLOR6
URxvt.color7: COLOR7
URxvt.color8: COLOR8
URxvt.color9: COLOR9
URxvt.color10: COLOR10
URxvt.color11: COLOR11
URxvt.color12: COLOR12
URxvt.color13: COLOR13
URxvt.color14: COLOR14
URxvt.color15: COLOR15
! }}}
! {{{ xterm
xterm.borderWidth: 0
xterm.vt100.font: TERMINUS
xterm.vt100.colorBDMode: true
xterm.vt100.allowBoldFonts: false
xterm.vt100.boldColors: false
xterm.vt100.bellIsUrgent: true
xterm.vt100.visualBell: false
xterm.vt100.metaSendsEscape: true
xterm.vt100.fastScroll: true
xterm.vt100.internalBorder: 1
! colors
xterm.vt100.foreground: COLORFG
xterm.vt100.colorBD: COLORBD
xterm.vt100.background: COLORBG
xterm.vt100.cursorColor: COLORCR
xterm.vt100.color0: COLOR0
xterm.vt100.color1: COLOR1
xterm.vt100.color2: COLOR2
xterm.vt100.color3: COLOR3
xterm.vt100.color4: COLOR4
xterm.vt100.color5: COLOR5
xterm.vt100.color6: COLOR6
xterm.vt100.color7: COLOR7
xterm.vt100.color8: COLOR8
xterm.vt100.color9: COLOR9
xterm.vt100.color10: COLOR10
xterm.vt100.color11: COLOR11
xterm.vt100.color12: COLOR12
xterm.vt100.color13: COLOR13
xterm.vt100.color14: COLOR14
xterm.vt100.color15: COLOR15
! }}}

View file

@ -1,197 +0,0 @@
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
set $i3_term default-terminal-emulator
set $font PT Sans Expert:size=11
font pango:Fantasque Sans Mono 13
#font pango:Cascadia Code PL 11
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+x exec $i3_term
# kill focused window
bindsym $mod+Shift+c kill
# workaround for firefox
bindsym Control+q exec /bin/true
# screenshot
bindsym $mod+Shift+s exec screenshot-tool
# start dmenu (a program launcher)
bindsym $mod+y exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$font"
bindsym $mod+d exec dmenu_run -p run -i -fn "$font"
bindsym $mod+p exec dmenu_ssh "$i3_term -e tmux_ssh" -i -fn "$font"
bindsym $mod+u exec dmenu_pass -i -fn "$font"
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+b split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+Return floating toggle
# change focus between tiling / floating windows
bindsym $mod+Return focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+Shift+a focus child
# move to another screen
bindsym $mod+Shift+o move workspace to output right
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
bindsym $mod+o workspace back_and_forth
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+r restart
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Control+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# lock screen
bindsym $mod+z exec "xscreensaver-command -lock"
# toggle touchpad
bindsym XF86TouchpadToggle exec "touchpad-toggle"
bindsym XF86KbdBrightnessDown exec "keybrightness d"
bindsym XF86KbdBrightnessUp exec "keybrightness u"
# mpd keys
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
# volume keys
#bindsym XF86AudioRaiseVolume exec "ponymix increase 2"
#bindsym XF86AudioLowerVolume exec "ponymix decrease 2"
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bar {
position top
status_command "i3status-rs"
tray_output primary
colors {
background #2c2c2c
}
}
workspace_layout tabbed
new_window pixel 1
new_float pixel 1
hide_edge_borders both
workspace_auto_back_and_forth yes
force_focus_wrapping yes
# software
for_window [class="GalaxyBudsClient"] floating enable
for_window [class="jetbrains-toolbox"] floating enable
for_window [class="Vpnui"] floating enable
for_window [class="Deadbeef"] floating enable
for_window [class="mpv"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="pinentry"] floating enable
for_window [class="Qmmp"] floating enable
for_window [class="Vncviewer"] floating enable
for_window [class="vlc"] floating enable
for_window [class="X64"] floating enable
for_window [title="^Cacti - Realtime"] floating enable
for_window [class="java-lang-Thread"] floating enable
for_window [class="^sun-awt"] floating enable
# scratchpad
for_window [class="KeePassXC"] move scratchpad, scratchpad show
for_window [title="^vimwiki$"] move scratchpad, scratchpad show
bindsym $mod+i [class="KeePassXC"] scratchpad show
bindsym $mod+n [title="^vimwiki$"] scratchpad show
# execs
exec --no-startup-id "$HOME/.autostart"

View file

@ -1,57 +0,0 @@
[global]
font = Fira Sans Condensed 10
allow_markup = yes
format = "[%a] <b>%s</b>\n%b"
sort = yes
indicate_hidden = yes
alignment = right
bounce_freq = 0
show_age_threshold = 60
word_wrap = yes
ignore_newline = no
geometry = "600x5-30+45"
shrink = no
transparency = 0
idle_threshold = 120
monitor = 0
follow = mouse
sticky_history = yes
history_length = 20
show_indicators = no
line_height = 0
separator_height = 2
padding = 8
horizontal_padding = 8
separator_color = frame
startup_notification = false
dmenu = /usr/bin/dmenu -p dunst:
browser = /home/von/.local/bin/default-web-browser
icon_position = left
icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
max_icon_size = 256
[frame]
width = 1
color = "#5F676A"
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+grave
context = ctrl+shift+period
[urgency_low]
background = "#222222"
foreground = "#cccccc"
timeout = 10
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 10
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
timeout = 0