• 0 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle



















  • What is the overall goal of this build?

    There’s no overall goal to the project. It’s just the result of me tinkering with my systems from time to time (I’m allocating a bit less than three hours each day to coding on personal projects to improve my skills, some of that time flows into my nixos config).


    I am very new to nixOS and am interested in it. Specifically for ansible scripts to build out easily replicateable docker hosts for lab.

    I’ve extensively used docker/compose before I switched my systems to NixOS, since then I’ve barely touched it.

    The thing with Ansible and Docker is that you mostly define the steps you want your systems to automatically go through to reach a specific state.

    Nix[1] approaches the problem the other way around. You define the state you want to have, and Nix solves for the steps that need to be taken to reach that state.

    If you want to try your hands at that concept, I recommend installing just Nix on one of your test machines and trying out development shells/devshells with it.

    For example the SwayFX repo contains a flake.nix providing a devShell. This allows everyone working on the project to just run nix develop in the cloned repo, or nix develop github:WillPower3309/swayfx without cloning the repo to enter the development environment.

    This can be combined with tools like direnv to automatically setup development environments, based on the current directory.

    If you want a more encompassing example of what Nix can provide, take a look at:

    • nixified.ai
    • This presentation by Matthew Croughan on Nix-Flakes and Dockerfiles.

    I have also considered it for switching my primary desktop and laptops as being able to have the same OS with everything the way I like it is also intriguing.

    While I personally think NixOS is one of the most potent software in existence, and a computer without feels less capable for me, I do not recommend it easily.

    Just take a look at hlissner’s FAQ on his system config (which I greatly agree with).

    That said, I initially tried NixOS on my PC and pushed the config to a git-forge. I then installed the base NixOS ISO on my laptop and told it to build the config from git. And that worked flawlessly.

    In leaving the PC unattended for about 20mins, it went from a full Gnome desktop to my Sway setup.

    That’s the point when I was sold.


    Sorry for theate response. P.S. I love your wallpaper.

    Don’t worry about the late reponse ^^

    The wallpaper can be build with nix build sourcehut:~sntx/nix-bg#abstract-liquid btw.


    1. The “package manager” that NixOS is build around. Though I think of it more as a “build system” - not to be confused with Nix, the language the build “scripts” are written in. ↩︎