2025-02-03 13:00:31 -06:00
|
|
|
{
|
|
|
|
|
inputs = {
|
2025-06-04 01:13:22 -05:00
|
|
|
common.url = "path:../..";
|
2025-02-03 13:00:31 -06:00
|
|
|
|
2025-12-17 17:29:11 -06:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
2025-02-03 13:00:31 -06:00
|
|
|
|
|
|
|
|
sops-nix = {
|
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
|
};
|
2025-02-03 17:19:22 -06:00
|
|
|
|
|
|
|
|
impermanence = {
|
|
|
|
|
url = "github:nix-community/impermanence";
|
|
|
|
|
};
|
2025-02-03 13:00:31 -06:00
|
|
|
};
|
|
|
|
|
outputs = inputs @ {common, ...}: let
|
|
|
|
|
supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
|
|
|
|
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
|
|
|
|
|
buildNixpkgs = system:
|
|
|
|
|
import inputs.nixpkgs {
|
|
|
|
|
inherit system;
|
|
|
|
|
overlays = [];
|
|
|
|
|
};
|
|
|
|
|
in {
|
|
|
|
|
nixosConfigurations.default = let
|
|
|
|
|
config = common.lib.utils.findNixFiles ./config;
|
2025-02-03 17:19:22 -06:00
|
|
|
modules = [
|
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
|
inputs.common.nixosModules.default
|
|
|
|
|
inputs.impermanence.nixosModules.impermanence
|
|
|
|
|
];
|
2025-02-03 13:00:31 -06:00
|
|
|
in
|
|
|
|
|
common.lib.mkSystem "lebesgue" "x86_64-linux" (config ++ modules);
|
|
|
|
|
|
|
|
|
|
devShells = forAllSystems (system: let
|
|
|
|
|
pkgs = buildNixpkgs system;
|
|
|
|
|
in {
|
|
|
|
|
default = pkgs.mkShell {
|
2025-06-03 20:44:40 -05:00
|
|
|
buildInputs = with pkgs; [sops nixos-rebuild];
|
2025-02-03 13:00:31 -06:00
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|