top-level configurations for all my NixOS machines
note that one needs to manually enable the TOTP setting in the browserpass settings for this to work -- TOTP parsing is disabled by default |
||
---|---|---|
machines | ||
modules | ||
nixpatches | ||
pkgs | ||
scripts | ||
secrets | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
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