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