The Complete Computing Environment

My NixOS configuration

LifeTechEmacsTopicsArcology

This is file: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:

NEXT minimise nerdfonts

https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/data/fonts/nerdfonts/default.nix#L5-L7

https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/data/fonts/nerdfonts/shas.nix

Workboard

NEXT fix <> from my Xmodmap

my Xmodmap needs to be brought in to Nixos Automatic Partitioning Installer's target-config

https://nixos.org/manual/nixos/stable/index.html#custom-xkb-layouts

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.