Skip to content

lamiphil/dotfiles

Repository files navigation

dotfiles

Personal dotfiles for Arch Linux and macOS — managed with GNU Stow.

What's Included

Category Tools
Shell Bash, Starship, Zoxide
Editor Neovim (Kickstart.nvim + lazy.nvim)
Terminal Ghostty, Tmux + TPM
File Manager Yazi
Git Lazygit, Git aliases
Search fzf, ripgrep, bat, Television
Containers/K8s Docker, kubectl, k9s
Cloud AWS CLI (with SSO helpers), GitHub CLI, Terraform
Window Manager AeroSpace (macOS), Hyprland (Linux)
Theming Pywal, lsd
AI OpenCode

Repository Structure

dotfiles/
├── .bash_profile             # Login shell entrypoint
├── .bashrc                   # Interactive shell config
├── .bash_env                 # Environment variables, PATH
├── .bash_aliases             # Command shortcuts
├── .bash_functions           # Shell functions
├── .gitconfig                # Git user & aliases
├── starship.toml             # Starship prompt config
├── .config/                  # Custom config files
├── .agents/skills/           # AI agent skills
├── scripts/                  # Platform-specific install scripts
└── wallpapers/               # Desktop wallpapers

Setup

1. SSH Configuration

Generate an SSH key and add it to GitHub (docs):

ssh-keygen -t ed25519 -C "your-email@example.com"

Save the key as ~/.ssh/github, then add the public key to GitHub SSH Keys.

Create the SSH config:

cat >> ~/.ssh/config << 'EOF'
Host github
    Hostname github.com
    IdentityFile ~/.ssh/github
    IdentitiesOnly yes
    AddKeysToAgent yes
EOF

2. Clone the Repository

cd ~
git clone git@github.com:lamiphil/dotfiles.git

3. Install Packages

Arch Linux

sudo ~/dotfiles/scripts/arch/install_packages.sh

This handles pacman packages, AUR packages (via yay), Starship, Yazi, and TPM.

macOS

Install Homebrew if needed, then:

brew bundle --file=~/dotfiles/scripts/osx/Brewfile

4. Install Nerd Font

~/dotfiles/scripts/init/install_nerdfont.sh

5. Apply Dotfiles with Stow

Back up any existing dotfiles that would conflict (e.g. ~/.bashrc, ~/.bash_profile), then:

cd ~/dotfiles
stow .

This symlinks everything to $HOME, except files listed in .stow-local-ignore (scripts, README, git metadata, etc.).

6. Tmux Plugins

Install TPM:

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Open Tmux, then press Ctrl+Space followed by I (capital) to install plugins.

7. Neovim Plugins

Open Neovim — lazy.nvim will automatically bootstrap and install all plugins:

nvim

8. Create Workspaces

Workspaces are project directories under ~/workspaces/. Each workspace contains repos, an Obsidian vault for notes, and shared Obsidian configuration symlinked from this dotfiles repo.

Type Description
work For a job or organization. Empty notes folder, issues/ and tools/ directories.
personal For personal projects. Clones the notes and portfolio repos.

Workspace structure

~/workspaces/<name>/
├── AGENTS.md           # AI assistant context (generated template)
├── repos/              # Git repositories
├── notes/              # Obsidian vault
│   ├── .obsidian/  ->  ~/dotfiles/.config/obsidian/.obsidian
│   └── _config/    ->  ~/dotfiles/.config/obsidian/_config
├── issues/             # (work only)
└── tools/              # (work only)

Run the workspace init script:

~/dotfiles/scripts/init/init_workspace.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors