Skip to content

cpplain/dotfiles

Repository files navigation

Christopher's Dotfiles

neovim screenshot

This repo contains my configuration files (aka dotfiles) and related scripts. Feel free to use whatever works for you. You may also find inspiration from repos that have inspired me.

Installation

# Fresh system bootstrap (installs Homebrew, Go, and configures everything)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/cpplain/dotfiles/main/bin/bootstrap)"

# Or if you already have the repo cloned and lnk installed
cd ~/git/dotfiles
lnk --config home/.config/lnk/config.json create

Configuration Management

This repository uses lnk, a Go-based dotfile management tool with the following features:

  • Fast execution - Written in Go for improved performance over shell scripts
  • File-level and directory-level linking - Links individual files by default, directories when specified
  • Adopt/orphan files - Easily add or remove files from version control
  • Dual repositories - Separate public and private configuration repos
  • Git integration - Automatically respects .gitignore patterns
  • Zero dependencies - Pure Go implementation using only the standard library

See the full lnk documentation for detailed usage.

Quick commands:

lnk status                                                # Show all managed files
lnk adopt --path ~/.ssh/config --source-dir home          # Add to dotfiles
lnk adopt --path ~/.ssh/config --source-dir private/home  # Add to private repo
lnk orphan --path ~/.config/app                           # Remove from dotfiles

Basic Setup

Documentation

Inspiration

About

My configuration files

Resources

License

Stars

Watchers

Forks