feat: format via 'ls **/*.nix | each { |it| nixfmt $it.name }'

This commit is contained in:
Ryan Yin
2025-07-30 12:17:24 +08:00
parent d10b30b06b
commit 13bb77108c
219 changed files with 2103 additions and 1728 deletions
+23 -14
View File
@@ -2,7 +2,8 @@
lib,
inputs,
...
} @ args: let
}@args:
let
inherit (inputs) haumea;
# Contains all the flake outputs of this system architecture.
@@ -15,23 +16,31 @@
# Merge all the machine's data into a single attribute set.
outputs = {
nixosConfigurations = lib.attrsets.mergeAttrsList (map (it: it.nixosConfigurations or {}) dataWithoutPaths);
packages = lib.attrsets.mergeAttrsList (map (it: it.packages or {}) dataWithoutPaths);
nixosConfigurations = lib.attrsets.mergeAttrsList (
map (it: it.nixosConfigurations or { }) dataWithoutPaths
);
packages = lib.attrsets.mergeAttrsList (map (it: it.packages or { }) dataWithoutPaths);
# colmena contains some meta info, which need to be merged carefully.
colmenaMeta = {
nodeNixpkgs = lib.attrsets.mergeAttrsList (map (it: it.colmenaMeta.nodeNixpkgs or {}) dataWithoutPaths);
nodeSpecialArgs = lib.attrsets.mergeAttrsList (map (it: it.colmenaMeta.nodeSpecialArgs or {}) dataWithoutPaths);
nodeNixpkgs = lib.attrsets.mergeAttrsList (
map (it: it.colmenaMeta.nodeNixpkgs or { }) dataWithoutPaths
);
nodeSpecialArgs = lib.attrsets.mergeAttrsList (
map (it: it.colmenaMeta.nodeSpecialArgs or { }) dataWithoutPaths
);
};
colmena = lib.attrsets.mergeAttrsList (map (it: it.colmena or {}) dataWithoutPaths);
colmena = lib.attrsets.mergeAttrsList (map (it: it.colmena or { }) dataWithoutPaths);
};
in
outputs
// {
inherit data; # for debugging purposes
outputs
// {
inherit data; # for debugging purposes
# NixOS's unit tests.
evalTests = haumea.lib.loadEvalTests {
src = ./tests;
inputs = args // {inherit outputs;};
# NixOS's unit tests.
evalTests = haumea.lib.loadEvalTests {
src = ./tests;
inputs = args // {
inherit outputs;
};
}
};
}
+20 -19
View File
@@ -5,33 +5,34 @@
genSpecialArgs,
nixos-modules,
# TODO: test home-manager too.
home-modules ? [],
home-modules ? [ ],
myvars,
...
}: let
}:
let
pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
pkgs.testers.runNixOSTest {
name = "NixOS Tests for Idols Ruby";
pkgs.testers.runNixOSTest {
name = "NixOS Tests for Idols Ruby";
node = {
inherit pkgs;
specialArgs = genSpecialArgs system;
pkgsReadOnly = false;
};
node = {
inherit pkgs;
specialArgs = genSpecialArgs system;
pkgsReadOnly = false;
};
nodes = {
ruby.imports = nixos-modules;
};
nodes = {
ruby.imports = nixos-modules;
};
# Note that machine1 and machine2 are now available as
# Python objects and also as hostnames in the virtual network
testScript = ''
ruby.wait_for_unit("network-online.target")
# Note that machine1 and machine2 are now available as
# Python objects and also as hostnames in the virtual network
testScript = ''
ruby.wait_for_unit("network-online.target")
ruby.succeed("curl https://baidu.com")
'';
}
ruby.succeed("curl https://baidu.com")
'';
}
+17 -17
View File
@@ -9,7 +9,8 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
# 星野 アイ, Hoshino Ai
name = "ai";
base-modules = {
@@ -33,23 +34,22 @@
};
modules-hyprland = {
nixos-modules =
[
{
modules.desktop.fonts.enable = true;
modules.desktop.wayland.enable = true;
modules.secrets.desktop.enable = true;
modules.secrets.preservation.enable = true;
}
]
++ base-modules.nixos-modules;
home-modules =
[
{modules.desktop.hyprland.enable = true;}
]
++ base-modules.home-modules;
nixos-modules = [
{
modules.desktop.fonts.enable = true;
modules.desktop.wayland.enable = true;
modules.secrets.desktop.enable = true;
modules.secrets.preservation.enable = true;
}
]
++ base-modules.nixos-modules;
home-modules = [
{ modules.desktop.hyprland.enable = true; }
]
++ base-modules.home-modules;
};
in {
in
{
nixosConfigurations = {
# host with hyprland compositor
"${name}-hyprland" = mylib.nixosSystem (modules-hyprland // args);
+13 -9
View File
@@ -9,10 +9,14 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
# 星野 愛久愛海, Hoshino Akuamarin
name = "aquamarine";
tags = ["aqua" "homelab-network"];
tags = [
"aqua"
"homelab-network"
];
ssh-user = "root";
modules = {
@@ -26,10 +30,10 @@
"hosts/idols-${name}"
])
++ [
{modules.secrets.server.application.enable = true;}
{modules.secrets.server.operation.enable = true;}
{modules.secrets.server.webserver.enable = true;}
{modules.secrets.server.storage.enable = true;}
{ modules.secrets.server.application.enable = true; }
{ modules.secrets.server.operation.enable = true; }
{ modules.secrets.server.webserver.enable = true; }
{ modules.secrets.server.storage.enable = true; }
];
home-modules = map mylib.relativeToRoot [
"home/linux/tui.nix"
@@ -37,11 +41,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
+9 -5
View File
@@ -9,10 +9,14 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
# 有馬 かな, Arima Kana
name = "kana";
tags = [name "homelab-app"];
tags = [
name
"homelab-app"
];
ssh-user = "root";
modules = {
@@ -30,11 +34,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
+9 -5
View File
@@ -9,10 +9,14 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
# 星野 瑠美衣, Hoshino Rubii
name = "ruby";
tags = [name "homelab-operation"];
tags = [
name
"homelab-operation"
];
ssh-user = "root";
modules = {
@@ -33,11 +37,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-master-1";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,7 +26,7 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
home-modules = map mylib.relativeToRoot [
"home/linux/core.nix"
@@ -33,11 +34,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-master-2";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-master-3";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-worker-1";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-worker-2";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-prod-1-worker-3";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-test-1-master-1";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,7 +26,7 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
home-modules = map mylib.relativeToRoot [
"home/linux/core.nix"
@@ -33,11 +34,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-test-1-master-2";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
@@ -9,9 +9,10 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "k3s-test-1-master-3";
tags = [name];
tags = [ name ];
ssh-user = "root";
modules = {
@@ -25,16 +26,16 @@
"hosts/k8s/${name}"
])
++ [
{modules.secrets.server.kubernetes.enable = true;}
{ modules.secrets.server.kubernetes.enable = true; }
];
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.kubevirt;
}
+9 -5
View File
@@ -9,9 +9,13 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "kubevirt-shoryu";
tags = [name "virt-shoryu"];
tags = [
name
"virt-shoryu"
];
ssh-user = "root";
modules = {
@@ -35,11 +39,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.iso;
}
@@ -9,9 +9,13 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "kubevirt-shushou";
tags = [name "virt-shushou"];
tags = [
name
"virt-shushou"
];
ssh-user = "root";
modules = {
@@ -32,11 +36,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.iso;
}
+9 -5
View File
@@ -9,9 +9,13 @@
system,
genSpecialArgs,
...
} @ args: let
}@args:
let
name = "kubevirt-youko";
tags = [name "virt-youko"];
tags = [
name
"virt-youko"
];
ssh-user = "root";
modules = {
@@ -32,11 +36,11 @@
};
systemArgs = modules // args;
in {
in
{
nixosConfigurations.${name} = mylib.nixosSystem systemArgs;
colmena.${name} =
mylib.colmenaSystem (systemArgs // {inherit tags ssh-user;});
colmena.${name} = mylib.colmenaSystem (systemArgs // { inherit tags ssh-user; });
packages.${name} = inputs.self.nixosConfigurations.${name}.config.formats.iso;
}
@@ -1,7 +1,8 @@
{
myvars,
lib,
}: let
}:
let
username = myvars.username;
hosts = [
"ai-hyprland"
@@ -9,4 +10,4 @@
"k3s-prod-1-master-1"
];
in
lib.genAttrs hosts (_: "/home/${username}")
lib.genAttrs hosts (_: "/home/${username}")
@@ -2,7 +2,8 @@
myvars,
lib,
outputs,
}: let
}:
let
username = myvars.username;
hosts = [
"ai-hyprland"
@@ -10,8 +11,6 @@
"k3s-prod-1-master-1"
];
in
lib.genAttrs
hosts
(
name: outputs.nixosConfigurations.${name}.config.home-manager.users.${username}.home.homeDirectory
)
lib.genAttrs hosts (
name: outputs.nixosConfigurations.${name}.config.home-manager.users.${username}.home.homeDirectory
)
@@ -1,7 +1,8 @@
{
lib,
outputs,
}: let
}:
let
specialExpected = {
"ai-hyprland" = "ai";
};
@@ -11,4 +12,5 @@
otherHostsNames = builtins.attrNames otherHosts;
# other hosts's hostName is the same as the nixosConfigurations name
otherExpected = lib.genAttrs otherHostsNames (name: name);
in (specialExpected // otherExpected)
in
(specialExpected // otherExpected)
+1 -3
View File
@@ -2,8 +2,6 @@
lib,
outputs,
}:
lib.genAttrs
(builtins.attrNames outputs.nixosConfigurations)
(
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: outputs.nixosConfigurations.${name}.config.networking.hostName
)
@@ -1,8 +1,9 @@
{
lib,
outputs,
}: let
}:
let
hostsNames = builtins.attrNames outputs.nixosConfigurations;
expected = lib.genAttrs hostsNames (_: "x86_64-linux");
in
expected
expected
+1 -3
View File
@@ -2,8 +2,6 @@
lib,
outputs,
}:
lib.genAttrs
(builtins.attrNames outputs.nixosConfigurations)
(
lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) (
name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages.kernel.system
)