Skip to content

eduardoborges/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

My daily configs for zsh, starship, Hyprland, waybar, yabai, skhd, JankyBorders, Alacritty, VS Code Insiders, and agent skills.

Works on Arch Linux (my main setup) and macOS. The installer detects your OS and only stows the packages that make sense there — the Hyprland desktop stack (hypr, waybar, wireplumber) and the system audio tweaks are Linux-only, while yabai and skhd provide tiling and hotkeys on macOS. Shell-level differences (clipboard, Android SDK path) are handled inside .zshrc at runtime.

Everything is symlinked into your home via GNU Stow.

Install

On macOS, the installer bootstraps Homebrew when necessary and installs the tracked formulas and applications from Brewfile. On Arch, you only need stow (sudo pacman -S stow; the installer can install it). Then:

./install.sh

The script will ask if you want to back up your current configs first (recommended). After that it unstows any existing links, sets up the symlinks, installs editor extensions from extensions/vscode.txt into VS Code Insiders, and (on Linux) reloads Hyprland and waybar if you’re in a Hyprland session.

On macOS, the Brewfile restores the command-line tools and desktop apps, including VS Code Insiders, Ghostty, Chrome, Docker, yabai, and skhd. The installer then starts the window-manager launchd services and configures VS Code Insiders as the default text/code editor. Grant yabai and skhd access in System Settings → Privacy & Security → Accessibility.

Imperative macOS defaults live in system/macos/apply-defaults.sh. The normal installer runs it automatically, and you can re-apply those settings directly:

./system/macos/apply-defaults.sh

Homebrew inventory

All explicitly installed formulas, casks, and taps are tracked in Brewfile. To refresh it after installing or removing software:

./install.sh --save-brewfile

The normal installation command runs:

brew bundle install --no-upgrade --file=./Brewfile

It installs missing items without upgrading existing packages and does not remove unrelated software.

The tracked yabai setup provides BSP tiling, directional focus and movement, resizing, dynamic Spaces, stacking, sticky/PiP windows, scratchpads, opacity, animations, layers, and layout controls. Its advanced profile uses yabai's scripting addition when System Integrity Protection is partially disabled.

See docs/macos-window-management.md for the complete shortcut reference and troubleshooting commands.

Extensions (VS Code Insiders)

The shared extension list is tracked in:

  • extensions/vscode.txt

VS Code Insiders installs from this file. When saving the list, the code-insiders CLI is used. To refresh it:

./install.sh --save-extensions

Restore

To put a previous backup back (unstow and copy files from backup):

./install.sh --restore

Backups are stored in ~/.dotfiles-backup-YYYYMMDD-HHMMSS. You pick one from the list; the script does the rest and reloads Hyprland/waybar.

Stow commands

  • Re-apply everything: ./install.sh
  • Unstow one package: stow -t ~ -D <package>
  • Update editor extension lists: ./install.sh --save-extensions
  • Update the Homebrew inventory: ./install.sh --save-brewfile

About

My arch linux configuration files. Thats it.

Resources

Stars

Watchers

Forks

Contributors