dotfiles
:desktop_computer: The very heart of an efficient work environment
git clone https://github.com/mavam/dotfiles.gitmavam/dotfilesdotfiles
Proper dotfiles are the very heart of an efficient working environment.
- Terminals: GhostTTY
- Shell: Fish
- Editor: NeoVim
- Colorscheme: GitHub Light & Dark
- Font: Fira Code from Nerd Fonts
On macOS, Homebrew is the package manager.
Usage
Synopsis
Clone this repository and optionally bootstrap your system:
git clone git@github.com:mavam/dotfiles.git ~/.dotfiles cd .dotfiles ./bootstrap
The bootstrap script will ask you whether you'd like to setup specific components.
Dotfile Management
The Bash utility dots links configuration content from this repository
into your prefix (default: $HOME), treating each top-level directory as a
"tool" whose contents mirror the layout you want under $HOME. Add files to a
tool directory and, with a root mapping, they will be picked up automatically.
Install everything:
./dots install
Install a subset (your shell expands globs before the script runs):
./dots install git gpg "neovim*"
Preview the plan without touching the filesystem:
./dots diff git
Remove previously linked files:
./dots remove git
Inspect overall status or the current environment:
./dots list ./dots doctor
The script is careful about existing files unless you pass --force. Use the
--prefix DIR flag to dry-run installs into an alternate location.
To add a new tool, create a directory (e.g., foo/) and drop your config files
inside. When you need custom targets or directory preparation, add a
foo/tool.config.yaml manifest:
root:
target: "~/.config/fish"
directories:
- path: "~/.gnupg"
permissions: "700"
root mirrors the tool directory under the given target so new files are picked up automatically, and the optional directories entries let you pre-create sensitive paths with the right permissions.
more like this