Skip to content

afneville/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Configuration Files

This version control repository contains a selection of my system configuration files. The word dotfile is a colloquialism referring to the leading . character used to hide a file on most Unix-like systems.

Initially, a single repository was sufficient for managing all of my settings and configuration files, however I have since extracted certain sections to independently versioned submodules:

Screenshots

  • Wayland (Sway) (main)

Deployment with Stow

For quick deployment on new machines, the files in this repository are organised in the fashion of GNU Stow, a symlink farm manager. Less convenient ways to manage deployment would involve either a messy deployment script or a lot of manual copying and symlinking. Stow, on the other hand, can automatically make and remove symlinks for both files and directories.

I have organised this project so that each top-level subdirectory acts as a reference to ~/. Files positioned at a given point relative to each of these directories will be placed in the same position relative to ~/ when stowed. An example of stow -t ~/ shell invocation:

./shell/ -> ~/
|--.bashrc -> ~/.bashrc
|--.zshnenv -> ~/.zshenv
`--.config/ -> ~/.config/
    `--zsh/ -> ~/.config/zsh/
        |--rc.sh -> ~/.config/zsh/rc.sh
        `--...

Installation

Having cloned the repository and navigated into it, initialise the submodules and stow desired subdirectories to deploy the configuration.

git submodule update --init --remote --recursive
stow -t ~/ apps shell wm bin X11 submodules