about summary refs log tree commit diff
path: root/flake.nix
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2023-03-29 20:54:19 +0900
committersefidel <contact@sefidel.net>2023-04-03 18:32:29 +0900
commitce06f43476863da90dc60dcee606d2b6c5a89a8e (patch)
tree5d14946330cb09ff0ebd97bee59407fccee4d860 /flake.nix
downloadinfra-ce06f43476863da90dc60dcee606d2b6c5a89a8e.tar.gz
infra-ce06f43476863da90dc60dcee606d2b6c5a89a8e.zip
project: initial commit
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..40bd39d
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,44 @@
+{
+  description = "exotic.sh system flake";
+
+  inputs = {
+    unstable.url = "github:nixos/nixpkgs/nixos-unstable";
+    unstable-small.url = "github:nixos/nixpkgs/nixos-unstable-small";
+    nixpkgs-2111.url = "github:nixos/nixpkgs/nixos-21.11";
+
+    impermanence.url = "github:nix-community/impermanence";
+
+    sops-nix.url = "github:Mic92/sops-nix";
+    sops-nix.inputs.nixpkgs.follows = "unstable";
+
+    nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
+    nixos-mailserver.inputs.nixpkgs.follows = "unstable";
+
+    sefidel-web.url = "git+https://git.exotic.sh/pub/sefidel/sefidel-web";
+  };
+
+  outputs = { self, unstable, ... } @ inputs:
+    let
+      inherit (lib.my) mapModulesRec mapSystems;
+
+      system = "x86_64-linux";
+
+      pkgs = import unstable { inherit system; };
+
+      lib = unstable.lib.extend
+        (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; });
+    in
+    {
+      lib = lib.my;
+
+      nixosModules = mapModulesRec ./modules import;
+
+      colmena = {
+        meta = {
+          nixpkgs = import unstable { inherit system; overlays = [ (import ./overlays) ]; };
+          specialArgs = { inherit lib inputs system; };
+        };
+      }
+      // mapSystems ./systems { };
+    };
+}