The config files I use on my machines
  • Shell 78.1%
  • Vim Script 20.1%
  • Python 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexander Hess 7cf5654a4b
Fix fzf's ssh host completion under failglob in bash
fzf's completion.bash globs ~/.ssh/config.d/* when listing hosts
=> With `shopt -s failglob`, a missing or empty folder makes this
   an expansion error, printing "bash: no match" on every <Tab>
   after `ssh`

Define __fzf_list_hosts before sourcing fzf, using its override
hook with bash-completion's host list, as fzf itself suggests
2026-10-06 13:36:41 +02:00
.config Fix failglob aborts in complete_alias 2026-10-06 13:08:44 +02:00
.local Add utility to generate shell completions 2026-09-29 13:10:18 +02:00
.ssh Add public ssh keys ... 2026-09-29 13:10:17 +02:00
.bash_completion Fix fzf's ssh host completion under failglob in bash 2026-10-06 13:36:41 +02:00
.bash_login Add configuration for bash 2026-09-22 11:59:45 +02:00
.bash_logout Add configuration for bash 2026-09-22 11:59:45 +02:00
.bash_profile Add configuration for bash 2026-09-22 11:59:45 +02:00
.bashrc Fix infinite loop in bash alias completion 2026-10-06 13:08:42 +02:00
.profile Add configuration for python 2026-09-29 13:10:16 +02:00
.zlogout Add configuration for zsh 2026-09-29 13:10:14 +02:00
.zshenv Add configuration for zsh 2026-09-29 13:10:14 +02:00
.zshrc Add utility to generate shell completions 2026-09-29 13:10:18 +02:00
LICENSE.txt Mark this repository as open-source ... 2026-09-22 11:59:45 +02:00
README.md Add public ssh keys ... 2026-09-29 13:10:17 +02:00

Dotfiles

This repository contains useful (config) files.

There are two branches:

main contains dotfiles intended to be used on all kinds of machines and can be thought of as a "minimal" or "server" version. It targets Debian 13 but is kept working on older versions and other distributions as well. desktop is (re-)based on top of main and adds configurations for GNOME 48+ on X11 and many applications, be it end-user software or common development utilities.

SSH Keys

If I told you to go here and copy/paste my public ssh keys to give me access to one of your servers, find them either here or here.

Read this for how the keys are managed.

Installation

Simply run:

curl https://code.webartifex.de/alexander/dotfiles/raw/branch/main/.local/bin/dotfiles-install > dotfiles-install && sh ./dotfiles-install && rm ./dotfiles-install

or

wget https://code.webartifex.de/alexander/dotfiles/raw/branch/main/.local/bin/dotfiles-install -O dotfiles-install && sh ./dotfiles-install && rm ./dotfiles-install

This downloads a simple installation script and then executes it. The script's only dependency is git. So, it should not be too hard to get this going.

The repository is cloned as a bare repository into ~/.local/share/dotfiles and its files are checked out into ~/ directly. Pre-existing files are backed up to ~/.local/state/dotfiles-backups beforehand. Afterwards, the files can be managed with the dotfiles alias, for example, dotfiles status or dotfiles pull.

The above commands install the main variant. To install the desktop variant, switch to the desktop branch first.

Normally, I advise against executing shell scripts from the internet, but this one is short enough to be read even by beginners. So, convince yourself that it is not harmful!

Shells

The config files in this repository are optimized for usage with GNU's Bourne again shell, or bash for short, and the popular zsh.

This repository and all of its contents are open-source under the MIT license.