Compare commits

...
Author SHA1 Message Date
malobot ea06f27f20 Update flake.lock
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Failing after 3h1m42s
2026-10-15 04:01:41 +00:00
ahtlon 88ddae75e0 [albert] fix #192
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 24m5s
2026-10-13 22:00:22 +02:00
ahtlon a0e664f4f5 [fanny] fix dyndns
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Successful in 30m34s
2026-10-13 17:53:07 +02:00
ahtlon 0270b6ed11 {goldman} fix missing network config
Check flake syntax / flake-check (push) Successful in 36m9s
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
2026-09-30 16:03:17 +02:00
ahtlon 02a929a56d Revert "Merge pull request 'Actually use user module' (#191) from fix_malobeo_user into master"
This reverts commit e9c5da2710, reversing
changes made to 3d50e3d00c.

The user.nix module generates hostkeys under /etc/ssh/hostname which breaks sops encryption for legacy
2026-09-30 15:55:31 +02:00
ahtlon f981d6e7a0 Merge pull request 'add goldman, the rpi that runs gatekeeper' (#165) from gatekeeper_raspi into master
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Failing after 26m33s
Reviewed-on: #165
2026-09-30 08:28:55 +02:00
ahtlon 5d9ca52386 Add mosquitto 2026-09-30 08:28:55 +02:00
ahtlon ddc2499722 Update gatekeeper 2026-09-30 08:28:55 +02:00
ahtlon 33eb968705 Fix gatekeeper missing the key 2026-09-30 08:28:55 +02:00
ahtlon d01d0c4875 fix flake check 2026-09-30 08:28:55 +02:00
ahtlon c26813c2b8 add goldman, the rpi that runs gatekeeper 2026-09-30 08:28:55 +02:00
ahtlon e9c5da2710 Merge pull request 'Actually use user module' (#191) from fix_malobeo_user into master
Hydra callback / on_pr (push) Skipped
Hydra callback / on_push (push) Skipped
Check flake syntax / flake-check (push) Failing after 7m15s
Reviewed-on: #191
Reviewed-by: ahtlon <8+ahtlon@noreply.git.dynamicdiscord.de>
2026-09-29 17:05:50 +02:00
kalipso 50cae2c29b [nextcloud] fix missing inputs
Check flake syntax / flake-check (push) Successful in 9m19s
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Failing after 3h13m45s
2026-09-22 11:32:40 +02:00
kalipso c2e3686be1 [refactor] inputs.self -> inputs.malobeo
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Failing after 41s
Check flake syntax / flake-check (push) Failing after 3m39s
if imported in external projects `inputs.self` will point
to the external resource instead of malobeo leading to errors.
therefore all occurences of inputs.self got replaces with inputs.malobeo
2026-09-22 10:53:42 +02:00
kalipso a1ba8775f4 [machines] disable deprecated malobeo user
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Failing after 44s
Check flake syntax / flake-check (push) Failing after 7m55s
2026-09-21 17:24:51 +02:00
6 changed files with 243 additions and 35 deletions
Generated
+128 -29
View File
@@ -78,6 +78,29 @@
"type": "github"
}
},
"gatekeeper": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
],
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1786463371,
"narHash": "sha256-OgyMTerUYMCCRgxF3h0y9bzLa2FJ9m0SwSCtSDzj1Do=",
"ref": "refs/heads/master",
"rev": "25ecbbf375f9e84c2de2753f2372c63f7207afe1",
"revCount": 128,
"type": "git",
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
},
"original": {
"type": "git",
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -85,11 +108,11 @@
]
},
"locked": {
"lastModified": 1787377438,
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
"lastModified": 1791938526,
"narHash": "sha256-yNYK2pdk3bCtJrpblrNYA6hZKdybWUeyTtx74+OEJFo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
"rev": "32904dfe1cf86039f3c8c9f41f94e1cfd76dbb34",
"type": "github"
},
"original": {
@@ -126,11 +149,11 @@
"spectrum": "spectrum"
},
"locked": {
"lastModified": 1788263502,
"narHash": "sha256-gyVqW5U9wy6A8voJNu6SiSYTKDplo/MDl31x7FszWlk=",
"lastModified": 1791551030,
"narHash": "sha256-jTx3O3MKqPjv+cDfBFQ5zlKECBEwzF91scC+mSumZyE=",
"owner": "astro",
"repo": "microvm.nix",
"rev": "974d315e504e666eac4920d712e3ff6804dc1502",
"rev": "f13928fe9900e91709d7ce581eefa47eaafa79e1",
"type": "github"
},
"original": {
@@ -180,11 +203,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1788335262,
"narHash": "sha256-3jBEq8avfzlrsY4UpW4d5TOmm7ocseZfnitEJhqauyc=",
"lastModified": 1791721963,
"narHash": "sha256-BYhx89XJltnRyQeuDKHVL5eSqbbfAcOKuDts7QRsrxQ=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "44d95795ee2d475b3d687325e26dcf4ca9104557",
"rev": "60a624466c08787ee8303393b7d4752d1826f14f",
"type": "github"
},
"original": {
@@ -212,11 +235,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1788179007,
"narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=",
"lastModified": 1791734076,
"narHash": "sha256-i5qk1kLiit98rRbh1AXmWBNT9QXC/y4l5Wk/u5EdpDQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9",
"rev": "7fd4004d0511991fff3a0524856a9be09e28c5f0",
"type": "github"
},
"original": {
@@ -228,11 +251,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"lastModified": 1789546076,
"narHash": "sha256-vWkSk5bbfTqdtMoSgD9FshACO8JCvXTFi+3cqEp0mH0=",
"rev": "b1b875982b17dabde9b4a37f3e229e74913e6db3",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1074753.b1b875982b17/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
@@ -241,11 +264,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1788187754,
"narHash": "sha256-bu1QxmXKmPuvBLN7bHP355OV9Qo13x9WCiRDH62CqRM=",
"lastModified": 1791883866,
"narHash": "sha256-yvkDdToRZ4IgPc9tSBzzCYJvTLf8n5eE3rgUkpCuD5A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5dfba6236110080a54247d6460bc2ff5dda939cc",
"rev": "a033e66ab94a6bedf2c3d58d93a36319d3cbbbaf",
"type": "github"
},
"original": {
@@ -255,11 +278,62 @@
"type": "github"
}
},
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
],
"pyproject-nix": [
"gatekeeper",
"pyproject-nix"
],
"uv2nix": [
"gatekeeper",
"uv2nix"
]
},
"locked": {
"lastModified": 1776659114,
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778901413,
"narHash": "sha256-GSKXTAnFqRAMlZkJrIPcQMYf+lpMr66K3i60mB9STvc=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "a228447c3e179d477c1b6246ef3efa8cfe3c469a",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": {
"inputs": {
"disko": "disko",
"dns": "dns",
"ep3-bs": "ep3-bs",
"gatekeeper": "gatekeeper",
"home-manager": "home-manager",
"mfsync": "mfsync",
"microvm": "microvm",
@@ -280,11 +354,11 @@
]
},
"locked": {
"lastModified": 1788337237,
"narHash": "sha256-gkSH8VUtCo6hnysNmb9DbTuDepH2t5pv+QWjP75xKAk=",
"lastModified": 1791710405,
"narHash": "sha256-mVD4XIc5JkqMW2K04IkFUzHgHmyJZlzw5ktfgMDCbKU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "fbf759290e0cb0a98dfc813a4eb7d53ad1dacb57",
"rev": "ee48786c6f9160d2c1a084aac841f68195b8420c",
"type": "github"
},
"original": {
@@ -296,11 +370,11 @@
"spectrum": {
"flake": false,
"locked": {
"lastModified": 1785761586,
"narHash": "sha256-MWOMVqJJERwjQGgRIv8d6rlEBqbLM3VZWxHkNKIIZNw=",
"lastModified": 1786032750,
"narHash": "sha256-+Ba/kIn5BjvV7PN8bWOo7RoqgTY/Yv2M7qeMf3wS2Ag=",
"ref": "refs/heads/main",
"rev": "a7762d6f54b40560dd5255ce902e6e6a5d980fe9",
"revCount": 1416,
"rev": "77d2389874bb092b8dbf05ecc5b1030372e80e98",
"revCount": 1417,
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
},
@@ -430,11 +504,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"lastModified": 1791914995,
"narHash": "sha256-Zf/xfQEAasnwnmEfHqW/4hjDE/s44yn2hD4RuVIZRjA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"rev": "b7a79d3fea1e214f6d668d521cecec0c01e26544",
"type": "github"
},
"original": {
@@ -461,6 +535,31 @@
"type": "github"
}
},
"uv2nix": {
"inputs": {
"nixpkgs": [
"gatekeeper",
"nixpkgs"
],
"pyproject-nix": [
"gatekeeper",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1779269674,
"narHash": "sha256-P1LHCRdYpdtHAEzuEsNHrI6d9mVPl5a2fyFDZGHNVbI=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "69aec536f6d1acc415ed2e20299312802aba98c6",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
},
"zineshop": {
"inputs": {
"nixpkgs": [
+5
View File
@@ -37,6 +37,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
gatekeeper = {
url = "git+https://git.dynamicdiscord.de/malobeo/gatekeeper";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
+5
View File
@@ -86,6 +86,11 @@ in
};
};
systemd.network.networks."05-unmanaged-docker" = {
matchConfig = { Name = "veth*"; Kind = "veth"; };
linkConfig = { Unmanaged = true; };
};
nixpkgs.config.allowUnfree = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" "i686-linux" ];
services.acpid.enable = true;
+1 -6
View File
@@ -1,17 +1,12 @@
{pkgs, ...}:
{
sops.secrets.njalacloud = {};
sops.secrets.njalazines = {};
sops.secrets.njalaantamap = {};
sops.secrets.njalarm16 = {};
systemd.services."dyndns" = {
script = ''
KEYCLOUD=$(cat /run/secrets/njalacloud)
KEYZINES=$(cat /run/secrets/njalazines)
KEYANATAMAP=$(cat /run/secrets/njalaantamap)
KEYRM16=$(cat /run/secrets/njalarm16)
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=cloud.malobeo.org&k="$KEYCLOUD"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=zines.malobeo.org&k="$KEYZINES"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=antamap.malobeo.org&k="$KEYANATAMAP"&auto"
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=rm16bleibt.org&k="$KEYRM16"&auto"
'';
serviceConfig = {
+93
View File
@@ -0,0 +1,93 @@
{ config, pkgs, inputs, modulesPath, ... }:
let
sshKeys = import ../ssh_keys.nix;
in
{
networking.hostName = "goldman"; # Define your hostname.
nixpkgs.hostPlatform = { system = "aarch64-linux"; };
imports =
[
inputs.gatekeeper.nixosModules.gatekeeper
../modules/malobeo_user.nix
#inputs.nixos-hardware.nixosModules.raspberry-pi-3
(modulesPath + "/profiles/minimal.nix")
#(modulesPath + "/installer/sd-card/sd-image.nix")
];
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
#Try to reduce size
documentation.man.enable = false;
documentation.nixos.enable = false;
services.openssh.enable = true;
services.openssh.ports = [ 22 ];
services.openssh.settings.PasswordAuthentication = false;
services.openssh.settings.PermitRootLogin = "prohibit-password";
users.users.root.openssh.authorizedKeys.keys = sshKeys.admins;
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
boot.loader.grub.enable = false;
# Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = true;
networking.dhcpcd.enable = true;
# Set your time zone.
time.timeZone = "Europe/Berlin";
services.mosquitto = {
enable = true;
listeners = [{
acl = [ "pattern readwrite #" ];
omitPasswordAuth = true;
settings.allow_anonymous = true;
}];
};
services = {
gatekeeper = {
enable = true;
envFile = pkgs.writeText "env" ''
MIFARE_APP_MASTER_KEY="7b195adb892073c9e34ebe7e0ca28b2b"
MIFARE_ACL_READ_BASE_KEY="741a50f2b189cc9f151e0600f50a6e1a"
MIFARE_ACL_WRITE_BASE_KEY="f1aa99f81cca268de98d422ee0ccb65c"
SECRET_KEY="8b14d0b447bff7efa24d5019cc59a999786e31f6f865173bbd642bf18de5ad85"
MQTT_HOST = "localhost"
MQTT_PORT = "1883"
'';
mock = "False";
};
};
environment.systemPackages = with pkgs; [
htop
wget
git
pciutils
gpio-utils
nix-tree
lgpio
];
services.avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
userServices = true;
};
};
networking.firewall.allowedTCPPorts = [ 80 443 1883];
system.stateVersion = "23.05";
}
+11
View File
@@ -77,6 +77,17 @@ in
nameservers = [ "192.168.1.1" "1.1.1.1" ];
};
};
goldman = {
type = "rpi";
network = {
local = true;
hostId = "16";
address = "192.168.1.106";
gateway = "192.168.1.1";
nameservers = [ "192.168.1.1" "1.1.1.1" ];
};
};
durruti = {
type = "microvm";