41 lines
969 B
Nix
41 lines
969 B
Nix
# experiment with k3s, nix-snapshotter, and nixos images
|
|
{
|
|
nodeFlake,
|
|
nodeFlakeInputs',
|
|
pkgs,
|
|
lib,
|
|
system,
|
|
...
|
|
}: {
|
|
# (1) Import nixos module.
|
|
imports = [
|
|
nodeFlake.inputs.nix-snapshotter.nixosModules.default
|
|
];
|
|
|
|
# (2) Add overlay.
|
|
nixpkgs.overlays = [nodeFlake.inputs.nix-snapshotter.overlays.default];
|
|
|
|
# (3) Enable service.
|
|
virtualisation.containerd = {
|
|
enable = true;
|
|
k3sIntegration = false;
|
|
nixSnapshotterIntegration = true;
|
|
|
|
# TODO: understand if this has an influence on the systemd LoadCredential issue
|
|
settings.plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options.SystemdCgroup = lib.mkForce true;
|
|
};
|
|
services.nix-snapshotter = {
|
|
enable = true;
|
|
};
|
|
|
|
# (4) Add a containerd CLI like nerdctl.
|
|
environment.systemPackages = [
|
|
pkgs.nerdctl
|
|
nodeFlake.inputs.nix-snapshotter.packages.${system}.default
|
|
];
|
|
|
|
services.k3s = {
|
|
enable = false;
|
|
setKubeConfig = true;
|
|
};
|
|
}
|