dot.nix/hosts/common/optional/system/lxc.nix

52 lines
1.1 KiB
Nix

{
modulesPath,
lib,
config,
...
}:
{
imports = [
# Include the default lxc/lxd configuration.
"${modulesPath}/virtualisation/lxc-container.nix"
];
# Treats the system as a container.
boot = {
isContainer = true;
};
console.enable = true;
nix.settings = {
sandbox = false;
};
systemd = {
mounts = [
{
enable = false;
where = "/sys/kernel/debug";
}
];
# By default only starts getty on tty0 but first on LXC is tty1
services."autovt@".unitConfig.ConditionPathExists = [
""
"/dev/%I"
];
# These are disabled by `console.enable` but console via tty is the default in Proxmox
services."getty@tty1".enable = lib.mkForce true;
services."autovt@".enable = lib.mkForce true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
# Supress systemd units that don't work because of LXC.
# https://blog.xirion.net/posts/nixos-proxmox-lxc/#configurationnix-tweak
systemd.suppressedSystemUnits = [
"dev-mqueue.mount"
"sys-kernel-debug.mount"
"sys-fs-fuse-connections.mount"
];
}