0a83a6457d
Use standard naming convention to match other config repositories: - kitty-conf -> kitty-config
74 lines
2.7 KiB
Markdown
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.
|