servers/machines/lebesgue/flake.nix

60 lines
1.3 KiB
Nix
Raw Normal View History

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
};
2026-02-24 00:00:35 -08:00
outputs =
inputs@{ common, ... }:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
2025-02-03 17:19:22 -06:00
];
2026-02-24 00:00:35 -08:00
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
buildNixpkgs =
system:
import inputs.nixpkgs {
inherit system;
overlays = [ ];
};
2025-02-03 13:00:31 -06:00
in
2026-02-24 00:00:35 -08:00
{
nixosConfigurations.default =
let
config = common.lib.utils.findNixFiles ./config;
modules = [
inputs.sops-nix.nixosModules.sops
inputs.common.nixosModules.default
inputs.impermanence.nixosModules.impermanence
];
in
common.lib.mkSystem "lebesgue" "x86_64-linux" (config ++ modules);
2025-02-03 13:00:31 -06:00
2026-02-24 00:00:35 -08:00
devShells = forAllSystems (
system:
let
pkgs = buildNixpkgs system;
in
{
default = pkgs.mkShell {
buildInputs = with pkgs; [
sops
nixos-rebuild
];
};
}
);
};
2025-02-03 13:00:31 -06:00
}