nixOS.wiki
1 %title nixOS 2 :nix:ops:dev: 3 %update 2023-06-03 20:39 4 %update 2023-06-06 21:12 5 6 [[nixpkgs]] 7 [[nix-lang]] 8 9 = basics = 10 nix is a functional, immutable package manager 11 nix (the package manager) is written in the nix language 12 nixOS is a linux distribution built on top of the nix package manager 13 14 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](https://github.com/nix-community/home-manager ) can be used. 15 16 = installing nix package manager = 17 {{{bash 18 curl -o install-nix https://nixos.org/nix/install 19 curl -o install-nix.asc https://releases.nixos.org/nix/nix-2.3.7/install.asc 20 gpg2 --recv-keys B541D55301270E0BCF15CA5D8170B4726D7198DE 21 gpg2 --verify ./install-nix.asc 22 sh ./install-nix 23 rm ./install-nix.asc ./install-nix 24 }}} 25 26 = nix-isms = 27 dev environments: 28 generally the right way to define dev environments is through a shell.nix file which gets invoked when calling nix-shell 29 in this file we define which packages we expect in order to build and run the program 30 31 = build options = 32 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 33 however, fear not, you too can be a master of options by searching at: 34 https://search.nixos.org/options or `nixos-option` 35 36 = install the OS = 37 https://gist.github.com/ladinu/bfebdd90a5afd45dec811296016b2a3f 38 39 have to use LUKS1 (grub2 doesn't support luks2 -> should be available by grub2.06) 40 41 42 ----- 43 = Backlinks = 44 45 - [[sealight.services]] 46 - [[ops|A complete list of the digital infrastructure I run or utilize]] 47 - [[lituus|Lituus]] 48 - [[linux]] 49 - [[kendrit|kendrit]] 50 - [[index|index]] 51 - [[dev|conjuring computers log]] 52 - [[Punya|Punya]] 53 - [[Industrial-Ops|Industrial Ops]] 54 - [[221113-1928|Cyborg Setup]] 55 - [[220321-2245|Python Packaging sucks]] 56 - [[220226-0007|Running a script based on udev rules]] 57 - [[201129-2055|Getting Matrix Online]] 58 - [[201125-2056|Finally sitting down to write ]] 59 - [[201118-2301|Feelin' Kinda Sad Today ]] 60 - [[201118-1520]] 61 - [[200921-1454]]