
Yeah, I destroyed my system completely multiple times while building this, so I am not sure about the claims of update atomicity. But flakes are definitely reproducible which is neat.
Like this 👀
Its basically default Plasma 6 Breeze with some light modifications. The idea here was to create a good looking DE that (mostly) doesnt break within the next patch, so I didnt go overboard with any of the modifications.
The background image is from Alena Aenami. Go check her out, she makes amazing artworks 👀
Warning
Since parts of this config are private you`ll have to substitute some imports in the config to make it work. Notably, the dotfiles also reference my main username.
- Use the nixos iso installer to get the basic system
sudo nixos-generate-config
- Edit the initial config to get git and add the desired hostname in networking.hostname
sudo nixos-rebuild switch
- Reboot
- Generate a new ssh key and register it to your github/gitlab account
- Clone the nixos-config repo via ssh into
~/git/nixos-config
(yes the path is important) - In the hosts folder, add a folder for the given hostname and within it the
hardware-configuration.nix
from the initial config - Populate the hostname folder with
system
,configuration.nix
andhome.nix
files from another host and adapt them as necessary sudo nixos-rebuild switch --install-bootloader --flake .
- Reboot for good measure
nix-rb
- Log into vivaldi or your favorite browser, sync settings, (maybe try out my style)
- Done, enjoy :)
Should a third party (usually windows) destroy your bootloader, then Nixos makes it fairly simle to restore it.
-
Boot into a NixOS installer USB Stick
-
sudo mount /dev/<your-root-partition> /mnt
sudo mount /dev/<your-broken-boot-partition> /mnt/boot
-
sudo nixos-enter
-
sudo nixos-rebuild switch --flake /home/<your-user-name>/git/nixos-config?submodules=1#<your-host-name> --install-bootloader
-
Done, it should boot as normal
If you want to build the bootloader into a new partition, dont forget to update the uuid in hardware-configuration.nix
.
Whenever you change and rebuild a flake, make sure to look at the memory usage of the system.
You might have assigned a variable at the wrong place and created an infinite tree thats about to fill up your swapfile :)
I mainly learned Nix from Ampersand's and Vimjoyer's YouTube videos as well as these repos:
https://github.com/Andrey0189/nixos-config-reborn