Self-host your own digital island
1{
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
4 nixos-mailserver.url = "gitlab:RyanGibb/nixos-mailserver/fork-24.05";
5 eon.url = "github:RyanGibb/eon";
6
7 eon.inputs.nixpkgs.follows = "nixpkgs";
8 nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
9 };
10
11 outputs = { nixpkgs, nixos-mailserver, eon, ... }: {
12 packages = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (system:
13 let pkgs = nixpkgs.legacyPackages.${system};
14 in {
15 manpage = import ./man { inherit pkgs system nixos-mailserver; };
16 packages.mautrix-meta = (pkgs.callPackage ./pkgs/mautrix-meta.nix { });
17 });
18
19 nixosModules.default = {
20 imports = [
21 ./modules/default.nix
22 nixos-mailserver.nixosModule
23 eon.nixosModules.default
24 eon.nixosModules.acme
25 {
26 nixpkgs.overlays = [
27 (final: prev: {
28 mautrix-meta = (prev.callPackage ./pkgs/mautrix-meta.nix { });
29 })
30 ];
31 }
32 ];
33 };
34 defaultTemplate.path = ./template;
35
36 formatter = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed
37 (system: nixpkgs.legacyPackages.${system}.nixfmt);
38 };
39}