mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-11 09:44:08 -05:00
35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# Crow's NixOS configuration project
|
|
|
|
|
|
## Proxmox/LXC target
|
|
`nix run github:nix-community/nixos-generators -- --format proxmox-lxc`
|
|
|
|
## Building the Live ISO
|
|
`nixos-generate --format install-iso --flake .#Parzival-Live -o result`
|
|
|
|
## Formatting disks with disko
|
|
`sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount <disk config path>`
|
|
|
|
## Deploying to the remote
|
|
Note: If you need to specify the ssh key, you may inject extra cli options to the ssh command via the NIX_SSHOPTS environment variable
|
|
* Anywhere from local: `nixos-rebuild switch --flake .#<host> --target-host root@<ipaddr> --use-remote-sudo`
|
|
|
|
## Vendor Specific Idiosyncrasies
|
|
### Digital Ocean
|
|
|
|
Digital Ocean assigns IPs through cloud init so we need to not use DHCP
|
|
|
|
```
|
|
networking.useDHCP = nixpkgs.lib.mkForce false;
|
|
services.cloud-init = {
|
|
enable = true;
|
|
network.enable = true;
|
|
|
|
# not strictly needed, just for good measure
|
|
datasource_list = [ "DigitalOcean" ];
|
|
datasource.DigitalOcean = { };sops.defaultSopsFile = inputs.nix-secrets.secrets.lighthouse1;
|
|
};
|
|
```
|
|
|
|
### AWS
|
|
You will need to import the following module to be able to build NixOS on EC2: `"${nixpkgs}/nixos/modules/virtualisation/amazon-image.nix"`
|