Some clean up #11
|
@ -21,7 +21,8 @@ let
|
|||
app = "dokuwiki";
|
||||
domain = "eh22.easterhegg.eu";
|
||||
dataDir = "/srv/www/${domain}";
|
||||
in {
|
||||
in
|
||||
{
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${dataDir} 0755 ${app} ${app}"
|
||||
];
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
hostName = "mqtt";
|
||||
domain = "z9.ccchh.net";
|
||||
};
|
||||
networking = {
|
||||
hostName = "mqtt";
|
||||
domain = "z9.ccchh.net";
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
system.stateVersion = "23.11";
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./networking.nix
|
||||
./mosquitto.nix
|
||||
];
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./networking.nix
|
||||
./mosquitto.nix
|
||||
];
|
||||
}
|
|
@ -5,29 +5,29 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
services.mosquitto = {
|
||||
enable = true;
|
||||
persistence = true;
|
||||
services.mosquitto = {
|
||||
enable = true;
|
||||
persistence = true;
|
||||
|
||||
# set config for all listeners
|
||||
listeners = [ {
|
||||
settings.allow_anonymous = true;
|
||||
omitPasswordAuth = true;
|
||||
acl = ["topic readwrite #"];
|
||||
} ];
|
||||
# set config for all listeners
|
||||
listeners = [{
|
||||
settings.allow_anonymous = true;
|
||||
omitPasswordAuth = true;
|
||||
acl = [ "topic readwrite #" ];
|
||||
}];
|
||||
|
||||
bridges.winkekatz = {
|
||||
addresses = [
|
||||
{ address = "mqtt.winkekatze24.de"; }
|
||||
];
|
||||
topics = [
|
||||
"winkekatze/allcats/eye/set in 2"
|
||||
"winkekatze/allcats in 2"
|
||||
"+/status out 2 winkekatze/ \"\""
|
||||
"+/connected out 2 winkekatze/ \"\""
|
||||
];
|
||||
};
|
||||
bridges.winkekatz = {
|
||||
addresses = [
|
||||
{ address = "mqtt.winkekatze24.de"; }
|
||||
];
|
||||
topics = [
|
||||
"winkekatze/allcats/eye/set in 2"
|
||||
"winkekatze/allcats in 2"
|
||||
"+/status out 2 winkekatze/ \"\""
|
||||
"+/connected out 2 winkekatze/ \"\""
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 1883 ];
|
||||
networking.firewall.allowedTCPPorts = [ 1883 ];
|
||||
}
|
|
@ -4,7 +4,8 @@ let
|
|||
domain = "hacker.tours";
|
||||
dataDir = "/var/www/${domain}";
|
||||
deployUser = "hackertours-website-deploy";
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.nginx.virtualHosts = {
|
||||
"acme-${domain}" = {
|
||||
enableACME = true;
|
||||
|
|
|
@ -4,7 +4,8 @@ let
|
|||
domain = "hackertours.hamburg.ccc.de";
|
||||
dataDir = "/var/www/${domain}";
|
||||
deployUser = "ht-ccchh-website-deploy";
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.nginx.virtualHosts = {
|
||||
"acme-${domain}" = {
|
||||
enableACME = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{...}:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
|
|
|
@ -4,7 +4,8 @@ let
|
|||
domain = "staging.hacker.tours";
|
||||
dataDir = "/var/www/${domain}";
|
||||
deployUser = "hackertours-website-deploy";
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.nginx.virtualHosts = {
|
||||
"acme-${domain}" = {
|
||||
enableACME = true;
|
||||
|
|
|
@ -4,7 +4,8 @@ let
|
|||
domain = "staging.hackertours.hamburg.ccc.de";
|
||||
dataDir = "/var/www/${domain}";
|
||||
deployUser = "ht-ccchh-website-deploy";
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.nginx.virtualHosts = {
|
||||
"acme-${domain}" = {
|
||||
enableACME = true;
|
||||
|
|
|
@ -3,13 +3,12 @@
|
|||
# - https://woodpecker-ci.org/docs/administration/agent-config
|
||||
# - https://woodpecker-ci.org/docs/administration/backends/docker
|
||||
|
||||
{ config, pkgs, pkgs-unstable, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.woodpecker-agents.agents."docker" = {
|
||||
enable = true;
|
||||
# Since we use woodpecker-server from unstable, use the agent from unstable as well.
|
||||
package = pkgs-unstable.woodpecker-agent;
|
||||
package = pkgs.woodpecker-agent;
|
||||
extraGroups = [ "docker" ];
|
||||
environment = {
|
||||
WOODPECKER_SERVER = "localhost${config.services.woodpecker-server.environment.WOODPECKER_GRPC_ADDR}";
|
||||
|
|
|
@ -5,14 +5,12 @@
|
|||
# - https://woodpecker-ci.org/docs/administration/forges/forgejo
|
||||
# - https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
|
||||
|
||||
{ config, pkgs, pkgs-unstable, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.woodpecker-server = {
|
||||
enable = true;
|
||||
# Use package from unstable to get at least version 2.6.0 for native Forgejo support.
|
||||
# https://github.com/woodpecker-ci/woodpecker/releases/tag/v2.6.0
|
||||
package = pkgs-unstable.woodpecker-server;
|
||||
package = pkgs.woodpecker-server;
|
||||
environment = {
|
||||
WOODPECKER_HOST = "https://woodpecker.hamburg.ccc.de";
|
||||
WOODPECKER_SERVER_ADDR = ":8001";
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
description = "Yate telehony engine";
|
||||
unitConfig = {
|
||||
Type = "simple";
|
||||
After="network.target";
|
||||
After = "network.target";
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.yate}/bin/yate -c /yate -e /yate/share -Do";
|
||||
Type="simple";
|
||||
Restart="always";
|
||||
Type = "simple";
|
||||
Restart = "always";
|
||||
# ...
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
|
|
17
flake.lock
17
flake.lock
|
@ -68,27 +68,10 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1731265036,
|
||||
"narHash": "sha256-e5I+glVZwQvLT6WIeMFi0Mk+N/jkYauZ31ir2NRZcf8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8aed22ecd71e5b67e5299efae8b9dc580dec711c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
|
|
138
flake.nix
138
flake.nix
|
@ -6,7 +6,6 @@
|
|||
# https://nixos.org/manual/nixos/stable/#sec-upgrading
|
||||
# https://github.com/NixOS/nixpkgs
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05-small";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
||||
|
||||
# Add nixos-generators as an input.
|
||||
# See here: https://github.com/nix-community/nixos-generators#using-in-a-flake
|
||||
|
@ -23,26 +22,32 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-generators, sops-nix, ... }:
|
||||
outputs = { self, nixpkgs, nixos-generators, sops-nix, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
shairportSync431ExtendedNixpkgsUnstableOverlay = final: prev: {
|
||||
shairport-sync = (prev.shairport-sync.override { enableMetadata = true; enableAirplay2 = true; }).overrideAttrs (finalAttr: previousAttr: {
|
||||
# See: https://github.com/mikebrady/shairport-sync/blob/e78a88b64adfe7b5f88fd6faedf55c57445bb240/CONFIGURATION%20FLAGS.md
|
||||
configureFlags = previousAttr.configureFlags ++ [ "--with-mqtt-client" ];
|
||||
buildInputs = previousAttr.buildInputs ++ [ final.mosquitto ];
|
||||
});
|
||||
};
|
||||
pkgs-unstable = nixpkgs-unstable.legacyPackages."x86_64-linux";
|
||||
in
|
||||
{
|
||||
overlays = {
|
||||
shairportSyncAirplay2 = final: prev: {
|
||||
shairport-sync = (prev.shairport-sync.override { enableMetadata = true; enableAirplay2 = true; }).overrideAttrs (finalAttr: previousAttr: {
|
||||
# See: https://github.com/mikebrady/shairport-sync/blob/e78a88b64adfe7b5f88fd6faedf55c57445bb240/CONFIGURATION%20FLAGS.md
|
||||
configureFlags = previousAttr.configureFlags ++ [ "--with-mqtt-client" ];
|
||||
buildInputs = previousAttr.buildInputs ++ [ final.mosquitto ];
|
||||
});
|
||||
};
|
||||
};
|
||||
nixosModules = {
|
||||
common = ./config/common;
|
||||
proxmox-vm = ./config/proxmox-vm;
|
||||
prometheus-exporter = ./config/extra/prometheus-exporter.nix;
|
||||
};
|
||||
nixosConfigurations = {
|
||||
audio-hauptraum-kueche = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
{ nixpkgs.overlays = [ shairportSync431ExtendedNixpkgsUnstableOverlay ]; }
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
{ nixpkgs.overlays = [ self.overlays.shairportSyncAirplay2 ]; }
|
||||
./config/hosts/audio-hauptraum-kueche
|
||||
];
|
||||
};
|
||||
|
@ -50,9 +55,9 @@
|
|||
audio-hauptraum-tafel = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
{ nixpkgs.overlays = [ shairportSync431ExtendedNixpkgsUnstableOverlay ]; }
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
{ nixpkgs.overlays = [ self.overlays.shairportSyncAirplay2 ]; }
|
||||
./config/hosts/audio-hauptraum-tafel
|
||||
];
|
||||
};
|
||||
|
@ -60,8 +65,8 @@
|
|||
esphome = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
./config/hosts/esphome
|
||||
];
|
||||
};
|
||||
|
@ -69,8 +74,8 @@
|
|||
public-reverse-proxy = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
./config/hosts/public-reverse-proxy
|
||||
];
|
||||
};
|
||||
|
@ -78,10 +83,10 @@
|
|||
netbox = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/netbox
|
||||
];
|
||||
};
|
||||
|
@ -89,10 +94,10 @@
|
|||
matrix = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/matrix
|
||||
];
|
||||
};
|
||||
|
@ -100,10 +105,10 @@
|
|||
public-web-static = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/public-web-static
|
||||
];
|
||||
};
|
||||
|
@ -111,10 +116,10 @@
|
|||
git = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/git
|
||||
];
|
||||
};
|
||||
|
@ -122,10 +127,10 @@
|
|||
forgejo-actions-runner = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/forgejo-actions-runner
|
||||
];
|
||||
};
|
||||
|
@ -133,8 +138,8 @@
|
|||
ptouch-print-server = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
./config/hosts/ptouch-print-server
|
||||
];
|
||||
};
|
||||
|
@ -142,9 +147,9 @@
|
|||
eh22-wiki = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/eh22-wiki
|
||||
];
|
||||
};
|
||||
|
@ -152,9 +157,9 @@
|
|||
nix-box-june = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/nix-box-june
|
||||
];
|
||||
};
|
||||
|
@ -162,8 +167,8 @@
|
|||
yate = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
./config/hosts/yate
|
||||
];
|
||||
};
|
||||
|
@ -171,8 +176,8 @@
|
|||
mqtt = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
./config/hosts/mqtt
|
||||
];
|
||||
};
|
||||
|
@ -180,10 +185,10 @@
|
|||
mjolnir = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/mjolnir
|
||||
];
|
||||
};
|
||||
|
@ -191,22 +196,19 @@
|
|||
woodpecker = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/woodpecker
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
};
|
||||
};
|
||||
|
||||
status = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/hosts/status
|
||||
];
|
||||
|
@ -215,10 +217,10 @@
|
|||
penpot = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
sops-nix.nixosModules.sops
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/penpot
|
||||
];
|
||||
};
|
||||
|
@ -226,9 +228,9 @@
|
|||
hydra = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
./config/extra/prometheus-exporter.nix
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
self.nixosModules.prometheus-exporter
|
||||
./config/hosts/hydra
|
||||
];
|
||||
};
|
||||
|
@ -239,8 +241,8 @@
|
|||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./config/nixos-generators/proxmox.nix
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
];
|
||||
format = "proxmox";
|
||||
};
|
||||
|
@ -250,8 +252,8 @@
|
|||
modules = [
|
||||
./config/nixos-generators/proxmox-chaosknoten.nix
|
||||
./config/proxmox-chaosknoten-additional-initial-config.nix
|
||||
./config/common
|
||||
./config/proxmox-vm
|
||||
self.nixosModules.common
|
||||
self.nixosModules.proxmox-vm
|
||||
];
|
||||
format = "proxmox";
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue