flake: add lite-config

This commit is contained in:
zowoq 2024-08-17 21:49:16 +10:00
parent 3fe13fee63
commit 1b09fe00a7
9 changed files with 52 additions and 90 deletions

16
flake.lock generated
View file

@ -147,6 +147,21 @@
"type": "github"
}
},
"lite-config": {
"locked": {
"lastModified": 1723691425,
"narHash": "sha256-xOroQo/+CAtocvJQsGPE5ukr1Btp72xlcWPB4tBZp6M=",
"owner": "yelite",
"repo": "lite-config",
"rev": "34357ad12ad0a66b2de55a2457159bda36c71a06",
"type": "github"
},
"original": {
"owner": "yelite",
"repo": "lite-config",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
@ -269,6 +284,7 @@
"empty": "empty",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"lite-config": "lite-config",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs",
"nixpkgs-update": "nixpkgs-update",

106
flake.nix
View file

@ -24,6 +24,7 @@
flake-compat.url = "github:nix-community/flake-compat";
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
lite-config.url = "github:yelite/lite-config";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
nix-darwin.url = "github:LnL7/nix-darwin";
nixpkgs-update-github-releases.flake = false;
@ -50,7 +51,41 @@
flake-parts.lib.mkFlake { inherit inputs; } {
systems = import inputs.systems;
imports = [ inputs.treefmt-nix.flakeModule ];
imports = [
inputs.lite-config.flakeModule
inputs.treefmt-nix.flakeModule
];
lite-config =
{ lib, ... }:
{
nixpkgs = {
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "terraform" ];
};
hostModuleDir = ./hosts;
hosts = {
build01.system = "x86_64-linux";
build02.system = "x86_64-linux";
build03.system = "x86_64-linux";
build04.system = "aarch64-linux";
darwin01.system = "aarch64-darwin";
darwin02.system = "aarch64-darwin";
web02.system = "x86_64-linux";
};
systemModules = [
(
{ hostPlatform, ... }:
{
imports =
lib.optionals hostPlatform.isDarwin [ ./modules/darwin/common ]
++ lib.optionals hostPlatform.isLinux [ ./modules/nixos/common ];
}
)
];
};
perSystem =
{
@ -72,11 +107,6 @@
imports = [ ./dev/treefmt.nix ];
};
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "terraform" ];
};
checks =
let
darwinConfigurations = lib.mapAttrs' (
@ -103,69 +133,7 @@
};
};
flake.darwinConfigurations =
let
darwinSystem =
args:
inputs.nix-darwin.lib.darwinSystem (
{
specialArgs = {
inherit inputs;
};
}
// args
);
in
{
darwin01 = darwinSystem {
pkgs = inputs.nixpkgs.legacyPackages.aarch64-darwin;
modules = [ ./hosts/darwin01/configuration.nix ];
};
darwin02 = darwinSystem {
pkgs = inputs.nixpkgs.legacyPackages.aarch64-darwin;
modules = [ ./hosts/darwin02/configuration.nix ];
};
};
flake.nixosConfigurations =
let
nixosSystem =
args:
inputs.nixpkgs.lib.nixosSystem (
{
specialArgs = {
inherit inputs;
};
}
// args
);
in
{
build01 = nixosSystem {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [ ./hosts/build01/configuration.nix ];
};
build02 = nixosSystem {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [ ./hosts/build02/configuration.nix ];
};
build03 = nixosSystem {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [ ./hosts/build03/configuration.nix ];
};
build04 = nixosSystem {
pkgs = inputs.nixpkgs.legacyPackages.aarch64-linux;
modules = [ ./hosts/build04/configuration.nix ];
};
web02 = nixosSystem {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [ ./hosts/web02/configuration.nix ];
};
};
flake.darwinModules = {
common = ./modules/darwin/common;
builder = ./modules/darwin/builder.nix;
community-builder = ./modules/darwin/community-builder;
hercules-ci = ./modules/darwin/hercules-ci.nix;
@ -173,8 +141,6 @@
};
flake.nixosModules = {
common = ./modules/nixos/common;
buildbot = ./modules/nixos/buildbot.nix;
builder = ./modules/nixos/builder.nix;
community-builder = ./modules/nixos/community-builder;

View file

@ -2,7 +2,6 @@
{
imports = [
inputs.srvos.nixosModules.hardware-hetzner-online-amd
inputs.self.nixosModules.common
inputs.self.nixosModules.disko-zfs
inputs.self.nixosModules.builder
inputs.self.nixosModules.community-builder
@ -13,8 +12,6 @@
# Emulate riscv64 until we have proper builders
boot.binfmt.emulatedSystems = [ "riscv64-linux" ];
networking.hostName = "build01";
systemd.network.networks."10-uplink".networkConfig.Address = "2a01:4f9:3b:2946::1/64";
system.stateVersion = "23.11";

View file

@ -6,7 +6,6 @@
inputs.srvos.nixosModules.hardware-hetzner-online-amd
./nixpkgs-update.nix
./nixpkgs-update-backup.nix
inputs.self.nixosModules.common
inputs.self.nixosModules.builder
inputs.self.nixosModules.disko-zfs
];
@ -18,7 +17,6 @@
boot.kernelParams = [ "zfs.zfs_arc_max=${toString (24 * 1024 * 1024 * 1024)}" ]; # 24GB, try to limit OOM kills / reboots
networking.hostName = "build02";
networking.nameservers = [
"1.1.1.1"
"1.0.0.1"

View file

@ -3,7 +3,6 @@
imports = [
inputs.srvos.nixosModules.mixins-nginx
inputs.srvos.nixosModules.hardware-hetzner-online-amd
inputs.self.nixosModules.common
inputs.self.nixosModules.disko-zfs
inputs.self.nixosModules.buildbot
inputs.self.nixosModules.builder
@ -21,7 +20,5 @@
systemd.network.networks."10-uplink".networkConfig.Address = "2a01:4f8:2190:2698::2";
networking.hostName = "build03";
system.stateVersion = "23.11";
}

View file

@ -3,7 +3,6 @@
imports = [
inputs.srvos.nixosModules.hardware-hetzner-online-arm
inputs.self.nixosModules.disko-zfs
inputs.self.nixosModules.common
inputs.self.nixosModules.builder
inputs.self.nixosModules.hercules-ci
inputs.self.nixosModules.remote-builder
@ -18,8 +17,6 @@
nixCommunity.remote-builder.key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmdo1x1QkRepZf7nSe+OdEWX+wOjkBLF70vX9F+xf68 builder";
networking.hostName = "build04";
system.stateVersion = "23.11";
systemd.network.networks."10-uplink".networkConfig.Address = "2a01:4f9:3051:3962::2";

View file

@ -2,7 +2,6 @@
{
imports = [
inputs.self.darwinModules.common
inputs.self.darwinModules.builder
inputs.self.darwinModules.community-builder
];
@ -15,7 +14,5 @@
# disable nixos-tests
nix.settings.system-features = [ "big-parallel" ];
networking.hostName = "darwin01";
system.stateVersion = 4;
}

View file

@ -2,7 +2,6 @@
{
imports = [
inputs.self.darwinModules.common
inputs.self.darwinModules.builder
inputs.self.darwinModules.hercules-ci
inputs.self.darwinModules.remote-builder
@ -18,7 +17,5 @@
# disable nixos-tests
nix.settings.system-features = [ "big-parallel" ];
networking.hostName = "darwin02";
system.stateVersion = 4;
}

View file

@ -2,13 +2,10 @@
{
imports = [
./gandi.nix
inputs.self.nixosModules.common
inputs.self.nixosModules.monitoring
inputs.srvos.nixosModules.mixins-nginx
];
networking.hostName = "web02";
networking.useDHCP = true;
# enabled by default for stateVersion < 23.11