feat: add riscv64 cluster - rolling girls

This commit is contained in:
Ryan Yin
2023-08-16 01:22:15 +08:00
parent f682523804
commit f5c1148c94
11 changed files with 471 additions and 14 deletions

View File

@@ -20,6 +20,7 @@
nix-darwin,
home-manager,
nixos-generators,
nixos-licheepi4a,
...
}: let
username = "ryan";
@@ -28,6 +29,7 @@
x64_system = "x86_64-linux";
x64_darwin = "x86_64-darwin";
riscv64_system = "riscv64-linux";
allSystems = [x64_system x64_darwin];
nixosSystem = import ./lib/nixosSystem.nix;
@@ -77,6 +79,24 @@
};
idol_kana_tags = ["dist-build"];
# 森友 望未, Moritomo Nozomi
rolling_nozomi_modules = {
nixos-modules = [
./hosts/rolling_girls/nozomi
];
# home-module = import ./home/linux/server-riscv64.nix;
};
rolling_nozomi_tags = ["riscv"];
# 小坂 結季奈, Kosaka Yukina
rolling_yukina_modules = {
nixos-modules = [
./hosts/rolling_girls/yukina
];
# home-module = import ./home/linux/server-riscv64.nix;
};
rolling_yukina_tags = ["riscv"];
x64_specialArgs =
{
inherit username userfullname useremail;
@@ -110,20 +130,47 @@
# colmena - remote deployment via SSH
colmena = let
base_args = {
x64_base_args = {
inherit home-manager;
nixpkgs = nixpkgs; # or nixpkgs-unstable
specialArgs = x64_specialArgs;
};
# using the same nixpkgs as nixos-licheepi4a to utilize the cross-compilation cache.
lpi4a_pkgs = import nixos-licheepi4a.inputs.nixpkgs { system = x64_system; };
lpi4a_specialArgs = {
inherit username userfullname useremail;
pkgsKernel = nixos-licheepi4a.packages.${x64_system}.pkgsKernelCross;
} // inputs;
lpi4a_base_args = {
inherit home-manager;
nixpkgs = nixos-licheepi4a.inputs.nixpkgs; # or nixpkgs-unstable
specialArgs = lpi4a_specialArgs;
targetUser = "root";
};
in {
meta = {
nixpkgs = import nixpkgs { system = x64_system; };
specialArgs = x64_specialArgs;
nodeSpecialArgs = {
nozomi = lpi4a_specialArgs;
# yukina = lpi4a_specialArgs;
};
nodeNixpkgs = {
nozomi = lpi4a_pkgs;
# yukina = lpi4a_pkgs;
};
};
aquamarine = colemnaSystem (idol_aquamarine_modules // base_args // { host_tags = idol_aquamarine_tags; });
ruby = colemnaSystem (idol_ruby_modules // base_args // { host_tags = idol_ruby_tags; });
kana = colemnaSystem (idol_kana_modules // base_args // { host_tags = idol_kana_tags; });
# proxmox virtual machines(x86_64)
aquamarine = colemnaSystem (idol_aquamarine_modules // x64_base_args // { host_tags = idol_aquamarine_tags; });
ruby = colemnaSystem (idol_ruby_modules // x64_base_args // { host_tags = idol_ruby_tags; });
kana = colemnaSystem (idol_kana_modules // x64_base_args // { host_tags = idol_kana_tags; });
# riscv64 SBCs
nozomi = colemnaSystem (rolling_nozomi_modules // lpi4a_base_args // { host_tags = rolling_nozomi_tags; });
# yukina = colemnaSystem (rolling_yukina_modules // lpi4a_base_args // { host_tags = rolling_yukina_tags; });
};
# take system images for idols
@@ -253,6 +300,8 @@
flake = false;
};
nixos-licheepi4a.url = "github:ryan4yin/nixos-licheepi4a";
# color scheme - catppuccin
catppuccin-btop = {
url = "github:catppuccin/btop";