]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - systems/eldiron/flake.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / systems / eldiron / flake.nix
1 {
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
4 dns-nix.url = "github:kirelagin/dns.nix";
5 dns-nix.inputs.nixpkgs.follows = "nixpkgs";
6
7 my-lib.url = "path:../../flakes/lib";
8
9 public-etherpad-lite.url = "path:../../flakes/etherpad-lite";
10 public-grocy.url = "path:../../flakes/grocy";
11 public-openarc.url = "path:../../flakes/openarc";
12 public-opendmarc.url = "path:../../flakes/opendmarc";
13 public-peertube.url = "path:../../flakes/peertube";
14 public-diaspora.url = "path:../../flakes/diaspora";
15 public-mastodon.url = "path:../../flakes/mastodon";
16 public-mediagoblin.url = "path:../../flakes/mediagoblin";
17 public-surfer.url = "path:../../flakes/surfer";
18 public-myuids.url = "path:../../flakes/myuids";
19 public-copanier.url = "path:../../flakes/copanier";
20 public-secrets.url = "path:../../flakes/secrets";
21 public-files-watcher.url = "path:../../flakes/files-watcher";
22 public-fiche.url = "path:../../flakes/fiche";
23 public-mypackages.url = "path:../../flakes/mypackages";
24 public-loginctl-linger.url = "path:../../flakes/loginctl-linger";
25 public-multi-apache-container.url = "path:../../flakes/multi-apache-container";
26 public-taskwarrior-web.url = "path:../../flakes/taskwarrior-web";
27
28 private-peertube.url = "path:../../flakes/private/peertube";
29 private-buildbot.url = "path:../../flakes/private/buildbot";
30 private-php.url = "path:../../flakes/private/php";
31 private-environment.url = "path:../../flakes/private/environment";
32 private-openarc.url = "path:../../flakes/private/openarc";
33 private-openldap.url = "path:../../flakes/private/openldap";
34 private-opendmarc.url = "path:../../flakes/private/opendmarc";
35 private-milters.url = "path:../../flakes/private/milters";
36 private-monitoring.url = "path:../../flakes/private/monitoring";
37 private-paste.url = "path:../../flakes/private/paste";
38 private-ssh.url = "path:../../flakes/private/ssh";
39 private-chatons.url = "path:../../flakes/private/chatons";
40 private-system.url = "path:../../flakes/private/system";
41 };
42 outputs = inputs@{ self, my-lib, nixpkgs, dns-nix, ...}:
43 my-lib.lib.mkColmenaFlake {
44 name = "eldiron";
45 inherit self nixpkgs;
46 system = "x86_64-linux";
47 targetHost = "176.9.151.89";
48 targetUser = "root";
49 nixosModules = with inputs; {
50 base = ./base.nix;
51 myuids = public-myuids.nixosModule;
52 secrets = public-secrets.nixosModule;
53 loginctl-linger = public-loginctl-linger.nixosModule;
54 files-watcher = public-files-watcher.nixosModule;
55 multi-apache-container = public-multi-apache-container.nixosModule;
56 etherpad-lite = public-etherpad-lite.nixosModule;
57 mastodon = public-mastodon.nixosModule;
58 mediagoblin = public-mediagoblin.nixosModule;
59 peertube = public-peertube.nixosModule;
60 diaspora = public-diaspora.nixosModule;
61 fiche = public-fiche.nixosModule;
62
63 environment = private-environment.nixosModule;
64 openarc = private-openarc.nixosModule;
65 opendmarc = private-opendmarc.nixosModule;
66 ssh = private-ssh.nixosModule;
67 chatons = private-chatons.nixosModule;
68 system = private-system.nixosModule;
69 monitoring = private-monitoring.nixosModule;
70 paste = private-paste.nixosModule;
71 milters = private-milters.nixosModule;
72 };
73 moduleArgs = with inputs; {
74 dns-nix = dns-nix;
75 nixpkgsRaw = nixpkgs.legacyPackages.x86_64-linux;
76 mypackages-lib = public-mypackages.lib.x86_64-linux;
77 etherpad-lite = public-etherpad-lite.defaultPackage.x86_64-linux;
78 taskwarrior-web = public-taskwarrior-web.defaultPackage.x86_64-linux;
79 copanier = public-copanier.defaultPackage.x86_64-linux;
80 grocy = public-grocy.defaultPackage.x86_64-linux;
81 surfer = public-surfer.defaultPackage.x86_64-linux;
82 mediagoblin = public-mediagoblin.defaultPackage.x86_64-linux;
83 buildbot = private-buildbot.packages.x86_64-linux.buildbot-full;
84 openldap = private-openldap;
85 monitoring = private-monitoring;
86 peertube = private-peertube.packages.x86_64-linux;
87 php = private-php;
88 };
89 };
90 }