mirror of
https://git.mediani.de/mirrors_public/oddlama_nixos-extra-modules.git
synced 2025-10-10 22:10:38 +02:00
feat: add module for wireguard overlay networks
This commit is contained in:
parent
34ba92f057
commit
f4d9891554
5 changed files with 716 additions and 0 deletions
|
@ -19,6 +19,7 @@ Nginx recommended options | Module | [Link](./modules/nginx.nix) | - | agenix |
|
|||
Node options | Module | [Link](./modules/node.nix) | - | - | A module that stores meta information about your nodes (hosts). Required for some other modules that operate across nodes.
|
||||
Guests (MicroVMs & Containers) | Module | [Link](./modules/guests) | zfs, disko, node options | - | This module implements a common interface to use guest systems with microvms or nixos-containers.
|
||||
Restic hetzner storage box setup | Module | [Link](./modules/restic.nix) | agenix, agenix-rekey | - | This module exposes new options for restic backups that allow a simple setup of hetzner storage boxes. There's [an app](./apps/setup-hetzner-storage-boxes.nix) that you should expose on your flake to automate remote setup.
|
||||
Wireguard overlay networks | Module | [Link](./modules/wireguard.nix) | agenix, agenix-rekey, nftables-firewall, specialArgs.nodes | - | This module automatically creates cross-node wireguard networks including automatic semi-stable ip address assignments
|
||||
|
||||
#### Home Manager Modules
|
||||
|
||||
|
@ -47,6 +48,10 @@ You also must have a `specialArgs.inputs` that refers to all of your flake's inp
|
|||
and `inputs.self.pkgs.${system}` must refer to an initialized package set for that
|
||||
specific system that includes extra-modules as an overlay.
|
||||
|
||||
All cross-node configuration modules (like wireguard) require you to expose
|
||||
all relevant nodes in your flake as `inputs.self.nodes`, so their configuration
|
||||
can be accessed by other nodes.
|
||||
|
||||
Here's an example configuration:
|
||||
|
||||
```nix
|
||||
|
@ -130,6 +135,9 @@ Here's an example configuration:
|
|||
inherit (pkgs) lib;
|
||||
};
|
||||
};
|
||||
|
||||
# Required for cross-node configuration like in the wireguard module
|
||||
nodes = self.nixosConfigurations;
|
||||
}
|
||||
// flake-utils.lib.eachDefaultSystem (system: rec {
|
||||
pkgs = import nixpkgs {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue