Nix cheat sheet
WARNING
this is bad, improvements coming soon™
nix-env
package management
action | Ubuntu | Nix | notes |
---|---|---|---|
update package list | sudo apt update | sudo nix-channel --update | |
search | apt search <query> | nix search <query> | also try search.nixos.org/packages |
install | sudo apt install <package> | nix-env -i <package> | no root, atomic, per user |
upgrade installed | sudo apt upgrade | nix-env -u | no root, atomic, per user |
remove | sudo apt remove <package> | nix-env -e <package> | no root, atomic, per user |
undo last operation | ... | nix-env --rollback | no root, atomic, per user |
list installed | dpkg -l | nix-env -q | per user |
show generations | ... | nix-env --list-generations |
nix-shell
isolated build/dev/run environments
Nix Reference Manual: nix.dev
command | result |
---|---|
nix-shell -p <packages> | start shell in env with <packages> |
nix-shell | start shell in the env defined by shell.nix or default.nix in current dir |
nix-shell --pure | same, but outside env is inaccessible |
nix run
run a nix application
Nix Reference Manual: nix.dev
Examples: nix run nixpkgs#vim nix run nixpkgs#statix -- help nix run github:astro/deadnix -- -eq .
NixOS declarative operating system configuration management
command | result | notes |
---|---|---|
edit /etc/nixos/configuration.nix | define new system configuration | running system is unaffected |
nixos-rebuild switch | switch to the configuration defined in /etc/nixos/configuration.nix | atomic* |
nixos-rebuild switch --rollback | switch to previous configuration | atomic* |
nixos-option <option> | show option value and documentation | also try search.nixos.org/options |
*services can fail to start
Useful linting commands
Alejandra
Deadnix
Check
bash
nix run github:astro/deadnix -- .
Format
Remember to commit/stage to git first, as this command will change files.
bash
nix run github:astro/deadnix -- -eq .