From 134264245ff8b1e6f0347b063b58821a938210f4 Mon Sep 17 00:00:00 2001 From: tdback Date: Wed, 5 Mar 2025 20:07:01 -0500 Subject: flake: add sol server --- flake.nix | 46 ++++++++++++++++++++++++++++----------- hosts/sol/default.nix | 44 +++++++++++++++++++++++++++++++++++++ hosts/sol/filesystems/default.nix | 17 +++++++++++++++ hosts/sol/modules/default.nix | 15 +++++++++++++ secrets/pushoverAppToken.age | 28 ++++++++++++------------ secrets/pushoverUserToken.age | 28 ++++++++++++------------ secrets/secrets.nix | 1 + 7 files changed, 138 insertions(+), 41 deletions(-) create mode 100644 hosts/sol/default.nix create mode 100644 hosts/sol/filesystems/default.nix create mode 100644 hosts/sol/modules/default.nix diff --git a/flake.nix b/flake.nix index 27b01fe..4855502 100644 --- a/flake.nix +++ b/flake.nix @@ -1,17 +1,14 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager/release-24.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - agenix = { - url = "github:ryantm/agenix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - deploy-rs.url = "github:serokell/deploy-rs"; - }; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + inputs.nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + + inputs.home-manager.url = "github:nix-community/home-manager/release-24.11"; + inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + inputs.agenix.url = "github:ryantm/agenix"; + inputs.agenix.inputs.nixpkgs.follows = "nixpkgs"; + + inputs.deploy-rs.url = "github:serokell/deploy-rs"; outputs = { ... }@inputs: @@ -136,6 +133,29 @@ ]; } ]) + (mkSystem "sol" "x86_64-linux" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ + "common" + "upgrade" + ]; + } + { + type = "scripts"; + modules = [ + "motd" + "pushover" + ]; + } + { + type = "services"; + modules = [ + "ssh" + "xonotic" + ]; + } + ]) (mkSystem "sparrow" "x86_64-linux" inputs.nixpkgs ( inputs.nixpkgs.lib.singleton { type = "profiles"; diff --git a/hosts/sol/default.nix b/hosts/sol/default.nix new file mode 100644 index 0000000..bee11d7 --- /dev/null +++ b/hosts/sol/default.nix @@ -0,0 +1,44 @@ +{ + inputs, + ... +}: +{ + system.stateVersion = "24.11"; + + imports = [ + ./filesystems + ./modules + ]; + + boot.loader.grub = { + enable = true; + device = "nodev"; + }; + boot.initrd = { + availableKernelModules = [ + "ahci" + "xhci_pci" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + kernelModules = [ "dm-snapshot" ]; + }; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users = import "${inputs.self}/users"; + extraSpecialArgs = { + inherit inputs; + headless = true; + }; + }; + + time.timeZone = "America/Detroit"; + networking = { + hostName = "sol"; + networkmanager.enable = true; + }; +} diff --git a/hosts/sol/filesystems/default.nix b/hosts/sol/filesystems/default.nix new file mode 100644 index 0000000..e31b2e3 --- /dev/null +++ b/hosts/sol/filesystems/default.nix @@ -0,0 +1,17 @@ +{ + fileSystems."/" = { + device = "/dev/disk/by-uuid/5ac7df5a-5908-4b6a-b982-88c34775205a"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/ED26-4D10"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + swapDevices = [ ]; +} diff --git a/hosts/sol/modules/default.nix b/hosts/sol/modules/default.nix new file mode 100644 index 0000000..f1c7109 --- /dev/null +++ b/hosts/sol/modules/default.nix @@ -0,0 +1,15 @@ +{ + modules = { + services.xonotic = { + enable = true; + hostname = "tdback's xonotic server"; + motd = "GLHF! Please report any issues to @tyler:tdback.net on matrix."; + g_mutators.grappling_hook = true; + }; + scripts.motd = { + enable = true; + networkInterfaces = [ "enp1s0" ]; + servicesToCheck = [ "xonotic" ]; + }; + }; +} diff --git a/secrets/pushoverAppToken.age b/secrets/pushoverAppToken.age index 4ffc562..62158ab 100644 --- a/secrets/pushoverAppToken.age +++ b/secrets/pushoverAppToken.age @@ -1,15 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 D2VkFQ /CN/n8yQ3knYsTONwUl03z9tiMbFWieUVgN+8QbWE1s -6ydJTacuRbV19uk8EFnQfDm2zGa6odWelT0+W1rqnJM --> ssh-ed25519 VoJMUA dG7UmiPHCvBc0cwgGVdzsxyW2XhEf962AOddDJT/2RM -BDtjzNwhtP6vDiHlgEJAvBVrpEbw/x73asTCcjQTeJI --> ssh-ed25519 2ZEkNQ fyZv2aPEYowMWzZ1KOm9pCAiS/AL1w1zeTbqRQT1QyQ -1t70HCjPvPUKtttbV7y//EZc9+MUllZs7o3od731Gk4 --> ssh-ed25519 gpkhBg wNZAXyq4A0pwkCmtOiGVKJipfBuI3+0J3uOOxTmCshA -SmYnIahbbSsMOYj+ggvt+AcZRuDYnIuojHAnXcOei4A --> ssh-ed25519 NJIOsA BN9ECXI3TRjAQPdVhbaJ45GcRwl6ivADLDYiYq4h9yM -+kIZfEoWwuPs636XNXI6liK1CxMMrvDsUiw4/oRRaIU --> ssh-ed25519 UWm3sg CVYUF3Y0Y+YMzgekXmbWd8X9QtUaZNuAWqdnDr2ukAM -EShPIvrxRRLKwuT9gp7Yl4bgt9r2qti2q0Twfb6ryxw ---- V7eXnnTrhFJSLvShXxtOxQlYg77gXLfPQfSfjEg1Gws -M0*,jK;#Ka%eTh9\{r:"Ԍ]ۙ \ No newline at end of file +-> ssh-ed25519 D2VkFQ L9MRzcK17CkE5camBJbiZfrHassBaYekPJjqmAKYFxI +DoJGm6+2thMGzL6EdMyH/LfRQ7kK28sbIp9Svv09O14 +-> ssh-ed25519 VoJMUA Wa/LZwrQ8okAtOpgFWPiLSS5X8RG0tNukmEg9hJdrT0 +DZq6s2evb801hsOSGDx7mjp8uWltX5ieNUerMGWHLwQ +-> ssh-ed25519 2ZEkNQ b+VVAUVssAdneJPnStnofziitZwT7jiI5CtNreCBjSQ +KUNxscDeY6bl3xekIeyRaRp3UWc6j1O0RBhmnLiJOjg +-> ssh-ed25519 gpkhBg ipMc1k8sKLOtgvrxGsyNH9Svcu0DNMAIp+E3WVhM+hY ++aHRqhpJ6B6eM0u/C8TuadUrVkrHHU+ddUdNAAQpafQ +-> ssh-ed25519 qtQgZQ QEFek3hCYNCHTgNwxd/M9KB1sEoqAJ8Q4fsRaxJuG2M +VllVC45FeasNWI+LCOxTx44gxmVi60f8Yrr/z8Mt1Ks +-> ssh-ed25519 NJIOsA 5inML91Qi2o/2UKLUGYs9+RE6+ibCcLc4gbeyGDZuns +VsusquP7kvQTeK9qKsc4HPIPxYOh02kGs3L5LKtGAQA +--- ZRx2FNYoZ2CucVabnkbCUnNMIpVBZpbm255M7iFsNdk +ф}A͏JO]nuЩ)Jny;84 ')xڡ'm= \ No newline at end of file diff --git a/secrets/pushoverUserToken.age b/secrets/pushoverUserToken.age index d7a7e58..59dd3a0 100644 --- a/secrets/pushoverUserToken.age +++ b/secrets/pushoverUserToken.age @@ -1,15 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 D2VkFQ e7WexmCoP6hlrH5yXCmdTpKtdCJY7yhImcTId8BsSzI -FAe9iNpeTSlmZpfobb/eZGuRmFtFUqJgoPS7/rNrlMY --> ssh-ed25519 VoJMUA RgpGjD+FyzRS8nofK1pCZMIe/BqEM+wpDvmlWntZ834 -ZeiN0BGWnZ1eD5p7ScdfGhPLXFknMACtzUn+jsJrVwo --> ssh-ed25519 2ZEkNQ saori7azPvF+MpOQsWOdFKDmWF6vdS4gfE64wuoVJww -/cDJ3ezq4wSY/QTucJEbKWHaLT+Ixm8Zuzf+k8j/t/Q --> ssh-ed25519 gpkhBg 1tP+wGXNivS1hks0lL/yT9F/K58LMwbh/110OKNiRxc -wZ6A7VzHkN8nhF8xYZ7eCZOKDs7IYhwd7KTZBes6a5Q --> ssh-ed25519 NJIOsA 6XxoVtEVyhxTgWw6LpSS5mnczoVYjaCS979FnJjMiU8 -zzgFDvgS/tYvPNg7bmqNOcveDWw6o3opR+nZRw3hx+Q --> ssh-ed25519 UWm3sg pS3Rv5yqHHVm2mGA3LNj86ocrh6deiQSlZHVSssNVTY -Rf6JZED4Lu+FsKmzx+K3m5/WNl8jNPebsLKVnmXvsXY ---- cQDPpGRcrJo2vVhmhJndyzMrlMlnM1K2RbDqtyTvUMw -?U~0 ?*ߥ_Q'ѷqF)4ϰ`MTu \ No newline at end of file +-> ssh-ed25519 D2VkFQ Kyn96E/D3MaGcLnfciX50aIBnRsYZDPs8KFJvyHtqFY +BNjA9TTsgq7Cyf3NEvYldTNTfBENHi2cFActKQypxHM +-> ssh-ed25519 VoJMUA DNzXE2xv2v+A7IxEY7ny4NbB5hJcZBlQxbvgkesmfDg +oXHzDMbAxjVoWILWxSREyXc5lRMnNbd3jj0nfRjUEtg +-> ssh-ed25519 2ZEkNQ BwreaGBBZ+F+22MdMyLm1sPCT2oFK5JOQ1hOKl5hO24 +jyZFI5HCEw/+YqGQ8r3hEWYIlR9eVdNw19DtWYpieuY +-> ssh-ed25519 gpkhBg 2Umaad7v0eW5M7MNjOQEcL2CUngv1lh4OjiAslI/eW0 +X8C8o0K52z64YlNDBqWHPOFE7QfV3bvFNoiPPTD6J8E +-> ssh-ed25519 qtQgZQ Mwfn5ylMEPcOezB1MU5xXYxGwdxIxvoH2KW5VrBP7FY +kAdnWQcxvxVbzvx3Pjk6cbvXve1OgQI8rskv9roH25I +-> ssh-ed25519 NJIOsA Whuz2QQacv7Qz9XMDmGrGj+SKOY3vjd5Vpa5h3ukigU +KlSkKpJwzvZKFeX2D1HMuv4PK3kU3D6oh3z0IqS+fpY +--- L9/eRfCbjg4rxOLUyoSAFG9kZwh0/ypT+W3JDycckMg +muq4py2*M^ ϰ?A[2tulk.tDeՄZ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index b936c6d..028ab88 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -4,6 +4,7 @@ let heimdall = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINq0rMkFlizGPijlHKMYS9CGWJ2T1ZJHqaLozWdoySz2"; loki = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC+5CYbXvvC/h+5YqBkuzt1VAvkX+zj22F5g6Mq1c2yL"; odin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByi8x1IgXBC6iw6MJoO7xIkkU4bdIaQ3Mi6zEtm+IJh"; + sol = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKuwAWmjWNuDwciX9N9N0SL3jZ1IapiHmSU5NVcY6/+I"; thor = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEn+C6ktSqvvwNVf1zUeNKKtZJ1QgLVhQjU83+0RvSY"; }; -- cgit v1.2.3