obsidian_kitty_setup/README.md
Vadym Samoilenko d31fbf9c99 Initial dotfiles setup — Kitty + Obsidian logging system
- 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>
2026-04-16 12:57:30 +01:00

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 |