dorkhub

dotfiles

:desktop_computer: The very heart of an efficient work environment

mavam
Shell5320 forksupdated 1 day ago
git clone https://github.com/mavam/dotfiles.gitmavam/dotfiles

dotfiles

Proper dotfiles are the very heart of an efficient working environment.

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

vim-dap

Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol

Vim Script50

vim-halo

:innocent: Visual highlight for your cursor.

Vim script50

search

search projects, people, and tags