| # SPDX-FileCopyrightText: 2024 Auxolotl Infrastructure Contributors |
| # SPDX-FileCopyrightText: 2024 Clicks Codes |
| # |
| # SPDX-License-Identifier: GPL-3.0-only |
| |
| { inputs, lib, channels, ... }: |
| let |
| modules = [ |
| { |
| system.stateVersion = "24.05"; |
| } |
| { |
| fileSystems."/" = { |
| device = "none"; |
| fsType = "tmpfs"; |
| }; |
| } |
| { |
| boot.loader.grub.device = "nodev"; |
| } |
| { |
| nixpkgs.config = { |
| allowBroken = true; |
| allowUnfree = true; |
| }; |
| } |
| { |
| clicks.services = { |
| nginx = { |
| enable = true; |
| |
| hosts = { |
| "aux.computer" = { |
| service = lib.clicks.nginx.http.redirectPermanent "https://auxolotl.org"; |
| www = false; |
| }; |
| |
| "forum.aux.computer" = { |
| service = lib.clicks.nginx.http.redirectPermanent "https://forum.auxolotl.org"; |
| www = false; |
| }; |
| }; |
| }; |
| }; |
| } |
| { |
| clicks.security.acme = { |
| enable = true; |
| defaults.email = "check@example.com"; |
| }; |
| } |
| ]; |
| libPlusClicks = lib.attrsets.recursiveUpdate channels.unstable.lib { |
| clicks = lib.clicks; # Our own lib is permitted as a requirement... but we're doing this song/dance to stop us, say, relying on snowfall lib/agenix lix/whatever... |
| }; |
| in (inputs.unstable.lib.nixosSystem { |
| lib = libPlusClicks; |
| system = channels.unstable.system; |
| modules = (lib.attrsets.attrValues inputs.self.nixosModules) ++ modules; |
| }).config.system.build.toplevel |