From fcf9efa0fddddf7a268ab32d08d69e9eefebc7f8 Mon Sep 17 00:00:00 2001 From: sefidel Date: Tue, 1 Nov 2022 19:42:08 +0900 Subject: feat(nixos/selenium): ec2 instance --- nixos/default.nix | 9 +++++++++ nixos/modules/default.nix | 1 + nixos/modules/ec2.nix | 9 +++++++++ nixos/selenium/configuration.nix | 18 ++++++++++++++++++ nixos/selenium/hardware-configuration.nix | 5 +++++ 5 files changed, 42 insertions(+) create mode 100644 nixos/modules/ec2.nix create mode 100644 nixos/selenium/configuration.nix create mode 100644 nixos/selenium/hardware-configuration.nix diff --git a/nixos/default.nix b/nixos/default.nix index 31d1a61..95eee0f 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -20,4 +20,13 @@ ./modules/security.nix ]; }; + + selenium = self.lib.mkSystem { + name = "selenium"; + nixpkgs = unstable-small; + extraModules = [ + ./modules/security.nix + ./modules/ec2.nix + ]; + }; } diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 4469650..c5d40e2 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -3,4 +3,5 @@ flake = import ./flake.nix; nix = import ./nix.nix; security = import ./security.nix; + ec2 = import ./ec2.nix; } diff --git a/nixos/modules/ec2.nix b/nixos/modules/ec2.nix new file mode 100644 index 0000000..45f3cd8 --- /dev/null +++ b/nixos/modules/ec2.nix @@ -0,0 +1,9 @@ +{ modulesPath, config, lib, ... }: + +{ + # AWS EC2-specific tweaks + imports = [ + "${modulesPath}/virtualisation/amazon-image.nix" + ]; + ec2.hvm = true; +} diff --git a/nixos/selenium/configuration.nix b/nixos/selenium/configuration.nix new file mode 100644 index 0000000..e099f02 --- /dev/null +++ b/nixos/selenium/configuration.nix @@ -0,0 +1,18 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ ]; + + users.users.worker = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAic4niJKrBKyTzTbpldaEiU30vS9/jkZl3yZRnu6d9O zach@zachel.io" ]; + }; + + # This value determines the NixOS release with which your system is to be + # compatible, in order to avoid breaking some software such as database + # servers. You should change this only after NixOS release notes say you + # should. + system.stateVersion = "22.05"; # Did you read the comment? + +} diff --git a/nixos/selenium/hardware-configuration.nix b/nixos/selenium/hardware-configuration.nix new file mode 100644 index 0000000..0b508ec --- /dev/null +++ b/nixos/selenium/hardware-configuration.nix @@ -0,0 +1,5 @@ +{ config, lib, pkgs, ... }: + +{ + nix.settings.max-jobs = lib.mkDefault 4; +} -- cgit 1.4.1