diff --git a/hive.nix b/hive.nix index 1676f1e..c93acef 100644 --- a/hive.nix +++ b/hive.nix @@ -50,7 +50,7 @@ let arch: p: import p { config.allowUnfree = true; - overlays = import ./pkgs/overlays.nix; + overlays = import ./pkgs/overlays.nix { inherit sources; }; system = arch; }; @@ -61,7 +61,7 @@ in { meta = { specialArgs = { - inherit metadata; + inherit sources metadata; }; nixpkgs = defaultNixpkgs; nodeNixpkgs = concatAttrs (builtins.map mkNixpkgs nodes); diff --git a/machines/hackens-org/_configuration.nix b/machines/hackens-org/_configuration.nix index 568a32a..0edbce0 100644 --- a/machines/hackens-org/_configuration.nix +++ b/machines/hackens-org/_configuration.nix @@ -16,6 +16,7 @@ ./matterbridge.nix ./nginx.nix ./orga + ./ragb.nix ./snipe-it.nix ./secrets ./static-sites.nix diff --git a/machines/hackens-org/ragb.nix b/machines/hackens-org/ragb.nix new file mode 100644 index 0000000..719f6db --- /dev/null +++ b/machines/hackens-org/ragb.nix @@ -0,0 +1,78 @@ +{ + sources, + lib, + pkgs, + config, + ... +}: +{ + services.django.ragb = { + enable = true; + src = pkgs.ragb-src + "/frontend"; + settings = { + DEBUG = false; + WEBSOCKET_ENDPOINT = "https://agb.hackens.org/api"; + ALLOWED_HOSTS = [ + "127.0.0.1" + "agb.hackens.org" + ]; + DATABASES = { + "default" = { + "ENGINE" = "django.db.backends.sqlite3"; + "NAME" = "/var/lib/django-ragb/ragb_frontend.sqlite3"; + }; + }; + }; + processes = 2; + threads = 4; + port = 9991; + extraPackages = p: [ + p.authens + p.pyjwt + ]; + secrets = { + SECRET_KEY = config.age.secrets.ragb.path; + JWT_SECRET = config.age.secrets.ragbJWT.path; + }; + }; + services.nginx.virtualHosts."agb.hackens.org" = { + forceSSL = true; + enableACME = true; + locations = { + "/" = { + proxyPass = "http://localhost:9991"; + }; + "/api" = { + proxyPass = "http://localhost:9999"; + proxyWebsockets = true; + }; + "/static".root = config.services.django.ragb.staticAssets; + "= /api-docs" = { + return = "302 /api-docs/"; + }; + "/api-docs/" = { + alias = "${pkgs.ragb-src + "/api-docs/"}/"; + extraConfig = "autoindex on;"; + }; + "= /api-docs/patch.json".alias = pkgs.ragb-src + "/frontend/patch.json"; + }; + }; + + systemd.services.django-ragb.serviceConfig = { + Wants = [ "ragb-backend.service" ]; + }; + systemd.services.ragb-backend = { + script = '' + export JWT_SECRET=$(cat $CREDENTIALS_DIRECTORY/jwt_secret) + export BK_FILE="$STATE_DIRECTORY/data.json" + # export RUST_LOG=info + ${pkgs.ragb-backend}/bin/ragb-backend + ''; + serviceConfig = { + LoadCredential = [ + "jwt_secret:${config.age.secrets.ragbJWT.path}" + ]; + DynamicUser = true; + }; + }; +} diff --git a/machines/hackens-org/secrets/default.nix b/machines/hackens-org/secrets/default.nix index 121200b..1d70be9 100644 --- a/machines/hackens-org/secrets/default.nix +++ b/machines/hackens-org/secrets/default.nix @@ -3,6 +3,12 @@ age.secrets."django" = { file = ./django.age; }; + age.secrets."ragbJWT" = { + file = ./ragbJWT.age; + }; + age.secrets."ragb" = { + file = ./ragb.age; + }; age.secrets."snipeit" = { file = ./snipeit.age; owner = "snipeit"; diff --git a/machines/hackens-org/secrets/django-gestiohackens.age b/machines/hackens-org/secrets/django-gestiohackens.age index 648eda5..77148e4 100644 --- a/machines/hackens-org/secrets/django-gestiohackens.age +++ b/machines/hackens-org/secrets/django-gestiohackens.age @@ -1,31 +1,30 @@ age-encryption.org/v1 --> ssh-ed25519 JGx7Ng WteJXpTnBzKZpognUrmY7vJkwvgxG2JlqPOkJ1BnoU0 -Hn44BN9Sb0BhgWBDZR7Xm4AAeRY2LE7ILgtBi8D/QTA --> ssh-ed25519 kXobKQ H0VlX0C2BfZWzA+c7tGaokBTGR855cTlE2qlZkKyZXg -9cTALIMwuoLyfjQ6AwzM+DWE1jLmxzoKuQ0NsGud+Ik --> ssh-ed25519 7hZk0g XYW9TFHZ2ule9rmiOeTGPLEGEEhkTGvV946UwV1XVwQ -eOlzfpFFROTb2zni2A0cKwmnjvaUsZpSvDqW8E9mMZg +-> ssh-ed25519 JGx7Ng UMbo24t6bweWPSYr1MUpjW96t3+usu+M3+WmLkJpSTc +vW8wOX/E6p3YEh8rRObScdcKB+uCtVIEOQ58HXSHYRU +-> ssh-ed25519 kXobKQ wEsnzLjnW+tdNvBHYBL+pLQh0GsAviTiD7tODc+5nSc +gW8TEewhh4N0ed6KNe+PYBQuEmuL8iO+KxLQt2imbbo +-> ssh-ed25519 7hZk0g 2Y9Y3DSR9Zt5N1XXckNMlHEpczvsyruqBue54fC4lQY +1UTRMGuN4uXR2ljP+3h7y58dU9C4GCkfKMY6l6GgRas +-> ssh-ed25519 5rrg4g 6ILvq1I6OlTmvxhgo145YUdpNxZomFvCYl7nguL10kI +7DPETzO4s3J4+lHIlkWvo4M0zH2792NttKBIJ09xii4 -> ssh-rsa krWCLQ -1JcEgjO1//IKYtTSj6bwhjudrpcYuaHAa62lhIL0m6ScSaMcZhGIy8SWU+LvlgM4 -eGYvzinsVhxCAgSJnD81yKSOjU0U+BoY1egx6DTAD59YR+IJ299yM1kjqjJhP3lc -fomOiDbr7mz0UoD2/Pe1Q2ps49rYkVH+ms7Dt9jKyYh7TwsyWitsvHEoXHjhG/u3 -PjLCVe3ngJtPagl42g3otOpmiZ1ycx/HP9ppJvQYoH6VUt9x9nPjUqtUQf66jwSn -87lfDXpGoyPO/pKX+IR45zGE4mVHfYsGzfNJMHyE2AImqxfAoZxqmRdQiQLCVihy -4xuHqWeuHN+Q6KAvhlnhRA --> ssh-ed25519 /vwQcQ ShQtj+r8CjS6zB2T4IYps21Wt8psIzrrff9NmibGQRI -dGBMjJfL11Asv+w5FrTJo1iknZZQNekcxoaLxmzAJAI --> ssh-ed25519 0R97PA hhRQZ7ddcQtQfwLHADUz6LI3lofzMxNfsLBSsN+keUA -sMKxjsYj+f75tMsM6d4dqLgTozzRcCzZQf9rgjRi4Wk --> ssh-ed25519 5rrg4g OETtCVypHjgLnenHGL6inIhhestIUEF0LVfJVu6HBSY -4GWYGsrHaCQURF6ffwN67Sz0DSwBWJ+cBn4WsA9+bm4 --> ssh-ed25519 cvTB5g 5QS4yEkwZDcRKx5w9ip/XW2RUKuDoR9hjT2rITG9bj0 -a6uP4DJZuOEy5wFnCoM1pUd5p1ySSNXBd8WINORz314 --> ssh-ed25519 Wu8JLQ 4/ETnzSAyvb1rm30ZXxBvWrCVvYzmvEjjai4W+nfEmU -8YpBxgtgNASRGABkPIWV19iQdcK5OI2toSefifCJi6A --> ssh-ed25519 EIt1vA pKBHFdt17ruSWarLGRMv9Jg5p4owmb05Chqi1waUlEM -21pDqeyKGbmkoHblA6LujvYNMo1DQ6u+0KjASPp88L4 --> ssh-ed25519 X51wxg p7PTrP8g6+85BCyujUAI6h8D5dQOWV4n72Cu2wQzBls -X9Sz+dmsnWfVn7RfdQoNdK9ifDKuyqa4QnIz+OfK1xY ---- JD+a9OJUT/rKwLe2m4naby7JV5VE/d4fDaeg2Edyl5I -]= -8Ltmr]e-\Q=: Yx:6NnI祐dc0Y0C ]M D \ No newline at end of file +LdJzAaTTOSSxXTjLEv2n3pRjDJ8Cv/rLZZCsadK2vIK/2swax5loeprUzx60xRUt +3qLZuXocsE1S8sUq4E0lzyQXmJj3DtgjWFvvhDhsx+UnUPB/S7yojlNPLsqSxJkO +r5p6dvXsngF78BDDlFU/DnDI/tMnH6wL5PqV7iZiosSmASWxHMAQYcWGNZqdV1xl +9q2txZF7LxvE1S2eUOFcXTC7r8Z/kBt7XqPfGyBWI1wYPG2r2Zw+tbO8S04iZExT +Lj2YGnrNGGwNbREoqhMwAxDM6fLVoNnhHXoVQvCkr/wxk+sh2/Lt1ivcTT7Ua2YG +ApaavUan7cEs3ghnanM+6A +-> ssh-ed25519 /vwQcQ oaIOirE4++Kx76xSCoQ8EKmnI3Zh8rzou0XACYVY3Gw +H9DsHQPdKaN/5bz4kf224NiJ8W1ykGx9tARd5UUrMbc +-> ssh-ed25519 0R97PA SujU6d2DMDGX4zxsQwQTLFM2ap/3ni2y7zpU8BksTw0 +zLuD8EwORd5aDOFBpE0Nm5gHpi8ChRobg6v7r1sNfMU +-> ssh-ed25519 cvTB5g t62LJ9atiYi5K+CBXXLB9obIZRWBKxrC896q6iCz/mA +WYkA2muGBMuXlO5ebnul3NkidNcyIWecAdNTo03trf0 +-> ssh-ed25519 Wu8JLQ 3gzrf2TLDbG3YtMmO0qKVKiEPw+arN8DJvNiC09/4wg +bYCCgA0ve55hKEjGFa+nAelWiYWy6WFHss9R6uEjiUI +-> ssh-ed25519 EIt1vA kKs5NcxlLTt3iGD8stN7nOgOfomKEv2aZZ969dZNFlg +IQT3Fx9Egd4kJ6Q3gsbiymu8EHSrjG1F7T5Uz76Z6Bo +-> ssh-ed25519 X51wxg GU838E9JPhdAkYgRRcYi+gMsFFUTvY4iciFi9b43WhY +vsHQ70mCsW0NUzMKjgRq6czFD8FwIFj6uo/jklPzI68 +--- axO8MoSOSkcp2HcVpAz9tQuuf0Unh2Ri20S60/Yq6xA +i0<36,{u$apG710Y&f7(&{3]cݓ>lP"$`U(95+J^ϻ|:~ \ No newline at end of file diff --git a/machines/hackens-org/secrets/django.age b/machines/hackens-org/secrets/django.age index 8340af8..1572685 100644 --- a/machines/hackens-org/secrets/django.age +++ b/machines/hackens-org/secrets/django.age @@ -1,30 +1,31 @@ age-encryption.org/v1 --> ssh-ed25519 JGx7Ng eXYZhPOAu5XuLnLyVZEWG0yGReNd1NrYoZaYWk03rAw -rMmxeUr95ruA24E5rchZ7dWCaJOerRmulpjwbAtqqCA --> ssh-ed25519 kXobKQ rJXA+IoLwVLV/EUlDBQztg1jDIj36u5k7C0wDEfR+UQ -2vWEQ52uMZ+cQvXIdMelvgzeUZ/8bENDJCQDHDuKLaU --> ssh-ed25519 7hZk0g O9G401J2twPY8gB6uYTLkpDSMQRZB3ScmlS91WzWfjU -7piYGZj0UbyS+KnSVfZthI3HfaNcc0eadRAORtyTd0o +-> ssh-ed25519 JGx7Ng IWxk65t5YAq/Sg+0CCcLGJyDhvPydKm1D9rYAfCDjUc +ckB1V+J7Qddbt9EILraMge9RrThyTU2al5Eg6ffD7C4 +-> ssh-ed25519 kXobKQ ZEECnMHvZL3+JfkQpSjuzIuGfcLIIcudeiMlanUUBhc +pBWa6DxVrinuv6urFDKPW2kSaa95FVFCXOFwMQ/X1RY +-> ssh-ed25519 7hZk0g la8ZgkcqYQgFzYoqgkZrdSuaK+89mPx9UbiSWGOVXjQ +4NWbJtWRUnZGMMLyDLArvZktfVfhXmgtn7h5oghH5Ms +-> ssh-ed25519 5rrg4g KC9SOs8NJ18pbE4/HwHmX8W5XSeu528dFl2tEt3JfW0 +at+D2BMK1UAPsA2fkhMW5uHUjJSK2p+BPeFcfqyD/LA -> ssh-rsa krWCLQ -bFQHI2oqIXEor7qbt4QJfPC0q4PanQ3lUp/sNJbsA54OZAW5b6yC2HOeYjbv1KQZ -JdOeKZEruUlxPkNBEUpvz777THUnwlTHNxRxO//mDyHGU9PwgyIQS0aMf4Vkpfn7 -OZMJrCmyYh1Hx2olnJjioMC0H3hBeuAbm4hJYu1EEfhCzhyNc8jbgn8s0VTWBeDo -w8+Nxo3/IOimSI2qaZGBFl/3yE73KfuiYw68vRYkrPWGviDeyCEBJpYcmBsiu81s -e0mTkZdMBMwVwceaYakDc7fK8ij9s3fpKXvJ4EJ2qqUG6ThsHN4eHNNRbau10Zvs -YNKk3d6TpoyPl37eqy9i5w --> ssh-ed25519 /vwQcQ DkKWQydhpA7Lu0NZH6VWG9Jxs8TdfpvV+eHLc8S82Xs -fvDQQntMZHrLNBxHWsR7R4hb5gnCzCVqPeHFTOrrBKg --> ssh-ed25519 0R97PA 5Z29MXm0pPIkEihLzGI/hB82keRx+OoVwgHL+pTd1m4 -l+FnUyvBzeeNT2dlbXJQQn5QNd+2za58BwPCqE1rTWw --> ssh-ed25519 5rrg4g 2uDRtM8kUl/Vhws4ibsZiw4Fo7pmgx4MyJtNjyKLTRY -ZOuKQfrs1d4hzvwur8BCPd3BXOP0vGewpgfkUKahEU4 --> ssh-ed25519 cvTB5g gOS3PUBQlBWqmKIq99lT10hqEEmCKg2xlxfbWSAtxFM -i63Ilu0tzXEtUlJ8jKlCW9SM+un+KePGXbaBr96rb54 --> ssh-ed25519 Wu8JLQ 2nRMfMlSNQVOdZGklQfgkH2jv8ECmRKML99H1iPbNys -bLxntIPxKRBqEu+ovCU2NJklH1UEQr7miSg83Pfrskk --> ssh-ed25519 EIt1vA 9MwmTDKECbLsFwQYfQaF6RlOmYdlu3iLOCFQopifuiQ -GZl2HMbgI+u6oAVFSa6zV+d3ra9QbmJcITsrMbxU/pk --> ssh-ed25519 X51wxg qRnN1ZKEBckkixg7wgAqDphIRULurzrd+dj8l2u6RRQ -gfdYoCOppQ/ztSY9tEa8PYEbyx5rzu3Qu7Ba/OvcA78 ---- q31//bFmbqBhs9r8hy21qyVIwqSy7sYXRn1a/XIrfJc -*RTRtrCA_j]Dpnw J`j_fgOOX1ẁv \ No newline at end of file +U0DpCXNugnsPlWvDJZIwlFA3lCg/uihhLmLFYsdpwpx7kdyRF3KGn9p4X0kfjNQa +PjT7akh+xaCC9a3GRDEsc3B4L6M/91YdiIX5kCtWccT3fFkdC8xrHnVblE0h6vYM ++I4ay5PR9etittiMIb3coanBU5gZpAhCFvSNjWIV3YvchpOtWO2PL8rR9fRqDfmT +BdTZMUOm01vuFuPFKmzKNbQS5ydwydv8BGc1MktqoyhafYVBirnVcwtsTQKZKDEL +CBNgH81down+UFaCi/FTSffkBtBfnl1mzCF3TJ0CrSeEMgyY5yxvtWHUksDzznfJ +C2ev+95nbRYUSM+OOBABHQ +-> ssh-ed25519 /vwQcQ C7TusZYxTvR03xbxEmUf8+ePmdTRBbi4eAeg2+kbAAY +3YpLUT5mmGLSel0vPpDUwPyFav1z/HCAsPsYA7woQas +-> ssh-ed25519 0R97PA iQRH2sRnDsNoWuom8fVt8naGMrVAX3JAPmwnU/pZ3m8 +CipYmklGkMXYlWyhatEj7cGk51RNdfkkwlKPz26Q220 +-> ssh-ed25519 cvTB5g 05g8kd7yu1+4JzFCrqMEZ6QNsO8VE2egXOUR73fo/hM +AY/8cMfVTyOY4z08Hz6cLnKrM1GYZbbgpwPVnwnJ3NU +-> ssh-ed25519 Wu8JLQ Bn0shD1/Uzb3VdAOuyNeHSzLaboxhAUsqQWXycZYDFc +V2EHtwK0CUdLYCzia43m4WmBxFy8frfR0hkdIkARnl4 +-> ssh-ed25519 EIt1vA FmznskIDNtFkD6HD64uL5OS2rwPwT1S5lCirtYFW0Rk +3TKTCN45ygLTcrfSRdsXJZKdoz+A3tP7lXbNn2NOhvk +-> ssh-ed25519 X51wxg X3KyzjW97PF8CFcb0NWW5F6JNMZslmP22d0+r0FRvlo +mZq7lSEnD3Ui7hcloSCdTH/q4mB2q6lFTvzMRS+BCb4 +--- 4u64XNKKDMEaWeL4wLdkOgugYTkrqpfoFeG/BW4/zK8 +)9 +.k}O06'J}W(ַV>d$8icjw h ssh-ed25519 JGx7Ng 6s1XuhN3TFuW433ZrghssoyScvjqG6tg+ZSvHBwYOjQ +54ijsvv7CO/1L9ib4fgiRAQHmlU2r3j/fbc79qiAo38 +-> ssh-ed25519 kXobKQ WMApvaovS/ddPbz7Eh9bCF3SzmUJN1NQGMKzWCJ6jQc +3NehvO3X7uMU/H7g7d4nFsmHk0PhXrRT1XetWUBHAnY +-> ssh-ed25519 7hZk0g RqNPzJqoSY1umAJE/FPZ+MR0R9eCDdxonzuh3uMBRhI +Cfou0mqV4gHGP7OJbgPm8VotU4cM5YVX3iUkd6myU+E +-> ssh-ed25519 5rrg4g mSZUVF9y4vYfBbjgP0UnSfgaGTC3/Yx+fAFquA5022E +1yiri7+CZTSUhPpJlo9f1EraRVl3Ihw4wtjgXJPMRqY +-> ssh-rsa krWCLQ +gMc7ogvibqMuboKqSgqfedIxqyhhljJFp5zI2bK6D5rdcV5CIPVz2xQdk4h678Qg +8pYlg1+UDu+JyXvJgtWZHYMGSs17woIYZmw9UQh+IYMo4Qn89tn4QN4exYwB+7gm +dWEqo7GggWG0Mu2w2OVu2oB1D5aUvF940hUCyl40V7hIkMpJwFfMfvvD04XsScXV +GLpWNYcWIQNaBAxTWRGkpt9jvD1W/DjsOUhOk0BP5hnSPm39awfLFRo3wWFBiaDq +yPRi6P8AJdVWS2n+KdQ1j5dLo19DngkUAmepIR+oiNvgIFKqDAvIB5y30d3guGdP +7zCS7IEOOMLQvBiq99DU2Q +-> ssh-ed25519 /vwQcQ GWEth3AXh2blSPzXzyqaHdRlA+Qmopvdk9DfL69PVlk +sVq7EbVmJ0SnYLueCHB5zOr/aR9QurTqtMIXGdL22cY +-> ssh-ed25519 0R97PA gZLoe8C+FTOXM0i4VWBwBSNSxZhfxG6U3pakRBDwZ0k +LKxzJofqUfdY1swAbRNcOcWfZJ1lbp7S20y+dfjKvUU +-> ssh-ed25519 cvTB5g GbEB6Z/6A/ntU8truri+tshuy5tqYSSo5SF0Brt0VgI +DOkGd68tE85ajEBmKUx9HXiKLjCdUf/tKME6+Ems/RA +-> ssh-ed25519 Wu8JLQ tOF/Dc72uMnmQy4rNjPoRzVhQEuwiYLrmmdCsmJ5wEk +RS5erkX1HIvTDw6g8qrOtZy1zpCphnGw/bqT4F0Q6/8 +-> ssh-ed25519 EIt1vA tSBgk0ljTD1pLRsw7axRh2zl+vIMISjrw7zrr01TBB0 +hb3kb12kRHCxMeBlxjg6tJpgQpHzJkovH5ncuM4MzNA +-> ssh-ed25519 X51wxg Gy0QJbua5ZoNYDnuQXlPVFxQvm7SSOMUR0uDRI719gk +VEYU1qazlM62F2xsXIFhIAEL4ssWW8o2/e07NguMp88 +--- VwkrST6cm5HpWtRWBM4tkk14C/NwtxpBbXHVj6ouyxk +(`W;+u'oj ݏ {MP0DșJ}ō{tj`K:׸I;A2C+ \N \ No newline at end of file diff --git a/machines/hackens-org/secrets/ragbJWT.age b/machines/hackens-org/secrets/ragbJWT.age new file mode 100644 index 0000000..75ccf2a Binary files /dev/null and b/machines/hackens-org/secrets/ragbJWT.age differ diff --git a/machines/hackens-org/secrets/secrets.nix b/machines/hackens-org/secrets/secrets.nix index f9ee762..2072486 100644 --- a/machines/hackens-org/secrets/secrets.nix +++ b/machines/hackens-org/secrets/secrets.nix @@ -5,48 +5,28 @@ let builtins.filter (k: k != "") ( lib.splitString "\n" (builtins.readFile (../../../pubkeys + "/${user}.keys")) ); + keys = + (readpubkeys "sinavir") + ++ (readpubkeys "hackens-host") + ++ (readpubkeys "catvayor") + ++ (readpubkeys "raito") + ++ (readpubkeys "gdd") + ++ (readpubkeys "backslash"); in { - "matterbridge-env.age".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "raito") - ++ (readpubkeys "gdd") - ++ (readpubkeys "backslash"); + "matterbridge-env.age".publicKeys = keys; "snipeit.age".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "raito") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "gdd") - ++ (readpubkeys "backslash"); + keys; + "ragbJWT.age".publicKeys = + keys; + "ragb.age".publicKeys = + keys; "django.age".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "raito") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "gdd") - ++ (readpubkeys "backslash"); + keys; "django-gestiohackens.age".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "raito") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "gdd") - ++ (readpubkeys "backslash"); + keys; "wg-key.age".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "raito") - ++ (readpubkeys "gdd") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "backslash"); + keys; "prometheus-webconf".publicKeys = - (readpubkeys "sinavir") - ++ (readpubkeys "hackens-host") - ++ (readpubkeys "raito") - ++ (readpubkeys "gdd") - ++ (readpubkeys "catvayor") - ++ (readpubkeys "backslash"); + keys; } diff --git a/machines/hackens-org/secrets/snipeit.age b/machines/hackens-org/secrets/snipeit.age index 3d76be6..0dfb3d3 100644 Binary files a/machines/hackens-org/secrets/snipeit.age and b/machines/hackens-org/secrets/snipeit.age differ diff --git a/machines/hackens-org/secrets/wg-key.age b/machines/hackens-org/secrets/wg-key.age index 258092e..d61d8e0 100644 Binary files a/machines/hackens-org/secrets/wg-key.age and b/machines/hackens-org/secrets/wg-key.age differ diff --git a/npins/sources.json b/npins/sources.json index d2de6b3..1e5f72a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -61,6 +61,17 @@ "revision": "06cf0e1da4208d3766d898b7fdab6513366d45b9", "url": "https://github.com/NixOS/nixpkgs/archive/06cf0e1da4208d3766d898b7fdab6513366d45b9.tar.gz", "hash": "0l68zz8mn2kvp9wvc6rgw7dns8vkl7w9y6z92blvgn1wnm9ib6ab" + }, + "ragb": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.dgnum.eu/HackENS/ragb" + }, + "branch": "main", + "revision": "dfbaf2fd65fe16f5a66b5b16afef83502ea4b237", + "url": null, + "hash": "0vjs8cm2q2f2s8a8zqjj159rg1m7q6fzrg269gfpmrmgwpp3wh52" } }, "version": 3 diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix index 3f4e266..709ad01 100644 --- a/pkgs/overlays.nix +++ b/pkgs/overlays.nix @@ -1,5 +1,6 @@ +{ sources }: [ - (import ((import ../npins).agenix + "/overlay.nix")) + (import (sources.agenix + "/overlay.nix")) (final: prev: { pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(self: _: { loadcredential = self.callPackage ./loadcredential { }; @@ -11,4 +12,8 @@ markdown-icons = self.callPackage ./markdown-icons { }; })]; }) + (final: prev: { + ragb-backend = final.callPackage ./ragb-backend.nix { src = final.ragb-src; }; + ragb-src = sources.ragb; + }) ] diff --git a/pkgs/ragb-backend.nix b/pkgs/ragb-backend.nix new file mode 100644 index 0000000..76828a7 --- /dev/null +++ b/pkgs/ragb-backend.nix @@ -0,0 +1,13 @@ +{ lib +, rustPlatform +, src +}: + +rustPlatform.buildRustPackage { + pname = "ragb-backend"; + version = "0.3"; + + src = src + "/backend"; + + cargoHash = "sha256-lyYCXjmsm12xYHk30g5PDBpQb10xaB6zpoEi2xpjeiM="; +}