https://github.com/fiqryq/dot-config
personal terminal setup and dotfiles configuration.
https://github.com/fiqryq/dot-config
dotfile lua neovim
Last synced: 18 days ago
JSON representation
personal terminal setup and dotfiles configuration.
- Host: GitHub
- URL: https://github.com/fiqryq/dot-config
- Owner: fiqryq
- Created: 2025-08-08T15:24:58.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-01-07T13:45:18.000Z (5 months ago)
- Last Synced: 2026-04-27T07:28:27.107Z (about 1 month ago)
- Topics: dotfile, lua, neovim
- Language: Lua
- Homepage:
- Size: 599 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Personal Configuration
This repository contains my personal terminal setup and dotfiles configuration for macOS.

## Features
- **Modern Terminal Experience** with Ghostty/Wezterm
- **Tiling Window Management** using yabai + skhd
- **Powerful Neovim Setup** with AstroNvim
- **Tmux Session Management** with custom plugins
- **Beautiful Shell** with Starship prompt and Oh My Zsh
- **Catppuccin Theme** across all tools
## Tools & Applications
### Terminal & Shell
- **[Ghostty](https://ghostty.org/)** / **[Wezterm](https://wezfurlong.org/wezterm/)** – Terminal emulators
- **[Tmux](https://github.com/tmux/tmux)** – Terminal multiplexer with custom plugins
- **[Zsh](https://www.zsh.org/)** – Shell with Oh My Zsh framework
- **[Starship](https://starship.rs/)** – Cross-shell prompt
### Window Management
- **[yabai](https://github.com/koekeishiya/yabai)** – Tiling window manager for macOS
- **[skhd](https://github.com/koekeishiya/skhd)** – Simple hotkey daemon
- **[Aerospace](https://github.com/nikitabobko/AeroSpace)** – Alternative tiling window manager
### Editor & Development
- **[Neovim](https://neovim.io/)** – Hyperextensible Vim-based text editor
- **[AstroNvim](https://github.com/AstroNvim/AstroNvim)** – Neovim configuration framework
- **[Lazydocker](https://github.com/jesseduffield/lazydocker)** – Terminal UI for Docker
### CLI Tools
- **[bat](https://github.com/sharkdp/bat)** – Cat clone with syntax highlighting
- **[eza](https://github.com/eza-community/eza)** – Modern replacement for ls
- **[fzf](https://github.com/junegunn/fzf)** – Fuzzy finder
- **[zoxide](https://github.com/ajeetdsouza/zoxide)** – Smarter cd command
- **[yazi](https://github.com/sxyazi/yazi)** – Terminal file manager
## Prerequisites
Before installation, make sure you have:
```bash
# Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install required tools
brew install stow git
```
## Installation
### 1. Clone the Repository
```bash
git clone https://github.com/fiqryq/dot-config.git ~/dot-config
cd ~/dot-config
```
### 2. Stow Dotfiles
Use GNU Stow to create symlinks:
```bash
# Stow all dotfiles
stow .
# Or manually stow specific folders
stow nvim tmux wezterm opencode
```
### 3. Install Tmux Plugins
After installation, open tmux and install plugins:
```bash
tmux
# Press prefix + I (capital i) to install plugins
# Default prefix is Ctrl+A
```
### 4. Install Neovim Plugins
Open Neovim and let it install plugins automatically:
```bash
nvim
# Wait for plugins to install
```
## Directory Structure
```
dot-config/
├── aerospace/ # AeroSpace window manager config
├── ghostty/ # Ghostty terminal config
├── nvim/ # Neovim configuration
├── opencode/ # OpenCode editor config
├── skhd/ # Hotkey daemon config
├── tmux/ # Tmux configuration & scripts
├── wezterm/ # Wezterm terminal config
├── yabai/ # Yabai window manager config
├── yazi/ # Yazi file manager config
├── zsh/ # Zsh shell configuration
├── .gitignore # Git ignore rules
├── .stowrc # Stow configuration
└── stow # Stow wrapper script
```
## Post-Installation
### Optional Dependencies
Install additional tools used in the configuration:
```bash
# Shell enhancements
brew install zsh starship zoxide eza bat fzf
# Development tools
brew install neovim tmux lazydocker
# Window management
brew install koekeishiya/formulae/yabai
brew install koekeishiya/formulae/skhd
# File manager
brew install yazi
# Terminal emulator (choose one)
brew install --cask ghostty
# or
brew install --cask wezterm
```
### Environment Variables
Some configurations reference `$HOME/.env.local` for local environment variables. Create this file if needed:
```bash
touch ~/.env.local
# Add your local variables here
```
## Customization
- **Neovim**: Edit files in `nvim/lua/plugins/` to customize plugins
- **Tmux**: Edit `tmux/tmux.conf` for tmux settings
- **Shell**: Edit `zsh/.zshrc` for shell aliases and functions
- **Window Manager**: Edit `yabai/yabairc` and `skhd/skhdrc` for window management
## Updating
To update the dotfiles:
```bash
cd ~/dot-config
git pull
stow .
```
## Troubleshooting
### Stow Conflicts
If you encounter conflicts during installation:
```bash
# Remove existing conflicting files/folders first
rm ~/.config/nvim # example
# Or unstow to remove symlinks
stow -D nvim
# Then restow
stow .
```
### Tmux Plugins Not Working
```bash
# Reinstall TPM (Tmux Plugin Manager)
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Install plugins: prefix + I in tmux
```
## License
Feel free to use and modify these dotfiles for your own setup.
## Credits
- [AstroNvim](https://github.com/AstroNvim/AstroNvim) for the Neovim configuration framework
- [Catppuccin](https://github.com/catppuccin) for the beautiful color scheme
- Various open-source projects that make this setup possible