- GNU Stow packages: kitty, fish, nvim, btop, fastfetch, starship, git, claude - install.sh with modular install, template rendering, fish plugins setup - uninstall.sh (stow -D) and scripts/doctor.sh for health checks - Brewfile (macOS) + Aptfile (Linux servers) - Claude Code hooks pipeline: settings.json.tpl, Obsidian session logging scripts - memory-compiler inline copy with env-var-based paths - Python scripts patched: os.environ.get() for OBSIDIAN_VAULT + PROJECTS_ROOT - fish/config.fish: platform-aware Homebrew PATH (macOS + Linuxbrew) - .env.example template for ~/.dotfiles.env Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
116 lines
3.2 KiB
Markdown
116 lines
3.2 KiB
Markdown
# obsidian_kitty_setup
|
|
|
|
Dotfiles for Kitty terminal + Obsidian logging system.
|
|
Managed with GNU Stow. Works on macOS (Homebrew) and Linux servers (apt).
|
|
|
|
## What's included
|
|
|
|
| Package | Contents |
|
|
|---------|----------|
|
|
| `kitty/` | Kitty config — Kanagawa theme, Hasklug Nerd Font, fish shell |
|
|
| `fish/` | Fish config — Tide prompt, modern CLI aliases, SSH aliases |
|
|
| `nvim/` | LazyVim config — Kanagawa theme |
|
|
| `btop/` | btop system monitor config |
|
|
| `fastfetch/` | System info display |
|
|
| `starship/` | Starship prompt config (reference) |
|
|
| `git/` | Global `.gitconfig` (rendered from template) |
|
|
| `claude/` | Claude Code `settings.json`, Obsidian hook scripts, memory-compiler |
|
|
|
|
The **Obsidian vault** (Templates, CLAUDE.md, wiki) lives in a separate repo:
|
|
→ [SamoilenkoVadym/obsidian](https://github.com/SamoilenkoVadym/obsidian)
|
|
|
|
## First-time setup
|
|
|
|
### 1. Clone
|
|
|
|
```bash
|
|
git clone git@github.com:SamoilenkoVadym/obsidian_kitty_setup.git ~/.dotfiles
|
|
```
|
|
|
|
### 2. Configure machine-specific values
|
|
|
|
```bash
|
|
cp ~/.dotfiles/.env.example ~/.dotfiles.env
|
|
nano ~/.dotfiles.env # or your preferred editor
|
|
```
|
|
|
|
Fill in:
|
|
- `OBSIDIAN_VAULT` — path to your Obsidian vault (iCloud or Obsidian Sync path)
|
|
- `PROJECTS_ROOT` — path to Oliver Agency code root
|
|
- `ANTHROPIC_API_KEY` — your Anthropic API key
|
|
- `CC_API_KEY` / `CC_SERVER` — CC Dashboard credentials (optional)
|
|
|
|
### 3. Run installer
|
|
|
|
```bash
|
|
cd ~/.dotfiles
|
|
./install.sh
|
|
```
|
|
|
|
Specific modules only:
|
|
|
|
```bash
|
|
./install.sh --module fish claude # just shell + Claude hooks
|
|
./install.sh --module kitty fish nvim # terminal setup only
|
|
./install.sh --no-packages # skip brew/apt, just stow
|
|
```
|
|
|
|
### 4. Verify
|
|
|
|
```bash
|
|
bash scripts/doctor.sh
|
|
```
|
|
|
|
## After install — Obsidian vault
|
|
|
|
Clone the vault repo to the path you set in `OBSIDIAN_VAULT`:
|
|
|
|
```bash
|
|
git clone https://github.com/SamoilenkoVadym/obsidian "$OBSIDIAN_VAULT"
|
|
```
|
|
|
|
Then re-run `./install.sh --module claude` to create the `knowledge/` symlink.
|
|
|
|
## Updating configs
|
|
|
|
Since all configs are symlinked from `~/.dotfiles/`, editing them directly
|
|
edits the repo. Commit and push to sync across machines:
|
|
|
|
```bash
|
|
cd ~/.dotfiles
|
|
git add -p
|
|
git commit -m "update kitty/fish config"
|
|
git push
|
|
```
|
|
|
|
## Modules
|
|
|
|
| Module | Stow package | Post-install |
|
|
|--------|-------------|--------------|
|
|
| `packages` | none | runs brew/apt |
|
|
| `kitty` | `kitty/` | — |
|
|
| `fish` | `fish/` | seeds `fish_variables`, installs fisher + tide |
|
|
| `nvim` | `nvim/` | — |
|
|
| `btop` | `btop/` | — |
|
|
| `fastfetch` | `fastfetch/` | — |
|
|
| `starship` | `starship/` | — |
|
|
| `git` | `git/` | renders `.gitconfig` from template |
|
|
| `claude` | `claude/` | creates `knowledge/` symlink, runs `uv sync` |
|
|
|
|
## Uninstall
|
|
|
|
```bash
|
|
./uninstall.sh # remove all symlinks
|
|
./uninstall.sh kitty # remove specific package
|
|
```
|
|
|
|
Config files remain in `~/.dotfiles/` — nothing is deleted.
|
|
|
|
## Platform notes
|
|
|
|
| | macOS | Linux server |
|
|
|-|-------|-------------|
|
|
| Packages | `brew bundle` | `apt` + manual for lsd/lazygit |
|
|
| Homebrew path | `/opt/homebrew/bin` | `/home/linuxbrew/.linuxbrew/bin` |
|
|
| Vault sync | iCloud | Clone `SamoilenkoVadym/obsidian` manually |
|
|
| GUI apps | Kitty, Obsidian, Ghostty | n/a |
|