https://github.com/ashref-dev/dotfiles
https://github.com/ashref-dev/dotfiles
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ashref-dev/dotfiles
- Owner: Ashref-dev
- Created: 2025-08-24T17:16:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-03-24T11:48:34.000Z (3 months ago)
- Last Synced: 2026-03-25T15:00:27.280Z (3 months ago)
- Language: Shell
- Size: 72.3 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Terminal & Development Environment
macOS terminal setup with tmux, zsh, ghostty, and OpenCode AI agent configurations.
## Structure
```
├── ghostty/config # Glass translucent gray, Catppuccin theme, font size 14
├── tmux/.tmux.conf # Prefix Ctrl+A, vim navigation, theme, plugins
├── zsh/.zshrc # Git/Docker aliases, zoxide integration, OpenCode profiles
├── opencode-configs/ # Four OpenCode installations with Oh My OpenCode plugin
│ ├── opencode/ # Main (diverse models)
│ ├── opencode-local/ # LM Studio local models
│ ├── opencode-tester/ # Testing (all agents use Gemini 3 Flash)
│ └── opencode-free/ # Free models (OpenCode Zen free tier)
└── workspaces/ashref.tn/ # Custom tmux workspace script
```
## OpenCode locations
Use these paths when editing or syncing OpenCode configs.
| Purpose | Workspace copy | Live location |
| --- | --- | --- |
| Main OpenCode | `opencode-configs/opencode/` | `~/.config/opencode/` |
| Local OpenCode | `opencode-configs/opencode-local/` | `~/.config/opencode-local/opencode/` |
| Tester OpenCode | `opencode-configs/opencode-tester/` | `~/.config/opencode-tester-profile/opencode/` |
| Free OpenCode | `opencode-configs/opencode-free/` | `~/.config/opencode-free-profile/opencode/` |
Important files:
- `opencode.json` — the main OpenCode plugin registration file
- `oh-my-opencode.json` — the OpenCode plugin config file used in this workspace; the renamed `oh-my-openagent.json[c]` name is also supported
- `zsh/.zshrc` — defines the profile-switching aliases
When in doubt, edit the workspace copy first, then copy it to the matching live directory.
## Quick Deploy
```bash
# Terminal configs
cp tmux/.tmux.conf ~/.tmux.conf
mkdir -p ~/.config/ghostty && cp ghostty/config ~/.config/ghostty/
cp zsh/.zshrc ~/.zshrc && source ~/.zshrc
# OpenCode configs (run from opencode-configs/)
cd opencode-configs
# Main installation
mkdir -p ~/.config/opencode && cp opencode/*.json ~/.config/opencode/
cd ~/.config/opencode && bun install
# Local model installation
mkdir -p ~/.config/opencode-local/opencode && cp opencode-local/*.json ~/.config/opencode-local/opencode/
cd ~/.config/opencode-local/opencode && bun install
# Tester installation
mkdir -p ~/.config/opencode-tester-profile/opencode && cp opencode-tester/*.json ~/.config/opencode-tester-profile/opencode/
cd ~/.config/opencode-tester-profile/opencode && bun install
# Free models installation
mkdir -p ~/.config/opencode-free-profile/opencode && cp opencode-free/*.json ~/.config/opencode-free-profile/opencode/
cd ~/.config/opencode-free-profile/opencode && bun install
```
Restart Ghostty after deployment. Press `Ctrl+A` then `I` in tmux to install plugins.
## OpenCode Profiles
Four OpenCode installations managed through zsh aliases:
**opencode** - Main installation (default)
- 7 Oh My OpenCode agents with diverse models
- Claude Opus 4.5, GPT-5.2 Codex, Gemini 3 Flash/Pro, Grok Code Fast 1
**opencode-local** - Local models via LM Studio
- Uses LM Studio at http://127.0.0.1:1234/v1
- Model: glm-4.7-flash (3-bit quantized)
- No Oh My OpenCode plugin
**opencode-tester** - Testing profile
- All 7 agents use github-copilot/gemini-3-flash-preview
- Fast, cost-effective testing environment
**opencode-free** - Free models profile
- All 7 agents use OpenCode Zen free tier models
- kimi-k2.5-free (4 agents), minimax-m2.1-free (explore), glm-4.7-free (2 agents)
- Zero cost development environment
Usage:
```bash
opencode # Main installation
opencode-local # LM Studio local models
opencode-tester # Testing with Gemini 3 Flash
opencode-free # Free tier models
```
Alias source:
- `opencode-local` → `XDG_CONFIG_HOME="$HOME/.config/opencode-local" opencode`
- `opencode-tester` → `XDG_CONFIG_HOME="$HOME/.config/opencode-tester-profile" opencode`
- `opencode-free` → `XDG_CONFIG_HOME="$HOME/.config/opencode-free-profile" opencode`
## Installed Agent Skills
Main, tester, and free installations include 700+ skills from curated repositories:
Agent skills were removed from the installations per user request. To add skills in the future use:
```bash
cd ~/.config/opencode
npx skills add
```
## Agent skills repo
The custom agent skills I maintain live in a separate repository:
- `https://github.com/Ashref-dev/open-agent-skills`
That repo uses the `.agents/skills//SKILL.md` layout, so any future skill edits or additions should go there instead of this dotfiles repo.
## Config Sync Pattern
Edit workspace copies, deploy to live locations:
```bash
# Edit in ~/Desktop/temp/...
# Deploy to ~/.config/... or ~/...
# Reload shell or restart app
# Verify changes work
```
Example - updating zsh aliases:
```bash
# 1. Edit workspace copy
vim ~/Desktop/temp/zsh/.zshrc
# 2. Deploy to live location
cp ~/Desktop/temp/zsh/.zshrc ~/.zshrc
# 3. Apply immediately
source ~/.zshrc
# 4. Verify
alias | grep opencode
```
OpenCode configs:
```bash
# Edit workspace configs
vim ~/Desktop/temp/opencode-configs/opencode/oh-my-opencode.json
# Deploy
cp ~/Desktop/temp/opencode-configs/opencode/*.json ~/.config/opencode/
# Install dependencies if package.json changed
cd ~/.config/opencode && bun install
```