SkillAgentSearch skills...

Dotfiles

:skull: dotfiles! managed by GNU stow

Install / Use

/learn @edbizarro/Dotfiles
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

dotfiles

A collection of my personal dotfiles for Arch Linux and Ubuntu 24.04, managed with GNU Stow.

Current desktop

#

gotop

Previous themes

Previous themes can be found on reddit and releases page

Requirements

CLI tools

  • eza or exa (ls replacement)
  • fd (find replacement)
  • ripgrep (grep replacement)
  • tldr (man replacement)
  • delta (git diff pager)
  • atuin (shell history)
  • uv (Python package/env manager)

Optional

Installation

Clone this repository:

git clone https://github.com/edbizarro/dotfiles.git ~/.dotfiles

Using Make (recommended)

Full setup on a fresh machine (installs packages, fonts, symlinks, prezto, tpm, polybar, pre-commit):

cd ~/.dotfiles && make all

Or run individual targets:

make install        # Install system packages (auto-detects Arch/Ubuntu)
make stow           # Symlink all config packages
make stow-core      # Symlink core only (git, zsh, tmux, nvim, ...)
make stow-desktop   # Symlink desktop only (i3, picom, dunst, wal, kitty)
make stow-media     # Symlink media only (mopidy, mpd, ncmpcpp, pipewire)
make fonts          # Install NerdFonts (Cascadia Code)
make prezto         # Install Prezto ZSH framework
make tmux-plugins   # Install TPM + plugins
make atuin          # Install Atuin shell history
make polybar-hw     # Detect hardware for polybar
make vim-plug       # Install vim-plug for Neovim
make unstow         # Remove all symlinks

Neovim Plugin Manager (vim-plug)

vim-plug is required for Neovim plugins. Install it via Make:

make vim-plug

Or manually:

curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

After installing, open Neovim and run :PlugInstall to install the plugins defined in nvim/.config/nvim/init.vim.

Standalone packages (not yet in a Makefile group):

cd ~/.dotfiles && stow --target=$HOME rofi scripts wallpapers

Run make or make help to see all available targets.

Using GNU Stow (manual alternative)

Install GNU Stow:

Arch:     pacman -S stow
Ubuntu:   sudo apt install stow

Symlink individual packages:

cd ~/.dotfiles && stow --target=$HOME <package>

ZSH has a special stow structure:

cd ~/.dotfiles/zsh && stow configs -t ~/

Handling conflicts

If stow warns about existing files, rename them first:

mv ~/.gitconfig ~/.gitconfig.old
cd ~/.dotfiles && stow --target=$HOME git

Multi-distro support

These dotfiles work on both Arch Linux and Ubuntu 24.04.

How it works

  • Distro detection: zsh/exports/00-distro.zsh sets $DISTRO_ID (arch or ubuntu) via /etc/os-release
  • Conditional aliases: arch.zsh and ubuntu.zsh load distro-specific commands (e.g., update-shit uses pacman on Arch, apt on Ubuntu)
  • Tool availability guards: All tool-specific aliases check command -v before setting, so missing tools don't cause errors
  • Prezto modules: Both pacman and dpkg modules are loaded; each has internal guards and only activates on the correct distro
  • Polybar hardware: Run setup-hardware.sh to auto-detect thermal zones, network interfaces, backlight, and battery for your machine

Tool name differences

| Tool | Arch | Ubuntu | |------|------|--------| | ls replacement | exa | eza (auto-detected) | | find replacement | fd | fdfind (auto-detected) | | bat | bat | batcat | | ripgrep | rg | rg |

Ubuntu 24.04 setup

Using Make:

cd ~/.dotfiles && make install && make fonts && make stow

Or manually:

sudo apt install i3 polybar picom dunst zsh tmux stow git curl \
  eza fd-find ripgrep tldr fzf neovim borgbackup

# Install NerdFonts: download from https://github.com/ryanoasis/nerd-fonts/releases
# Extract to ~/.local/share/fonts/ and run fc-cache -fv

Setup polybar hardware detection:

make polybar-hw
# Or manually: bash ~/.config/polybar/setup-hardware.sh

Cool fonts

View on GitHub
GitHub Stars102
CategoryDevelopment
Updated17d ago
Forks5

Languages

Shell

Security Score

85/100

Audited on Mar 24, 2026

No findings