108 lines
2.8 KiB
Nix
108 lines
2.8 KiB
Nix
{
|
|
description = "rpqt's Nix configs";
|
|
|
|
outputs =
|
|
inputs@{
|
|
nixpkgs,
|
|
clan-core,
|
|
flake-parts,
|
|
home-manager,
|
|
impermanence,
|
|
nixos-generators,
|
|
nixos-hardware,
|
|
self,
|
|
...
|
|
}:
|
|
flake-parts.lib.mkFlake { inherit inputs; } ({
|
|
imports = [
|
|
inputs.clan-core.flakeModules.default
|
|
inputs.nix-topology.flakeModule
|
|
|
|
./devShells/flake-module.nix
|
|
./machines/flake-module.nix
|
|
];
|
|
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
|
|
perSystem = _: {
|
|
topology.modules = [
|
|
./topology.nix
|
|
];
|
|
};
|
|
|
|
flake = {
|
|
packages.aarch64-linux.genepi-installer-sd-image = nixos-generators.nixosGenerate {
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
system = "aarch64-linux";
|
|
format = "sd-aarch64-installer";
|
|
modules = [
|
|
nixos-hardware.nixosModules.raspberry-pi-4
|
|
./system/core
|
|
./machines/genepi/network.nix
|
|
./machines/genepi/hardware-configuration.nix
|
|
{ networking.hostName = "genepi"; }
|
|
{ sdImage.compressImage = false; }
|
|
{
|
|
nixpkgs.overlays = [
|
|
(final: super: {
|
|
makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; });
|
|
})
|
|
];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
});
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
|
|
disko.url = "github:nix-community/disko";
|
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
home-manager.url = "github:nix-community/home-manager";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
|
|
|
nixos-generators.url = "github:nix-community/nixos-generators";
|
|
|
|
agenix.url = "github:ryantm/agenix";
|
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
clan-core.url = "git+https://git.clan.lol/clan/clan-core";
|
|
clan-core.inputs.nixpkgs.follows = "nixpkgs";
|
|
clan-core.inputs.flake-parts.follows = "flake-parts";
|
|
|
|
ignis.url = "github:ignis-sh/ignis";
|
|
ignis.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
nix-topology.url = "github:oddlama/nix-topology";
|
|
nix-topology.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
matugen.url = "github:InioX/Matugen";
|
|
matugen.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
nixConfig = {
|
|
extra-substituters = [
|
|
"https://cache.nixos.org"
|
|
"https://nix-community.cachix.org"
|
|
];
|
|
extra-trusted-public-keys = [
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
];
|
|
};
|
|
}
|