mirror of
https://codeberg.org/polyteknisk-radiogruppe/the_prg_server_configuration.git
synced 2026-06-14 10:48:56 +02:00
Some checks failed
Build Nix modules (dry-run) / build-modules (push) Failing after 3m18s
99 lines
2.7 KiB
Nix
99 lines
2.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
|
|
in {
|
|
options.local = {
|
|
hostname = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "nixos-default";
|
|
description = "System hostname";
|
|
};
|
|
username = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "user";
|
|
description = "Primary user username";
|
|
};
|
|
userDescription = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "NixOS User";
|
|
description = "Primary user description";
|
|
};
|
|
address = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "10.1.1.100";
|
|
description = "Static IP address";
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
(choose [./modules/desktop-manager/sway_greetd_homemanager.nix ../desktop-manager/sway_greetd_homemanager.nix])
|
|
(choose [./modules/local/hostname_username.nix ../local/hostname_username.nix])
|
|
(choose [./modules/local/networking_local.nix ../local/networking_local.nix])
|
|
(choose [./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix])
|
|
(choose [./modules/lix-default.nix ../lix-default.nix])
|
|
# Optionally: (choose [ ./modules/toolsets/remote_building.nix ../toolsets/remote_building.nix ])
|
|
|
|
## Compose modules for Portainer service
|
|
(choose [./modules/toolsets/grafana_metric.nix ../toolsets/grafana_metric.nix])
|
|
(choose [./modules/songsheet/wavelog/docker-compose.nix ../songsheet/wavelog/docker-compose.nix])
|
|
(choose [./modules/secrets-config/sops-composesongsheet.nix ../secrets-config/sops-composesongsheet.nix])
|
|
];
|
|
|
|
config = {
|
|
local.hostname = "nixos-songsheet";
|
|
local.username = "songsheetprg";
|
|
local.userDescription = "NixOS PRG Portainer-Like Songsheet Service";
|
|
local.address = "10.1.1.249";
|
|
|
|
# Enable Tailscale
|
|
services.tailscale.enable = true;
|
|
|
|
networking.firewall.allowedTCPPorts = [
|
|
80
|
|
443
|
|
8086 # Wavelog
|
|
8087 # PartDB
|
|
8070 # Pelican
|
|
8443 # Wings
|
|
8080 # Wings
|
|
2022 # Wings
|
|
|
|
# Game stuff
|
|
2456 # Valheim
|
|
2457 # Valheim
|
|
2458 # Valheim
|
|
1234 # OpenRA
|
|
3979 # OpenTTD
|
|
26000 # Xonotic
|
|
];
|
|
networking.firewall.allowedUDPPorts = [
|
|
80
|
|
443
|
|
8086 # Wavelog
|
|
8087 # PartDB
|
|
8070 # Pelican
|
|
8443 # Wings
|
|
8080 # Wings
|
|
2022 # Wings
|
|
|
|
# Game stuff
|
|
2456 # Valheim
|
|
2457 # Valheim
|
|
2458 # Valheim
|
|
1234 # OpenRA
|
|
3979 # OpenTTD
|
|
26000 # Xonotic
|
|
];
|
|
|
|
system.stateVersion = "25.11";
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /var/lib/pelican 0755 root root -"
|
|
"d /var/log/pelican 0755 root root -"
|
|
];
|
|
};
|
|
}
|