nix-git/README.md
2023-08-17 10:52:06 +02:00

1.9 KiB

NixOS

  • There is controversy about flakes, rather use channels (e.g. with niv)

Build and Switch

Directly change to new config, make it default:

sudo nixos-rebuild -I nixos-config=yodaTux/configuration.nix switch

Install Home Manager with niv

Easy dependency management for Nix projects.

Nix is a very powerful tool for building code and setting up environments. niv complements it by making it easy to describe and update remote dependencies (URLs, GitHub repos, etc). It is a simple, practical alternative to Nix flakes.

https://github.com/nmattia/niv

[Home Manager] allows declarative configuration of user specific (non global) packages and dotfiles.

To avoid breaking users' configurations, Home Manager is released in branches corresponding to NixOS releases ( e.g. release-23.05).

Home Manager provides both the channel-based setup and the flake-based one.

https://github.com/nix-community/home-manager

Check your channel:

sudo nix-channel --list
#=> nixos https://nixos.org/channels/nixos-23.05

Use the corresponding branch:

niv add nix-community/home-manager -n home-manager -b release-23.05

disko and nixos-anywhere

TODO

General Notes

Nix Pills

It provides a tutorial introduction into the Nix package manager and Nixpkgs package collection, in the form of short chapters called 'pills'.

Thesis

There are two (?) theses about Nix. One is https://edolstra.github.io/pubs/phd-thesis.pdf

Search for packages

TODOS