Created: 2024-03-26 tis 11:07
Centralized storage for all packages and dependencies (usually /nix/store). Unique package directories based on package hash.
zn14alw8acfjgfjc6k9l5wy3nfgsh3yy-git-2.42.0-doc zn44101nf002b6y7nmhr27mg4ln8a6b7-streaming-commons-0.2.2.6.tar.gz.drv znb0d764af4ra71dp0fgky5javaxacb0-setuptools-check-hook.drv
Links everything together (literally) with symlinks to /nix/store packages.
.nix-profile/
├── bin
│ ├── emacs-29.2 -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/bin/emacs-29.2
│ ├── fish -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/bin/fish
│ ├── git -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/bin/git
├── etc -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/etc
├── include -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/include
├── lib -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/lib
├── libexec -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/libexec
├── manifest.nix -> /nix/store/s8i50swmc5cfdgb6dcaqahgcy90fkxli-env-manifest.nix
├── sbin -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/sbin
└── share -> /nix/store/4wxg7i1bqwx5ki1hp4m87xsaa8b8kr4v-home-manager-path/share
Safely remove all unused packages
$ sudo nix-collect-garbage -d
Everything is specified in configuration files
with import <nixpkgs> {}; gcc11Stdenv.mkDerivation rec { name = "dev-env"; buildInputs = with pkgs; [ cmake ]; }