Move forgejo to hetznix

This commit is contained in:
Oliver Davies 2025-01-05 15:18:56 +00:00
parent 1156a9af04
commit d50f92ca1b
14 changed files with 120 additions and 99 deletions

View file

@ -15,9 +15,17 @@
./secrets.nix ./secrets.nix
./security ./security
./services ./services
../../users/opdavies
]; ];
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ]; nix = {
extraOptions = ''
trusted-users = root opdavies
'';
nixPath = [ "nixpkgs=${inputs.nixpkgs-2405}" ];
};
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [
80 80

View file

@ -18,6 +18,7 @@
# TODO Refactor to use a wildcard certificate. # TODO Refactor to use a wildcard certificate.
"2020.oliverdavies.uk" "2020.oliverdavies.uk"
"bootstrap-with-tailwind.oliverdavies.uk" "bootstrap-with-tailwind.oliverdavies.uk"
"code.oliverdavies.uk"
"florida-drupalcamp-tailwind-css.oliverdavies.uk" "florida-drupalcamp-tailwind-css.oliverdavies.uk"
"luke.oliverdavies.uk" "luke.oliverdavies.uk"
"phpsw-sculpin-demo.oliverdavies.uk" "phpsw-sculpin-demo.oliverdavies.uk"

View file

@ -1,10 +1,7 @@
{ {
imports = [ imports = [
./acme.nix
./caddy ./caddy
./forgejo.nix
./openssl.nix
]; ];
services = {
openssh.enable = true;
};
} }

View file

@ -0,0 +1,28 @@
{ config, ... }:
{
services = {
forgejo = {
enable = true;
settings = {
server = {
DOMAIN = "code.oliverdavies.uk";
HTTP_PORT = 2223;
};
service = {
DISABLE_REGISTRATION = true;
};
};
};
caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = {
useACMEHost = "oliverdavies.uk";
extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}";
};
openssh.settings.AllowUsers = [ "forgejo" ];
};
}

View file

@ -0,0 +1,10 @@
{
services.openssh = {
enable = true;
settings = {
AllowUsers = [ "opdavies" ];
PermitRootLogin = "no";
};
};
}

View file

@ -13,7 +13,6 @@
}; };
homelab = { homelab = {
forgejo.enable = true;
gitea.enable = true; gitea.enable = true;
immich.enable = true; immich.enable = true;
jellyfin.enable = true; jellyfin.enable = true;

View file

@ -2,8 +2,4 @@
programs.dconf.enable = true; programs.dconf.enable = true;
services.logind.lidSwitchExternalPower = "ignore"; services.logind.lidSwitchExternalPower = "ignore";
age.identityPaths = [
"/home/opdavies/.ssh/id_rsa"
];
} }

View file

@ -2,7 +2,6 @@
imports = [ imports = [
./audiobookshelf.nix ./audiobookshelf.nix
./beaverhabits.nix ./beaverhabits.nix
./forgejo.nix
./freshrss.nix ./freshrss.nix
./gitea.nix ./gitea.nix
./immich.nix ./immich.nix

View file

@ -1,34 +0,0 @@
{ config, lib, ... }:
with lib;
{
options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo";
config = mkIf config.features.homelab.forgejo.enable {
services = {
forgejo = {
enable = true;
group = "media";
stateDir = "/mnt/media/forgejo";
settings = {
server = {
DOMAIN = "forgejo.opdavies.uk";
HTTP_PORT = 2223;
};
service = {
DISABLE_REGISTRATION = true;
};
};
};
caddy.virtualHosts."${config.services.forgejo.settings.server.DOMAIN}" = {
useACMEHost = "opdavies.uk";
extraConfig = "reverse_proxy localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}";
};
};
};
}

View file

@ -1,18 +1,19 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 IsVD3g kacSrvgn/CGIwU05AkK6UGhxVm5oO/FRK2jgH1qHVg0 -> ssh-ed25519 IsVD3g ZdGzOgZfbKkfBzwZRUvUm9HMBpJIJZhtcaxGSYOiXCM
JXzp1+Al5O8sBw3a4td7RA3HVP6C9tIdvvgZFZ9Se5w 99CJFSIYTpHX86rx2msqZudPCUBoW1hP9+uySFIuTfg
-> ssh-rsa +vTWQw -> ssh-rsa +vTWQw
ndPfUjqCzN5uqcrRvb/OGKmBouyM6qwf5ZmnfMg49NXcxt7bwCK0v7iPtOOOgDI2 KJKWXbY/qa2pZ9Xb6v4ca41rVY0nm6b/+pgcoKU6dbkRiHR3KLFw+E8CZT1dHkXY
34Oi1EGgjkJ/YY+nxKuHZtRlq+wySbqeLVXUmb52reW4sj4PHEZOsFIO8Dnxmx9P 3Az85roddG6O0nb39TQcteVqd0fKwQxmvFcpUsEaStDQiHtHc9r1A0mbUgmEcleP
9AtISLIrdJd3V39v4+pXOo9tBvBcTAs7JKqDGFcfp7gcVH0vLga0l3jLUspZiNB9 dRo9U+jWuSnSFhnlNmul58/T5C92edlLvbGBo28BKIG2Jg4bdonDX4FUGmyfnUof
DXW6Gbttg8Z6El9J1fAqVXcDE3q7pPZE//zu/cIRyt4/kbK76bx7yEaKAy2GycZS EicxZ2UxlEq6NdOm4FdV7df7GOMjyCSfRZ0XaZ4sPU/aa7iV6Nm6pIXgKZZtviNf
SCjjxsRtkBHOKQEQnFdKfWD/AG1USNmoiv4zHx1G9pIVJJA47yNWLwsx8Q7VrfNS 9ef/a5z6HgsQpHZ2Df7GE38I6qLKhG7Aau2gAiE+d4amg+djKmm2++WKvWN2Y5YF
CXpxQt+ElOH5pRTpXMAx1/rHs/NpXMMUm0EVvWKTNbrbHvepTUvEYABo+DKicRVI PtxFvLhpc4vjzBOhwiKYjd3BcFCuJZQ2+SsLyNxhdb4J/v1MNAxNFKLdLX+/cvpk
3H6RYWedXZ9ggpfID66CbF4HFtVJTXwHhvdzGfdna8J1Dy7nJyevT/fCz8tqlVIa pnITQShIRDZAd2GEBdOk+4PCCoEnBW6Y0IJGLv5NLYyLTSL0pKLIiTN0GKnWAv7B
EFEFqUardSWj0zFL3PQgk2qmrC9W1+isp83Rioi/n/ow8O0Q+XlzO3rQjNYWtEgp 1n+yHFRekC0G7AaHMB/JIemFwoTLq9Wm/mFTPol9UJTfAgem6F7895IpFkZAe3Lv
jufzw+3YI9HuNLPXB0xBfSgwP8Ao6iYskE+8IL+xu4ITCec/ItpoYk1Yeb38G2HQ +0QHOgBQpNwVTtqZWi8cTgul+b9FLKd/99pSk72b7hIFF36AoyS5KeJfoUfXLONc
6JlIseQIgpOzw8DlMMWtWjO4U+9JAZh5XOlEgwFPFL25m//24UM7RB3/Yd1/it8i gZa1wra+VIaqV5gMihfb5Ll49QYRhlGn7x3KUkyuxlw6JWby6r6sAYRWprh0JGRb
cNaHR1L2/P8k5FnbR2jhxcTb2tEzlFo422brC0r/Ilc LmFQzI4KiokzD8fq2wCUcr8T90EeAqkTUp6D3b0azoQ
--- MqcbFcs1myK1Dn1h/PQKZ59BdgYXIifkp0DkvoNQaL4 --- lTlcpuKW/KS2v/85o9veQsuWTVRGl+ucx511oqQF8uY
€ÒWٱ෹Üy ô«ŞČóÚĆ[†“•†(ŽäíĹś‚:Â`ťÖe•oü,'™P0
šj`šÊ$ÜEŠ¬n¥ï‡_<‡íý¤²í%s`#¦d,x¿MGëdf:õÄ*`z‰öRX–¯>ýÄKJâ¶0ž€ÙBÄØDÂj<Å£¤´§=% “źZ7kľ
Döź™^Ô|mP±ť rWĐvíFî”*š÷vş;ydXîiôN<C3B4>¨bTáôεŔ

View file

@ -1,20 +1,21 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 nmofLg X3PF+8zBQJgqyt8PckMdeThC89nOXHlCuVdZ8SJzDi8 -> ssh-ed25519 M7i4ow DupawEkDJ8n4DcTLZyW6O13ow5OGZ0TGR074SLo49A8
bi7GBOC2TyAtFCYW6RjtZnMeb04Eld0TNcS8yPY2eLU Q+DnroHs3Yl1/El80FH4VMXgophJGaJ9/HhubisZtkE
-> ssh-ed25519 IsVD3g 248O8+OBY5b0Y5r23rWZf+MQZH+Mcz3+dbiXxiu96S8 -> ssh-ed25519 IsVD3g 9yROmUaS4kVmTJUv39qdDvpYxsyegYOHdWwGreWG3XY
r7gDLWAn0vfk/FYxyXOhd1sQSz48PnW2MNY1gwjAMZg xe4D/5aP6zdQMEuQEMin3sqJHhJt/hXSbAIuqDEvDfY
-> ssh-rsa +vTWQw -> ssh-rsa +vTWQw
pqQzjCL1Nh31rkMtmN767I5V/7arkR2enx6Zt2IG8Wp+h7wkiziZjGWxIebqOulF ZlK8ThN/NUf9o2/yshAM3we/MTp0S02RprfjmXE5sXpLwQp/V9VFtoDfYpi++Caq
nmnxolpqtv1+OQiMnDfmXMQsMaLwuIbk+EoMuIEmFQrFRKvYrZL/uNJv3WKRYfif l84x0r1/QofJRfaRuWdtVEh9SPrAYqXRnz3BqGHmdu0ds5YxvkXr51nWly9RzNrH
x2fgJwfv1+lmj0vij6wo5QuWV7QmNSXd0kU7s69whxysgz+PzUnMnQXAee7kek3P JWVMLnuNMq509Xp+GLDxCTqPhM6qMa6t7gWkfv67FxTmw4+RT6BOBSnF2BUN8jnB
5TsOMWd3/zqIE1VWtroJjtaWYZRN0zaTU1DWeQN33u0TFVXakFwzvAT0u8YCa//C wOWS1T5l/n+Y/YSG8TGuUG1ftDm/60wEtbCQmwV3nmEtHDkZVYLH289GFhf4jiym
VzfGTCj3SCXrmVU1h0RcXUsxr0Z+BNb3NYcsDUKK9hFA+DETugwll63FmU1Et9tR kpmUxJMK87s/Kj5w3w2IfDOJwSJ6G6UmoQIcZBXdszLTUjRZFzioqGDvs4h5hu6P
LEysFpTKvkpjg8OHWlqA8ax1Lkv5B1QCFua1CPixk7G/XSQKGq45n8VNtxeBOhzp XbvpTN8ajXH4gg8rzB/Jczl9K8L2ojQNH/qTKdnyUP5RP8njEsHSEFzCwtjupi8R
BdQwxMu2LuNwYxHB9zSuTXnUA16WukTpPLmC21akGaQj6QDLr+KSCOOjR94QG07l +BJla2EcrDx5vuulE1nbHy9cFrtwdLDhp+DlU9DcKyUUZ5Zv96ao+5Jf1yRAcm86
n3PuDVbjWOcpegmdfvKtBaLol4bL8dHIcGJqa30OW4RdHSKR+7dfg0rZt2BpAN3p OubYiu3eakds3AssCYXW+pNoxa76P8ez9bcjVJrgaMFjiElXxMq8qUyDMqAc+UBF
F3cC0Gy73DIYYGdEsg9iXjqIMDVHe051VfbsjETiMuQOOxDc1onrWRhAKV3BVhge Sk2/Bw7oD2OTVQINdWM+BwqNaDH1aGs/Y+ua0x+ahkuYf/6L9PHyWe85sBCekhSI
FGNU9oJ+xLkDtMH50ksngVvZw/zu7NwP45wzeGQOOmlKI3RGUX81xrt0QXGpI6dH D0Qx/RTMlOSDPbN9PoJFO39STIfA6Eo/k4y8UoVk1A6yYeT9c6/0YXTyjNaSazGV
OBOMVA3kMEVnNf2mWaFpJnmAvkiSnPvlN3+Iaigc758 5Alc7y4ovF1+vVoIrHo5toTj9HWfolTQEKlj3GhnsFU
--- PFEOB74ICKKmUBSAbcK+91U7KC8wjhKsibwzbn+7owk -> ssh-ed25519 DCAArw YSWPa5Kp+3Xgtdd+CAjkmFKZGNijCeqdfmn3Pya50VY
zˆbÄ!ª Á°Þ¡œ+%JøZ…cþ‡Õr½lç<6C> kF8ko6J5D1WRJfbtcei7xrQbLhpiHvcwi7JUWI65x6s
t-$ÚõÝIe´œŠ±5ÃŒW<C592>“Í|º©ƒO&A*L˜0Ê3Т"<19>yÎ(†vÛ ã|Áµ©3f¸ --- JJYs6WWGpPxT0s1tEFA/5vZswQiF59V5BHejKwrxJps
`aþ1+ÊŽZ2²´_f¤r¨ZæY¥m,̽ìËBOj¢¦•÷#=ö‘[¤ -?z•™£”<C2A3>Srø/ 1ûšbY6§µGK~Z¶uŽÀ-™²°7@ØGêtb•Ôg J

View file

@ -1,6 +1,6 @@
let let
hosts = { hosts = {
hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMk8n03VeShc0q4ztcaNrmScwM7u0j6fFVtmupy2RlM2"; hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN/Lylteb1le173In/X94jls+CXFg9RGCyJPBOL90zDD";
lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n"; lemp11 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZ+ljJKd6uqdAk+fqxwtObI4Stab2N9Bjo4QFHY/v8n";
nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; nixedo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage";
t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage";
@ -8,6 +8,7 @@ let
users = { users = {
opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw==";
opdavies-hetznix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJStz4WQ5IerIyi8HqLB1gwoiKr87uH/bI+Q9sDxVu+a";
}; };
in in
{ {
@ -15,6 +16,7 @@ in
hosts.hetznix hosts.hetznix
hosts.t490 hosts.t490
users.opdavies users.opdavies
users.opdavies-hetznix
]; ];
"cloudflare-opdavies-uk.age".publicKeys = [ "cloudflare-opdavies-uk.age".publicKeys = [

View file

@ -1,19 +1,19 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 sHhprA 51laRPX9Ekpa1X63TQKvlZSFTBOLwC8s2aDzvD2OmlE -> ssh-ed25519 sHhprA Nsfwkbjh1xMbkfvYoJQ2eX4Os7eW/ync1TVDSRUtTwE
Xs7z0c2uQxHJFgmDsczy8zpRl9wnacmBMr81xxJ4D0c DIYEChpd5XLo7+8Bp8b4KKR6WjRkBOCFKvYs9HMaDXY
-> ssh-ed25519 IsVD3g BWtBEJcfYhG00l3QLLW4xN9v57FwOSxjvdU2eZJ2tmE -> ssh-ed25519 IsVD3g I+0C0X1Yjw7CFIko83N0AUB5uxcc2xAw4MMuifQiEgw
TzEo/OkjGQgWDInAj6zEYbPwMGxOX7bdkG/Z+qsbe2E rBx/qs+c7l74ehORmS/eXO1X62AaW7Q4V6pVNTK92Mg
-> ssh-rsa +vTWQw -> ssh-rsa +vTWQw
pi7x6nnLM4UgQAmY2y+EhQJK+W6nwL0atKIhSTt257lWeXy+AloOeTKlhbrGxagi g8aLlLKplkGAapAxZVIEmWqAOYBghIIN6TB1p9qGjsIGx9g6wG0qRcMkLL6rqmry
KTEO807hRMaKfxINUX4l9ui+8beXBfszgmGAISm8QSj3h3HKg48/hUrLJbsf+LvF c7MPi9Lk4k65+mijhFL6d1rwwi0o0tHGK913xdCv1OxwjjyqCWAXGAawgtjMDEZz
HbN+5rAuGk4Of7ogotbTK+kC7dD2sv66lIX22RdiuaYv+hjfV/NWrgDLbmBtJxjL bj9jj1Kpm+qvWf5KpVtEzkwe/Im4TXfoEhNC4rAGz3pDNy6OBV5Ztlt/icVhzVPy
04uzxXC9bCyhZuVr7MduXMgOK7YkvDOd2yDqawq7u4K/H8Sf6EmFwT7eY0AlkKXO yFSLkpLOgy2/fBMjesdLFgoeTK2kB3GoMioXNpCpAKHl8J8tiVHr4vFsE+mGJQ6y
3rBu/59Hu4I4gY3uqeqQyfdwQTpy12Ke6Aqs3vMEs1FTlf6Tpp/5aVFFckcl/F4M bTG0BWacmGuuqXYYWfmJ8TyduMCkWQAqmHEPqMInpCmXYU1QS+vgULeM4Zw5II5j
dUTQurBudb4ECnYDGnaCFFb7nnBiUbe7ZvPfJnJNSOOdWH1v5ugo/KVqCJkB3Nbv /XQ1Bms50qlBOYkVitRWEz8R83PFqsIvtAsKf+xkjluJAI1fhlF/+YKLzfDfQRLL
PAOvBo08/kmxl6+gZvNRyEjy1TY+1REYX8W4Rfpo5QjdUvCrBCxuybM7eVYMPVv5 I4RDfLpC6QaCvbYixKHaScfQYq+L389o6m4kHBoqj8diaN26lewADrMULxNhW7Lc
LWfymQ61wNRV+AQx+/pOC5K/S9xXnPyJCoqqH9OnPLSMLuOizMo+IcZyP67EnP2L bVnUkU/yA22hMW22vhIlq2JJlIE9kUh/GXWxriM6bLI2hkCeWIH1IkjTELl+8RtL
uESGw15697pCVf0oMuNmX2K/KkC+RcVkf6ZWNAECCYSox9Z/aHQCixLWFQoX1XN7 aDyO+Dg68IzEx6yA6MuUoF7oeL6bgT+p7+huPAyg9ZHuJHEX6j8oi2WxHqzi7g54
9lajTEB/XFGCFTNZ/0C6Vj34vvSr9ymZOtLRdAX5IZjpZKmzQroZo1YMxsRRg0C4 qH+iEw6jiaYabl/XYnrx1EsX4prGuGNvpbivOMPnjU3eIyo//U0pmioPMct9a3e0
weEc0dVqdYi9bNSr+2QotCs1G2ezTbw7LY911GEMJzY ZUwAjidqvIsrUKD1iibTgUlIIIpehqRfEwxJ+fZ2xCs
--- Tjaef+2qN//4+3hnlMoE+ViliwMOFDdN3LB3RO9hQL0 --- FjYSFcft/ABIEmVoaPiwxBMzI0TYHAHnsdxUVwbyTSE
_˛VÇuĎR<02>çaőĚůłŠ<C582>˛ÁŁ·<C581>x.ŕF2K«Ębüđ°W¬§A.}ž µ|’Ł(Íô7ű Í÷z5tLU˛ŇłÔ'(Pʵsááň}zçŃ3K?¨­ń”«¤H<ş(Ľ †íz@·±Ñ™ä¤ÁØ\¾àT”Á¦$~üxë3»-hتñ<C2AA>ÉÕ¬ÉÛà<!,«oŒªâõ8^t±àèvËõúO3PLŒ+ˆ¡âïU¯ÏvwCBš<42>¨ü6=Õœªš÷<C5A1>A¨Â[g¤<

View file

@ -1,8 +1,13 @@
{ pkgs, ... }: {
pkgs,
headless,
...
}:
{ {
users.users.opdavies = { users.users.opdavies = {
description = "Oliver Davies"; description = "Oliver Davies";
initialPassword = "opdavies";
isNormalUser = true; isNormalUser = true;
extraGroups = [ extraGroups = [
@ -11,6 +16,10 @@
"wheel" "wheel"
]; ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="
];
packages = packages =
with pkgs; with pkgs;
[ ] [ ]
@ -19,4 +28,8 @@
firefox firefox
]; ];
}; };
age.identityPaths = [
"/home/opdavies/.ssh/id_ed25519"
];
} }