- Add automatic SD image builds for Raspberry Pi via Forgejo Actions - Enable binfmt emulation on cryodev-main for aarch64 cross-builds - Add sd-image.nix module to cryodev-pi configuration - Create comprehensive docs/ structure with installation guides - Split installation docs into: first-install (server), reinstall, new-client (Pi) - Add lib/utils.nix and apps/rebuild from synix - Fix headplane module for new upstream API (tale/headplane) - Fix various module issues (mailserver stateVersion, option conflicts) - Add placeholder secrets.yaml files for both hosts - Remove old INSTRUCTIONS.md (content moved to docs/)
63 lines
1.1 KiB
Markdown
63 lines
1.1 KiB
Markdown
# Prerequisites
|
|
|
|
## Required Tools
|
|
|
|
Ensure you have the following tools installed on your local machine:
|
|
|
|
| Tool | Purpose |
|
|
|------|---------|
|
|
| `nix` | Package manager with flakes enabled |
|
|
| `sops` | Secret encryption/decryption |
|
|
| `age` | Encryption backend for sops |
|
|
| `ssh` | Remote access |
|
|
|
|
### Installing Nix
|
|
|
|
Follow the [official Nix installation guide](https://nixos.org/download/).
|
|
|
|
Enable flakes by adding to `~/.config/nix/nix.conf`:
|
|
|
|
```
|
|
experimental-features = nix-command flakes
|
|
```
|
|
|
|
### Installing Other Tools
|
|
|
|
With Nix:
|
|
|
|
```bash
|
|
nix-shell -p sops age
|
|
```
|
|
|
|
Or install globally via home-manager or system configuration.
|
|
|
|
## Repository Access
|
|
|
|
Clone the repository:
|
|
|
|
```bash
|
|
git clone https://git.cryodev.xyz/steffen/cryodev-server.git
|
|
cd cryodev-server
|
|
```
|
|
|
|
## Development Shell
|
|
|
|
Enter the development shell with all required tools:
|
|
|
|
```bash
|
|
nix develop
|
|
```
|
|
|
|
## Verifying Setup
|
|
|
|
Check that the flake is valid:
|
|
|
|
```bash
|
|
nix flake check
|
|
```
|
|
|
|
Build a host configuration (dry run):
|
|
|
|
```bash
|
|
nix build .#nixosConfigurations.cryodev-main.config.system.build.toplevel --dry-run
|
|
```
|