diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b8f2f235..26ed2a7e 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 2026-10-11 + +- **Configured `arrow` host for AWS EC2 deployment**: + - Imported `${modulesPath}/virtualisation/amazon-image.nix` in `hosts/x86_64-linux/arrow/default.nix` for native EC2 configuration (EBS root filesystem with auto-resize, partition auto-growth, serial console on `ttyS0`, and EC2 udev utilities). + - Explicitly disabled `boot.loader.systemd-boot` and enabled BIOS `boot.loader.grub` to override `systemd-boot` default set by the server profile on non-UEFI EC2 partition layouts. + - Enabled `nmasur.presets.services.openssh-aws.enable` to resolve SSH `PermitRootLogin` conflicting definitions between the base SSH preset and `amazon-image.nix`. + - Added `ssm-user` to the `wheel` group for elevation when connecting via AWS Systems Manager Session Manager. + - Removed obsolete dummy `fileSystems."/boot"` and `fileSystems."/"` declarations. + ## 2026-09-29 - **Separated Restic backup repositories per host**: diff --git a/hosts/x86_64-linux/arrow/default.nix b/hosts/x86_64-linux/arrow/default.nix index dea16dd5..44eeccef 100644 --- a/hosts/x86_64-linux/arrow/default.nix +++ b/hosts/x86_64-linux/arrow/default.nix @@ -2,9 +2,23 @@ # System configuration for temporary VM rec { + imports = [ + ({ modulesPath, ... }: { + imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ]; + }) + ]; + # Hardware networking.hostName = "arrow"; - aws.enable = true; + + # Ensure BIOS GRUB is used instead of server profile's systemd-boot + boot.loader.systemd-boot.enable = false; + boot.loader.grub.enable = true; + + # Resolves PermitRootLogin conflict with amazon-image.nix + nmasur.presets.services.openssh-aws.enable = true; + + users.users.ssm-user.extraGroups = [ "wheel" ]; nmasur.settings = { username = "noah"; @@ -26,6 +40,7 @@ rec { common.enable = true; linux-base.enable = true; llm-development.enable = true; + work-base.enable = true; }; nmasur.presets.programs.git-work.work = { name = "Noah-Masur_1701"; @@ -36,18 +51,4 @@ rec { system.stateVersion = "26.05"; - # These filesystems are ignored by nixos-generators - - # This is the root filesystem containing NixOS - fileSystems."/" = { - device = "/dev/disk/by-label/nixos"; - fsType = "ext4"; - }; - - # This is the boot filesystem for Grub - fileSystems."/boot" = { - device = "/dev/disk/by-label/boot"; - fsType = "vfat"; - }; - }