53 lines
1.3 KiB
Nix
53 lines
1.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
agenix.url = "github:ryantm/agenix";
|
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, agenix, ... }:
|
|
let
|
|
mkConf = name: nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = { inherit nixpkgs agenix; theFlake = self; };
|
|
modules = [ "${self.outPath}/m/${name}/configuration.nix" ];
|
|
};
|
|
# For now we only support x86
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [ self.overlays.default ];
|
|
config.allowUnfree = true;
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
hut = mkConf "hut";
|
|
tent = mkConf "tent";
|
|
owl1 = mkConf "owl1";
|
|
owl2 = mkConf "owl2";
|
|
eudy = mkConf "eudy";
|
|
koro = mkConf "koro";
|
|
bay = mkConf "bay";
|
|
lake2 = mkConf "lake2";
|
|
raccoon = mkConf "raccoon";
|
|
fox = mkConf "fox";
|
|
apex = mkConf "apex";
|
|
weasel = mkConf "weasel";
|
|
};
|
|
|
|
bscOverlay = import ./overlay.nix;
|
|
overlays.default = self.bscOverlay;
|
|
|
|
# full nixpkgs with our overlay applied
|
|
legacyPackages.${system} = pkgs;
|
|
|
|
hydraJobs = {
|
|
inherit (self.legacyPackages.${system}.bsc-ci) tests pkgs cross;
|
|
};
|
|
|
|
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
|
inherit (nixpkgs) lib;
|
|
};
|
|
}
|