Skip to content

imthaghost/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

⚡️ My personal macOS configuration files, managed with GNU Stow.

What's inside

Package Symlinks to What it is
zsh ~/.zshrc Zsh config on top of Oh My Zsh (robbyrussell theme), Go env, and a tiny palette helper.
nvim ~/.config/nvim/ Neovim config — a kickstart.nvim fork using lazy.nvim, native LSP, Treesitter, blink.cmp, and neo-tree.
git ~/.gitconfig, ~/.gitignore_global Git identity, GPG commit signing, and a global ignore file.
tmux ~/.tmux.conf tmux key bindings (Ctrl-c prefix), vi mode, and a custom status bar.

Tools I use

These dotfiles assume the following are installed:

Quick install of the essentials:

brew install stow neovim go node gnupg gh tmux
# Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyz/ohmyzsh/master/tools/install.sh)"

Install

git clone https://github.com/imthaghost/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh            # symlinks every package into $HOME

Install only specific packages:

./install.sh zsh git    # just these two

Remove a package's symlinks:

./install.sh -D tmux

How it works

Each top-level folder is a Stow package whose internal layout mirrors $HOME. For example zsh/.zshrc is symlinked to ~/.zshrc, and nvim/.config/nvim/ is symlinked to ~/.config/nvim/. Editing the file in this repo edits the live config, and vice-versa.

You can also stow a package by hand:

stow --target="$HOME" zsh

Note

Neovim: if you already have a ~/.config/nvim, Stow will refuse to overwrite it. Back it up first: mv ~/.config/nvim ~/.config/nvim.bak, then ./install.sh nvim. On first launch, lazy.nvim bootstraps itself and installs every plugin pinned in lazy-lock.json.

Secrets

No secrets live in this repo. Machine-specific tokens and environment variables go in ~/.zsh_secrets, which .zshrc sources automatically if present and which is gitignored. Example:

# ~/.zsh_secrets  (never committed)
export SOME_TOKEN="..."

About

⚡️A place for my configuration files⚡️

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages