blob: da9ce5a3ca86aa5e7cb170c601b0023f7f4a8798 [file] [log] [blame]
# SPDX-FileCopyrightText: 2024 Auxolotl Infrastructure Contributors
# SPDX-FileCopyrightText: 2024 Clicks Codes
#
# SPDX-License-Identifier: GPL-3.0-only
{
description = "Clicks 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 = {
teal.hostname = "teal.alpha.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; };
};
}