46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
# This is the configuration required to run NixOS on GandiCloud.
|
|
{ lib, modulesPath, ... }:
|
|
{
|
|
imports = [
|
|
(modulesPath + "/virtualisation/openstack-config.nix")
|
|
];
|
|
config = {
|
|
boot.initrd.kernelModules = [
|
|
"xen-blkfront" "xen-tpmfront" "xen-kbdfront" "xen-fbfront"
|
|
"xen-netfront" "xen-pcifront" "xen-scsifront"
|
|
];
|
|
|
|
# Show debug kernel message on boot then reduce loglevel once booted
|
|
boot.consoleLogLevel = 7;
|
|
boot.kernel.sysctl."kernel.printk" = "4 4 1 7";
|
|
|
|
# For "openstack console log show"
|
|
boot.kernelParams = [ "console=ttyS0" ];
|
|
systemd.services."serial-getty@ttyS0" = {
|
|
enable = true;
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
# The device exposed by Xen
|
|
boot.loader.grub.device = lib.mkForce "/dev/xvda";
|
|
|
|
# This is to get a prompt via the "openstack console url show" command
|
|
systemd.services."getty@tty1" = {
|
|
enable = lib.mkForce true;
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
# This is required to get an IPv6 address on our infrastructure
|
|
networking.tempAddresses = "disabled";
|
|
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
|
|
system.stateVersion = "23.11";
|
|
};
|
|
}
|
|
|