Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 1.76 KB

README.md

File metadata and controls

61 lines (45 loc) · 1.76 KB

Mouseless

Someone once said:

Show me your dotfiles and I'll tell you who you are.

Screenshots

This is a typical neovim session:

Why stow?

I previously used a bare git repository to manage my dotfiles1 but it became a bit unmanageable with time.

Advantages

  • No more accidental staging of random files that leads to having to mess with git
  • Much more structured filesystem, see below
  • Removing dotfiles is really easy, just stow -D <config>
  • A README, finally
  • Git gutter, finally

Structure

The install script basically checks the current operating system, selects what modules to install and uses stow to link each folder.

At the moment my dotfiles are split between three modules, as called by stow, which are common, linux and mac, and every module contains software specific configurations:

├── common
│   ├── ack
│   ├── alacritty
│   ├── bc
│   ├── git
│   ├── mpd
│   ├── ncmpcpp
│   ├── nvim
│   ├── ripgrep
│   ├── scripts
│   ├── tmux
│   ├── tmuxinator
│   └── zsh
├── linux
│   ├── xdefaults
│   └── xinit
└── mac
    ├── espanso
    └── karabiner

This allows me to have a main configuration in common and additional OS specific configurations in linux or mac. I use this for zsh for example, where I have a .zshrc_local where I set different options for Mac OS and Linux.

Plugins are managed using git submodules inside the corresponding application folder.

Missing

My suckless configurations, I'll add them as soon as I'll find a good way to integrate them.

Footnotes

  1. https://www.atlassian.com/git/tutorials/dotfiles