Skip to content

schrodlm/Dotfiles

Repository files navigation

Dotfiles Repository

This repository contains my personal dotfiles for my Linux setup. Configurations are managed using GNU Stow and user-facing packages are managed declaratively with Nix + home-manager.

Fresh Machine Setup

  1. Clone this repository:

    git clone <repo-url> ~/Dotfiles
  2. Run the bootstrap script (installs system packages, Nix, and home-manager):

    cd ~/Dotfiles && bash dependencies.sh
  3. Symlink dotfiles with stow:

    stow nvim tmux zsh rofi i3 lazygit nix

Yazi plugins

Plugins are declared in yazi/.config/yazi/package.toml (version-pinned) and the source is not checked in. dependencies.sh runs ya pkg install automatically on a fresh setup, but if you add a plugin later, install it with:

ya pkg install          # fetch any plugin listed in package.toml
ya pkg upgrade          # update pinned revisions

Package Management

User-facing packages are declared in flake.nix and managed by home-manager. There are two profiles:

  • schrodlm (minimal) — editors, CLI tools, languages, launchers
  • schrodlm-full — everything in minimal + desktop apps (obsidian, discord, vscode, spotify)

Switch profiles

# Minimal (default)
home-manager switch --flake ~/Dotfiles#schrodlm

# Full (with desktop apps)
home-manager switch --flake ~/Dotfiles#schrodlm-full

Add a package

Add it to baseModules (for both profiles) or appPackages (full only) in flake.nix, then switch.

Update all packages

nix flake update ~/Dotfiles && home-manager switch --flake ~/Dotfiles#schrodlm

Maintenance

  • Nix garbage collection - Nix keeps old package versions in /nix/store. Clean up periodically:
    nix-collect-garbage -d

About

A quick bootstrap system developed based on my specific needs. Build on top of Debian (apt), Nix package manager and Stow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors