This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / machines / neoprism / config.nix
6.1 kB 173 lines
1{ 2 lib, 3 ... 4}: 5 6{ 7 imports = [ 8 ../../configs 9 ../../configs/ssh-redirect.nix 10 ../../configs/retiolum.nix 11 ../../configs/mailserver.nix 12 ../../configs/snappymail.nix 13 ../../configs/gsm-wiki.nix 14 ../../configs/pair-programming.nix 15 ../../configs/nginx.nix 16 ../../configs/services/matrix 17 ../../configs/services/matrix/proxy.nix 18 ../../configs/services/matrix/cinny.nix 19 ../../configs/services/matrix/bridges/mautrix-whatsapp.nix 20 ../../configs/services/matrix/bridges/mautrix-signal.nix 21 ../../configs/services/matrix/bridges/heisenbridge.nix 22 ../../configs/services/matrix/bridges/mautrix-telegram.nix 23 ../../configs/services/matrix/bridges/mautrix-discord.nix 24 ../../configs/services/matrix/bridges/matrix-zulip-bridge.nix 25 26 ../../configs/services/pad 27 ../../configs/services/paint 28 29 ../../configs/hass/proxy.nix 30 ../../configs/hermes-proxy.nix 31 ../../configs/crit-proxy.nix 32 33 # sync-containers 34 ../../configs/services/flix/container-host.nix 35 ../../configs/services/radio/container-host.nix 36 ../../configs/hotdog-host.nix 37 38 # irc bots 39 ../../configs/mumble-reminder.nix 40 41 # other containers 42 ../../configs/riot.nix 43 44 # proxying of services 45 ../../configs/services/radio/proxy.nix 46 ../../configs/services/flix/proxy.nix 47 ../../configs/services/coms/jitsi.nix 48 49 # dns 50 ../../configs/dns/knot.nix 51 52 # video strreaming 53 ../../configs/cast.nix 54 55 # c-base ollama tunnel 56 ../../configs/c-base-ai-tunnel.nix 57 58 # debug stuff 59 ../../configs/websites/mergebot.lassul.us.nix 60 61 # autoupdates 62 ../../configs/autoupdate.nix 63 64 # vaultwarden 65 ../../configs/vaultwarden.nix 66 67 # download user 68 ../../configs/download-user.nix 69 70 # caldav calendar 71 ../../configs/radicale.nix 72 73 # lassul.us website 74 ../../configs/websites/lassulus.nix 75 76 # where.is.lassul.us (location from home-assistant on a map) 77 ../../configs/websites/where.is.lassul.us 78 79 # wallpaper.lassul.us (realwallpaper rendered on demand) 80 ../../configs/websites/wallpaper.lassul.us.nix 81 82 # paste + cyberlocker 83 ../../configs/paste 84 85 # document signing 86 ../../configs/docuseal.nix 87 88 # timeful availability polls (when.lassul.us) 89 ../../configs/timeful.nix 90 91 # request-and-approve booking page (book.lassul.us) 92 ../../configs/book.nix 93 94 # backups 95 ./backup.nix 96 97 # IPFS 98 ../../configs/services/flix/ipfs.nix 99 100 # n2n supernode (n2n.lassul.us) 101 ../../configs/n2n-supernode.nix 102 103 # pocket-id SSO IdP (id.lassul.us) 104 ../../configs/pocket-id.nix 105 106 # radicle public seed (radicle.lassul.us) 107 ../../configs/radicle.lassul.us.nix 108 # radicle identity + node for this machine (/var/lib/rad) 109 ../../configs/rad.nix 110 111 # self-hosted iroh relay (relay.lassul.us) 112 ../../configs/iroh-relay 113 114 # signed remote command execution (root executor + fleet dashboard, 115 # sigexec.lassul.us) 116 ../../configs/sigexec/executor.nix 117 ../../configs/sigexec/dashboard.nix 118 119 # parley federated IRC-speaking chat (parley.lassul.us) 120 ../../configs/parley.nix 121 122 # nixpkgs PR triage dashboard (review.lassul.us) 123 ../../configs/nixpkgs-triage.nix 124 125 # build farm (grpc://neoprism.r:50051) + binary cache (cache.lassul.us, 126 # niks3.lassul.us) 127 ../../configs/nix-farm/cache.nix 128 ../../configs/nix-farm/builder.nix 129 ]; 130 131 # lassul.us shouldn't be the default vhost here (nginx.nix already sets one) 132 services.nginx.virtualHosts."lassul.us" = { 133 default = lib.mkForce false; 134 }; 135 136 # riot VM (HFOS): fresh libvirt guest on a dedicated bridged public IP. 137 # Bridged onto ext-br with its own Hetzner MAC, so libvirt manages no 138 # firewall rules for it -> no nat-chain race, no restart-iptables hack (cf. hfos.nix). 139 virtualisation.libvirtd.enable = true; 140 security.polkit.enable = true; 141 users.users.riot = { 142 isNormalUser = true; 143 extraGroups = [ "libvirtd" ]; 144 openssh.authorizedKeys.keys = [ 145 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCwcI8EKqUwYVd4IlnTTaNY3qVMDe2M1sVPMdWaTJ8FnAXixBcZozFHyJ9bvGn6c/vFGBEACZk6QCxC2+sTxbaodCOUIyhAtxqAGO7jINmGrVWjg2NW8qBi+e+ekr2+jlhizxgMPgMcbawuazpMzrozi6sfJfRelJRqe6TxrK/SBO+V5pf8v2ubAfHHF6bJrqAykC247d2NmsHEyM/nGOOb2AlJx2vrK1FbFWr2fBAvnhJww9wqrfDYSM6+oRF/vrYKkT9cU8yjtCkyaJZTqRufF2pzc9a0X3Z4LHEIUykAl2aVmi5Wzh8CZj3qCeVb9Ju0ZGQIa5pvG5CbH5SUJOr9y6zhTx1xbqL+JYGkJqgHPMOCFiNIvWnFaNlnvFf4C9KcTf/VMOEvNdDklpjoWm+ptuQIciAhWKuUHd/6MqaRjmlvUqjl49EkRvYOGn9vasKt66MYrtfvbZ3tcqh5w9EEKhrcygiUXhIJzhu2s1BseAVRLjCsQ24BNbzrYiCO+vuk8/hdeHB1rP6Sas2v7jvYb3zQd647OTq+HrZWN8aCjCs5h8Y0QxrQzsLru0zKDRaNDlbSshNBAw7PzSXQAf9fISH7v6sC4nstf5jk+87ua/7xjWG4NYp5Y9FMFCsuE3XVmUCAbauq18RmN6V4s2TxCEs9bxONO0Vba4zwPnvMlw== cardno:000619250765" 146 ]; 147 }; 148 # the only forwarding the VM needs: accept traffic to/from its public IP. 149 networking.firewall.extraForwardRules = '' 150 ip daddr 95.217.192.52 accept 151 ip saddr 95.217.192.52 accept 152 ''; 153 154 # tank/radicle (radicle seed storage) is created by disko at install; on an 155 # already-provisioned host it must be created before deploying: 156 # zfs create -o mountpoint=/var/lib/radicle -o quota=80G tank/radicle 157 # nofail keeps a missing dataset from failing local-fs.target -> emergency 158 # mode (which has no network and bricks the box). 159 fileSystems."/var/lib/radicle".options = [ "nofail" ]; 160 161 # Fleet-wide safety net: this box is headless (Hetzner, console only via 162 # KVM), so a failed critical target must never strand us at the emergency 163 # shell. With emergency mode disabled systemd keeps booting instead of 164 # dropping to a console -> network + sshd still come up, so a bad deploy 165 # (e.g. a missing dataset, as happened once) leaves the box reachable to 166 # fix and redeploy rather than bricked. Mirrors nixpkgs' headless profile. 167 # Note: we intentionally do NOT auto-roll-back to the previous generation; 168 # our config is pulled from git by system.autoUpgrade, so a rollback would 169 # just re-pull the same broken config on the next run (a rollback loop). 170 systemd.enableEmergencyMode = false; 171 172 system.stateVersion = "24.05"; 173}