- Nix 99.8%
- Shell 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| modules | ||
| check.sh | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
| ssh-data.nix | ||
C3D2 NixOS user module
NixOS module intended to be used by people regularly visiting C3D2 and wanting to stream audio, have a filled known_host's file, etc.
Usage
Add or merge the following settings to your flake.nix:
{
inputs = {
c3d2-user-module.url = "git+https://gitea.c3d2.de/C3D2/nix-user-module.git";
};
outputs = { c3d2-user-module }: {
nixosConfigurations.HOSTNAME = {
modules = [
c3d2-user-module.nixosModule
];
};
};
}
If you are using nixos-modules you need to add a follows to the c3d2-user-module:
{
inputs = {
c3d2-user-module = {
url = "git+https://gitea.c3d2.de/C3D2/nix-user-module.git";
inputs.nixos-modules.follows = "nixos-modules";
};
nixos-modules.url = "github:NuschtOS/nixos-modules";
};
}
Options
c3d2.addBinaryCache: set to true to add the c3d2 hydra as permanent trusted-substituter.c3d2.addKnownHosts: set to true to add the public ssh host keys to the known_hosts file.c3d2.configureAudioStreaming: set to true to enable all services to audio stream topulsebert,dacbertorglotzbertin hq. After enabling this option runsystemctl --user restart pulseaudioorsystemctl --user restart pipewire-pulse. If that is not working logout of your session and log back in and check Avahi viaavahi-browse -t _pulse-sink._tcp.c3d2.configureBrotherLabelPrinter: set to true to configure the Brother label printerc3d2.configureCongressWifi: set to true to configure the WiFi which will be on Congress in advance. Thec3d2.congressNameoption is used to determine the name of the SSID.c3d2.configureHackspaceWifi: set to true to configure theC3D2andZW public(without auto connect) WiFi connection in the normal and legacy variants.c3d2.configureXeroxWorkCentre: set to true to configure the big printer located in the hallway.
Wireguard options
To easily configure the Wireguard connections us the following options. There are two types available: admin for infrastructure maintainers and user for normal usage.
| Option | Description |
|---|---|
enable |
Whether to enable this wireguard. |
interfaceName |
How the wireguard interface will be named. |
lastBlockAddress |
Last digit of the IPv4 address that got assigned to you. |
privateKeyFile |
Path to a file containing the private key to the public key you shared with the network maintainers. |
Design
- Modules should never change the configuration without setting an option
Structure
This is based on sandro's nixos-modules (on GitHub) and follows the same structure and design.