Files
rootiest 0a83a6457d fix: update kitty config url
Use standard naming convention to match other config repositories:

- kitty-conf -> kitty-config
2026-04-27 14:37:05 -04:00

74 lines
2.7 KiB
Markdown

# 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.