From 8102d1d00913847e52f5ea5a0648d8981769b383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jana=20D=C3=B6nszelmann?= Date: Fri, 1 May 2026 21:31:13 +0200 Subject: [PATCH] new website --- flake.lock | 389 ++++++++++++++-------- flake.nix | 5 +- hosts/fili/services/databases.nix | 6 +- hosts/fili/services/metrics.nix | 112 ------- hosts/fili/services/websites/homepage.nix | 59 +++- hosts/kili/configuration.nix | 9 + programs/default.nix | 2 +- programs/firefox/default.nix | 12 + programs/fish/default.nix | 1 + programs/fish/scripts.nix | 17 + programs/jj/default.nix | 3 +- programs/niri/default.nix | 2 +- programs/nvim/config.lua | 2 +- programs/nvim/default.nix | 8 +- programs/nvim/keys.nix | 2 +- programs/nvim/plugins.nix | 11 +- programs/ssh.nix | 4 +- 17 files changed, 371 insertions(+), 273 deletions(-) diff --git a/flake.lock b/flake.lock index c131841..99efa8a 100644 --- a/flake.lock +++ b/flake.lock @@ -12,7 +12,7 @@ "ragenix", "nixpkgs" ], - "systems": "systems_15" + "systems": "systems_16" }, "locked": { "lastModified": 1761656077, @@ -70,11 +70,11 @@ ] }, "locked": { - "lastModified": 1771587924, - "narHash": "sha256-eVYOGmF8nQBhudJyU6lHdgJI87kvGz8JyCq5/Vi9Mjk=", + "lastModified": 1774616169, + "narHash": "sha256-fP4bU3SOH5sefSl6EagqULFs+bXoo3h3VLQCCyJplo4=", "owner": "catppuccin", "repo": "nix", - "rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3", + "rev": "e616c61cd9f7b05b32af266bc005fa266860dacf", "type": "github" }, "original": { @@ -278,11 +278,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1771918157, - "narHash": "sha256-MU/9oxyXCRKyAskjSgku8P7r0XpQiE50tvDKkNDveJg=", + "lastModified": 1775707386, + "narHash": "sha256-1tNzciseW4+JQTSUxCVz1UhW//LuosLb9f3liFOhrL8=", "owner": "rycee", "repo": "nur-expressions", - "rev": "921c0db962c553e972d59c3563d29fd575437f03", + "rev": "c1db0626fa993fe4e773d4c83df4cbb9684e434f", "type": "gitlab" }, "original": { @@ -381,7 +381,7 @@ }, "flake-utils_10": { "inputs": { - "systems": "systems_13" + "systems": "systems_17" }, "locked": { "lastModified": 1731533236, @@ -399,14 +399,14 @@ }, "flake-utils_11": { "inputs": { - "systems": "systems_16" + "systems": "systems_18" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -417,7 +417,7 @@ }, "flake-utils_12": { "inputs": { - "systems": "systems_17" + "systems": "systems_19" }, "locked": { "lastModified": 1710146030, @@ -435,7 +435,7 @@ }, "flake-utils_13": { "inputs": { - "systems": "systems_18" + "systems": "systems_20" }, "locked": { "lastModified": 1731533236, @@ -453,7 +453,7 @@ }, "flake-utils_14": { "inputs": { - "systems": "systems_19" + "systems": "systems_21" }, "locked": { "lastModified": 1731533236, @@ -471,7 +471,7 @@ }, "flake-utils_15": { "inputs": { - "systems": "systems_20" + "systems": "systems_22" }, "locked": { "lastModified": 1731533236, @@ -489,7 +489,7 @@ }, "flake-utils_16": { "inputs": { - "systems": "systems_21" + "systems": "systems_23" }, "locked": { "lastModified": 1710146030, @@ -546,11 +546,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -633,7 +633,7 @@ }, "flake-utils_9": { "inputs": { - "systems": "systems_12" + "systems": "systems_13" }, "locked": { "lastModified": 1731533236, @@ -674,11 +674,11 @@ ] }, "locked": { - "lastModified": 1771851181, - "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", + "lastModified": 1775762219, + "narHash": "sha256-e7BhggoWhg3Ok7dDI5kY1XZzORBQc0Rclcs3IWzux3w=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", + "rev": "c975a66a56306b38eaa3108f54bbc11e213f42f6", "type": "github" }, "original": { @@ -695,11 +695,11 @@ ] }, "locked": { - "lastModified": 1771851181, - "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", + "lastModified": 1774647770, + "narHash": "sha256-UNNi14XiqRWWjO8ykbFwA5wRwx7EscsC+GItOVpuGjc=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", + "rev": "02371c05a04a2876cf92e2d67a259e8f87399068", "type": "github" }, "original": { @@ -736,11 +736,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1774683773, - "narHash": "sha256-4GyL+ZtAZEKX9FwSvNrOGSUJ9eaHE0Pdy3N3C9Xjlu8=", + "lastModified": 1777713116, + "narHash": "sha256-XpjszOlSIN85uSR4Ch0byPLFLGpwKgJTsKHBQzRadBc=", "owner": "jdonszelmann", "repo": "homepage", - "rev": "9755ae38ec713888bc18b64227116031cd71e0af", + "rev": "f685b368dbf8c46570ad959fb4ad21cd686f0e2a", "type": "github" }, "original": { @@ -793,11 +793,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1771879754, - "narHash": "sha256-X0DpLExFW+/0o+cNCnIJuQZUZGRuBC0Tr9QsbNVXQ1U=", + "lastModified": 1775736212, + "narHash": "sha256-c0GcnFJhnTV0id7/Jrf3AclL55AFMjl/4rsz/Q8h954=", "owner": "martinvonz", "repo": "jj", - "rev": "f89aebceb3a327e33c5ac732b7af548d32ba8199", + "rev": "3eea1ed0914d3aa65d4ab1b27860452e7d395df1", "type": "github" }, "original": { @@ -906,7 +906,7 @@ "naersk_2": { "inputs": { "fenix": "fenix_2", - "nixpkgs": "nixpkgs_17" + "nixpkgs": "nixpkgs_18" }, "locked": { "lastModified": 1752689277, @@ -934,11 +934,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1771917018, - "narHash": "sha256-igOZoXdb9wDhBtADaa8AfANZRgKzhW2lIq0mtqLVT0U=", + "lastModified": 1775710668, + "narHash": "sha256-pi2TWoWZR22vzr5RBAgIdl1LDwgLX+fh+Hqngt/Kkt8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "1f65cd89e65431c64b492e505033c4b48c94b20e", + "rev": "bef414577a6a745543989716df478afec96486bd", "type": "github" }, "original": { @@ -970,11 +970,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1771849386, - "narHash": "sha256-CFvjBjS2LxbBMR3Lu6wZhME6ck3CXyKUufRoJA5tlmw=", + "lastModified": 1775561155, + "narHash": "sha256-TK2IrqQivRcwqJa0suZMbcsN17CtA8Uu0v7CDnLATb0=", "owner": "YaLTeR", "repo": "niri", - "rev": "2dc6f4482c4eeed75ea8b133d89cad8658d38429", + "rev": "599db847f857b8a7ff78ce02f15acab5d5d9fee1", "type": "github" }, "original": { @@ -991,11 +991,11 @@ ] }, "locked": { - "lastModified": 1771734689, - "narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=", + "lastModified": 1774156144, + "narHash": "sha256-gdYe9wTPl4ignDyXUl1LlICWj41+S0GB5lG1fKP17+A=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "8f590b832326ab9699444f3a48240595954a4b10", + "rev": "55b588747fa3d7fc351a11831c4b874dab992862", "type": "github" }, "original": { @@ -1029,33 +1029,34 @@ "nix-minecraft": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_10", "nixpkgs": [ "p1n3appl3", "nixpkgs" - ] + ], + "systems": "systems_14" }, "locked": { - "lastModified": 1769912969, - "narHash": "sha256-RtH34gy6R12oXcmBlUWXygdNeC+KuX3beEsLBXV44Qs=", - "owner": "Yeshey", + "lastModified": 1774547566, + "narHash": "sha256-0vpd60stH9nhNC6AkArVxqIKF7bpPDxKmpQHNoLyGas=", + "owner": "p1n3appl3", "repo": "nix-minecraft", - "rev": "7e3a114dd267e9303d092e29af67ca30c1db86ca", + "rev": "4439800733784533831604b0663eff1f081a9643", "type": "github" }, "original": { - "owner": "Yeshey", + "owner": "p1n3appl3", + "ref": "lazymc", "repo": "nix-minecraft", "type": "github" } }, "nixos-hardware": { "locked": { - "lastModified": 1771423359, - "narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=", + "lastModified": 1774567711, + "narHash": "sha256-uVlOHBvt6Vc/iYNJXLPa4c3cLXwMllOCVfAaLAcphIo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "740a22363033e9f1bb6270fbfb5a9574067af15b", + "rev": "3f6f874dfc34d386d10e434c48ad966c4832243e", "type": "github" }, "original": { @@ -1130,11 +1131,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1771714954, - "narHash": "sha256-nhZJPnBavtu40/L2aqpljrfUNb2rxmWTmSjK2c9UKds=", + "lastModified": 1775595990, + "narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "afbbf774e2087c3d734266c22f96fca2e78d3620", + "rev": "4e92bbcdb030f3b4782be4751dc08e6b6cb6ccf2", "type": "github" }, "original": { @@ -1146,11 +1147,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1771714954, - "narHash": "sha256-nhZJPnBavtu40/L2aqpljrfUNb2rxmWTmSjK2c9UKds=", + "lastModified": 1774388614, + "narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "afbbf774e2087c3d734266c22f96fca2e78d3620", + "rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e", "type": "github" }, "original": { @@ -1178,11 +1179,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1771848320, - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "type": "github" }, "original": { @@ -1210,11 +1211,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1771932323, - "narHash": "sha256-3PadsTzuMJT/x0KmiD/Me1GG6rW8kaHoWVduSs0ue7o=", + "lastModified": 1775761142, + "narHash": "sha256-sBq8nsDsj1/i2rKsd2Gg2cgTv/J+5uk4wxCtxaCsGiA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89bb5c5da7a857869cc88ef9b856bffdff8af264", + "rev": "96e87bd250d5f4f3447b87ab7e94689ea19e0c2a", "type": "github" }, "original": { @@ -1225,11 +1226,11 @@ }, "nixpkgs_13": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1774386573, + "narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", "type": "github" }, "original": { @@ -1256,6 +1257,22 @@ } }, "nixpkgs_15": { + "locked": { + "lastModified": 1692414505, + "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_16": { "locked": { "lastModified": 1722062969, "narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", @@ -1271,7 +1288,7 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_17": { "locked": { "lastModified": 1768564909, "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", @@ -1287,7 +1304,7 @@ "type": "github" } }, - "nixpkgs_17": { + "nixpkgs_18": { "locked": { "lastModified": 1752077645, "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", @@ -1303,7 +1320,7 @@ "type": "github" } }, - "nixpkgs_18": { + "nixpkgs_19": { "locked": { "lastModified": 1755020227, "narHash": "sha256-gGmm+h0t6rY88RPTaIm3su95QvQIVjAJx558YUG4Id8=", @@ -1317,22 +1334,6 @@ "type": "indirect" } }, - "nixpkgs_19": { - "locked": { - "lastModified": 1771931193, - "narHash": "sha256-IRPLf3y0HxdLirCVYoOYXQyoUBIM8llw7/96OHvyQoM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "12e7188b8c774804377e7b82f45fa95ee87836cb", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1743014863, @@ -1351,11 +1352,27 @@ }, "nixpkgs_20": { "locked": { - "lastModified": 1771207753, - "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", + "lastModified": 1777660448, + "narHash": "sha256-zc8nX/kHG7BsrJtjKE4Mlxy10w2bEAbQrIAuOtBW3po=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d1c15b7d5806069da59e819999d70e1cec0760bf", + "rev": "4c42eb674941ccab1f84a5eac73f175457d998b4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_21": { + "locked": { + "lastModified": 1775126147, + "narHash": "sha256-J0dZU4atgcfo4QvM9D92uQ0Oe1eLTxBVXjJzdEMQpD0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8d8c1fa5b412c223ffa47410867813290cdedfef", "type": "github" }, "original": { @@ -1365,7 +1382,7 @@ "type": "github" } }, - "nixpkgs_21": { + "nixpkgs_22": { "locked": { "lastModified": 1710377395, "narHash": "sha256-KMubsUWtVr7L55pXMBibBDBdmk3xrjbBPduc0E8z28c=", @@ -1379,7 +1396,7 @@ "type": "indirect" } }, - "nixpkgs_22": { + "nixpkgs_23": { "locked": { "lastModified": 1732014248, "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", @@ -1395,7 +1412,7 @@ "type": "github" } }, - "nixpkgs_23": { + "nixpkgs_24": { "locked": { "lastModified": 1745930157, "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", @@ -1445,11 +1462,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1716137900, - "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", + "lastModified": 1777268161, + "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", + "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76", "type": "github" }, "original": { @@ -1527,16 +1544,16 @@ "inputs": { "flake-parts": "flake-parts", "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ], "systems": "systems_11" }, "locked": { - "lastModified": 1771135771, - "narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=", + "lastModified": 1775307257, + "narHash": "sha256-y9hEecHH4ennFwIcw1n480YCGh73DkEmizmQnyXuvgg=", "owner": "nix-community", "repo": "nixvim", - "rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba", + "rev": "2e008bb941f72379d5b935d5bfe70ed8b7c793ff", "type": "github" }, "original": { @@ -1549,14 +1566,15 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "noctalia-qs": "noctalia-qs" }, "locked": { - "lastModified": 1771872869, - "narHash": "sha256-evn+p0+T9yNtjdRr5UnYwXnhlHgFB8ilzhGQoYvgXhs=", + "lastModified": 1775689927, + "narHash": "sha256-UVL4JnAHXs90AiKfhjXBQ83KhiXHAyZ4TdaPkA/ts/g=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "90e44d6edd604a0877310b01ff20006abcf67e77", + "rev": "0fcaa49875bf0c994bb5c604320454ef72e6ba8b", "type": "github" }, "original": { @@ -1565,6 +1583,29 @@ "type": "github" } }, + "noctalia-qs": { + "inputs": { + "nixpkgs": [ + "noctalia", + "nixpkgs" + ], + "systems": "systems_12", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1775491791, + "narHash": "sha256-elzmRpudiwtYQNCKk9TAEhlYQV0+yUM81poo01Z7FfQ=", + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "rev": "9e2736531ef7a1a336abf7ec72255d0b192273b6", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "type": "github" + } + }, "obs-gamepad": { "inputs": { "nixpkgs": [ @@ -1605,11 +1646,11 @@ "slippi": "slippi" }, "locked": { - "lastModified": 1771898420, - "narHash": "sha256-8EhIWQZRL55RpAgydge71fk+frXroDdWX1Smt5E0MBI=", + "lastModified": 1774657004, + "narHash": "sha256-oDghflofxhE3L+Q9EGfmp9tEh44CRtcteCEfa5DDdJg=", "owner": "p1n3appl3", "repo": "config", - "rev": "cf988820ffaaa44d0f8607f2417f9527d142b52c", + "rev": "c8193ce824404a48ee676c9ad4b0a8282458c5ab", "type": "github" }, "original": { @@ -1620,7 +1661,7 @@ }, "pipethon": { "inputs": { - "flake-utils": "flake-utils_11", + "flake-utils": "flake-utils_10", "nixpkgs": "nixpkgs_14" }, "locked": { @@ -1637,6 +1678,25 @@ "url": "ssh://forgejo@git.donsz.nl/jana/pipethon.git" } }, + "probe-rs-rules": { + "inputs": { + "flake-utils": "flake-utils_11", + "nixpkgs": "nixpkgs_15" + }, + "locked": { + "lastModified": 1774797100, + "narHash": "sha256-Yg2mBbqI3yaXvO6dDUMs0QKGH2DLpag6FulMKsmuQ/A=", + "owner": "jneem", + "repo": "probe-rs-rules", + "rev": "5c601076adc309841ac7f6a932b59f296602410e", + "type": "github" + }, + "original": { + "owner": "jneem", + "repo": "probe-rs-rules", + "type": "github" + } + }, "ragenix": { "inputs": { "agenix": "agenix", @@ -1705,7 +1765,7 @@ "impermanence": "impermanence", "nix-index-database": "nix-index-database_2", "nixos-hardware": "nixos-hardware_2", - "nixpkgs": "nixpkgs_15", + "nixpkgs": "nixpkgs_16", "ragenix": "ragenix_2" }, "locked": { @@ -1725,7 +1785,7 @@ "raw-data": { "inputs": { "flake-utils": "flake-utils_13", - "nixpkgs": "nixpkgs_16" + "nixpkgs": "nixpkgs_17" }, "locked": { "lastModified": 1768919451, @@ -1745,7 +1805,7 @@ "inputs": { "flake-utils": "flake-utils_14", "naersk": "naersk_2", - "nixpkgs": "nixpkgs_18", + "nixpkgs": "nixpkgs_19", "nixpkgs-mozilla": "nixpkgs-mozilla_2" }, "locked": { @@ -1787,6 +1847,7 @@ "noctalia": "noctalia", "p1n3appl3": "p1n3appl3", "pipethon": "pipethon", + "probe-rs-rules": "probe-rs-rules", "rahul-config": "rahul-config", "raw-data": "raw-data", "reviewqueue": "reviewqueue", @@ -1840,11 +1901,11 @@ ] }, "locked": { - "lastModified": 1769482338, - "narHash": "sha256-SVwjMqR981PEdEdRvYj5Mefnd61GLinWmIr7GMu7LW8=", + "lastModified": 1772939270, + "narHash": "sha256-HbxD5DJAKxzo0G8on5wdY+OZNiUWt3FTvGmXmVEmg7g=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "dc9c76a75a6d382613cdcb1a3f95640e9cedcdea", + "rev": "bb93f191a07c0165992ed6d0b4197ee5c7e6e641", "type": "github" }, "original": { @@ -1926,14 +1987,14 @@ "secrets": { "inputs": { "flake-utils": "flake-utils_15", - "nixpkgs": "nixpkgs_19" + "nixpkgs": "nixpkgs_20" }, "locked": { - "lastModified": 1769256063, - "narHash": "sha256-fVFJ10YXPF8RfUuyL3OHOP6v0pzU78mTeKvlOCRCuuA=", + "lastModified": 1777662519, + "narHash": "sha256-DTlipbEbUt0ZCpVt6e3KtAhVx5Pri/91B9q5yYROJvo=", "ref": "refs/heads/main", - "rev": "179e0bf0028c929978a3fbe7f77a27b2254eeb18", - "revCount": 7, + "rev": "39383fdba62e6e6ab20ceb4ff927f712c94371d9", + "revCount": 8, "type": "git", "url": "ssh://forgejo@git.donsz.nl/jana/server-secrets.git" }, @@ -1957,11 +2018,11 @@ ] }, "locked": { - "lastModified": 1768682904, - "narHash": "sha256-d4VEGrKHx9EisLHdGDN15w1PsuS5ZImvewwucTM3rUo=", + "lastModified": 1774370155, + "narHash": "sha256-emNcbleHPyUszpRFV5mHnU3q4E0aq7FNJxPtIAvsJqE=", "owner": "lytedev", "repo": "slippi-nix", - "rev": "1f309afd4be00afedf34add3645ba2c1b97bdb40", + "rev": "c1f16cb34f7e09e8a9c7fe49744305c2f65a5b5f", "type": "github" }, "original": { @@ -1972,14 +2033,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_20" + "nixpkgs": "nixpkgs_21" }, "locked": { - "lastModified": 1771889317, - "narHash": "sha256-YV17Q5lEU0S9ppw08Y+cs4eEQJBuc79AzblFoHORLMU=", + "lastModified": 1775682595, + "narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b027513c32e5b39b59f64626b87fbe168ae02094", + "rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76", "type": "github" }, "original": { @@ -2035,16 +2096,16 @@ }, "systems_12": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -2198,6 +2259,36 @@ "type": "github" } }, + "systems_22": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_23": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_3": { "locked": { "lastModified": 1681028828, @@ -2306,7 +2397,7 @@ "t": { "inputs": { "flake-utils": "flake-utils_16", - "nixpkgs": "nixpkgs_21" + "nixpkgs": "nixpkgs_22" }, "locked": { "lastModified": 1710410762, @@ -2324,7 +2415,7 @@ }, "totpal": { "inputs": { - "nixpkgs": "nixpkgs_22" + "nixpkgs": "nixpkgs_23" }, "locked": { "lastModified": 1737322813, @@ -2340,6 +2431,28 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "noctalia", + "noctalia-qs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775125835, + "narHash": "sha256-2qYcPgzFhnQWchHo0SlqLHrXpux5i6ay6UHA+v2iH4U=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "75925962939880974e3ab417879daffcba36c4a3", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems_2" @@ -2360,7 +2473,7 @@ }, "utils_2": { "inputs": { - "systems": "systems_14" + "systems": "systems_15" }, "locked": { "lastModified": 1731533236, @@ -2378,7 +2491,7 @@ }, "vimium-options": { "inputs": { - "nixpkgs": "nixpkgs_23" + "nixpkgs": "nixpkgs_24" }, "locked": { "lastModified": 1746118178, @@ -2429,11 +2542,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1771787042, - "narHash": "sha256-7bM6Y4KldhKnfopSALF8XALxcX7ehkomXH9sPl4MXp0=", + "lastModified": 1773622265, + "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "33c344fee50504089a447a8fef5878cf4f6215fc", + "rev": "a879e5e0896a326adc79c474bf457b8b99011027", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2a618d3..ec886a4 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,9 @@ mifg.url = "git+ssh://forgejo@git.donsz.nl/jana/money.is.fckn.gay.git"; isadle.url = "git+ssh://forgejo@git.donsz.nl/jana/isadle.git"; + # desktop/laptop + probe-rs-rules.url = "github:jneem/probe-rs-rules"; + # server raw-data.url = "git+ssh://forgejo@git.donsz.nl/jana/raw-data.git"; secrets.url = "git+ssh://forgejo@git.donsz.nl/jana/server-secrets.git"; @@ -31,7 +34,7 @@ # home nixvim = { url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + inputs.nixpkgs.follows = "nixpkgs"; }; t.url = "github:jdonszelmann/t-rs"; dumpasm.url = "github:jdonszelmann/dumpasm"; diff --git a/hosts/fili/services/databases.nix b/hosts/fili/services/databases.nix index 2e75d8e..06e3198 100644 --- a/hosts/fili/services/databases.nix +++ b/hosts/fili/services/databases.nix @@ -19,7 +19,7 @@ host all all 10.0.0.0/24 trust # and the local network - host all all 192.168.0.0/24 trust + host all all 192.168.178.0/24 trust ''; settings = { listen_addresses = "*"; @@ -58,6 +58,10 @@ name = "immich"; ensureDBOwnership = true; } + { + name = "homepage"; + ensureDBOwnership = true; + } ]; ensureDatabases = map (i: i.name) ensureUsers; }; diff --git a/hosts/fili/services/metrics.nix b/hosts/fili/services/metrics.nix index 1626cc7..d041622 100644 --- a/hosts/fili/services/metrics.nix +++ b/hosts/fili/services/metrics.nix @@ -146,118 +146,6 @@ in }; }; - systemd.services.promtail.serviceConfig.User = lib.mkForce "nginx"; - services.promtail = { - enable = true; - configuration = { - server = { - http_listen_port = 3031; - grpc_listen_port = 0; - }; - positions = { - filename = "/tmp/positions.yaml"; - }; - clients = [ - { - url = "http://127.0.0.1:${toString config.services.loki.configuration.server.http_listen_port}/loki/api/v1/push"; - } - ]; - scrape_configs = [ - { - job_name = "nginx"; - static_configs = [ - { - targets = [ "localhost" ]; - labels = { - job = "nginx"; - host = "fili"; - __path__ = "/var/log/nginx/json_access.log"; - }; - } - ]; - pipeline_stages = [ - { - json = { - expressions = { - msec = "msec"; - connection = "connection"; - connection_requests = "connection_requests"; - pid = "pid"; - request_id = "request_id"; - request_length = "request_length"; - remote_addr = "remote_addr"; - remote_user = "remote_user"; - remote_port = "remote_port"; - time_local = "time_local"; - time_iso8601 = "time_iso8601"; - request = "request"; - request_uri = "request_uri"; - args = "args"; - status = "status"; - body_bytes_sent = "body_bytes_sent"; - bytes_sent = "bytes_sent"; - http_referer = "http_referer"; - http_user_agent = "http_user_agent"; - http_x_forwarded_for = "http_x_forwarded_for"; - http_host = "http_host"; - server_name = "server_name"; - request_time = "request_time"; - upstream = "upstream"; - upstream_connect_time = "upstream_connect_time"; - upstream_header_time = "upstream_header_time"; - upstream_response_time = "upstream_response_time"; - upstream_response_length = "upstream_response_length"; - upstream_cache_status = "upstream_cache_status"; - ssl_protocol = "ssl_protocol"; - ssl_cipher = "ssl_cipher"; - scheme = "scheme"; - request_method = "request_method"; - server_protocol = "server_protocol"; - pipe = "pipe"; - gzip_ratio = "gzip_ratio"; - http_cf_ray = "http_cf_ray"; - }; - }; - } - { - timestamp = { - source = "msec"; - format = "Unix"; - }; - } - # { - # geoip = { - # db = "/var/lib/geoip-databases/GeoLite2-City.mmdb"; - # source = "remote_addr"; - # db_type = "city"; - # }; - # } - # { - # pack = { - # labels = [ "geoip_country_name" ]; - # }; - # } - ]; - } - { - job_name = "journal"; - journal = { - max_age = "12h"; - labels = { - job = "systemd-journal"; - host = "fili"; - }; - }; - relabel_configs = [ - { - source_labels = [ "__journal__systemd_unit" ]; - target_label = "unit"; - } - ]; - } - ]; - }; - }; services.grafana = { enable = false; diff --git a/hosts/fili/services/websites/homepage.nix b/hosts/fili/services/websites/homepage.nix index 3a843a7..f0db3b5 100644 --- a/hosts/fili/services/websites/homepage.nix +++ b/hosts/fili/services/websites/homepage.nix @@ -1,4 +1,10 @@ -{ flakes, pkgs, ... }: +{ + flakes, + pkgs, + config, + secrets, + ... +}: let cache = pkg: '' location ~* \.(png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf)$ { @@ -32,15 +38,52 @@ let locations."/".return = return; } // ssl; + + package = flakes.homepage.packages.${pkgs.system}; in { - services.nginx = { - virtualHosts = { - "donsz.nl" = site regular; - "jdonszelmann.nl" = site regular; - "blog.donsz.nl" = redirect "301 https://donsz.nl/blog"; - "gay.donsz.nl" = site gay; - "jana.is.fckn.gay" = site gay; + sops.secrets.homepage = { + sopsFile = "${secrets}/homepage.env"; + }; + + systemd.services.homepage = { + description = "homepage"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = "yes"; + ExecStart = "${pkgs.bash}/bin/bash ${package.website}/bin/run"; + Restart = "on-failure"; + RestartSec = "5s"; + EnvironmentFile = config.sops.secrets.homepage.path; + WorkingDirectory = "${package.website}"; + StateDirectory = "homepage"; + }; + + environment = { + BETTER_AUTH_URL = "https://donsz.nl"; + DATABASE_LOCATION = "/var/lib/homepage/db.sqlite"; + HOST = "localhost"; + PORT = "11020"; }; }; + + services.nginx.virtualHosts = { + "donsz.nl" = { + forceSSL = true; + enableACME = true; + extraConfig = '' + ${cache "${package.website}/homepage/client"} + ''; + locations."/".proxyPass = "http://localhost:${toString 11020}"; + }; + "blog.donsz.nl" = redirect "301 https://donsz.nl/blog"; + }; + # services.nginx = { + # virtualHosts = { + # "donsz.nl" = site regular; + # "jdonszelmann.nl" = site regular; + # "gay.donsz.nl" = site gay; + # "jana.is.fckn.gay" = site gay; + # }; + # }; } diff --git a/hosts/kili/configuration.nix b/hosts/kili/configuration.nix index 0871777..a661b0a 100644 --- a/hosts/kili/configuration.nix +++ b/hosts/kili/configuration.nix @@ -1,12 +1,15 @@ { pkgs, config, + flakes, ... }: { imports = [ ./hardware-configuration.nix ./kanata.nix + + flakes.probe-rs-rules.nixosModules.${pkgs.system}.default ]; boot.loader.systemd-boot.enable = true; @@ -38,11 +41,14 @@ variant = ""; }; + users.groups.plugdev = { }; + users.users.jana = { extraGroups = [ "networkmanager" "wheel" "docker" + "plugdev" ]; packages = with pkgs; [ ]; }; @@ -62,6 +68,8 @@ signal-desktop nautilus + probe-rs-tools + adwaita-icon-theme (pkgs.callPackage ( { stdenv }: @@ -85,6 +93,7 @@ rr ]; + hardware.probe-rs.enable = true; virtualisation.docker.enable = true; services.xserver.enable = true; diff --git a/programs/default.nix b/programs/default.nix index fd72c8b..ac84270 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -214,7 +214,7 @@ just uv llvmPackages.bintools - nodejs + nodejs_22 (writeShellScriptBin "nas" '' mkdir -p ~/Documents/nas diff --git a/programs/firefox/default.nix b/programs/firefox/default.nix index 09df2cd..cc01c45 100644 --- a/programs/firefox/default.nix +++ b/programs/firefox/default.nix @@ -168,6 +168,18 @@ inputs@{ machine, ... }: keyword = "!no"; url = "https://search.nixos.org/options?query=%s"; } + { + keyword = "!ri"; + url = "https://github.com/rust-lang/rust/issues/%s"; + } + { + keyword = "!tf"; + url = "https://rust.tf/%s"; + } + { + keyword = "!dg"; + url = "https://rustc-dev-guide.rust-lang.org/?search=%s"; + } # { # name = "bank"; diff --git a/programs/fish/default.nix b/programs/fish/default.nix index e478e52..ef7be17 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -20,6 +20,7 @@ inputs@{ machine, ... }: "cp-ser" = cp-media "ser" "shows"; "cp-ani" = cp-media "ani" "anime"; "ragdoll" = ragdoll; + "jjj" = jjj; "dumpasm" = "${pkgs.custom.dumpasm}/bin/dumpasm"; "p" = calc; "s" = "systemctl"; diff --git a/programs/fish/scripts.nix b/programs/fish/scripts.nix index c5324d8..d033d14 100644 --- a/programs/fish/scripts.nix +++ b/programs/fish/scripts.nix @@ -34,4 +34,21 @@ SSH_TMUX_SESSION_NAME="ssh-from-$(hostname)-$TMUX_SESSION_NAME" tmux detach -E "kitten ssh -t ragdoll \"export TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME; tmux attach -t $SSH_TMUX_SESSION_NAME || tmux new -e TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME -s $SSH_TMUX_SESSION_NAME\"; exec tmux attach -t $TMUX_SESSION_NAME" ''}/bin/ragdoll"; + jjj = "${pkgs.writeScriptBin "jjj" '' + cmd="\${"1:-show"}" + shift + + selected=$( + jj log -r 'all()' --color=always \ + | fzf \ + --min-height=15 \ + --cycle \ + --ansi \ + --prompt "jj $cmd> " + ) || exit 0 + + rev=$(echo "$selected" | awk '{for(i=1;i<=NF;i++) if(length($i)>=7){print $i; exit}}') + + jj "$cmd" -r "$rev" "$@" + ''}/bin/jjj"; } diff --git a/programs/jj/default.nix b/programs/jj/default.nix index f1a62db..6e84825 100644 --- a/programs/jj/default.nix +++ b/programs/jj/default.nix @@ -85,7 +85,8 @@ inputs@{ machine, ... }: ''; # if(.contained_in('first_parent(@)'), label("git_head", "HEAD")), status_summary = "'\n' ++ self.diff().summary() ++ '\n'"; - log_oneline_with_status_summary = "log_oneline ++ if(self.current_working_copy() && self.diff().files().len() > 0, status_summary)"; + space = "'\n\n\n'"; + log_oneline_with_status_summary = "if(self.current_working_copy(), space) ++ log_oneline ++ if(self.current_working_copy() && self.diff().files().len() > 0, status_summary)"; }; aliases = diff --git a/programs/niri/default.nix b/programs/niri/default.nix index 5138e96..15f66dc 100644 --- a/programs/niri/default.nix +++ b/programs/niri/default.nix @@ -364,7 +364,7 @@ inputs@{ machine, ... }: }; "Mod+Period" = { allow-when-locked = true; - action.spawn-sh = "playerctl nest"; + action.spawn-sh = "playerctl next"; }; "Mod+Comma" = { allow-when-locked = true; diff --git a/programs/nvim/config.lua b/programs/nvim/config.lua index 6f4c017..30a097f 100644 --- a/programs/nvim/config.lua +++ b/programs/nvim/config.lua @@ -111,7 +111,7 @@ vim.cmd([[ ]]) vim.cmd([[ - let g:suda_smart_edit = 1 + " let g:suda_smart_edit = 1 filetype plugin indent on ]]) diff --git a/programs/nvim/default.nix b/programs/nvim/default.nix index b8c6151..d146370 100644 --- a/programs/nvim/default.nix +++ b/programs/nvim/default.nix @@ -36,7 +36,7 @@ inputs@{ machine, ... }: EDITOR = "nvim"; }; - packages = with pkgs-unstable; [ + packages = with pkgs; [ tree-sitter (pkgs.stdenv.mkDerivation { name = "editor-hax"; @@ -83,7 +83,7 @@ inputs@{ machine, ... }: clipboard.providers.wl-copy.enable = true; performance = { - byteCompileLua.enable = true; + byteCompileLua.enable = false; combinePlugins = { enable = false; @@ -93,12 +93,12 @@ inputs@{ machine, ... }: }; }; - extraLuaPackages = ps: [ ps.magick ]; + # extraLuaPackages = ps: [ ps.magick ]; extraPackages = [ pkgs.imagemagick ]; # package = (import inputs.unstable { inherit (pkgs) system; }).neovim-unwrapped; # package = pkgs.neovim-unwrapped; - package = with pkgs-unstable; neovim-unwrapped; + # package = with pkgs-unstable; neovim-unwrapped; colorschemes.onedark = { enable = true; diff --git a/programs/nvim/keys.nix b/programs/nvim/keys.nix index fd9ac3f..3c8ab96 100644 --- a/programs/nvim/keys.nix +++ b/programs/nvim/keys.nix @@ -30,7 +30,7 @@ in (luamap "n" "/" "${telescope}.current_buffer_fuzzy_find()") # last used pickers/searches (luamap "n" "p" "${telescope}.pickers()") - (luamap "n" "m" "${telescope}.search_history()") + (luamap "n" "m" "${telescope}.marks()") # open buffers (luamap "n" "b" "${telescope}.buffers({sort_mru = true})") (luamap "n" "" "${telescope}.buffers({sort_mru = true})") diff --git a/programs/nvim/plugins.nix b/programs/nvim/plugins.nix index 3b62dc7..43f0deb 100644 --- a/programs/nvim/plugins.nix +++ b/programs/nvim/plugins.nix @@ -168,6 +168,13 @@ in }; }; + marks = { + enable = true; + settings = { + cyclic = true; + }; + }; + rainbow-delimiters.enable = true; lsp-format.enable = true; fugitive.enable = true; @@ -177,7 +184,7 @@ in nvim-autopairs.enable = true; spider.enable = true; origami = { - enable = true; + enable = false; settings.autofold.enabled = false; }; @@ -799,7 +806,7 @@ in telescope-ui-select-nvim telescope-fzf-native-nvim - vim-suda + # vim-suda render-markdown telescope-file-browser vim-astro diff --git a/programs/ssh.nix b/programs/ssh.nix index fca7d4c..5504c3b 100644 --- a/programs/ssh.nix +++ b/programs/ssh.nix @@ -18,8 +18,8 @@ inputs@{ machine, ... }: proxyJump = "fili"; }; ragdoll = { - hostname = "192.168.178.138"; - proxyJump = "fili"; + hostname = "hexcat.nl"; + port = 4455; }; "*" = {