GitHunt
ST

steinbrueckri/dotfiles

My personal configuration files and scripts.

My Dotfiles

dotfiles

Hi! These are my dotfiles that I use every day, primarily the terminal.
If you find something interesting, go ahead and take whatever you want from my dotfiles.

It is managed using yadm, a dotfile
manager. This makes it simple to set up a new computer with these files. In
order to set up a new system with these dotfiles, do the following:

Getting Started

First of all you need yadm, this can be installed on macOS via homebrew or on
Linux via the package manager of your choice.

macOS

Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Install tools with Homebrew

brew bundle install --file=.Brewfile

Install tools on ArchLinux

xargs pacman -S --needed --noconfirm < [.pacmanfile](./.pacmanfile)

Clone dotfiles with yadm

$ yadm clone https://github.com/steinbrueckri/dotfiles
Initialized empty shared Git repository in /steinbrueckri/.config/yadm/repo.git/
remote: Enumerating objects: 295, done.
remote: Counting objects: 100% (283/283), done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 295 (delta 119), reused 282 (delta 118), pack-reused 12
Receiving objects: 100% (295/295), 183.96 KiB | 399.00 KiB/s, done.
Resolving deltas: 100% (120/120), done.
From https://github.com/steinbrueckri/dotfiles
 * [new branch]      master     -> origin/master
Executing /steinbrueckri/.config/yadm/bootstrap

Hardware

Equipment list

Mobile

Device Class Vendor Model
Keyboard Nuphy Air60 V2
Keyboard Case Nuphy NuFolio V3
Powerbank Anker 737 Powerbank aka PowerCore 24K
Mobile Router GL.iNet GL-XE300 (Puli)
Backpack Peak Design Everyday Backpack
Tech Pouch Peak Design Field Pouch V2

Office

Device Class Vendor Model
Desk BoHo-Moebel Premium Line with oak table top
Desk Shelf Balolo Setup Cockpit
Chaire HÅG Capisco 8020
Desk Lamp Dyson Solarcycle Morph
Monitor Apple Studio Display
Keyboard Kinesis Advantage360
Mouse Kensington Expert Mouse Wireless Trackball
Headphones Apple AirPods Max

Notebook

As my main device i use Macbook Pro 2021 ...

$ system_profiler SPHardwareDataType | grep -v "UDID\|UUID\|Serial"
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,4
      Model Number: Z15K0004WD/A
      Chip: Apple M1 Max
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 8419.80.7
      OS Loader Version: 8419.80.7
      Activation Lock Status: Disabled

As Keyboard i use a Kinesis Advantage360
with the blank keycap set from Kinesis kc360-bk
and my Keyboard layouts and macros
for it can be found in steinbrueckri/Adv360-Pro.

Keyboard
NOTE: Picture need a update 😆

Key mappings and Aliases

My vim leader key is and the tmux leader is . The following
table is generate by ChatGPT so its maybe a lie. ;)

nvim Keybindings

