1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# nipsy's NixOS configuration
This repository is the starting point for storing all relevant NixOS configurations.
## Layout
This repository currently contains two systems I've configured similarly to track the current unstable NixOS branch, but with one system being a more home focused package set versus the other designed for work.
By building on the modularity of this repository, it should be possible to capture any number of various combinations of system and user configurations from one or more people. I think everything is mostly laid out in such a way to support doing this very easily.
This also means that as people come up with potentially new combinations of things, other people might be able to also benefit from them. I think that's sort of part of the charm that Nix in general provides.
The section that follows is about a VM configured more for work and can be thought of as a template or starting point to define your own host, mostly with the same packages potentially, and with whatever personal touches you want for your own standard user account.
## kaitain/richese
Both of these hosts are Virtalbox VM's. Currently, kaitain is configured as a more modern EFI based system while richese is still configured as an older BIOS based system. This means that richese needs an extra BIOS boot partition defined in its disko configuration and uses GRUB instead of systemd-boot.
Beyond that, you'll probably want to enable bidirectional clipboard support under General -> Advanced.
Both systems are configured with 12288 MB of RAM currently so they can be run concurrently on a 32GB laptop.
kaitain is using the newer ICH9 chpiset whereas richese is configured using the older PIIX3 chipset. I/O APIC is enabled on both as well as hardware clock being in UTC.
Both use 8 CPU cores with PAE/NX enabled along with nested paging.
Both use VMSVGA with 3D acceleration enabled and the default 16MB of video memory.
Both use a virtio-scsi storage controller with host I/O cache enabled.
Both use Intel HD audio.
Both use the virtio-net adapter. richese is currently configured to use NAT for networking and kaitain uses a bridged adapter using the wireless adapter. This is necessary to bypass the security theater, but might not always work depending on the exact hardware in the laptop.
Both use an automounted shared folder pointing at my host user's Downloads directory with full read/write access.
Most importantly, depending on the host configuration, you might end up with the green frog icon in the status bar in the bottom right when starting your Virtualbox VM, instead of the preferred blue V which indicates CPU virtualization support is working as intended. If this is due to the broken ass host OS being Windows and forcing Hyper-V to be enabled, there are a number of features which might need to be turned off in Windows to keep Hyper-V at bay. Notably, these two links should provide some more information on how to disable everything:
https://forums.virtualbox.org/viewtopic.php?f=25&t=99390
https://learn.microsoft.com/en-us/troubleshoot/windows-client/application-management/virtualization-apps-not-work-with-hyper-v
I also had to disable full memory encryption in the BIOS. Other steps might also be necessary, depending on how broken Windows has become when you're reading this.
### Installation
You can download the minimal ISO image from https://nixos.org/download/ to start. Once in the installer command line, you can grab this repo using:
```
curl -O https://arrakis.bitgnome.net/nipsy/git/nix/snapshot/nix-master.tar.zst
tar xavf nix-master.tar.zst
```
To start the installation script, including provisioning the local storage via disko, run:
```
nix-master/scripts/install-with-disko richese
```
which should walk you through the rest of the installation.
### Post-installation maintenance
As part of the installation, the Git repo you grabbed above to perform the installation was also copied to /etc/nixos on your new system. Keeping a NixOS system up to date means keeping your living system configuration up to date also.
To make this task slightly easier if this is your first NixOS installation, you can run the script `/etc/nixos/scripts/pretty-rebuild` as root which will perform a standard nixos-rebuild command to upgrade the system along with some informational output after that command finishes on what may have changed.
|