nixos/flake.nix
2024-06-06 23:52:24 +02:00

47 lines
1.1 KiB
Nix

{
description = "Main Flake: LuminiferousLilith";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/release-24.05";
flake-utils.url = "github:numtide/flake-utils";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
};
impermanence.url = "github:nix-community/impermanence";
helix.url = "github:pascalkuthe/helix/inline-diagnostics";
};
outputs = {
self,
nixpkgs,
...
} @ inputs: let
hosts = builtins.attrNames (builtins.readDir ./hosts);
mkHostConfig = host:
import ./hosts/${host} {
inherit inputs;
hostname = host;
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages."x86_64-linux";
};
in {
nixosConfigurations = builtins.listToAttrs (
map (host: {
name = host;
value = mkHostConfig host;
})
hosts
);
};
}