Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

499 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOTFILES

Install

mkdir -p ~/.dotfiles && cd $_ && \
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/zzJinux/dotfiles/master/install.sh)"

Nix packages

Packages are declared in nix/flake.nix (paths) and built to a fixed gcroot symlink ~/.local/nix-env. Its bin/ is put on PATH by nix/shlogin, so every binary in the env is available — same convention as the other tools here.

Two channels are wired in: nixos-25.11 (stable, the default) and nixpkgs-unstable. Take a package from unstable.<name> instead of <name> when you need a newer/only-on-unstable build (see the comment in flake.nix).

(~/.nix-profile is Nix-managed and left untouched; we build our own env.)

Add / remove a package

  1. Edit paths in nix/flake.nix (find names at https://search.nixos.org/packages).
  2. bash nix/_install.sh — rebuilds the env (removed packages drop out too).
  3. For a brand-new file, git add it first — Nix only sees git-tracked files.

Update everything to latest

nix flake update --flake nix   # bump flake.lock (moves both channel pins)
bash nix/_install.sh           # rebuild against the new pins

Expose only some binaries on PATH (instead of the whole env) Default is whole-env exposure via nix/shlogin. To expose a subset instead, drop the path_prepends line in nix/shlogin and symlink the chosen binaries into ~/.local/bin from nix/_install.sh — there's a ready-to-use snippet in that script's comment. ls ~/.local/nix-env/bin lists what the env ships.

Pinned versions live in nix/flake.lock — it locks one revision per channel (so every package from a channel moves together), so commit it. nix/_install.sh just runs nix build, which is idempotent: a new store path when packages change, a no-op otherwise. Removing leftover Homebrew copies (brew uninstall) is a one-off and intentionally not scripted.

About

my env

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages