From e72b2b9d08ac8b6575a2f6c3504b94dcf3a84b96 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 8 Sep 2025 08:19:43 -0700 Subject: Revert "move droplet specific settings to its own module" This reverts commit 3b47113c28c5180d4d5d710e3c1fe74f95aa7226. --- .../nixos/x86_64-linux/do-rproxy/digitalocean.nix | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 machines/nixos/x86_64-linux/do-rproxy/digitalocean.nix (limited to 'machines/nixos/x86_64-linux/do-rproxy/digitalocean.nix') diff --git a/machines/nixos/x86_64-linux/do-rproxy/digitalocean.nix b/machines/nixos/x86_64-linux/do-rproxy/digitalocean.nix new file mode 100644 index 0000000..574fe99 --- /dev/null +++ b/machines/nixos/x86_64-linux/do-rproxy/digitalocean.nix @@ -0,0 +1,55 @@ +{ ... }: +{ + # this one seems to always be broken + systemd.services.growpart.enable = false; + + # in order to get networking setup we need to enable it in cloud-init + # Disables all modules that do not work with NixOS + # Based on https://github.com/nix-community/nixos-anywhere-examples/blob/7f945ff0ae676c0eb77360b892add91328dd1f17/digitalocean.nix + services.cloud-init = { + enable = true; + network.enable = true; + settings = { + datasource_list = [ + "ConfigDrive" + "Digitalocean" + ]; + datasource.ConfigDrive = { }; + datasource.Digitalocean = { }; + # Based on https://github.com/canonical/cloud-init/blob/main/config/cloud.cfg.tmpl + cloud_init_modules = [ + "seed_random" + "bootcmd" + "write_files" + "growpart" + "resizefs" + "set_hostname" + "update_hostname" + "set_password" + ]; + cloud_config_modules = [ + "ssh-import-id" + "keyboard" + "runcmd" + "disable_ec2_metadata" + ]; + cloud_final_modules = [ + "write_files_deferred" + "puppet" + "chef" + "ansible" + "mcollective" + "salt_minion" + "reset_rmc" + "scripts_per_once" + "scripts_per_boot" + "scripts_user" + "ssh_authkey_fingerprints" + "keys_to_console" + "install_hotplug" + "phone_home" + "final_message" + ]; + }; + }; +} -- cgit v1.2.3