blob: c6201df10b9c1550bd63bad6b54424b98e1c4cbc [file] [log] [blame]
Skyler Grey13068952024-08-20 22:56:49 +00001# SPDX-FileCopyrightText: 2024 Auxolotl Infrastructure Contributors
2# SPDX-FileCopyrightText: 2024 Clicks Codes
3#
4# SPDX-License-Identifier: GPL-3.0-only
5
6{ inputs, lib, channels, ... }:
7let
8 modules = [
9 {
10 system.stateVersion = "24.05";
11 }
12 {
13 fileSystems."/" = {
14 device = "none";
15 fsType = "tmpfs";
16 };
17 }
18 {
19 boot.loader.grub.device = "nodev";
20 }
21 {
22 nixpkgs.config = {
23 allowBroken = true;
24 allowUnfree = true;
25 };
26 }
27 {
28 clicks.services = {
29 nginx = {
30 enable = true;
31
32 hosts = {
33 "aux.computer" = {
34 service = lib.clicks.nginx.http.redirectPermanent "https://auxolotl.org";
35 www = false;
36 };
37
38 "forum.aux.computer" = {
39 service = lib.clicks.nginx.http.redirectPermanent "https://forum.auxolotl.org";
40 www = false;
41 };
42 };
43 };
44 };
45 }
46 {
47 clicks.security.acme = {
48 enable = true;
49 defaults.email = "check@example.com";
50 };
51 }
52 ];
53 libPlusClicks = lib.attrsets.recursiveUpdate channels.unstable.lib {
54 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...
55 };
56in (inputs.unstable.lib.nixosSystem {
57 lib = libPlusClicks;
58 system = channels.unstable.system;
59 modules = (lib.attrsets.attrValues inputs.self.nixosModules) ++ modules;
60}).config.system.build.toplevel