summaryrefslogtreecommitdiff
path: root/host/atlas.nix
diff options
context:
space:
mode:
Diffstat (limited to 'host/atlas.nix')
-rw-r--r--host/atlas.nix89
1 files changed, 89 insertions, 0 deletions
diff --git a/host/atlas.nix b/host/atlas.nix
new file mode 100644
index 0000000..4611ed7
--- /dev/null
+++ b/host/atlas.nix
@@ -0,0 +1,89 @@
+{ pkgs, ... }:
+
+{
+ imports = [
+ ./hardware/atlas.nix
+ ./software/desktop
+ ./software/desktop/xterm.nix
+ ];
+
+ networking = {
+ hostName = "atlas";
+ networkmanager.enable = true;
+ };
+
+ services.xserver = {
+ videoDrivers = [ "nvidia" ];
+ };
+
+ hardware.nvidia.package = pkgs.linuxPackages.nvidia_x11;
+
+ environment.systemPackages = with pkgs; [
+ nvtop
+ ];
+
+ virtualisation.docker = {
+ enable = true;
+ enableNvidia = true;
+ autoPrune = {
+ enable = true;
+ dates = "daily";
+ };
+ };
+ users.users.common.extraGroups = [ "docker" ];
+
+ networking.wireguard.interfaces = {
+ wg0 = {
+ ips = [ "10.100.0.3/24" ];
+
+ privateKeyFile = "/etc/wireguard/private";
+
+ peers = [
+ { # automatix
+ publicKey = "B0tkjq+5SfECKx1gWEP5JVWOIaRWL2JNE7iSpMmN4F0=";
+ allowedIPs = [ "10.100.0.0/24" ];
+ endpoint = "kummerlaender.eu:54321";
+ persistentKeepalive = 10;
+ }
+ ];
+ };
+ };
+
+ networking.firewall = {
+ enable = true;
+ interfaces."wg0".allowedTCPPorts = [ 5900 8080 8888 ];
+ };
+
+ services.printing = {
+ enable = true;
+ drivers = [ pkgs.hplip ];
+ };
+
+ services.gitlab-runner = {
+ enable = true;
+ services = {
+ openlb-ci = {
+ executor = "shell";
+ registrationConfigFile = "/etc/gitlab-runner.conf";
+ tagList = [ "nix" "has-gpu" ];
+ limit = 1;
+ };
+ openlb-ci-extra = {
+ executor = "shell";
+ registrationConfigFile = "/etc/gitlab-runner.conf";
+ tagList = [ "nix" "gcc" "clang" "mpi" "cuda" "has-flake" ];
+ limit = 4;
+ };
+ };
+ };
+
+ systemd.services.gitlab-runner.serviceConfig = {
+ CPUQuota = "400%";
+ MemoryHigh = "8G";
+ };
+
+ users.users.gitlab-runner.isNormalUser = true;
+ nix.settings.allowed-users = [ "gitlab-runner" ];
+
+ system.stateVersion = "23.11";
+}