summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/atlas/default.nix50
-rw-r--r--hosts/atlas/hardware-configuration.nix18
-rw-r--r--hosts/default.nix33
-rw-r--r--users/_secrets/atlasPassword.age11
-rw-r--r--users/_secrets/secrets.nix2
5 files changed, 112 insertions, 2 deletions
diff --git a/hosts/atlas/default.nix b/hosts/atlas/default.nix
new file mode 100644
index 0000000..3d52b66
--- /dev/null
+++ b/hosts/atlas/default.nix
@@ -0,0 +1,50 @@
+{
+ config,
+ hercules-ci-agent,
+ pkgs,
+ ...
+}: {
+ imports = [
+ ./hardware-configuration.nix
+ hercules-ci-agent.nixosModules.agent-service
+ ];
+
+ server.enable = true;
+
+ boot.cleanTmpDir = true;
+
+ environment.systemPackages = with pkgs; [
+ hercules-ci-agent.packages.x86_64-linux.hercules-ci-cli
+ ];
+
+ networking.hostName = "atlas";
+ nix.settings.trusted-users = ["atlas"];
+
+ services.hercules-ci-agent.enable = true;
+
+ swapDevices = [
+ {
+ device = "/swapfile";
+ size = 16384;
+ }
+ ];
+
+ system.stateVersion = "22.11";
+
+ users.users = let
+ openssh.authorizedKeys.keys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMPV9wiDwXVyoVh347CAulkdGzG7+1m/rZ1aV5fk3BHM atlas [email protected]"
+ ];
+ in {
+ root = {inherit openssh;};
+ atlas = {
+ extraGroups = ["wheel"];
+ isNormalUser = true;
+ shell = pkgs.bash;
+ passwordFile = config.age.secrets.atlasPassword.path;
+ inherit openssh;
+ };
+ };
+
+ zramSwap.enable = true;
+}
diff --git a/hosts/atlas/hardware-configuration.nix b/hosts/atlas/hardware-configuration.nix
new file mode 100644
index 0000000..f3a929f
--- /dev/null
+++ b/hosts/atlas/hardware-configuration.nix
@@ -0,0 +1,18 @@
+{modulesPath, ...}: {
+ imports = [(modulesPath + "/profiles/qemu-guest.nix")];
+ boot.loader.grub = {
+ efiSupport = true;
+ efiInstallAsRemovable = true;
+ device = "nodev";
+ };
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/EC6B-53AA";
+ fsType = "vfat";
+ };
+ boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront"];
+ boot.initrd.kernelModules = ["nvme"];
+ fileSystems."/" = {
+ device = "/dev/sda1";
+ fsType = "ext4";
+ };
+}
diff --git a/hosts/default.nix b/hosts/default.nix
index 77da64a..41c0bc4 100644
--- a/hosts/default.nix
+++ b/hosts/default.nix
@@ -56,6 +56,36 @@ in {
nixos-wsl.nixosModules.wsl
];
};
+ atlas = {
+ builder = nixpkgs.lib.nixosSystem;
+ inherit (common) specialArgs;
+ system = "aarch64-linux";
+
+ modules = [
+ agenix.nixosModules.default
+ (import "${self}/modules/base")
+ (import "${self}/modules/nixos")
+ (import "${self}/modules/server")
+
+ {
+ age = {
+ identityPaths = ["/etc/age/key"];
+ secrets = {
+ rootPassword.file = "${self}/users/_secrets/rootPassword.age";
+ atlasPassword.file = "${self}/users/_secrets/atlasPassword.age";
+ };
+ };
+
+ _module.args.nixinate = {
+ host = "164.152.18.102";
+ sshUser = "atlas";
+ buildOn = "remote";
+ substituteOnTarget = true;
+ hermetic = false;
+ };
+ }
+ ];
+ };
p-body = {
builder = nixpkgs.lib.nixosSystem;
inherit (common) specialArgs system;
@@ -65,6 +95,7 @@ in {
guzzle_api.nixosModules.guzzle_api
(import "${self}/modules/base")
(import "${self}/modules/nixos")
+ (import "${self}/modules/server")
{
age = {
@@ -75,8 +106,6 @@ in {
};
};
- nixos.enable = true;
-
_module.args.nixinate = {
host = "167.99.145.73";
sshUser = "p-body";
diff --git a/users/_secrets/atlasPassword.age b/users/_secrets/atlasPassword.age
new file mode 100644
index 0000000..55141f6
--- /dev/null
+++ b/users/_secrets/atlasPassword.age
@@ -0,0 +1,11 @@
+age-encryption.org/v1
+-> ssh-ed25519 I92A3Q XzmK9tZXIorciGwSYvZ+sJaCDQ0oEruysZu8clIV6DI
+s1oWa4NhwYxUO6QfNzTnEBajk+eFD5/tu5mAW/6h5bI
+-> ssh-ed25519 2rm3wg S/2y3pA0ryl7zTGoVpwyXy0fCjUCkUje0YwTTatO7mk
+upAiNPLQw7tysdzRM1LjyRfqHjoAWt+bizlduI1ICAc
+-> ssh-ed25519 lWIUFQ 1vmU9iFcUZMG0C92CNjF5yMRL9NlDqAREYeEldg+QHc
+/1HnzaT4117ZDrmyPAP4VECar4HEdTWg7iWUg+Oc34w
+-> R-grease 6C=@;484 emyx Tzj~ NI
+AIQwfaLIJ/vZTV03Ok2SagcgW/lxnueo16mqXJk9s1fsllyvCquQ2g
+--- xB5rhbzFUmy25QTkY523ydvrJng+akOUKAhBcRCOC3o
+��w�(��_A�@��D ב�MHg���Woh��ތ*��f�n�y(7���g@�W��Rb�g� ^UW��8�z�C ����"�9�D}~˙�P�9U�GuƭA{� m]�I�q���J 0J��@�aV�����#�M[��P \ No newline at end of file
diff --git a/users/_secrets/secrets.nix b/users/_secrets/secrets.nix
index c8df22d..a8601cd 100644
--- a/users/_secrets/secrets.nix
+++ b/users/_secrets/secrets.nix
@@ -2,9 +2,11 @@ let
keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5K+yLHuz4kyCkJDX2Gd/uGVNEJroIAU/h0f9E2Mapn getchoo-nix"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAVieG9wj00Cz0Co7QYNkoTgfO+B8EO5vlZdfMvCHD76 root@p-body"
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBA861lnShM2ejpzn9arzhpw33I4XdtULfZWhMp/plvL root@atlas"
];
in {
"rootPassword.age".publicKeys = keys;
"sethPassword.age".publicKeys = keys;
"pbodyPassword.age".publicKeys = keys;
+ "atlasPassword.age".publicKeys = keys;
}