Self-host your own digital island
1{
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
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 eon.nixosModules.acme
20 ({ pkgs, config, ... }: {
21 nixpkgs.overlays = [
22 (final: prev: {
23 mautrix-meta = (prev.callPackage ./pkgs/mautrix-meta.nix { });
24 })
25 ];
26 })
27 ];
28 };
29 defaultTemplate.path = ./template;
30
31 formatter = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed
32 (system: nixpkgs.legacyPackages.${system}.nixfmt);
33 };
34}