# rootiest dotfiles Personal system configuration for Arch-based Linux, managed with [chezmoi](https://chezmoi.io/). ## Overview This repository is the single source of truth for my system configuration. Rather than tracking config files directly, it uses chezmoi's **externals** feature to declaratively reference each config as its own versioned git repository. Chezmoi handles cloning and updating them automatically. | Config | Repository | Destination | |--------|-----------|-------------| | [Fish Shell](https://git.rootiest.dev/rootiest/fish-config) | `fish-config` | `~/.config/fish` | | [Kitty Terminal](https://git.rootiest.dev/rootiest/kitty-config) | `kitty-config` | `~/.config/kitty` | | [Neovim](https://git.rootiest.dev/rootiest/neovim-config) | `neovim-config` | `~/.config/nvim` | ## Highlights - **Fish Shell** — Catppuccin Mocha theme, Starship prompt, Fisher plugins, smart CLI wrappers, and extensive abbreviations for keyboard-driven workflows - **Kitty Terminal** — Deeply customized GPU-accelerated terminal with scripted layouts, splits, and Neovim integration - **Neovim** — Modular, high-performance config using native `vim.pack` for plugin management, blink.cmp completion, and GitHub Copilot LSP ## Prerequisites - Arch-based Linux (tested on [CachyOS](https://cachyos.org/)) - [`chezmoi`](https://archlinux.org/packages/extra/x86_64/chezmoi/) — `sudo pacman -S chezmoi` - [`git`](https://archlinux.org/packages/extra/x86_64/git/) — `sudo pacman -S git` ## Installation ### Fresh setup ```fish # 1. Clone this repo and initialize chezmoi against it chezmoi init --source=~/projects/dotfiles # 2. Apply — chezmoi will clone each external config repo into place chezmoi apply -v ``` ### Or initialize directly from this repository ```fish chezmoi init https://git.rootiest.dev/rootiest/dotfiles.git chezmoi apply -v ``` ## Keeping up to date Each config repo is maintained independently. To pull the latest changes from all of them at once: ```fish chezmoi update -v ``` This runs `git pull` in each external repo and reapplies any changes. ## Repository structure ``` dotfiles/ ├── .chezmoiexternal.toml # Declares the three external config repos ├── .chezmoiignore # Excludes repo-only files from the home directory └── README.md ``` ## Related repositories - [fish-config](https://git.rootiest.dev/rootiest/fish-config) — Fish shell configuration - [kitty-conf](https://git.rootiest.dev/rootiest/kitty-config) — Kitty terminal configuration - [neovim-config](https://git.rootiest.dev/rootiest/neovim-config) — Neovim configuration ## License Each configuration repository carries its own license. See the individual repos for details.