dotfiles collection
  • JavaScript 39%
  • Vim Script 33.8%
  • Shell 18.3%
  • CSS 7.4%
  • Perl 0.8%
  • Other 0.7%
Find a file
2026-02-02 02:11:33 +01:00
.config make scrollbars more useful/visible in gtk 2026-01-05 23:47:05 +01:00
.gnupg fix pcsc error log spam 2025-10-04 01:35:09 +02:00
.ipython/profile_default use vi mode everywhere 2017-07-23 22:26:16 +02:00
.mozilla/firefox remove search from context menu, keep address bar clean 2026-02-02 02:11:33 +01:00
.mplayer add Mplayer config 2016-07-12 09:37:11 +02:00
.parallel add GNU parallel config 2016-07-10 17:13:08 +02:00
.vim fold python docstrings 2025-09-21 15:10:39 +02:00
.ansible.cfg add Ansible config 2023-03-09 11:53:54 +01:00
.bash_profile fix comment on bash invocation behaviour 2016-10-24 22:36:16 +02:00
.bashrc Add zsh-style dh/cd -N commands to bash 2019-10-26 10:06:15 +02:00
.clang-format add a default clang-format configuration 2017-11-01 16:08:00 +01:00
.cvsignore add CVS config files 2016-07-09 20:27:09 +02:00
.cvsrc add CVS config files 2016-07-09 20:27:09 +02:00
.dbxrc disable the ignore-EOT default, silence startup 2017-01-20 23:56:48 +01:00
.duckdbrc add DuckDB shell configuration 2024-01-28 19:22:55 +01:00
.editrc enable tab-completion, reverse history search 2019-05-24 20:41:59 +02:00
.gdbinit enable Intel assembler syntax for x86, by default 2020-01-19 11:27:07 +01:00
.gitconfig improve diff, push and listing user experience 2025-03-03 15:17:00 +01:00
.gitmodules add Recover.vim - autodeletes stale swap files 2018-09-10 10:07:17 +02:00
.guile load pretty print module, by default 2017-03-04 20:05:42 +01:00
.gvimrc add gVim config - always use dark background 2016-07-14 20:06:16 +02:00
.hgrc add Mercurial (HG) config 2016-07-10 15:27:08 +02:00
.indent.pro add GNU indent defaults 2017-07-15 14:40:18 +02:00
.indent.pro-bsd add GNU indent defaults 2017-07-15 14:40:18 +02:00
.inputrc add readline library configuration 2016-07-10 15:36:38 +02:00
.irbrc add Ruby REPL (irb) config 2016-07-10 16:05:34 +02:00
.kshrc unify scrollback and shell cmd history settings 2016-09-16 21:59:23 +02:00
.mailcap also open pngs with eog 2020-09-16 17:32:33 +02:00
.muttrc confirm quit 2025-06-25 01:21:33 +02:00
.my.cnf better mysql/mariadb prompt 2019-10-26 10:28:26 +02:00
.profile add ksh config (Korn Shell) 2016-07-18 21:09:18 +02:00
.psqlrc Add a config for psql - the fine Postgresql REPL 2019-06-16 22:05:57 +02:00
.pythonstartup add Python startup file 2016-07-11 09:05:58 +02:00
.screenrc store screen capture files under ~/.cache/screen 2017-07-21 23:37:29 +02:00
.shrc Add curls function for some useful defaults 2019-12-17 20:22:50 +01:00
.slrnrc add slrn news client config 2016-07-10 21:02:46 +02:00
.slrnrc_color add slrn news client config 2016-07-10 21:02:46 +02:00
.sqliterc add SQLite 3 REPL shell configuration 2024-05-26 19:22:36 +02:00
.taskrc adjust paths for Fedora 25 2016-11-27 20:40:19 +01:00
.tmux.conf use vim-style key bindings to navigate windows 2021-12-20 17:36:10 +01:00
.vimperatorrc add keybinding for saving to archive.org 2017-02-06 22:36:33 +01:00
.vimrc fold python docstrings 2025-09-21 15:10:39 +02:00
.wgetrc Don't change the mtime of downloads (by default) 2016-11-14 09:00:26 +01:00
.Xresources enable TrueType fonts, by default 2018-04-18 12:57:38 +02:00
.zlogout add Z shell (zsh) config 2016-07-14 21:17:37 +02:00
.zprofile auto-update terminal geometry over serial lines 2018-03-10 13:39:40 +01:00
.zshrc Add kitty terminal configuration 2021-12-18 19:28:51 +01:00
install.sh Also auto-install user.js, add Firefox settings 2019-05-25 15:36:13 +02:00
README.md fix typos and the order of install instructions 2025-10-25 19:58:30 +02:00

This repository contains dotfiles, i.e. configuration files usually located in the home directory.

2016, Georg Sauthoff mail@georg.so

Rationale

The overall objective is to include useful and convenient stuff. Of course, the files are for a diverse range of applications, however, a few general themes can be derived:

  • Configure Vi-like key bindings as much as possible
  • Enable history where necessary (e.g. ~/.cache/program_history)
  • Enable colors and completion where it makes sense

The config files don't contain personal information like hardcoded user names, email addresses, though.

Where it is supported and makes sense, the config file thus (optionally) source a local addendum. For example, .gitconfig includes .gitconfig.local at the end where a user can add truly user specific configuration like the username and email address that should be used by the program.

Usage

Clone the repository and install some symlinks in the $HOME. The repository contains a shell script that automatically creates all links.

Example:

$ cd
$ git clone https://github.com/gsauthof/user-config.git config
$ cd config
$ git submodule update --init
$ dry=1 ./install.sh

And if everything looks plausible:

$ ./install.sh

After the script is finished the $HOME directory will include some symlinks like the following:

.gitconfig      -> config/.gitconfig
.gnupg/gpg.conf -> ../config/.gnupg/gpg.conf
...

Work Tree

With a dotfiles repository, using an external work tree may look like an alternative to creating symbolic links. But this repository includes several submodules and Git doesn't support submodules in a repository with an external work tree:

fatal: /usr/libexec/git-core/git-submodule cannot be used without a working tree.