Kitaab

nixOS

nix ops dev

published 1970-01-01 00:00

updated 2023-06-03 20:39

nixpkgs nix-lang

basics

nix is a functional, immutable package manager nix (the package manager) is written in the nix language nixOS is a linux distribution built on top of the nix package manager

in nixOS there are 2 kinds of packages. Regular packages and modules which do the configuration management of said packages. Both of these are written in the nix language. Even on nixOS configuration files generally cannot be set through the package manager. Insead home-manager can be used.

installing nix package manager

{{{bash curl -o install-nix https://nixos.org/nix/install curl -o install-nix.asc https://releases.nixos.org/nix/nix-2.3.7/install.asc gpg2 --recv-keys B541D55301270E0BCF15CA5D8170B4726D7198DE gpg2 --verify ./install-nix.asc sh ./install-nix rm ./install-nix.asc ./install-nix }}}

= nix-isms = dev environments: generally the right way to define dev environments is through a shell.nix file which gets invoked when calling nix-shell in this file we define which packages we expect in order to build and run the program

build options

in NixOS it often feels like the options are the magic part of building software. everyone seems to have just the right options in order to build the software they need however, fear not, you too can be a master of options by searching at: https://search.nixos.org/options or nixos-option

install the OS

https://gist.github.com/ladinu/bfebdd90a5afd45dec811296016b2a3f

have to use LUKS1 (grub2 doesn't support luks2 -> should be available by grub2.06)


Backlinks