/sysconf

Various nix* configurations

Primary LanguageNix

Sysconf - an opinionated home of Nix* systems

Once upon a time, in the pale light of the winters sun, the narrator sat in front of his even paler screen. He was hacking in anger, exhausted about the hours - heck even days, he would have to commit setting up an death simple computing environment. While stuck in the loop of following yet another manual he expressed a silent “Never again”: this time artifacts should be more streamlined, more clear, more deterministic, more flexible, more documented, more more

So he looked back up again and went on his long journey down the nix* rabbit hole…

This repository is the continuos pathway reaching the goal:

  • A fully reproducible system sitting on shoulders of NixOS and the allmighty Home Manager.
  • A bare metal system or full desktop envirnoment.
  • A bag full of opinionated choices but documented enough to adapt it to your opinionated needs.

Contents

A short list of ingredients

While many moving parts are pretty declarative in here, some parts simply can’t. In this folder you’ll find mostly pre intallation writings like setting up a filesystem or arch installation walkthrough. Probably also some ramblings about nix systems and tooling which are a bit side tracked from the actual installation.

From scratch I tried to push as many configurations as possible to the mentioned Home Manager. Home Manager is, as the name suggests, a user environment manager made for nix* systems. This is the most valueable part of the configuration as most of the systems software is made up by those configurations.

Home Manager sits in between nixOS and nix as configurations can be applied on both. How to install Home Manager? See ./docs for home manager installation or the respective Home Manager GitHub repository.

Sensitive artifacts needed for my system to work; encrypted with Git Secret.

This folder contains the nixOS installations I have running each with it’s on documentation.

This folder contains bundled home manager packages to be consumed by any system running the nix* package manager.

Where to start?

This depends highly on your use case. It first may be a good idea to look around make yourself comfortable

I want to poke around with nix in a VirtualBox/QEMU VM

Fine, get yourself a running Linux VM and setup nix described in this README.

I have a running Linux machine and want to manage my packages with nix

Same for you, setup nix (and home manager) described in this README.

I already have a machine running Windows and want dual boot nixOS alongside

Puh, long story: First you have to push Windows aside a bit then you need to install the barebone nixOS sugared with the opinionated home manager distro if you want to go full scale.

I just want a NixOS machine