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. Links to published
versions of these modules can be found on the CCE index page.
"endpoint")
(->> (arroyo-nixos-imports lambda (r) (format "../../%s" r)))
(-map (#'s-less-p)
(-sort "\n")) (s-join
../../nixos/applications.nix
../../nixos/audio.nix
../../nixos/boot.nix
../../nixos/cachix.nix
../../nixos/clight.nix
../../nixos/cups.nix
../../nixos/direnv.nix
../../nixos/emacs.nix
../../nixos/fonts.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/morph-wrapper.nix
../../nixos/nix-path.nix
../../nixos/nixos-builder.nix
../../nixos/nixpkgs.nix
../../nixos/nm-online.nix
../../nixos/poetry2nix.nix
../../nixos/printing.nix
../../nixos/rixpkgs.nix
../../nixos/rrix.nix
../../nixos/ssh_client.nix
../../nixos/syncthing.nix
../../nixos/tailscale.nix
../../nixos/vulfpeck.nix
../../nixos/waydroid.nix
../../nixos/xmodmap.nix
../../nixos/yubikey.nix
../../nixos/zfs.nix
Worth noting:
(imports) are placed on the device by
nixos-install
andjustdoit
in the NixOS Automatic Partitioning Installer, and referenced more fully in the Morph configuration. I am providing a stubhardware-configuration.nix
andgenerated.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!{}
{}
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.