| # SPDX-FileCopyrightText: 2024 Auxolotl Infrastructure Contributors |
| # SPDX-FileCopyrightText: 2024 Clicks Codes |
| # |
| # SPDX-License-Identifier: GPL-3.0-only |
| |
| { |
| description = "Auxolotl infrastructure."; |
| |
| inputs = { |
| nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; |
| unstable.url = "github:nixos/nixpkgs/nixos-unstable"; |
| |
| snowfall-lib = { |
| url = "github:snowfallorg/lib/dev"; |
| inputs.nixpkgs.follows = "nixpkgs"; |
| }; |
| |
| deploy-rs = { |
| url = "github:serokell/deploy-rs"; |
| inputs.nixpkgs.follows = "nixpkgs"; |
| }; |
| |
| sops-nix = { |
| url = "github:Mic92/sops-nix"; |
| inputs = { |
| nixpkgs.follows = "unstable"; |
| nixpkgs-stable.follows = "nixpkgs"; |
| }; |
| }; |
| |
| impermanence.url = "github:nix-community/impermanence"; |
| }; |
| |
| outputs = |
| inputs: |
| let |
| lib = inputs.snowfall-lib.mkLib { |
| inherit inputs; |
| |
| src = ./.; |
| |
| snowfall = { |
| namespace = "clicks"; |
| }; |
| }; |
| in |
| lib.mkFlake { |
| overlays = with inputs; [ ]; |
| |
| systems.modules.nixos = [ |
| inputs.impermanence.nixosModules.impermanence |
| inputs.sops-nix.nixosModules.sops |
| ]; |
| |
| deploy = lib.deploy.mkDeploy { |
| inherit (inputs) self; |
| overrides = { |
| a1d1.hostname = "d1.a1.clicks.domains"; |
| }; |
| }; |
| |
| checks = builtins.mapAttrs ( |
| system: deploy-lib: deploy-lib.deployChecks inputs.self.deploy |
| ) inputs.deploy-rs.lib; |
| |
| outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; }; |
| }; |
| } |