top-level configurations for all my NixOS machines
Go to file
colin b658b93c64 lappy: store the hashed user passwd in git and decrypt it into /etc/passwd on boot
this approach lets me persist the password. persisting /etc/shadow
directly wasn't so feasible. populating /etc/shadow at activation time
is something nix already does and is easy to plug into.
so we store the passwd hash in this repo, but encrypt it to the
destination machine's ssh pubkey to add enough entropy that it's not
brute-forceable through the public git repo.
2022-10-23 06:53:06 -07:00
helpers port helpers/home-manager-gen-colin.nix to modules system 2022-06-09 14:50:24 -07:00
machines lappy: store the hashed user passwd in git and decrypt it into /etc/passwd on boot 2022-10-23 06:53:06 -07:00
modules lappy: store the hashed user passwd in git and decrypt it into /etc/passwd on boot 2022-10-23 06:53:06 -07:00
nixpatches nix flake update (nixpkgs 2022-10-14 -> 2022-10-19 and others) 2022-10-21 00:42:30 -07:00
pkgs sane-sync-from-iphone: handle the case where /mnt/iphone is hung 2022-10-22 23:35:00 -07:00
scripts commit `ensure-perms` script for image post-processing 2022-10-21 02:04:30 -07:00
secrets lappy: store the hashed user passwd in git and decrypt it into /etc/passwd on boot 2022-10-23 06:53:06 -07:00
.gitignore move secrets to a subdirectory, for improved overrides 2022-05-26 23:52:08 -07:00
.sops.yaml lappy: store the hashed user passwd in git and decrypt it into /etc/passwd on boot 2022-10-23 06:53:06 -07:00
TODO.md moby: cross-compile the kernel 2022-08-08 20:36:35 -07:00
flake.lock nix flake update (nixpkgs 2022-10-14 -> 2022-10-19 and others) 2022-10-21 00:42:30 -07:00
flake.nix flake update: nixpkgs 2022-10-09 -> 2022-10-13, others 2022-10-13 21:41:02 -07:00
readme.md readme: document how to build nixpkgs and cross packages 2022-10-15 01:28:30 -07:00

readme.md

to deploy:

nixos-rebuild --flake "./#servo" {build,switch}

more options (like building packages defined in this repo):

nix flake show

secrets

i use sops for secrets. see modules/universal/secrets.nix for some tips.

building images

to build a distributable image (GPT-formatted image with rootfs and /boot partition):

nix build ./#imgs.lappy

this can then be dd'd onto a disk and directly booted from a EFI system. there's some post-processing to do before running a rebuild on the deployed system (deploying ssh keys, optionally changing fs UUIDs, etc). refer to flake.nix for more details.

building packages

to build one of the custom sane packages, just name it:

nix build ./#fluffychat-moby

to build a nixpkg:

nix build ./#nixpkgs.curl

to build a package for another platform:

nix build ./#packages.aarch64-linux.nixpkgs.ubootRaspberryPi4_64bit