Mode Key Action
i jk Exit insert mode
n Clear search highlight
n U Redo last undone change
v < Indent left and reselect
v > Indent right and reselect
x x Delete without losing register contents
x p Paste over visual selection without losing register contents
n Next buffer
n Previous buffer
n q Close current buffer
n Q Force close current buffer
n bd Delete buffer
n bm Delete all marks
n w Save file
n N Create new buffer
n e Toggle file tree
n gF Create file and open
n n Find next and center
n N Find previous and center
n fm Execute make target
n fa Search in files
n fc Search in config files
n ff Search all files (ignoring .git)
n fe Find emojis
n fp Show yank history
n fo Show recent files
n fr Open search and replace
n ft Find open TODOs
n gf Open Fork and show Git status
n gb Git blame line
n gg Open line in Github
n gl Open LazyGit
n fb Find git branches
n tw Toggle word wrap
n ud Toggle database UI
n tm Toggle Markdown preview
n Z Show spell suggests
n yc Duplicate a line and comment out the first line
n ts Toggle Screenkey
n tt Toggle Terminal
n to Toggle Symbols
n td Toggle Diagnostics
n tl Toggle LSP Definitions
n nn Create quick note
n nf Search notes
n no Open note in Silverbullet
n tq Toggle quickfix list
n ]q Next item quickfix list
n [q Previous item quickfix list
n Goto split up
n Goto split down
n Goto split left
n Goto split right
n sh Create horizontal split
n sv Create vertical split

tmux Keybindings

Key Action
C-a Send prefix
_ Split window horizontally
- Split window vertically
h Switch to home
u Switch to userlike
C New window
y Toggle synchronize-panes and display message
v Enter copy mode
p Paste buffer
r Reload ~/.tmux.conf and display message
- (copy-mode) Copy-pipe-and-cancel to clipboard

Fish Aliases

Alias Command
vim nvim
vi nvim
v nvim
n nvim
nvim-switch-nightly bob use nightly
nvim-switch-stable bob use stable
lg lazygit
lgd lazydot
lazydot lazygit -ucd ~/.local/share/yadm/lazygit -w ~ -g ~/.local/share/yadm/repo.git
lol git log --pretty=oneline --abbrev-commit --graph --decorate
gp git pull
kx kubectx
k kubectl
kc kubecolor
kn kubens
k-debug kubectl run --namespace default -i --tty 'debug-default-$USER' --image=steinbrueckri/debug --restart=Never --rm=true -- bash
k-debug-app kubectl run --namespace istio-apps -i --tty 'debug-$USER' --image=steinbrueckri/debug --restart=Never --rm=true -- bash
newpyenv uv venv .venv --python 3.12 && echo '{ "venvPath": ".", "venv": ".venv", "include": ["src", "tests"], "exclude": ["**/pycache", ".pytest_cache", ".ruff_cache", ".venv"] }' > pyrightconfig.json && mkdir -p src tests && source .venv/bin/activate.fish
activate_env_datacenter source ~/Userlike/UserlikeDatacenter/.venv/bin/activate.fish
activate_env_code source ~/Userlike/Userlike/.venv/bin/activate.fish
gcpil gcloud compute instances list
gcpal gcloud compute addresses list
gcpssh gcloud compute ssh
gcpsshi gcloud compute ssh --internal-ip
gcpsshiap gcloud compute ssh --tunnel-through-iap
gcprdpiap gcloud compute start-iap-tunnel $1 3389 --local-host-port=localhost:3389 --zone=$2
do doctl
do-new doctl compute droplet create tmp --region ams3 --size s-2vcpu-2gb --image ubuntu-22-04-x64 --user-data-file .dotfileassets/digitalocean-cloudinit.yaml --ssh-keys "df:17:95:8d:31:56:39:27:d1:04:e3:12:52:36:ed:5b"
do-new-ssh ssh $(doctl compute droplet list
localvm multipass launch -c 4 -m 4G -d 50G -n localvm 20.04 --cloud-init .dotfileassets/multipass-common.yaml
dr docker run -it --rm --entrypoint /bin/sh
rm-images docker rmi (docker images -q)
tssh tsh ssh (tsh ls | tail --lines=+3 | fzf -e | head -n 1 | cut -d ' ' -f1)
pwgen date +%s | sha256sum | base64 | head -c 32 ; echo
cat bat
hosts hosts --auto-sudo
ls eza --icons
top btop
watch viddy
myip curl -s -H "Accept: application/json" ipinfo.io | jq -r .ip
ag rg
tailscale /Applications/Tailscale.app/Contents/MacOS/Tailscale
sslcheck nmap --script ssl-cert -p 443
sslyze docker run --rm -it nablac0d3/sslyze:latest
lightmode themr rose-pine-dawn
darkmode themr rose-pine-moon
kill-ansible-ssh ps aux | grep "ansible-" | grep "[mux]" | awk "{print $2}" | xargs kill -9

Screenshots

Here’s a glimpse of my terminal and setup:

Screenshot-1

Screenshot-2

Tests

Running Tests Locally

# All tests
just test

# Debug mode (drops to shell on failure)
just test-debug

# Open shell in test container
just shell

CI

GitHub Actions runs just test (excludes slow markers for fast feedback).
Scheduled daily runs execute just test-all.

Requirements

  • Docker
  • Just command runner

Missing Features

Here are some planned improvements for future versions:

  • Testing with multiple Neovim versions
  • Testing across various Linux distributions
  • Testing on macOS