My personal configuration files and helper scripts.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.autoborg
.composer
.config
.local/share
.ssh
.vim
bin
proj
.CFUserTextEncoding
.bash_profile
.bash_sessions_disable
.bashrc
.gitconfig
.gitignore
.nanorc
README.md

README.md

dotfiles

Good Unix tools are configured by files written by the user, so-called dotfiles. Bad tools are configured by databases and GUIs. This repository tries to apply my preferred settings to both of them.

What's configured

Status

This is supposed to replace dotscy as soon as possible in order to have a fresh start. The old repo contained a lot of configs for tools that I no longer use, even fonts and binaries that I don't want anymore, but still had in the history.

Currently, this has only been tested on macOS, but should run on other Unixes as well. I also plan to add instructions for usage on Windows.

Setting up

Instead of symlinking lots of files into your home directory, this repository is supposed to be your home directory. This has the added benefit of you being aware (via git status) of new config files that some tool might generate.

The setup procedure will clone the repo into a subdir of your home, then moving everything in it (including .git) directly into your home dir. Files/directories that would be overwritten will be backed up to ~/.orig_home.

The copy-paste snippet below requires rsync to be available on the system.

Unix and Windows (on WSL)

umask 0022 && cd                               &&
test ! -e .orig_home                           &&
git clone https://github.com/scy/dotfiles.git  &&
rsync -avb --backup-dir=.orig_home dotfiles/ . &&
rm -rf dotfiles                                &&
bin/apply-scy-config

Manual configuration

Although I'm aiming to automate as much as possible with this repo, for some things it's currently too complicated, at least at the moment. Maybe I'll add automation scripts in the future, but right now it's not worth the effort.

On a Mac

  • Install Karabiner-Elements.
  • Change the keyboard layout to US English. Not US International, because this results in dead keys which massively disturb my programming flow.
  • In Terminal.app:
    • on startup, new window with Pro
    • change default profile to Pro
    • in the Window tab of the profile, change the default size to 160x40
    • in the Shell tab of the profile, change the setting to close the window when the shell exits without error

On Windows

  • The default Windows console doesn't provide a visual bell, but the audible one is annoying. Therefore, mash Backspace in a bash for a few times to produce an audible bell. Then, right-click on the volume symbol in the task bar, choose "Open Volume Mixer" and mute "Console Window Host".