Skip to content

marktran/tilde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

672 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tilde

My dotfiles, managed with Nix and Home Manager.

See nix/README.md for the Nix/Home Manager setup, concepts, and activation steps.

Layout

  • flake.nix defines the Home Manager configurations.
  • nix/home-manager/common.nix links shared home config.
  • nix/home-manager/linux.nix links Linux/Omarchy-only home config.
  • nix/home-manager/darwin.nix links macOS-only home config.
  • nix/files/ holds repo-managed config files that Home Manager links into $HOME (e.g. nix/files/fish, nix/files/hypr, nix/files/mpv, nix/files/agents/skills).
  • emacs.d/ is the Emacs config submodule, linked to ~/.emacs.d as a live out-of-store tree.
  • linux/ holds Linux/Omarchy host provisioning kept outside Nix: native package inventories (packages.txt, aur.txt) and privileged /etc files (etc/, deployed by install.sh). See linux/README.md.

Usage

A Makefile wraps the platform-specific workflow and auto-detects the host. Run targets from the repo root:

make            # list targets
make switch     # build + activate this machine's config
make dry-run    # build + dry-run activation (applies nothing)
make check      # sanity-check both hosts
make update     # update flake inputs (flake.lock)
make rollback   # roll back to the previous generation

Underneath, make switch runs the right command per platform:

# Linux / Omarchy (standalone Home Manager)
home-manager switch --flake ~/src/mark/tilde#linux

# macOS (nix-darwin; activates system + Home Manager, needs root)
sudo darwin-rebuild switch --flake ~/src/mark/tilde#mac

Do not run home-manager switch ...#mac while nix-darwin owns the Home Manager profile. Edit files here, then switch. Do not edit generated symlinks in $HOME directly.

Home Manager owns the home-directory links. Do not use stow for $HOME.

Notes

  • linux/packages.txt — official-repo package inventory (install with make pkgs, or sudo pacman -S --needed - < linux/packages.txt).
  • linux/aur.txt — AUR package inventory (install with make pkgs, or paru -S --needed - < linux/aur.txt).
  • make pkgs-diff lists explicitly-installed packages not yet curated into those files.
  • Privileged Linux /etc files live in linux/etc/ and are deployed with make system (wraps sudo linux/install.sh); make system-diff shows drift. See linux/README.md. These remain outside Home Manager.
  • Submodule: emacs.d (the Emacs config repo, linked to ~/.emacs.d). Run git submodule update --init --recursive on a fresh clone.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors