From 15106e1a18250c585d0889a09d20dcba50b4f0fc Mon Sep 17 00:00:00 2001 From: Andre Date: Thu, 24 Oct 2024 17:03:02 -0400 Subject: [PATCH 1/9] GPU: fix collision with Intel drivers --- modules/apps/gaming.nix | 20 ++++++++++---------- modules/system/gpu/intel.nix | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/apps/gaming.nix b/modules/apps/gaming.nix index d810cf9..b2e804c 100644 --- a/modules/apps/gaming.nix +++ b/modules/apps/gaming.nix @@ -43,16 +43,16 @@ in ACTION=="add", ATTRS{id/vendor}==${vendorID}, ATTRS{id/product}==${productID}, RUN+="${pkgs.bash}/bin/bash -c 'echo 0x03 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id && echo 0x05 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id'" ''; /* - services.udev.packages = [ - (pkgs.writeTextFile { - name = "victrix-pro-bfg.rules"; - executable = true; - destination = "/etc/udev/rules.d/70-victrix-pro-bfg.rules"; - text = '' - ACTION=="add", ATTRS{id/vendor}==${vendorID}, ATTRS{id/product}==${productID}, RUN+="${pkgs.bash}/bin/bash -c 'echo 0x03 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id && echo 0x05 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id'" - ''; - }) - ]; + services.udev.packages = [ + (pkgs.writeTextFile { + name = "victrix-pro-bfg.rules"; + executable = true; + destination = "/etc/udev/rules.d/70-victrix-pro-bfg.rules"; + text = '' + ACTION=="add", ATTRS{id/vendor}==${vendorID}, ATTRS{id/product}==${productID}, RUN+="${pkgs.bash}/bin/bash -c 'echo 0x03 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id && echo 0x05 ${vendorID} ${productID} > /sys/bus/hid/drivers/xpadneo/new_id'" + ''; + }) + ]; */ # Add script to restart xpadneo in case of issues diff --git a/modules/system/gpu/intel.nix b/modules/system/gpu/intel.nix index 48b5f2c..0f78ef8 100644 --- a/modules/system/gpu/intel.nix +++ b/modules/system/gpu/intel.nix @@ -20,13 +20,13 @@ in hardware.graphics = { enable = true; - extraPackages = [ - pkgs.intel-media-driver - pkgs.unstable.vpl-gpu-rt + extraPackages = with pkgs; [ + intel-media-driver + onevpl-intel-gpu ]; extraPackages32 = with pkgs.driversi686Linux; [ intel-media-driver - pkgs.unstable.vpl-gpu-rt + onevpl-intel-gpu ]; }; }; From aa1c55492bd14fb327e5b515bae858cb6b3385e1 Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 00:21:10 -0400 Subject: [PATCH 2/9] General: add remote build workaround to nixos-operations-script --- bin/nixos-operations-script.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/bin/nixos-operations-script.sh b/bin/nixos-operations-script.sh index 77ac4f1..50d39bd 100755 --- a/bin/nixos-operations-script.sh +++ b/bin/nixos-operations-script.sh @@ -8,6 +8,7 @@ hostname=$(/run/current-system/sw/bin/hostname) # The name of the host to build flakeDir="${FLAKE_DIR}" # Path to the flake file (and optionally the hostname) update=false # Whether to update and commmit flake.lock user=$(/run/current-system/sw/bin/whoami) # Which user account to use for git commands +buildHost="" # Which host to use to generate the build (defaults to the local host) remainingArgs="" # All remaining arguments that haven't yet been processed (will be passed to nixos-rebuild) function usage() { @@ -34,16 +35,21 @@ function usage() { POSITIONAL_ARGS=() while [[ $# -gt 0 ]]; do case "$1" in + --build-host) + buildHost="$2" + shift + shift + ;; --flake|-f) flakeDir="$2" shift shift ;; --hostname|-h) - hostname="$2" - shift - shift - ;; + hostname="$2" + shift + shift + ;; --update|--upgrade|-U) update=true shift @@ -89,6 +95,12 @@ fi options="--flake ${flakeDir}#${hostname} ${remainingArgs} --use-remote-sudo --log-format multiline-with-logs" +if [[ -n "${buildHost}" && $operation != "build" && $operation != *"dry"* ]]; then + echo "Remote build detected, running this operation first: nixos-rebuild build ${options} --build-host $buildHost" + /run/current-system/sw/bin/nixos-rebuild build $options --build-host $buildHost + echo "Remote build complete!" +fi + echo "Running this operation: nixos-rebuild ${operation} ${options}" /run/current-system/sw/bin/nixos-rebuild $operation $options From b1cc9116588c932649c10c915df25a984e3b23aa Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 09:11:02 -0400 Subject: [PATCH 3/9] Khanda: re-enable remote build automatic updates --- hosts/Khanda/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/Khanda/default.nix b/hosts/Khanda/default.nix index 8707f94..f9cef77 100644 --- a/hosts/Khanda/default.nix +++ b/hosts/Khanda/default.nix @@ -51,6 +51,7 @@ in autoUpgrade = { enable = true; configDir = config.secrets.nixConfigFolder; + extraFlags = "--build-host hevana"; onCalendar = "weekly"; user = config.users.users.aires.name; }; From 89e9f95ba9daae8fe359022d74de1b84c3e312f7 Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 09:21:16 -0400 Subject: [PATCH 4/9] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:8bitbuddhist/nixos-hardware/52323ec811f4c94b2f32ba1c83d86f0594977dc8' (2024-10-24) → 'github:8bitbuddhist/nixos-hardware/097c476b076300e0f44e2a804ad472ca3da395d4' (2024-10-24) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e006022..724f72a 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729802774, - "narHash": "sha256-pssdzH1vOnTWvoGwfy3OfqY2oA6tKAHLGJFm5FeXYCI=", + "lastModified": 1729804049, + "narHash": "sha256-3CBk8Ntrilw4ju41mIkW2q34zxBxQxJPqd8lcF5yvV8=", "owner": "8bitbuddhist", "repo": "nixos-hardware", - "rev": "52323ec811f4c94b2f32ba1c83d86f0594977dc8", + "rev": "097c476b076300e0f44e2a804ad472ca3da395d4", "type": "github" }, "original": { From 1840c8d6055ceeb5d7ab02445ba103347db95504 Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 16:41:26 -0400 Subject: [PATCH 5/9] Shura: disable BOINC --- hosts/Shura/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/Shura/default.nix b/hosts/Shura/default.nix index 17bdb5e..95fec54 100644 --- a/hosts/Shura/default.nix +++ b/hosts/Shura/default.nix @@ -14,7 +14,7 @@ in system.stateVersion = stateVersion; networking.hostName = hostName; - custom-fonts.Freight-Pro.enable = true; + custom-fonts.Freight-Pro.enable = config.aux.system.users.gremlin.enable; aux.system = { apps = { @@ -42,7 +42,6 @@ in gpu.amd.enable = true; packages = with pkgs; [ - boinc # Boinc client keepassxc # Use native instead of Flatpak due to weird performance issues ]; From 2959b8cf259f9dacda38db73a40a978732c783ca Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 16:54:19 -0400 Subject: [PATCH 6/9] Services: add webdav service --- hosts/Hevana/default.nix | 7 ++++ modules/secrets/default.nix | Bin 4650 -> 4970 bytes modules/services/webdav.nix | 68 ++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 modules/services/webdav.nix diff --git a/hosts/Hevana/default.nix b/hosts/Hevana/default.nix index 9a988e7..2a0a7f0 100644 --- a/hosts/Hevana/default.nix +++ b/hosts/Hevana/default.nix @@ -20,6 +20,7 @@ let # List of subdomains to add to the TLS certificate subdomains = with config.secrets.services; [ + dav.url forgejo.url gremlin-lab.url jellyfin.url @@ -212,6 +213,12 @@ in ram = 4096; }; }; + webdav = { + enable = false; + home = "${services-root}/webdav"; + url = config.secrets.services.webdav.url; + users = config.secrets.services.webdav.users; + }; }; users.aires = { diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix index 338ee0774196f97a414089ecb9b136e7d41be012..6eb92bfa03e9a256dd49f39a32a37ec2bdc549a9 100644 GIT binary patch literal 4970 zcmV-w6P4@$M@dveQdv+`02@O@G&w9psVlwGeR0o2!z>2kM`4onWN!@{JL{Vna!kQF z*bPJ6jRTj-Y@-s}zwmUNe-0eF0FvgG1?~^*66zNUk;5YTDO3XVV2*H2QeJ7~ta&)< z)uB~;Bf#3+yqow!l;N1Rm4KUwD{lJ}M^2$9=eMX^x+I^P%rM=C@B1E##;ABfSe&9y z{hHTOWi+06&mp32z>1-rmMwSHXbG{4(VdZgEG2IHr#H{mqY(MVcRn>L7%(g_F?1v{ z#pY%4tycQfKFf}1`&RtOBw!g!*+w=up$6TRaf3E`O7}DmxDn~F9j8YBQn2m>FRvDq z-m1^zxKsfMym&JeY-3n|!!+J}PP#qjsQ6C(R+1u4=+!gaiB}k)34Q|2>VL(MWd>C4Qe1)qrwXYf(A>7PXQ0@P&oN;MU_F6j z|FmS-EnJ-K*tT9Kb<{nX)LOBUQOAbWda;~Jf;%p{Bu-nM!P46^#0B7fX9^-CbTV=) zX!ZN&FmMb6%*Q8*_vGkfq?9rO+&zSC!HUm-Lg^4o^imR3M#q*M!n*l{5v%mss+r#? z)Gnl$?ZV;QcV=ofSO6cL5gzCb~EP;|3i1~rmqNbcC3YU6HsNAeF z_~DpslqdcJ6UF#Z8CBD=@2!**i{cZhtE_036T(FD(0Jx|@gtLv0a1s3o=nC5ddmj@ zSaGPk5`8{Xo(J{Qu7>C?cxwd4-_wO~$Aa%|DL!~e6d#S0QVt_u zUg3t#w6qY4H>PPL64BJb?-l#GeAi-!0H*5`?w@=mn(YD*?Oy}`fk2yKv2$lX{{NSi znv{TB!=W@hYfvK~@YZw2HarZ%d(La-z6926pX{dXc%ns`_xg@!IeE!Op>Z$XOTo=% zA12OkP~TYO5huEYj)mZOYmuA%NO%0=df?;+p9P}}=6B;;MIPJuAbY&omJ3uqazL>Q zIJtX^F9P?GRk|smuzSp&l}z$j_5T}k$W`J#yg;u%vVv`9AcrG`;|cLOUdE)~hwoMB zr;hW-bcuh67(>96y4^mB@2{It6i(HZlzoHhp|uYPU7d;_R_~ILHR7*O$+I!sG-Osw z?KN4T%B(zSyDST0N>5E@(0a9_IEP!&(6^LR-E=ar7I639vMfW3ybOjM{BWJO1)`fr z)tX8$w@NKgU9*Z#3T_yxM|HpJ`WN5!Lhtn<42fL$h z*dAz;vr93$R7JA`cJoD*_5V(OPWl6vjKFy6tib7x;i#%+|C94V6^@wEOp#%$~jySmmSjBMZvDSD+&@#C& zy$4UYmF?a%t%?!$8Nz%?J$J7bY+aT0dWvtW-uidEj{P^8>G^n7cw==_krFvi2DZ#l zPlipY(>&i)e3lArT!;eM2cvzY*X8JE}b(kSwGtjY16!U%hHz(i!LR-U)k$%`9jch1t zU1hs~T*ni0UXm#(vrZM-^T{Tfzz`gv`|{gwi)3VX6w&EpFX>*-MvZXfuum^G<*bd( zgx9y?Q5X(7ibv{9buCKLS-*V!{p`MN&T*G&xaVNPK?g3%)dL z+5OH07eN7)CKyf}f2H-r@<|BBYQKy%0@`yMnUrJrS1P&~NpWQCPDS+CVN)ZRhdswU zTR@@c2rmK*Epp_`G(3?^Hhe_ZZKh8*H3df(7a@wZ}CW`Gk-Y*+>Foq_3gYeL@Ts1gltSm+^gWi><4-9qC1^7(+vZOZSv6 ztVf#JhB+sDVvZqTYgS+yEiB85mW}i_WPz{bY%&wS@dHikqv{+%Gm$|a*{QcN?Pv$@ zkCzz!?JC;zDrHf$r02@@7auqS-VQsY>c4)jO<@OjiLTcQ zDK#1MJ>&`u2)AS!BulO>7p|9q8{ju_&%40A<+=hnB5h67o3i{Vg^4CAVH~p$+?u9^ zcU@6WvQSI5GRZub3C|D4z5M#pZ}w}h?=j)qb0nEGwb*VAT5N)=vu&YUAzg-D-Z53^lt7kvAfuJpA9p`yyN5WGIvoRV#ZQ4?0*ofuWXNrbx%T}4;KsbIB$8Z;sBwF4uk%IH1N zLoQOs%ohQdi!&5JftzTXi=5r^jMcm)Uul>rha@OhtME{anLIykJ32#zF>O=U`TleZ z>=E!_+>Gtoq-WL4!&$D*a5EaqDA>5S;45J1rwND64rxCmLh6U*CvoiK?xd zbs@n|U4*tS@8^5on>tU`bKKDc<;Btn7D#ZZe|~yx%T+gAw&Vzfhf9~=7IzQNq2Jii z=J@f4xVbPXt&X1XcEdUbt3Ayq><%0*A&@@Bz}FbiaeEy^Tbkg#T^(mgKol>%8Dy9 ze3Pb6PLXEB+(!_KM1iM;z0SLWQzy&}%)4maCK0yWm%~~5LQfFTmRxdE>h(5d7?>ePEWKexS8r|KPOM#X0%axdu>($=P9kGY>l=A~)Mq3W-~YSt(cT!E z`uMNf>EF>=&vs58z)e@6!@s90<->NpDKwbVPZ0KGsBY866o`%Gub6SvR*7EkgA@a| z8kGyC)RSko{4QaAWr(3Erf`O}DB_Zznjk(CQUh)gDkg)r`Y^{nX4Qar7bz~<`5SgI|c!MV*n{`pNIZgS5(6NNVfcQHP zag7W>&z=#>>8&BDqCyhKfz6L>H7?_qu8nGt}M&nRqQvcjom07fT2Q%fk2 z0G0G-C`6tJjsEViSAegFT{+)wWXncHq!_{|tk>$jAsjT)B*@3cC>=Vwf-j3&5-sJA zdINBDvnH0Mq>Vr78WU_qw3$fh+w**xLeIrivB96=H`#&P$!x^$MDmXQ8mC20&H_J3a#QpLRX~eV<}*ieZ;orGN}|=he+B zD0{icTha{5|D>qIgNQPBOIc$(U7`#lMV3T;LSd7@c5aMq4f17y zUHQ~MGA3B7($&-mP+||IR8ZuF%BSO%#-6)^7Q1GZKoEdBLdv9%asbqXKmKr@>92AFB*tVxCtxWmXCI*f8o2J_rB z%HaNbYpYFQBXvgnV`zb~N;x-tA}72Sxo3eTc8W3IS<2oZy%h{676f@s4t5vMq96*M zm92Qe1=7M8YM-f)5i5m)vsz7_8TelfCk}rbnCKwUZ zL2iohC`HS-{P1S-*V)$aPw7}NR2e)l=DMU#q%>al6tniffZXnCo4%4CSSY@7qBp)p z**AeL{Y3x95X))IDAxDn5|@-F4UxWsq#b~L!5~)y8^M6IDiaii-Z+vo$98n1ZAHse zp*`)sxqD3{DC_qT)uc0B0kNO$OUXO}dItHncN81j`)64dSfquY9Ww z%rp2%UnPf9H&5Kx0M~1K8r^7Fj>wzo^WaR{qT&cmIf_3QOA_%hljXA-5r#$5=vMQOa1dk^$F?J3?gJQ?x>ry^_VYZ1p zQHS-u%Pz|sVzqX8RB0aS8thMQH4GGRl8`vs^=p=~kB)4X>vlwjwS)(Q*RCxV8Kn-c z@W%*#Zb{ZVBlEi9+;K+RYPkWWr>hwhgU+5`p{z#m=)k!*ol$3()xM^N{fa4sk)oe1 zpvTEpt#)CeH_iZnqT`1&VKstzhb*{6Cgo7V603Sbmr=oUF zmBivL47K|`eT2qN=J)(1hOoiZKN9)IkhxBjlXh+aQ2)+9hDC_2U^JqE`kfm&;k}Sa z%ujb|0;7JRspO5*WmPh-!!=QH1)NmJn_`-#JJq?cCfH6Ypk>H501xaWuu8`(frel$x?BvWu@qr78fj=h}IWbWWZ7cySQ6n)V2_^i>ijqfU zc${?+f2n7M!FhNBoLOi(T2yKjo=(vP`V}&PUP8;%U}mWBkYxpRkybiP^}~fV#H5+D z7+TPx0`A=5>ni#Bb%Vk@ebW+qeh^#U}rz zn^%*bmH8UU64F{nfHN5NrN!l~6!ve=e0TkAWR!T| z+>%})FD!USkg~6llF7~QtUJax<8_{IHCs2V%jrWrGm94#p1lqM{!X>5+K6cn232pH z)5@3B^0Kr|dJGikj7}=E7_@LSBY_J1bY(5HeD`Glc{P)i!ls6yFW&>AX-%}@R7vY! z{9B654#(l89su-3B;znJ)X-)nvXPjc{EL660lBaVWh1T>)&YaQhkxrGvAM%VHGvyc`!y_1*YstR$qJWdjo=pb-AY0 zms%TNCFmzoG!zKmMcWoo|1>jsZ|ol3CJjaE_f0w(tQSS9o@JBG6#&Y2Y}8l z;bjI5jEijm&w5fFywSVr17y6dHhsRr`_9mOvzhXR*d01j(0P2!=gqOPzd0{Mbv|Av ovTVQQeO6Ds`V9CN_tlh4t0GpgOXNr_>7YaK%vSZ}jJGo>v&ibA2LJ#7 literal 4650 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 diff --git a/modules/services/webdav.nix b/modules/services/webdav.nix new file mode 100644 index 0000000..2e6dde1 --- /dev/null +++ b/modules/services/webdav.nix @@ -0,0 +1,68 @@ +{ + pkgs, + config, + lib, + ... +}: +let + cfg = config.aux.system.services.webdav; + + port = 6065; # Internal port to run the server on +in +{ + options = { + aux.system.services.webdav = { + enable = lib.mkEnableOption "Enables Webdav server."; + home = lib.mkOption { + default = "/var/lib/webdav"; + type = lib.types.str; + description = "Where to store Webdav's files"; + example = "/home/webdav"; + }; + url = lib.mkOption { + default = ""; + type = lib.types.str; + description = "The complete URL where Webdav is hosted."; + example = "https://dav.example.com"; + }; + users = lib.mkOption { + default = [ ]; + type = lib.types.listOf lib.types.attrs; + description = "List of user accounts to create."; + example = lib.literalExpression "[ { username = \"user\"; password = \"pass\"; } ]"; + }; + }; + }; + + config = lib.mkIf cfg.enable { + services = { + webdav = { + enable = true; + settings = { + address = "127.0.0.1"; + port = port; + scope = cfg.home; + users = cfg.users; + }; + }; + + nginx.virtualHosts."${cfg.url}" = { + useACMEHost = pkgs.util.getDomainFromURL cfg.url; + forceSSL = true; + locations."/".extraConfig = '' + proxy_pass http://127.0.0.1:${builtins.toString port}; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_redirect off; + ''; + }; + }; + + systemd.services = { + webdav.unitConfig.RequiresMountsFor = cfg.home; + nginx.wants = [ config.systemd.services.webdav.name ]; + }; + }; +} From 6d7026d08b552e24a96abbf7a05a32638bcb803a Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 25 Oct 2024 19:53:50 -0400 Subject: [PATCH 7/9] chore: cleanup old and/or unused stuff --- hosts/Hevana/default.nix | 5 -- modules/common.nix | 6 -- modules/secrets/default.nix | Bin 4970 -> 4905 bytes modules/services/airsonic.nix | 71 ------------------------ modules/services/home-assistant.nix | 83 ---------------------------- modules/users/aires/default.nix | 6 +- modules/users/root/default.nix | 18 ++---- packages/airsonic-advanced.nix | 33 ----------- 8 files changed, 9 insertions(+), 213 deletions(-) delete mode 100644 modules/services/airsonic.nix delete mode 100644 modules/services/home-assistant.nix delete mode 100644 packages/airsonic-advanced.nix diff --git a/hosts/Hevana/default.nix b/hosts/Hevana/default.nix index 2a0a7f0..2f828d1 100644 --- a/hosts/Hevana/default.nix +++ b/hosts/Hevana/default.nix @@ -112,11 +112,6 @@ in home = "${services-root}/forgejo"; url = config.secrets.services.forgejo.url; }; - home-assistant = { - enable = false; - home = "${services-root}/home-assistant"; - url = config.secrets.services.home-assistant.url; - }; jellyfin = { enable = true; home = "${services-root}/jellyfin"; diff --git a/modules/common.nix b/modules/common.nix index 854a2d7..b8e498b 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -48,12 +48,6 @@ # Install ZSH for all users zsh.enable = true; - # Enable NH, an alternative nixos-rebuild frontend. - # https://github.com/viperML/nh - nh = { - enable = true; - flake = "${config.secrets.nixConfigFolder}"; - }; # Configure nano nano.nanorc = '' set tabsize 4 diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix index 6eb92bfa03e9a256dd49f39a32a37ec2bdc549a9..1246e2aef1d4981611b2c781a397cf4fbf7c9cff 100644 GIT binary patch literal 4905 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 bp_k6o)VKzQh?N@gi|nB4Vn=?iit&ZTYuAqD literal 4970 zcmV-w6P4@$M@dveQdv+`02@O@G&w9psVlwGeR0o2!z>2kM`4onWN!@{JL{Vna!kQF z*bPJ6jRTj-Y@-s}zwmUNe-0eF0FvgG1?~^*66zNUk;5YTDO3XVV2*H2QeJ7~ta&)< z)uB~;Bf#3+yqow!l;N1Rm4KUwD{lJ}M^2$9=eMX^x+I^P%rM=C@B1E##;ABfSe&9y z{hHTOWi+06&mp32z>1-rmMwSHXbG{4(VdZgEG2IHr#H{mqY(MVcRn>L7%(g_F?1v{ z#pY%4tycQfKFf}1`&RtOBw!g!*+w=up$6TRaf3E`O7}DmxDn~F9j8YBQn2m>FRvDq z-m1^zxKsfMym&JeY-3n|!!+J}PP#qjsQ6C(R+1u4=+!gaiB}k)34Q|2>VL(MWd>C4Qe1)qrwXYf(A>7PXQ0@P&oN;MU_F6j z|FmS-EnJ-K*tT9Kb<{nX)LOBUQOAbWda;~Jf;%p{Bu-nM!P46^#0B7fX9^-CbTV=) zX!ZN&FmMb6%*Q8*_vGkfq?9rO+&zSC!HUm-Lg^4o^imR3M#q*M!n*l{5v%mss+r#? z)Gnl$?ZV;QcV=ofSO6cL5gzCb~EP;|3i1~rmqNbcC3YU6HsNAeF z_~DpslqdcJ6UF#Z8CBD=@2!**i{cZhtE_036T(FD(0Jx|@gtLv0a1s3o=nC5ddmj@ zSaGPk5`8{Xo(J{Qu7>C?cxwd4-_wO~$Aa%|DL!~e6d#S0QVt_u zUg3t#w6qY4H>PPL64BJb?-l#GeAi-!0H*5`?w@=mn(YD*?Oy}`fk2yKv2$lX{{NSi znv{TB!=W@hYfvK~@YZw2HarZ%d(La-z6926pX{dXc%ns`_xg@!IeE!Op>Z$XOTo=% zA12OkP~TYO5huEYj)mZOYmuA%NO%0=df?;+p9P}}=6B;;MIPJuAbY&omJ3uqazL>Q zIJtX^F9P?GRk|smuzSp&l}z$j_5T}k$W`J#yg;u%vVv`9AcrG`;|cLOUdE)~hwoMB zr;hW-bcuh67(>96y4^mB@2{It6i(HZlzoHhp|uYPU7d;_R_~ILHR7*O$+I!sG-Osw z?KN4T%B(zSyDST0N>5E@(0a9_IEP!&(6^LR-E=ar7I639vMfW3ybOjM{BWJO1)`fr z)tX8$w@NKgU9*Z#3T_yxM|HpJ`WN5!Lhtn<42fL$h z*dAz;vr93$R7JA`cJoD*_5V(OPWl6vjKFy6tib7x;i#%+|C94V6^@wEOp#%$~jySmmSjBMZvDSD+&@#C& zy$4UYmF?a%t%?!$8Nz%?J$J7bY+aT0dWvtW-uidEj{P^8>G^n7cw==_krFvi2DZ#l zPlipY(>&i)e3lArT!;eM2cvzY*X8JE}b(kSwGtjY16!U%hHz(i!LR-U)k$%`9jch1t zU1hs~T*ni0UXm#(vrZM-^T{Tfzz`gv`|{gwi)3VX6w&EpFX>*-MvZXfuum^G<*bd( zgx9y?Q5X(7ibv{9buCKLS-*V!{p`MN&T*G&xaVNPK?g3%)dL z+5OH07eN7)CKyf}f2H-r@<|BBYQKy%0@`yMnUrJrS1P&~NpWQCPDS+CVN)ZRhdswU zTR@@c2rmK*Epp_`G(3?^Hhe_ZZKh8*H3df(7a@wZ}CW`Gk-Y*+>Foq_3gYeL@Ts1gltSm+^gWi><4-9qC1^7(+vZOZSv6 ztVf#JhB+sDVvZqTYgS+yEiB85mW}i_WPz{bY%&wS@dHikqv{+%Gm$|a*{QcN?Pv$@ zkCzz!?JC;zDrHf$r02@@7auqS-VQsY>c4)jO<@OjiLTcQ zDK#1MJ>&`u2)AS!BulO>7p|9q8{ju_&%40A<+=hnB5h67o3i{Vg^4CAVH~p$+?u9^ zcU@6WvQSI5GRZub3C|D4z5M#pZ}w}h?=j)qb0nEGwb*VAT5N)=vu&YUAzg-D-Z53^lt7kvAfuJpA9p`yyN5WGIvoRV#ZQ4?0*ofuWXNrbx%T}4;KsbIB$8Z;sBwF4uk%IH1N zLoQOs%ohQdi!&5JftzTXi=5r^jMcm)Uul>rha@OhtME{anLIykJ32#zF>O=U`TleZ z>=E!_+>Gtoq-WL4!&$D*a5EaqDA>5S;45J1rwND64rxCmLh6U*CvoiK?xd zbs@n|U4*tS@8^5on>tU`bKKDc<;Btn7D#ZZe|~yx%T+gAw&Vzfhf9~=7IzQNq2Jii z=J@f4xVbPXt&X1XcEdUbt3Ayq><%0*A&@@Bz}FbiaeEy^Tbkg#T^(mgKol>%8Dy9 ze3Pb6PLXEB+(!_KM1iM;z0SLWQzy&}%)4maCK0yWm%~~5LQfFTmRxdE>h(5d7?>ePEWKexS8r|KPOM#X0%axdu>($=P9kGY>l=A~)Mq3W-~YSt(cT!E z`uMNf>EF>=&vs58z)e@6!@s90<->NpDKwbVPZ0KGsBY866o`%Gub6SvR*7EkgA@a| z8kGyC)RSko{4QaAWr(3Erf`O}DB_Zznjk(CQUh)gDkg)r`Y^{nX4Qar7bz~<`5SgI|c!MV*n{`pNIZgS5(6NNVfcQHP zag7W>&z=#>>8&BDqCyhKfz6L>H7?_qu8nGt}M&nRqQvcjom07fT2Q%fk2 z0G0G-C`6tJjsEViSAegFT{+)wWXncHq!_{|tk>$jAsjT)B*@3cC>=Vwf-j3&5-sJA zdINBDvnH0Mq>Vr78WU_qw3$fh+w**xLeIrivB96=H`#&P$!x^$MDmXQ8mC20&H_J3a#QpLRX~eV<}*ieZ;orGN}|=he+B zD0{icTha{5|D>qIgNQPBOIc$(U7`#lMV3T;LSd7@c5aMq4f17y zUHQ~MGA3B7($&-mP+||IR8ZuF%BSO%#-6)^7Q1GZKoEdBLdv9%asbqXKmKr@>92AFB*tVxCtxWmXCI*f8o2J_rB z%HaNbYpYFQBXvgnV`zb~N;x-tA}72Sxo3eTc8W3IS<2oZy%h{676f@s4t5vMq96*M zm92Qe1=7M8YM-f)5i5m)vsz7_8TelfCk}rbnCKwUZ zL2iohC`HS-{P1S-*V)$aPw7}NR2e)l=DMU#q%>al6tniffZXnCo4%4CSSY@7qBp)p z**AeL{Y3x95X))IDAxDn5|@-F4UxWsq#b~L!5~)y8^M6IDiaii-Z+vo$98n1ZAHse zp*`)sxqD3{DC_qT)uc0B0kNO$OUXO}dItHncN81j`)64dSfquY9Ww z%rp2%UnPf9H&5Kx0M~1K8r^7Fj>wzo^WaR{qT&cmIf_3QOA_%hljXA-5r#$5=vMQOa1dk^$F?J3?gJQ?x>ry^_VYZ1p zQHS-u%Pz|sVzqX8RB0aS8thMQH4GGRl8`vs^=p=~kB)4X>vlwjwS)(Q*RCxV8Kn-c z@W%*#Zb{ZVBlEi9+;K+RYPkWWr>hwhgU+5`p{z#m=)k!*ol$3()xM^N{fa4sk)oe1 zpvTEpt#)CeH_iZnqT`1&VKstzhb*{6Cgo7V603Sbmr=oUF zmBivL47K|`eT2qN=J)(1hOoiZKN9)IkhxBjlXh+aQ2)+9hDC_2U^JqE`kfm&;k}Sa z%ujb|0;7JRspO5*WmPh-!!=QH1)NmJn_`-#JJq?cCfH6Ypk>H501xaWuu8`(frel$x?BvWu@qr78fj=h}IWbWWZ7cySQ6n)V2_^i>ijqfU zc${?+f2n7M!FhNBoLOi(T2yKjo=(vP`V}&PUP8;%U}mWBkYxpRkybiP^}~fV#H5+D z7+TPx0`A=5>ni#Bb%Vk@ebW+qeh^#U}rz zn^%*bmH8UU64F{nfHN5NrN!l~6!ve=e0TkAWR!T| z+>%})FD!USkg~6llF7~QtUJax<8_{IHCs2V%jrWrGm94#p1lqM{!X>5+K6cn232pH z)5@3B^0Kr|dJGikj7}=E7_@LSBY_J1bY(5HeD`Glc{P)i!ls6yFW&>AX-%}@R7vY! z{9B654#(l89su-3B;znJ)X-)nvXPjc{EL660lBaVWh1T>)&YaQhkxrGvAM%VHGvyc`!y_1*YstR$qJWdjo=pb-AY0 zms%TNCFmzoG!zKmMcWoo|1>jsZ|ol3CJjaE_f0w(tQSS9o@JBG6#&Y2Y}8l z;bjI5jEijm&w5fFywSVr17y6dHhsRr`_9mOvzhXR*d01j(0P2!=gqOPzd0{Mbv|Av ovTVQQeO6Ds`V9CN_tlh4t0GpgOXNr_>7YaK%vSZ}jJGo>v&ibA2LJ#7 diff --git a/modules/services/airsonic.nix b/modules/services/airsonic.nix deleted file mode 100644 index 31af51f..0000000 --- a/modules/services/airsonic.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -let - cfg = config.aux.system.services.airsonic; -in -{ - options = { - aux.system.services.airsonic = { - enable = lib.mkEnableOption "Enables Airsonic Advanced media streaming service."; - home = lib.mkOption { - default = "/var/lib/airsonic"; - type = lib.types.str; - description = "Where to store Airsonic's files"; - }; - url = lib.mkOption { - default = ""; - type = lib.types.str; - description = "The complete URL where Airsonic is hosted."; - example = "https://forgejo.example.com"; - }; - }; - }; - - config = lib.mkIf cfg.enable { - aux.system.users.media.enable = true; - users.users.airsonic.extraGroups = [ "media" ]; - - services = { - nginx.virtualHosts."${cfg.url}" = { - useACMEHost = pkgs.util.getDomainFromURL cfg.url; - forceSSL = true; - locations."/" = { - proxyPass = "http://127.0.0.1:4040"; - proxyWebsockets = true; - extraConfig = '' - # Taken from https://airsonic.github.io/docs/proxy/nginx/ - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto https; - proxy_set_header X-Forwarded-Host $host; - proxy_set_header Host $host; - proxy_max_temp_file_size 0; - proxy_ssl_server_name on; - ''; - }; - }; - - airsonic = { - enable = true; - war = "${ - (pkgs.callPackage ../../packages/airsonic-advanced.nix { inherit lib; }) - }/webapps/airsonic.war"; - port = 4040; - jre = pkgs.jdk17; - jvmOptions = [ - "-Dserver.use-forward-headers=true" - "-Xmx4G" # Increase Java heap size to 4GB - ]; - } // lib.optionalAttrs (cfg.home != "") { home = cfg.home; }; - }; - - systemd.services = { - airsonic.unitConfig.RequiresMountsFor = cfg.home; - nginx.wants = [ config.systemd.services.airsonic.name ]; - }; - }; -} diff --git a/modules/services/home-assistant.nix b/modules/services/home-assistant.nix deleted file mode 100644 index 03cd5e8..0000000 --- a/modules/services/home-assistant.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.aux.system.services.home-assistant; -in -{ - options = { - aux.system.services.home-assistant = { - enable = lib.mkEnableOption "Enables Home Assistant."; - home = lib.mkOption { - default = "/etc/home-assistant"; - type = lib.types.str; - description = "Where to store Home Assistant's files"; - example = "/home/home-assistant"; - }; - url = lib.mkOption { - default = ""; - type = lib.types.str; - description = "The complete URL where Home Assistant is hosted."; - example = "https://home-assistant.example.com"; - }; - }; - - }; - - config = lib.mkIf cfg.enable { - services = { - home-assistant = { - enable = true; - # opt-out from declarative configuration management - lovelaceConfig = null; - # configure the path to your config directory - configDir = cfg.home; - # specify list of components required by your configuration - extraComponents = [ - "default_config" - "esphome" - "eufy" - "govee_light_local" - "met" - "radio_browser" - "tplink" - ]; - extraPackages = python3Packages: with python3Packages; [ numpy ]; - config.http = { - server_host = "::1"; - trusted_proxies = [ "::1" ]; - use_x_forwarded_for = true; - }; - }; - nginx.virtualHosts."${cfg.url}" = { - useACMEHost = pkgs.util.getDomainFromURL cfg.url; - forceSSL = true; - locations."/" = { - proxyPass = "http://[::1]:8123"; - proxyWebsockets = true; - extraConfig = '' - # Security / XSS Mitigation Headers - add_header X-Frame-Options "SAMEORIGIN"; - add_header X-Content-Type-Options "nosniff"; - - proxy_ssl_server_name on; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - - proxy_buffering off; - ''; - }; - }; - }; - - systemd.services = { - home-assistant.unitConfig.RequiresMountsFor = cfg.home; - nginx.wants = [ config.systemd.services.home-assistant.name ]; - }; - }; -} diff --git a/modules/users/aires/default.nix b/modules/users/aires/default.nix index 8cecc94..10013d6 100644 --- a/modules/users/aires/default.nix +++ b/modules/users/aires/default.nix @@ -76,8 +76,12 @@ in userName = config.secrets.users.aires.firstName; userEmail = config.secrets.users.aires.email; extraConfig = { - safe.directory = "${config.secrets.nixConfigFolder}/.git"; + core.editor = config.aux.system.editor; + merge.conflictStyle = "zdiff3"; + pull.ff = "only"; push.autoSetupRemote = "true"; + safe.directory = "${config.secrets.nixConfigFolder}/.git"; + submodule.recurse = true; }; }; diff --git a/modules/users/root/default.nix b/modules/users/root/default.nix index a8c6062..cfc3fc6 100644 --- a/modules/users/root/default.nix +++ b/modules/users/root/default.nix @@ -1,20 +1,10 @@ -{ config, lib, ... }: +{ ... }: { - # Give root user access to run remote builds home-manager.users.root = { home.stateVersion = "24.05"; - programs = { - git.extraConfig = { - safe.directory = "${config.secrets.nixConfigFolder}/.git"; - }; - ssh = { - enable = true; - matchBlocks = config.secrets.users.root.sshConfig; - }; - zsh = { - oh-my-zsh.theme = "kardan"; - shellAliases.nos = "nixos-operations-script"; - }; + programs.zsh = { + oh-my-zsh.theme = "kardan"; + shellAliases.nos = "nixos-operations-script"; }; }; } diff --git a/packages/airsonic-advanced.nix b/packages/airsonic-advanced.nix deleted file mode 100644 index 3208420..0000000 --- a/packages/airsonic-advanced.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - nixosTests, -}: - -stdenv.mkDerivation rec { - pname = "airsonic-advanced"; - version = "11.1.4-SNAPSHOT.20240628143437"; - - src = fetchurl { - url = "https://github.com/kagemomiji/airsonic-advanced/releases/download/${version}/airsonic.war"; - sha256 = "fde2c921e26cf536405118c5114a2f42fe87ff0a019852f21c80f4c68a2431ee"; - }; - - buildCommand = '' - mkdir -p "$out/webapps" - cp "$src" "$out/webapps/airsonic.war" - ''; - - passthru.tests = { - airsonic-starts = nixosTests.airsonic; - }; - - meta = { - description = "Free, web-based media streamer providing ubiquitous access to your music."; - homepage = "https://github.com/kagemomiji/airsonic-advanced/"; - sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; - license = lib.licenses.gpl3; - platforms = lib.platforms.all; - }; -} From 68ea4de28cf4cb5020a51515602d68cf15960dc7 Mon Sep 17 00:00:00 2001 From: Andre Date: Sat, 26 Oct 2024 11:56:09 -0400 Subject: [PATCH 8/9] Hevana: Goodbye Namecheap, we Porkbun now --- hosts/Hevana/default.nix | 20 ++++++++++---------- modules/secrets/default.nix | Bin 4905 -> 5006 bytes 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hosts/Hevana/default.nix b/hosts/Hevana/default.nix index 2f828d1..9c4b480 100644 --- a/hosts/Hevana/default.nix +++ b/hosts/Hevana/default.nix @@ -8,13 +8,13 @@ let # Where to store service files services-root = "/storage/services"; - # Credentials for interacting with the Namecheap API - namecheapCredentials = { - "NAMECHEAP_API_USER_FILE" = "${pkgs.writeText "namecheap-api-user" '' - ${config.secrets.networking.namecheap.api.user} + # Credentials for interacting with the Porkbun API + porkbunCredentials = { + "PORKBUN_API_KEY_FILE" = "${pkgs.writeText "porkbun-api-key" '' + ${config.secrets.networking.porkbun.api.apiKey} ''}"; - "NAMECHEAP_API_KEY_FILE" = "${pkgs.writeText "namecheap-api-key" '' - ${config.secrets.networking.namecheap.api.key} + "PORKBUN_SECRET_API_KEY_FILE" = "${pkgs.writeText "porkbun-secret-api-key" '' + ${config.secrets.networking.porkbun.api.secretKey} ''}"; }; @@ -76,15 +76,15 @@ in defaultEmail = config.secrets.users.aires.email; certs = { "${config.secrets.networking.domains.primary}" = { - dnsProvider = "namecheap"; + dnsProvider = "porkbun"; extraDomainNames = subdomains; webroot = null; # Required in order to prevent a failed assertion - credentialFiles = namecheapCredentials; + credentialFiles = porkbunCredentials; }; "${config.secrets.networking.domains.blog}" = { - dnsProvider = "namecheap"; + dnsProvider = "porkbun"; webroot = null; # Required in order to prevent a failed assertion - credentialFiles = namecheapCredentials; + credentialFiles = porkbunCredentials; }; }; }; diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix index 1246e2aef1d4981611b2c781a397cf4fbf7c9cff..0d47e9a1e34f4bbeb62ffedb3ca5a7b306997384 100644 GIT binary patch literal 5006 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 Yp1+C;YBzYQZIuQM!5)R21Ggk$o-P@vYXATM literal 4905 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 bp_k6o)VKzQh?N@gi|nB4Vn=?iit&ZTYuAqD From 548eb5bb84fc27d6d3c1c709b2ff16de1ce8b458 Mon Sep 17 00:00:00 2001 From: Andre Date: Sat, 26 Oct 2024 12:45:21 -0400 Subject: [PATCH 9/9] General: Add Chromium for PWAs --- hosts/Khanda/default.nix | 1 + hosts/Shura/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/hosts/Khanda/default.nix b/hosts/Khanda/default.nix index f9cef77..e78761d 100644 --- a/hosts/Khanda/default.nix +++ b/hosts/Khanda/default.nix @@ -72,6 +72,7 @@ in "com.github.tchx84.Flatseal" "com.github.wwmm.easyeffects" "md.obsidian.Obsidian" + "org.chromium.Chromium" "org.keepassxc.KeePassXC" "org.mozilla.firefox" ]; diff --git a/hosts/Shura/default.nix b/hosts/Shura/default.nix index 95fec54..b31f726 100644 --- a/hosts/Shura/default.nix +++ b/hosts/Shura/default.nix @@ -89,6 +89,7 @@ in "com.github.tchx84.Flatseal" "com.github.wwmm.easyeffects" "md.obsidian.Obsidian" + "org.chromium.Chromium" "org.mozilla.firefox" ];