top-level configurations for all my NixOS machines
Go to file
colin ea5552daa7 bluetooth: accept that LinkKeys are device/host-specific and stop trying to share them across machines 2023-01-07 11:31:35 +00:00
hosts bluetooth: accept that LinkKeys are device/host-specific and stop trying to share them across machines 2023-01-07 11:31:35 +00:00
modules sway: start pipewire early, to support bluetooth 2023-01-07 09:58:27 +00:00
nixpatches fix i2p to build on aarch64 2022-12-20 03:10:05 +00:00
pkgs new script: sane-shutdown, validates host 2023-01-06 16:40:41 +00:00
scripts bluetooth: accept that LinkKeys are device/host-specific and stop trying to share them across machines 2023-01-07 11:31:35 +00:00
secrets bluetooth: accept that LinkKeys are device/host-specific and stop trying to share them across machines 2023-01-07 11:31:35 +00:00
templates/python-data python-data template: add requests module 2022-12-26 09:29:23 +00:00
.gitignore move secrets to a subdirectory, for improved overrides 2022-05-26 23:52:08 -07:00
.sops.yaml moby: enable a statically-assigned but encrypted password 2022-10-24 07:39:50 -07:00
flake.lock flake update: nixpkgs 2022-12-31 -> 2023-01-04 2023-01-06 08:57:39 +00:00
flake.nix remove external impermanence library 2023-01-04 02:18:03 +00:00
readme.md readme: update contact info, explain `modules/` dir 2022-11-22 05:34:11 +00:00

readme.md

to deploy:

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

if the target is the same as the host, nix will grab the hostname automatically:

nixos-rebuild --flake . {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

using this repo in your own config

i try to ensure everything in the modules/ directory is hidden behind some enable flag or other. it should be possible to copy that whole directory into your own config, and then selectively populate what you want (like the impermenance paths, etc). more practically, a lot of things in there still assume a user named colin, so you'll probably want to patch it for your name -- or just use it as a reference.

contact

if you want to contact me for questions, or collaborate to split something useful into a shared repo, etc, you can reach me via any method listed here.