Skip to content

phcurado/dotfiles

Repository files navigation

~/dotfiles

Dotfile configuration for archlinux.

Screenshots

main screen with snacks dashboard

cmd line with noice plugin

Finder plugin

git diff with Neogit plugin

Quick Start

# 1. Install prerequisites
sudo pacman -S --needed base-devel git stow

# 2. Install paru (AUR helper)
git clone https://aur.archlinux.org/paru.git /tmp/paru
cd /tmp/paru && makepkg -si

# 3. Install core packages
paru -S mise zsh neovim ghostty tmux starship

# 4. Clone dotfiles
cd ~/
git clone --recurse-submodules -j8 git@github.com:phcurado/dotfiles.git
cd dotfiles

# 5. Restore secrets from 1Password (optional, for SOPS encryption)
make secrets.setup

# 6. Create symlinks
stow .

# 7. Install tool versions
mise install

# 8. Set zsh as default shell
chsh -s /usr/bin/zsh

Reboot or log out/in to apply shell changes.

Secrets Management

This dotfiles setup uses SOPS with AGE for encrypting secrets in projects. The AGE private key is stored in 1Password and restored locally.

On a new machine:

make secrets.setup    # Restores key from 1Password to .config/sops/age/keys.txt

Backup your key (if generating a new one):

mkdir -p .config/sops/age
age-keygen -o .config/sops/age/keys.txt
make secrets.backup   # Shows key to copy to 1Password

The keys.txt file is gitignored and never committed.

Main Packages

Paru

Paru is an AUR helper for installing packages from the Arch User Repository.

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

Neovim

Neovim is my preferred text editor.

paru neovim

Ghostty

Ghostty is a modern terminal emulator.

Important

Ghostty is configured to use the font 0xProto Nerd Font. Install it or change the font in .config/ghostty/config. List available fonts with ghostty +list-fonts.

paru ghostty

Tmux

tmux is a terminal multiplexer.

paru tmux

To install plugins, open a tmux session and press prefix + I (prefix is Ctrl + a).

Mise

Mise manages versions of programming languages and tools.

paru mise
mise install   # Install versions from mise.toml

Zsh

Zsh is my preferred shell.

paru zsh
chsh -s /usr/bin/zsh

Reboot or log out/in to apply.

Starship

Starship is a cross-shell prompt.

paru starship

GNU Stow

GNU Stow manages symlinks for dotfiles.

paru stow
stow .

If files conflict, use --adopt to override:

stow --adopt .

Additional Packages

Install packages from the saved list:

make install
# or: paru -S - < arch-pkgs/pkgs.txt

Save current packages to file:

make tofile
# or: paru -Qqen > arch-pkgs/pkgs.txt

Review arch-pkgs/pkgs.txt before installing - some packages may be system-specific.

Makefile Commands

Command Description
make install Install packages from arch-pkgs/pkgs.txt
make show List installed packages
make tofile Save installed packages to pkgs.txt
make cleanCache Clean paru cache
make secrets.setup Restore AGE key from 1Password
make secrets.backup Show AGE key for backup to 1Password

Additional Configuration

Bluetooth

Enable bluetooth service:

sudo systemctl enable --now bluetooth.service

Macropad

Macropad configuration is in macropad/macropad.ron. Upload using:

ansible-playbook --ask-become-pass ansible-scripts/macropad.yml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published