From 8733fc7054b1b83a9cf59d820a832c7a3d5e8bf1 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Wed, 2 Feb 2022 16:05:17 +0700 Subject: [PATCH] hosts/sugarcane: init --- flake.nix | 1 + hosts/sugarcane/default.nix | 26 +++++++++++++++++++++++ hosts/sugarcane/filesystem.nix | 37 +++++++++++++++++++++++++++++++++ hosts/sugarcane/kernel.nix | 17 +++++++++++++++ hosts/sugarcane/networking.nix | 6 ++++++ hosts/sugarcane/packages.nix | 15 +++++++++++++ secrets.nix | 3 ++- secrets/passwd.age | Bin 1015 -> 1178 bytes secrets/wg_apricot.age | 22 ++++++++++---------- secrets/wg_blossom.age | 18 ++++++++-------- secrets/wg_fondue.age | Bin 559 -> 546 bytes secrets/wpa_conf.age | Bin 854 -> 870 bytes 12 files changed, 124 insertions(+), 21 deletions(-) create mode 100644 hosts/sugarcane/default.nix create mode 100644 hosts/sugarcane/filesystem.nix create mode 100644 hosts/sugarcane/kernel.nix create mode 100644 hosts/sugarcane/networking.nix create mode 100644 hosts/sugarcane/packages.nix diff --git a/flake.nix b/flake.nix index 58b28ae..c2f2b21 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,7 @@ nixosConfigurations."fondue" = mkSystem nixpkgs "fondue" "x86_64-linux" false; nixosConfigurations."caramel" = mkSystem nixpkgs-porcupine "caramel" "aarch64-linux" false; + nixosConfigurations."sugarcane" = mkSystem nixpkgs-porcupine "sugarcane" "x86_64-linux" false; packages."x86_64-linux" = let diff --git a/hosts/sugarcane/default.nix b/hosts/sugarcane/default.nix new file mode 100644 index 0000000..ed36355 --- /dev/null +++ b/hosts/sugarcane/default.nix @@ -0,0 +1,26 @@ +{ config, inputs, modules, modulesPath, overlays, pkgs, ... }: { + networking.hostName = "sugarcane"; + system.stateVersion = "21.11"; + time.timeZone = "Asia/Singapore"; + + age.secrets = { + passwd.file = ../../secrets/passwd.age; + }; + imports = with modules.system; [ + (modulesPath + "/profiles/qemu-guest.nix") + inputs.home-manager-porcupine.nixosModule + + base + home-manager + input + nix + security + + ./filesystem.nix + ./kernel.nix + ./networking.nix + ./packages.nix + + ../../users/hana + ]; +} diff --git a/hosts/sugarcane/filesystem.nix b/hosts/sugarcane/filesystem.nix new file mode 100644 index 0000000..1bd851e --- /dev/null +++ b/hosts/sugarcane/filesystem.nix @@ -0,0 +1,37 @@ +{ config, ... }: +let + bind = src: { + depends = [ "/nix" ]; + device = src; + fsType = "none"; + neededForBoot = true; + options = [ "bind" ]; + }; +in { + fileSystems = { + "/" = { + device = "rootfs"; + fsType = "tmpfs"; + options = [ "defaults" "size=2G" "mode=755" ]; + }; + + "/mnt" = { + device = "/dev/disk/by-uuid/19d572a8-1cf6-4b9c-94c6-3ce6be54f719"; + fsType = "ext4"; + options = [ "defaults" "noatime" ]; + neededForBoot = true; + }; + + "/nix" = { + depends = [ "/mnt" ]; + device = "/mnt/nix"; + fsType = "none"; + neededForBoot = true; + options = [ "bind" ]; + }; + + "/var/persist" = bind "/nix/persist"; + "/var/log/journal" = bind "/nix/persist/journal"; + "/boot" = bind "/nix/persist/boot"; + }; +} diff --git a/hosts/sugarcane/kernel.nix b/hosts/sugarcane/kernel.nix new file mode 100644 index 0000000..35c4452 --- /dev/null +++ b/hosts/sugarcane/kernel.nix @@ -0,0 +1,17 @@ +{ config, inputs, pkgs, ... }: { + boot = { + loader = { + systemd-boot.enable = false; + efi.canTouchEfiVariables = true; + grub = { + enable = true; + device = "/dev/sda"; + }; + }; + initrd.kernelModules = [ "nvme" ]; + kernel.sysctl = { + "kernel.core_pattern" = "|/bin/false"; + "kernel.sysrq" = 1; + }; + }; +} diff --git a/hosts/sugarcane/networking.nix b/hosts/sugarcane/networking.nix new file mode 100644 index 0000000..d53628f --- /dev/null +++ b/hosts/sugarcane/networking.nix @@ -0,0 +1,6 @@ +{ config, ... }: { + networking = { + useDHCP = false; + interfaces.ens3.useDHCP = true; + }; +} diff --git a/hosts/sugarcane/packages.nix b/hosts/sugarcane/packages.nix new file mode 100644 index 0000000..d7ebb23 --- /dev/null +++ b/hosts/sugarcane/packages.nix @@ -0,0 +1,15 @@ +{ lib, pkgs, ... }: { + environment.systemPackages = with pkgs; [ + git + htop + jq + neovim + rsync + sshfs + wget + + kitty.terminfo + ]; + environment.variables.EDITOR = "nvim"; + nix.package = lib.mkForce pkgs.nix_2_4; +} diff --git a/secrets.nix b/secrets.nix index a29dfad..4faa90e 100644 --- a/secrets.nix +++ b/secrets.nix @@ -3,12 +3,13 @@ let blossom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5wfPCcpkNR3ubr7cBV0UwVCDo/sMmV0aI/JOJTIxQj"; caramel = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPFJT1XYyjDZFHYT/8RdxAReKkeU8QfpLrmMjEeW/80"; fondue = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkKZYsYWnI+MgecBjOwf7aL5jtiT0ymCDme3pzucTei"; + sugarcane = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIImymDDLSOdLcsox8wxS9Z84fsbsz6Mi58OU0od2p/ZQ"; rin-apricot = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINxzygMMJ/hmPRUeQu/eMmEhAKfFSFIEVstDIerPzxgZ"; rin-blossom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPru5eTBvHJ4ZmrrzPRHCGM09wQP/ZHSaKYalDuBVO15"; rin-fondue = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbPamP5bovUsrBNYnjOk4SN2TaQZAVlJ+4JldK2cL5M"; in { - "secrets/passwd.age".publicKeys = [ apricot caramel fondue blossom rin-apricot rin-fondue rin-blossom ]; + "secrets/passwd.age".publicKeys = [ apricot caramel fondue sugarcane blossom rin-apricot rin-fondue rin-blossom ]; "secrets/wpa_conf.age".publicKeys = [ apricot caramel blossom rin-apricot rin-blossom ]; "secrets/wg_apricot.age".publicKeys = [ apricot rin-apricot rin-blossom ]; diff --git a/secrets/passwd.age b/secrets/passwd.age index 58306fdbc5b3c496ad8688cdb15b6dc469549e85..a6836f947a189c328b97ea5f7194f84080bb02e0 100644 GIT binary patch delta 1092 zcmey)K8tgLPJLK#n0a79g-3CbM{=2~V|kRHZ>oo5c}SY6abkJ4YiNMKQBp>LZ$)N# zK38r;u5+%jQ>9O0MQTQJnW1r5NN#1WcW|j+alWaixkX}yc|>-pMXFJuCzr0BLUD11 zZfc5=si~o*Lb!oNNQk3CX{1YLNRCIaSCYPCc~n@Tvzt?7ad3KJnSQ3RcBETQghyp^ znoE90a#>Y5S8_<9Q(2UAQfgLGp=G2+TCuyYk)NBBp<9+uZgNIwcut0&dyunNgnxPd z#E;_P&Y7;-hE;AEVXhI`f%#$D!6ik`PQJ!@#X(_tKKbb$d7-`qXAU*gUyh!N5J-H=?j2+%Y*PGt$#F zv(U{Yxga&jH&Qz_JfPgtC($X=)jh|g+}YbHl*=R|%`MU`$v8MXvLG$WG_)`{D#OP+ zIaog^v%;&?zape8FsLdp$=%gBeezjG@%qyIkg|aMV&}*ZuOf@!qNpG*GlPKCeA8Ul z3Kz>tlM=ts!X&R${d8lGY_7x#W53eW2sfAPqObt{9R09BOG}T;()5b#M33BT(@Z13 z3_t&@w6t(Ffr9O3iR{IGEDObPDwV&Dl*bf z%0~~m9Ltp8z;uO*GVj0?6aCOcuW<8#bR*ZIk{}O#-$+N#v;cpvvVv?skNOnX>{Pc@ z4>w<~T%$sha<43RCljOmq~LP@qI8#>)ZhxQkQ}F?i12W2eb;Qqi~s|p&@iy?3~P&3 zb<>Md6N^*1%#6(fLM#$P4Kj+2y*?EWAn#UCs5gLj4Ne zT#JiLB3%7UTnY>G1C8ok49WsajkrupJTh{My$UmvgU#Km@^iR!b#)bTQ?-puoz2Tl zEd8^LlJyHx^K;7m63aY`B8rl#3Q9`c%AJie)5_fngY&tV^d`(tPqo(M{V&%2WOMS` z@ApI|-{0QJfBBbal*F{NN$<~|l6pMXFss77>h48GNh9Nl32OZ=9X=WI%n}zLNasGu z-RQn=vEW3%s65w{6vwrBOxKsNWu&f9WN5pvv3&lC_TxQvA(b1Vtr!k(?`BHY{Sq?& WEboEZW#YjqUZ({jJeSMsGy?!d9Ckkd literal 1015 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+wRDTfNmod%s`NMV zt_U|Pc6W9RN%1Q22y=8TD${o=3r)&$GYO7Jk2G-#%nJ@N^5v> zqQcC`sKCe3-#atdDI>x)JR~q6BF)n<%^=XRDw`|U(lXDzFeJmtIVmEeFw!s6*dy6D z(b1?p*V{j#+y0zxvABV4)6B9g1JTvEN9d@|ib^nKkz45Hk_O5B3;eNufxi?qvK{mTl& zQ%WuK!(7pAGfXo`whUCL40rMO%grgY$TKoXk0>?vE-245iwX!2HuEm`DvAtti^z^F zF3K`ZcMj#svUKt(H}o_XQ|HMd3kJO-WpRyu-m-4Fe%yMv=3=S*QO)pAKEKXHOtx`yJ zH1bkN)~+-6)v)wZ$m1$4EiiR7HFh!xb6Z)D>!%UOjiu{w=M^ zuO4i9?{qn-!Fv;bz~a>mI~Uev ssh-ed25519 U9FXlg H7n5IC6XGcAY9tC8lRFEolb9KD/goej4Dlug5AxkBDU -3asR+ee3SZ3NOmLOcv2FNHVfX/YmxU9V/wYiyl8dmXM --> ssh-ed25519 pumkzw kpBvxdtF3dSm67XAu/hEKYylCP131PueSJCQaSLV+ls -MoftJyimviq9t74Jb8WnZj9vimzeXzLXSmf2LPG8qaE --> ssh-ed25519 l9dSQg 3pbs05PKX0IEDJa4hcLi6JOVxRwfNYn2ZIM+KtbJ2ww -ab2FQXyW0iEgR2CNNimEye3yeclhaQEJ6bK+1Nxhtzk --> T-grease -B9RPVaCLtAcnepxeFChMUqEgXQ ---- eB7HKAkFMS1Za08uhuDbHIDThRwLicbadCILSEDebY0 - %aaw\ꍆ -759dȅG~zT2z<#1ު VgU}Ѧ jIRw \ No newline at end of file +-> ssh-ed25519 U9FXlg aNYTL/nwaVZhtBHlTR9DkfJC5zFIzjNM9k2Zysfn9xg +L6Bpo+HXojQQvBuqbgrm9CbZ33vphpR7Wtt90DbN04k +-> ssh-ed25519 pumkzw aUd2plw9XAGJIWwxbQqxrtaqj51sa1Z2f1tX1N5Gg2s +JGlz/PEGpRJactz2IgT0zjUBwYw2Qs0120zMy7pmKSM +-> ssh-ed25519 l9dSQg bZBVF5DyRdgg6ewsab2Vw0xvHRV9prNOOmyTEWshJHg +74djfgSBZlyja7gi/Ia2+rCh8+fd01I68QV8/zVvLCE +-> B-grease ,c&T' J-N rrREz8 +Ky9u8nrc7wTcIBqczcsKUbIG8OSZ6T0P2NWCIOQqI0CweBSGn7HKi5bTkU7rRGsi +/8OHTW9//3wT1GZpqJ8spil2JW82V+LrVZnRc1lBufADBQ +--- +AhMEjhdNZb/nP3eSwbsFcQL96EnYcfV8xlW+UTc1fs +igu]6gF7/A/,r450.5yHT$8~@2#Y'% \ No newline at end of file diff --git a/secrets/wg_blossom.age b/secrets/wg_blossom.age index 2d41e3d..9f97eb3 100644 --- a/secrets/wg_blossom.age +++ b/secrets/wg_blossom.age @@ -1,10 +1,10 @@ age-encryption.org/v1 --> ssh-ed25519 U9FXlg aEmRkLTbk+LlxGIheQpHuW1DOP+dL9fJEKeqMorIeVs -T0f+AZVjcx9pEmqNESmFug61WHs6qqMjV4exKxHl+Ag --> ssh-ed25519 CUCjXQ 4u8pj84nEA2CuUCYg1ISjllbt99uPhD34TbsRj1KdhY -hu23nGobEw3cBoyJxkcdKUkaY/37D8sD5htyYnCZG0I --> L.~Rob(-grease ?5j+u9 -eg1GiLMCsxHS78B/KIUUtA/XHr8BCo1dNh23Y3BZ0Sm6dIsNOWwuZy4sldAK3OgB -G+bJC4ZTujaqLGZOkX71q989+VVellR8nj9kAuk3weTqVJ6/kIUHMks0Fw ---- xGTF6ckdRW+rkqfBE/iRFd8A+QBvSm/0sYP0HVN6C+0 -$WqPOK^ fe^bę$@٤flp\S(Z4Ih8|PGn \ No newline at end of file +-> ssh-ed25519 U9FXlg O8omuS7auqSwFeVEEHSxRvjaUDm93AM/j5+cQ5FFVgo +p1I+UeyLvdYZQ5gsNOihMOU6WIFT66HnLa1YKnvGxAA +-> ssh-ed25519 CUCjXQ CXt9AlwvqCFahVaoU0puuRG2krzxW3AReSn1N87iYko +SiKoTLp4wFK3AAWlNpQ9iYVhmaI4idmR0CPKTo0ifk4 +-> gy-grease obh[ be}>:8F &> [T% +hri2u1qHn9rr+m6BrJ8NSVX7IZ0fPbP/RVe8iwtMQY81uypAkL/NWhOIB2vPup26 +cCRNl0GR1XAzUJh8u6ShLr6JHtDc +--- GcSghQ9kwCBi3HS0PniOSUGzk3asMlZGRPKfZvxVIig +k8h"HYd/ u2Kfv"?t LkQ QǜöZ1BR"Bg:hbtەL/ \ No newline at end of file diff --git a/secrets/wg_fondue.age b/secrets/wg_fondue.age index d05cfa507b56c70f371b9e7569af4e0182452725..890766e38e5308b085ae4fb688c9ff21a0c3b052 100644 GIT binary patch delta 493 zcmZ3_vWR7ZPJO9YMRAo|YIdS_L2i+;PhxOkh-12&fq_LEYQRpJrWd6q z7N;tBWhzuzsFvi#M<#HE`TAxDryFKQWY)Vygz2037)MzYg%x_cXQdk$hLi{AhnQ4Z zR=TEh>FVk#R3;l_RTSnF8I_iKM)IdlwW3X5{;Ny6T%c=B7IbJA0=`rDdga zJ^Cgk>z=52MW!8D4X)yUFW)>KV|65G=8boM%9=X@KR5SqSTuhtoEDOB@zDZVOT2-OBL9n5BP`Xc`YlWkUcX(-drgK$@W0tdP zGM8^*d9J=ip@mtZPkx!FQ>kZSrGHhaVNpqLx`$a=W?_DbN3KOtcA;ywBbTn7LUD11 zZfc5=si~o*Lb!oNNQk3Ccu|ygp|5jQuDNAMcyV%;i(8U*dS#xMQ`Qgd1z^BK)A0-xVxo$cyexGMn!J+ z#E;_jg+|&@`bicgE=67iIgVk@`DS5GQT{=d&Uty^;Z;!uQNEE``9-0DRh1@OX6gAJ z;gKbdmR{}_A;qOGCV9rjE*6m$1^OlW{%N@;Ss_WLLCMK!S&8K!pCnW{tJoFkrWd6q z7N>Ig2l$(M<(Z`iI_C#OBo(HYl;~TAm)DoMhiBzwga#MnxmGy3dWRJ``sA2rRr-fH znT7?2R+uD(nFj|Nq^ZWPomZOx03Nck2LJ#7 diff --git a/secrets/wpa_conf.age b/secrets/wpa_conf.age index a88dd5eb943045e19f91c344e5269af847380ce7..de897306326a15ef99c22cd40fc27d3da283521f 100644 GIT binary patch delta 782 zcmcb{_Ka4EE`cu2`gz&~W#yTf`ia^;ImJZuib70H^GgH5ElM0yO9TCl46`gIpJf!UFN(@34t7fPuW)lT%QX!SN;D~U zbaX1uFptOx$}2IBGDwUFDva_Ct1OS?D)x`C^b5<#a@98~h$t#|k4nxdGqJSrDKFP9 zG0ry+G%<7w@vI20F!d-0#ejvQQK4>nQEFmws)BAnP>xQNLQa*lJy(%oYIvHFTV}Ce zc|^T$Nm6olx~o%hh;w$3r?-)5X_={6N=bIIOMXgJX@P-Llzv`Xk#nk}wqvRpPO+-L1sj0wwq&;d9Z(SSy7s+M@2+rsgD7duCA^^WpajVj+vp0froamaYc@| zsZ)7+o<&xHmsx6fR-}hpdU0uLlD>Xem3e(WSD;sfQ<}J1q+>;Ws+~f`fw{NcPotPbP4Ez4B+;#$7yzGj%4Xx~{xX_A29_ws6*eNr@b9gX48mMNUny z5_!P5fjcc@$>oW=-|tb}q;R6e_T$ZKJ0jOStvX|UoWXbD%H=z{?DtF!^YoA1TJEOg PQStKHRn|3Dzj7r3C7u|e delta 765 zcmaFHc8zUSyFOTslL0Jsey}rM!BVtlZ#`HQj*0I+w1ULUD11 zZfc5=si~o*LP2S6c2&7TfssK}NK#>5L25~*vwMoAnOksPx=XT&e{sHLm}`JhX;Ow` zX_mX0Wkz{ASBOi7zn{5@pG%feNoYl~WrTOCnQ1|OR8Ej_T8dwyyGe$tcUE?4o}s?U z#E;_P<_2C-L1lS?#x6dFVV)t{M!6LM7QXI*9`3<;Nv`49QAWiD1x|j2sTBrX{`wW> zrJ*_51{MM4B|*u>98sB3(^$lG2kigF=i0GAg1R0|Q;TEF5zSGo0P>+|8?UbG&ms z^gXhTeVi(@OFV-Mi%qoiT|CMhld~+$BOMJUpJf!U*RKl9^(lz*%1Oc`3N!Hp#ehmuZEB*nZhBE_VsWa1dP%NscCvz>N~MBLt|C`>MMR}% zi9vl;T8^WefqP1_nPaG1kY{LwTXsZ|VW6{9s#|bmm2Y}cP>@%EnNMb+r%9P_QbA-; zs=rB5VL+HOSDmeFzs?m|e?Ra$ecGnxI?KceYf?7-~FX7kKsWfTe1