Skip to content

indiebrain/.files

Repository files navigation

Dotfiles

My configuration for shells, editors, and other script-able miscellany.

Overview

DO NOT TRACK THIS REPOSITORY. This repository is a constant work in progress. The code and configuration contained herein, while in a “working” state for my personal and professional use, comes with absolutely no support guarantees and will most likely introduce breaking changes without prior notice.

That being said, unless otherwise noted, the content of this repository is distributed under the terms of the GNU General Public License Version 3 or later. Feel free to exercise any of the 4 essential freedoms on this repository. Contributions are welcome. Please feel free to open issues, or submit fixes.

This repository is intended to work on hosts running flavors of Debian GNU/Linux or MacOS operating systems.

Installing

The install script performs the following steps:

  1. ensures the the dotfiles are present in the user’s home directory.
  2. ensures that host’s package manager is up to date
  3. ensures that the host system has the prerequisite software installed - git, stow, etc. If a dependency is missing, the install script attempts to resolve the missing dependency through the system’s package manager.
  4. places configuration via GNU Stow.

Locally via git and the install script

$ git clone git@github.com:indiebrain/.files.git ~/.files
$ ~/.files/install

How project this works

On-disk configuration is contained exclusively with the dotfiles

project directory (usually ~/.files) in a layout which can easily be managed by GNU Stow. GNU Stow symlinks the configuration into place outside the dotfiles project to minimize the project’s impact on the host file system.

Uninstalling

This dotfiles repository is self-contained, all configuration lives inside the root - files should NOT be placed outside of the dotfiles home directory (usually ~/.files) t on the host file system.

The use of GNU Stow affords the ability to “Soft Uninstall” the configuration provided herein by removing the symbolic links to the configuration content - IE the configuration can be moved out of the way of the host while the source still lives on disk. The uninstall script will do just this.

To completely remove these dotfiles:

  1. run the uninstall script
  2. remove the dotfiles home directory (usually ~/.files) from the local file sytem - via rm -rf

Optional packages

The configuration will generate a number of optional GNU Stow packages - for example: ==, gnome-terminal, iterm2. These are not “stowed” in the install script as they may not be required on the host. It is up to the user to determine if they should be placed. Placing an optional package can be done with the GNU Stow program from within the dofiles home directory:

$ stow PACKAGE

scripts

This package contains a number of utility shell scripts. When stowed via stow scripts, is linked into the $HOME/bin directory. This directory is automatically included on the user’s path so all scripts should be immediately discover-able by Bash.

About

A "Literate Programming" approach to managing dotfiles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages