2022-06-26 10:44:03 +00:00
|
|
|
to deploy:
|
2022-10-15 08:28:30 +00:00
|
|
|
|
2022-05-21 01:59:51 +00:00
|
|
|
```sh
|
2022-06-26 10:44:03 +00:00
|
|
|
nixos-rebuild --flake "./#servo" {build,switch}
|
2022-05-21 01:59:51 +00:00
|
|
|
```
|
|
|
|
|
2022-11-22 02:33:47 +00:00
|
|
|
if the target is the same as the host, nix will grab the hostname automatically:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
nixos-rebuild --flake . {build,switch}
|
|
|
|
```
|
|
|
|
|
2022-06-26 10:44:03 +00:00
|
|
|
more options (like building packages defined in this repo):
|
2022-10-15 08:28:30 +00:00
|
|
|
|
2022-05-21 01:59:51 +00:00
|
|
|
```sh
|
|
|
|
nix flake show
|
|
|
|
```
|
2022-05-21 02:08:49 +00:00
|
|
|
|
|
|
|
|
2022-08-25 02:46:10 +00:00
|
|
|
## secrets
|
2022-05-27 08:01:06 +00:00
|
|
|
|
2022-06-26 10:44:03 +00:00
|
|
|
i use [sops](https://github.com/Mic92/sops-nix) for secrets.
|
|
|
|
see `modules/universal/secrets.nix` for some tips.
|
2022-05-22 01:05:32 +00:00
|
|
|
|
|
|
|
## building images
|
|
|
|
|
2022-05-22 10:14:50 +00:00
|
|
|
to build a distributable image (GPT-formatted image with rootfs and /boot partition):
|
2022-05-22 01:05:32 +00:00
|
|
|
```sh
|
2022-06-12 22:11:41 +00:00
|
|
|
nix build ./#imgs.lappy
|
2022-05-22 01:05:32 +00:00
|
|
|
```
|
2022-05-22 10:14:50 +00:00
|
|
|
this can then be `dd`'d onto a disk and directly booted from a EFI system.
|
2022-06-26 10:44:03 +00:00
|
|
|
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.
|
2022-05-26 20:21:40 +00:00
|
|
|
|
2022-09-23 00:44:57 +00:00
|
|
|
## building packages
|
|
|
|
|
|
|
|
to build one of the custom sane packages, just name it:
|
|
|
|
|
2022-10-15 08:28:30 +00:00
|
|
|
```sh
|
2022-09-23 00:44:57 +00:00
|
|
|
nix build ./#fluffychat-moby
|
|
|
|
```
|
2022-10-15 08:28:30 +00:00
|
|
|
|
|
|
|
to build a nixpkg:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
nix build ./#nixpkgs.curl
|
|
|
|
```
|
|
|
|
|
|
|
|
to build a package for another platform:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
nix build ./#packages.aarch64-linux.nixpkgs.ubootRaspberryPi4_64bit
|
|
|
|
```
|
2022-11-22 05:34:11 +00:00
|
|
|
|
|
|
|
## 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](https://uninsane.org/about).
|