Harden server and add Nix-native CI + self-hosted Gitea Actions
- Add self-hosted Gitea Actions runner module (servers/hetzner/modules/services/gitea.nix) - Add CI workflow (.gitea/workflows/ci.yml): - Flake check (x86_64-linux + aarch64-linux, eval-only) - Pre-commit checks (x86_64-linux only) - Gitea-native runner (no Docker); Nix from host PATH - NIX_CONFIG enables flakes + extra-platforms - Remove redundant .github/workflows/ci.yml (shadows .gitea) - Enable deadnix in pre-commit hooks (flake.nix), fix 38 files - Add statix.toml disabling empty_pattern lint (nixpkgs standard) - Format whole repo with alejandra (27 files) - Fix CI nix-not-found: export /run/current-system/sw/bin in PATH - Remove aarch64 from pre-commit matrix (no QEMU binfmt deployed yet)
This commit is contained in:
@@ -19,7 +19,10 @@
|
||||
|
||||
### ⚠ <sup><sub><samp>PLEASE RESPECT THE CREDITS IF YOU USE SOMETHING FROM MY DESKTOP/SETUP.</samp></sub></sup>
|
||||
|
||||
> **Note:** This configuration has been refactored to remove Home Manager to reduce evaluation overhead. While projects like `hjem` and `hjem-rum` were considered, a pure NixOS approach was chosen for simplicity and performance.
|
||||
> **Note:** Built with [flake-parts](https://flake.parts/). The client
|
||||
> configurations (`desktop`, `laptop`, `tty`) use Home Manager, while the
|
||||
> Hetzner server is isolated on `nixos-24.05`. The flake builds for both
|
||||
> **x86_64-linux** and **aarch64-linux**.
|
||||
|
||||
---
|
||||
|
||||
@@ -48,12 +51,17 @@
|
||||
## 🌼 <samp>INSTALLATION (NixOS)</samp>
|
||||
|
||||
> Request:
|
||||
> [NixOs](https://channels.nixos.org/nixos-25.05/latest-nixos-minimal-x86_64-linux.iso)
|
||||
> [NixOS](https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso)
|
||||
|
||||
- Download ISO.
|
||||
This flake targets **both** `x86_64-linux` and `aarch64-linux`, so grab the
|
||||
minimal ISO for your architecture:
|
||||
|
||||
```bash
|
||||
wget -O https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso
|
||||
# x86_64
|
||||
wget -O nixos-minimal.iso https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso
|
||||
|
||||
# aarch64 (e.g. Raspberry Pi / ARM boxes)
|
||||
wget -O nixos-minimal-aarch64.iso https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-aarch64-linux.iso
|
||||
```
|
||||
|
||||
- Boot Into the Installer.
|
||||
@@ -118,10 +126,10 @@ rm -rf /mnt/etc/nixos/hosts/aesthetic/configuration.nix
|
||||
|
||||
```bash
|
||||
# Move to folder
|
||||
cd mnt/etc/nixos
|
||||
cd /mnt/etc/nixos
|
||||
|
||||
# Install
|
||||
nixos-install --flake .#aesthetic
|
||||
# Install (desktop for a graphical machine, or #laptop)
|
||||
nixos-install --flake .#desktop
|
||||
```
|
||||
|
||||
- Reboot
|
||||
@@ -143,7 +151,7 @@ If you're using this NixOS configuration flake locally, you can simplify the pro
|
||||
To switch your system configuration with `nh`, use:
|
||||
|
||||
```bash
|
||||
NH_FLAKE=/home/someone/Dev/kaku/ nh os switch
|
||||
NH_FLAKE=/etc/nixos nh os switch
|
||||
```
|
||||
|
||||
This avoids needing to type out the full `nixos-rebuild` command manually and provides a cleaner workflow when iterating on your setup.
|
||||
|
||||
Reference in New Issue
Block a user