complete-computing-environment/my_nixos_configuration.org

5.4 KiB

My NixOS configuration

This is /rrix/complete-computing-environment/src/branch/exwm/nixlib/roles/endpoint/default.nix which is installed on to a minimal NixOS with NixOps. It'll be a full NixOS configuration.nix when it grows up, likely generated in the same way as my home-manager configuration, but for now it's a minimal example. I have no idea how to make this a per-host configuration, eventually I will set up NixOps; for now everything is just gonna be set up by editing this, i guess, and I'll change things as I need to.

{ pkgs, lib, ... }:

let
  endpointCfg = ./default.nix; # this file
in
rec {
  imports = [    ./hardware-configuration.nix ./generated.nix ]  # (ref:imports)
            ++ [
              <<arroyo_nixos_imports()>>
            ];

  home-manager.users.rrix = import ../../home-manager.nix;
  environment.etc."nixos/configuration.nix".source = endpointCfg;
}

Here the strings are basically just taken out of Arroyo NixOS Generator, formatted to point to the relative-root of the CCE nixlib directory, sorted alphabetically, and concatenated.

(->> (arroyo-nixos-imports "endpoint")
     (-map (lambda (r) (format "../../%s" r)))
     (-sort #'s-less-p)
     (s-join "\n"))
../../nixos/applications.nix
../../nixos/audio.nix
../../nixos/boot.nix
../../nixos/cachix.nix
../../nixos/clight.nix
../../nixos/direnv.nix
../../nixos/emacs.nix
../../nixos/fonts.nix
../../nixos/framework-laptop.nix
../../nixos/gnupg-pam.nix
../../nixos/home-manager.nix
../../nixos/japanese.nix
../../nixos/kde.nix
../../nixos/koreader-binds.nix
../../nixos/laptop.nix
../../nixos/location.nix
../../nixos/mopidy.nix
../../nixos/nix-path.nix
../../nixos/nixos-builder.nix
../../nixos/nixpkgs.nix
../../nixos/nm-online.nix
../../nixos/printing.nix
../../nixos/rixpkgs.nix
../../nixos/rrix.nix
../../nixos/ssh_client.nix
../../nixos/syncthing.nix
../../nixos/tailscale.nix
../../nixos/vulfpeck.nix
../../nixos/xmodmap.nix
../../nixos/yubikey.nix
../../nixos/zfs.nix

Worth noting:

  • /rrix/complete-computing-environment/src/branch/exwm/(imports) are placed on the device by nixos-install and justdoit in the NixOS Automatic Partitioning Installer, and referenced more fully in the Morph configuration. I am providing a stub hardware-configuration.nix and generated.nix for the role. I don't like this at all, it makes me nervous, I know some day I'll accidentally clobber these settings on my remote and end up without a bootloader or some hilarious nonsense. That's what the rollback is for ahaha! sigh. here we go!

    {}
    {}

Workboard

NEXT split this in to dynamic CCE-modules like home-manager

some would say this isn't how it should work with org-roam but i think moving towards generating an imports statement instead of inserting a bunch of text in to a buffer, this makes the tooling work a bit better, probably.