infra/flake.nix
2025-05-12 23:07:29 +02:00

61 lines
1.8 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
snowfall-lib.url = "github:snowfallorg/lib";
snowfall-lib.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";
nixos-generators.url = "github:nix-community/nixos-generators";
nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs: inputs.snowfall-lib.mkFlake {
inherit inputs;
src = ./.;
# Configure Nix
nix.gc = {
automatic = true;
options = "--delete-older-than 30d";
};
nix.optimise.automatic = true;
channels-config.allowUnfree = false;
# Configure Snowfall Lib
snowfall = {
meta.name = "Serverraum mit Matratze Infra Configuration";
meta.title = "Serverraum mit Matratze Infra Configuration";
namespace = "internal";
};
# Modules for Host mow0m
systems.hosts.mow0m.modules = with inputs; [
lix-module.nixosModules.default
];
# Modules for Host senfnvp
systems.hosts.senfnvp.modules = with inputs; [
lix-module.nixosModules.default
];
# Modules for Host pkpnafs
systems.hosts.pkpnafs.modules = with inputs; [
lix-module.nixosModules.default
];
# Modules that get imported to every NixOS system
systems.modules.nixos = with inputs; [
sops-nix.nixosModules.sops
];
outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; };
};
}