Skip to content

metruzanca/dotfiles

Repository files navigation

Dotfiles

Dotfiles repo powered GNU Stow. Stow takes care of symlinking file structures in this repo to local machine's $HOME.

This repo supports both MacOS and Linux machines.

Unfortunately, not POSIX compliant. Maybe will be in the future. Both Fish and ZSH are not POSIX :( and I've got configs for both tools in here. Most recently leaning into ZSH, though I still have a machine running my old fish config thats in here.

Usage

  1. Clone
  2. Run link.sh: which will symlink all files in home/ to the $HOME directory.

If adding a new file or pulling changes, re-run link.sh.

Structure

  • link.zsh: is the core of the dotfiles setup. Running this will:
    • Run stow on home & private.
    • Installs zsh plugins via zplug
    • Restarts espanso to reload the config.
    • TODO sync macos settings.
  • home: is where the actual dotfiles live.
  • private: is just like home but is a private repo thats submodule'd into this repo. Inside private I mainly have .config/zsh/<files> so those will be loaded when I source the whole directory in my $HOME/.zshrc.
  • os: holds some workstation setup scripts as well as some other MacOS WIP stuff.

Aside from the private submodule, this repo also submodules the catppuccin theme inside the alacritty config folder.

OSs

I use all main OSs (linux, macOS, windows), so this dotfiles setup is designed to be universal. Running identically on Linux & Mac however only partially in WSL as certain apps (e.g. alacritty and espanso) need to be install on the Windows Host.

Installers

The os folder holds scripts to quickly get new machines configured.

Apps

  • HomeBrew: Linux/MacOS agonstic package manager.
  • Nerd Fonts: (I specifically use FiraCode)
  • macchina: rust minimalist neofetch replacement. #rust
  • lsd: #rust ls replacement with nerdfont support.
  • Volta: Like nvm but leagues better. #rust
  • Helix: (I also use vscode, but the config isn't here yet) #rust
  • Alacritty: #rust

Themes

Fonts


BrewFile docs

https://gist.github.com/ChristopherA/a579274536aab36ea9966f301ff14f3f


TODO