/dotfiles

~ryan

Primary LanguageRuby

Dotfiles

Table of Contents

Introduction

These are my dotfiles. There are many like them, but these are mine.

Note
There are many ways to manage dotfiles. This is how I do it. It may not be the best way, but it works for me.

The files in "dotfiles" are managed by GNU Stow via the GNU Make. I will not go into detail about how to use Stow or Make in this document. There are many resources available online. I recommend reading documentation and experimenting.

From the GNU Stow website as of 2024-04-21:
GNU Stow is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place. For example, /usr/local/bin could contain symlinks to files within /usr/local/stow/emacs/bin, /usr/local/stow/perl/bin etc., and likewise recursively for any other subdirectories such as …​/share, …​/man, and so on.
— gnu.org
Stow - GNU Project - Free Software Foundation

Usage

Read the code. Use the code. Share the code. Improve the code.

The short version is use make to manipulate the dotfiles indirectly via stow. This is not a new technique, but it is a good one. There are others.

> make simulate  # Do not actually make any filesystem changes
> make stow      # Stow the dotfiles
> make unstow    # Unstow the dotfiles
Note
Stow offers an option (--dotfiles) to enable special handling for dotfiles but I do not use it.

Contributing

> make test
> make simulate