nixos-configs/flake.nix

65 lines
1.5 KiB
Nix
Raw Normal View History

2024-12-27 16:44:03 -06:00
{
description = "nixos configurations";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
flake-parts.url = "github:hercules-ci/flake-parts";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
impermanence.url = "github:nix-community/impermanence";
nixos-hardware.url = "github:nixos/nixos-hardware";
nixos-hardware.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
nixConfig = {
extra-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
outputs = inputs @ {self, ...}:
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
flake = let
hosts = import ./hosts {inherit inputs;};
in {
inherit (hosts) nixosConfigurations homeConfigurations;
};
systems = ["x86_64-linux"];
perSystem = {
system,
pkgs,
...
}: {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
sops
ssh-to-age
# not included: age, gpg, pcscd, scdaemon, etc.
disko
nil
alejandra
statix
deadnix
];
};
};
};
}