A git repository to synchronize and keep track of my configurations, scripts, etc.
Go to file
2024-06-19 22:04:34 +07:00
.config helix: fix syntax highlighting for sway configuration file 2024-04-08 14:03:03 +07:00
.git-crypt git-crypt: re-encrypt files 2023-06-13 20:50:39 +07:00
.gnupg gpg: reduce gpg-agent max. cache time values to 15 min 2023-06-28 07:57:33 +07:00
.local scripts: install yt-dlp (fork of youtube-dl) 2024-06-19 22:04:34 +07:00
.ssh ssh: updated configuration of pihole and socks proxy 2024-02-22 08:18:27 +07:00
.bash_profile profile/gpg: use gpg-agent instead of ssh-agent and use yubikey gpg key for ssh 2023-06-13 00:41:45 +07:00
.bashrc helix: using helix by default and added initial configuration 2023-09-08 19:27:20 +07:00
.gitattributes gitattributes: encrypt .ssh/config via git-crypt to hide potential secrets 2023-06-13 02:51:54 +07:00
.gitconfig bashrc/gitconfig: avoid usage of dotfiles as bare git repo and according dotfiles alias 2023-06-13 02:39:19 +07:00
.gitconfig-user git-crypt: re-encrypt files 2023-06-13 20:50:39 +07:00
.password-store pass: added .password-store as link to ~/Git/sroemer/password-store 2023-06-13 00:41:44 +07:00
LICENSE readme: licensing conditions updated and LICENSE file separated from README.md 2023-06-13 00:40:45 +07:00
README.md readme: updated readme to reflect usage of git-crypt with regular git repository 2023-06-14 01:15:43 +07:00


A git repository to synchronize and keep track of my configurations, scripts, etc.

How do I use it?

While in the past the repository was intended to be used as a bare git repository I switched to using a regular repository directly within my home directory. The main reason for the switch was git-crypt not working with my previous approach.

For setting up a new machine, I run the following commands in my home directory:

git clone git@github.com:sroemer/dotfiles.git .
git config --local status.showUntrackedFiles no
git-crypt unlock

The call of git-crypt unlock requires my private gpg key which is only on my Yubikey and stored at a safe place guarded by Orcs - good luck with that ;)

What is git-crypt and why to use it for 'dotfiles'?

When keeping track of configuration files and scripts in a git repository sooner or later you will find yourself in a situation where you also would like to synchronize some kind of sensitive information.

This could be API keys, passwords or keys that obviously shouldn't be shared publicly. In my case the primary usecase is to hide my email address from robots crawling around for collecting it and sending spam.

git-crypt allows you to selectively choose files to protect. Those files then will be encrypted when commited and decrypted when checked out.


Unless otherwise stated the licensable work in my dotfiles repository - if there is any - uses the 'BSD Zero Clause License'.

Some parts of this repository are not my own work and have their own licensing conditions. In this cases a separate license file is included. This notably is the case for:

  1. The fonts located in .local/share/fonts (see separate LICENSE files within the directory)
  2. The 'Vim plugin manager' located in .local/share/nvim/site/autoload/ uses the 'MIT License'