diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 42c72c1..0000000 --- a/flake.lock +++ /dev/null @@ -1,1324 +0,0 @@ -{ - "nodes": { - "amiaBot": { - "flake": false, - "locked": { - "lastModified": 1790720710, - "narHash": "sha256-FDpKFzKSgIXksR87luW98hpDfhT0DI7YL2tjO69HAWE=", - "ref": "refs/heads/main", - "rev": "e242cebc9ed5d168d1eca4686a1f99d82f5650b8", - "revCount": 57, - "type": "git", - "url": "ssh://forgejo@mizuki.guru/imnyang/amia" - }, - "original": { - "type": "git", - "url": "ssh://forgejo@mizuki.guru/imnyang/amia" - } - }, - "api": { - "flake": false, - "locked": { - "lastModified": 1787723012, - "narHash": "sha256-F50Xo5GYC+4DJRUoCqli9hqVNBUjGIgcuj+3ie3o5FE=", - "ref": "refs/heads/main", - "rev": "ba2b89230305842efd8ed0b6627acb26ab0ad4d7", - "revCount": 35, - "type": "git", - "url": "ssh://forgejo@mizuki.guru/imnyang/api.git" - }, - "original": { - "type": "git", - "url": "ssh://forgejo@mizuki.guru/imnyang/api.git" - } - }, - "arch-hyprland": { - "flake": false, - "locked": { - "lastModified": 1754196291, - "narHash": "sha256-3mhT1GI0onAL/jX/To2Qe2yaybIIX0b/KWq5M0YHFW8=", - "owner": "binnewbs", - "repo": "arch-hyprland", - "rev": "d4b5dd30347607b66e291bb0c41295f563f05941", - "type": "github" - }, - "original": { - "owner": "binnewbs", - "repo": "arch-hyprland", - "type": "github" - } - }, - "brew-src": { - "flake": false, - "locked": { - "lastModified": 1789661079, - "narHash": "sha256-geVTQ51PGZ1mLULM5k7wO7qt/6xenOR/YG8X7Q3eCaI=", - "owner": "Homebrew", - "repo": "brew", - "rev": "edb70f031e4170c780799633a1226ff73e1077f4", - "type": "github" - }, - "original": { - "owner": "Homebrew", - "ref": "7.0.4", - "repo": "brew", - "type": "github" - } - }, - "catppuccin": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1789553013, - "narHash": "sha256-W5dvgFOuVs24X3G5tUb8C2IHU7ICXNvyGPiWWFjfbuo=", - "owner": "catppuccin", - "repo": "nix", - "rev": "89b3eacf59d6b5eefbc2d69c3a4eb5aaf66d63bc", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nix", - "type": "github" - } - }, - "cfwithoutincident": { - "flake": false, - "locked": { - "lastModified": 1787069836, - "narHash": "sha256-2cfWoKl2d9caaaYgbUo7oOKsqxpAezssyp0IqFqxAqA=", - "ref": "refs/heads/main", - "rev": "c759097e3ada0324e56e7aca067a6d30b9b491fa", - "revCount": 5, - "type": "git", - "url": "https://git.mizuki.guru/imnyang/cfwithoutincident.git" - }, - "original": { - "type": "git", - "url": "https://git.mizuki.guru/imnyang/cfwithoutincident.git" - } - }, - "codex-app": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1791000063, - "narHash": "sha256-c31ri7SpsdKZoOimPbasl4hjoZlu8/bsI0TCfbJ60LU=", - "owner": "ilysenko", - "repo": "codex-desktop-linux", - "rev": "d0936534b3269e9c5f509bf2aa32dc3746879286", - "type": "github" - }, - "original": { - "owner": "ilysenko", - "repo": "codex-desktop-linux", - "type": "github" - } - }, - "concord": { - "inputs": { - "crane": "crane", - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1790950222, - "narHash": "sha256-5pIC7xGO441yD7ARxGSrEvydiBnOX4eTeuVuwhCfAyQ=", - "owner": "chojs23", - "repo": "concord", - "rev": "5bac7a24165d975eb140192d4f62e08ddea282ce", - "type": "github" - }, - "original": { - "owner": "chojs23", - "repo": "concord", - "type": "github" - } - }, - "crane": { - "locked": { - "lastModified": 1778106249, - "narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=", - "owner": "ipetkov", - "repo": "crane", - "rev": "6d015ea29630b7ad2402841386da2cb617a470a7", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "darwin": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1786845137, - "narHash": "sha256-oQFip+v0luP8NIxJzmiW4Wu8bILsbFWom5l0zonl8hQ=", - "owner": "nix-darwin", - "repo": "nix-darwin", - "rev": "4cff07de74b50e64bdd68cd4e722ab5b6b35ee48", - "type": "github" - }, - "original": { - "owner": "nix-darwin", - "repo": "nix-darwin", - "type": "github" - } - }, - "dots-hyprland": { - "flake": false, - "locked": { - "lastModified": 1791021215, - "narHash": "sha256-CMUdZDiHyWgp62qzFLIGBhjm7YPcRg/B6emSTM7572o=", - "owner": "end-4", - "repo": "dots-hyprland", - "rev": "33f31a08caddd41422a2d97670adeeb52b4f1e7c", - "type": "github" - }, - "original": { - "owner": "end-4", - "repo": "dots-hyprland", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790989254, - "narHash": "sha256-ZN+riaeFuE+DZ5zfqJiXlM12jLwZzeIXiNkU1YeHMXI=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "acd21c5a3420a9d5fd0ed06299b10828267ef9ba", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixcord", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790742243, - "narHash": "sha256-kaNo6xHiL31AbNNEreG0OTKf4j6Cxlo5bPawjX7lnbQ=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "e5fcd298a00f08b6e8390baf04aa8edb62203070", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-26.05", - "repo": "home-manager", - "type": "github" - } - }, - "hyprmod": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790793570, - "narHash": "sha256-iWz98a1jWYk6XGv38IWY9uA55gBwQZyDw2oN65ml9Rw=", - "owner": "BlueManCZ", - "repo": "hyprmod", - "rev": "4fe54f2ee5f1943a2007959e0d67479879fb2c92", - "type": "github" - }, - "original": { - "owner": "BlueManCZ", - "repo": "hyprmod", - "type": "github" - } - }, - "imnyang": { - "inputs": { - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1789351655, - "narHash": "sha256-COv9vZSAEhh6oIY10T2V2/Jg0kLdEBbIau2KaU2yP9A=", - "ref": "refs/heads/main", - "rev": "719080e04c91a24b928ca0158f950a2e04a20c8e", - "revCount": 75, - "type": "git", - "url": "https://git.mizuki.guru/imnyang/nix-packages.git" - }, - "original": { - "type": "git", - "url": "https://git.mizuki.guru/imnyang/nix-packages.git" - } - }, - "imnyang_2": { - "inputs": { - "nixpkgs": "nixpkgs_14" - }, - "locked": { - "lastModified": 1778582554, - "narHash": "sha256-cTh1Ki0o1/n7fFvuT0XOuiERC+uNxvYf306YsnIk3SU=", - "ref": "refs/heads/main", - "rev": "0ec3a0b5650fde3a1cec8b39d0a8655728e8bea4", - "revCount": 42, - "type": "git", - "url": "https://git.mizuki.guru/imnyang/nix-packages.git" - }, - "original": { - "type": "git", - "url": "https://git.mizuki.guru/imnyang/nix-packages.git" - } - }, - "millennium": { - "inputs": { - "millennium-src": "millennium-src", - "nixpkgs": "nixpkgs_5" - }, - "locked": { - "dir": "packages/nix", - "lastModified": 1790954892, - "narHash": "sha256-7NVnbbP4g9sP7X56DUnvBeZY1/pRcQKn2IJMTnm5jls=", - "owner": "SteamClientHomebrew", - "repo": "Millennium", - "rev": "dd868c3c108780c4f63e9fb569a9d5a28a088a51", - "type": "github" - }, - "original": { - "dir": "packages/nix", - "owner": "SteamClientHomebrew", - "repo": "Millennium", - "type": "github" - } - }, - "millennium-src": { - "flake": false, - "locked": { - "lastModified": 1790436335, - "narHash": "sha256-ghYUa4gPLV/VOflM2zkl/gtdwLWHQpRxG4boQoj4yKM=", - "owner": "SteamClientHomebrew", - "repo": "Millennium", - "rev": "765aa8802f8a4d942ad8ac8323a9e0f233a50fa8", - "type": "github" - }, - "original": { - "owner": "SteamClientHomebrew", - "repo": "Millennium", - "rev": "765aa8802f8a4d942ad8ac8323a9e0f233a50fa8", - "type": "github" - } - }, - "mizuki-nc": { - "inputs": { - "nixpkgs": "nixpkgs_6" - }, - "locked": { - "lastModified": 1782378344, - "narHash": "sha256-25d8nVL5f3W1apIZ4amMAPpipgpH7gPyZAqsTGcJE34=", - "ref": "refs/heads/main", - "rev": "70b1c9a2befc933c63f2b3197655b4f1166f9fbb", - "revCount": 1, - "type": "git", - "url": "https://git.mizuki.guru/imnyang/mizuki.guru.git" - }, - "original": { - "rev": "70b1c9a2befc933c63f2b3197655b4f1166f9fbb", - "type": "git", - "url": "https://git.mizuki.guru/imnyang/mizuki.guru.git" - } - }, - "muvel": { - "inputs": { - "nixpkgs": "nixpkgs_7" - }, - "locked": { - "lastModified": 1789527185, - "narHash": "sha256-2KmikuO59LLbJfHNcEMTmPrYep/ZGF0mph6tYEiHRP4=", - "owner": "imnyang", - "repo": "muvel-nix", - "rev": "7a5e1b133e20c773422726aa2955c8c911dcc7be", - "type": "github" - }, - "original": { - "owner": "imnyang", - "repo": "muvel-nix", - "type": "github" - } - }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixcord", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1783744694, - "narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=", - "owner": "nix-darwin", - "repo": "nix-darwin", - "rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74", - "type": "github" - }, - "original": { - "owner": "nix-darwin", - "ref": "nix-darwin-26.05", - "repo": "nix-darwin", - "type": "github" - } - }, - "nix-flatpak": { - "locked": { - "lastModified": 1790428548, - "narHash": "sha256-OsZ/I7v3ArCrk0XOUvkiU1dFtGtE1qZTHRGjvBXIKUU=", - "owner": "gmodena", - "repo": "nix-flatpak", - "rev": "f1f045fc8b35ff59f88982c1752d3f3a42ca6a61", - "type": "github" - }, - "original": { - "owner": "gmodena", - "repo": "nix-flatpak", - "type": "github" - } - }, - "nix-homebrew": { - "inputs": { - "brew-src": "brew-src" - }, - "locked": { - "lastModified": 1789928041, - "narHash": "sha256-iV37ieTcE4ZLOYEe0VznW6dWMBe4lEL8AbK1vblyZGM=", - "owner": "zhaofengli", - "repo": "nix-homebrew", - "rev": "c11cccfdd36dd69b5323d70d354b2853379c2426", - "type": "github" - }, - "original": { - "owner": "zhaofengli", - "repo": "nix-homebrew", - "type": "github" - } - }, - "nixcord": { - "inputs": { - "home-manager": "home-manager_2", - "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", - "nixpkgs-ci": "nixpkgs-ci", - "nixpkgs-nixcord": "nixpkgs-nixcord", - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1791007510, - "narHash": "sha256-R7P+jKdK0iZwHv/V1jeTfBigqhLYwoIKc78mSHtfNAA=", - "owner": "4evy", - "repo": "nixcord", - "rev": "1c47afb71426fa2b97b562ff5e50527075dc0110", - "type": "github" - }, - "original": { - "owner": "4evy", - "repo": "nixcord", - "type": "github" - } - }, - "nixos-wsl": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_9" - }, - "locked": { - "lastModified": 1789164534, - "narHash": "sha256-DoYGPM6QpnYBLWj9gGw6ZwAzIX+HrAVov1BoT+8Jixo=", - "owner": "nix-community", - "repo": "NixOS-WSL", - "rev": "72c92b11bb8289e6651c7fef29cc0a885fd6a255", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "main", - "repo": "NixOS-WSL", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1789044656, - "narHash": "sha256-sDGcZgdRVR58ceKz0RmkBtdUomBvu5vzbf6Aw5rUCo0=", - "rev": "1927682e0d808b4a695910f76562b11e2ddecab4", - "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1070934.1927682e0d80/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" - } - }, - "nixpkgs-2511": { - "locked": { - "lastModified": 1782847189, - "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b6018f87da91d19d0ab4cf979885689b469cdd41", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-ci": { - "locked": { - "lastModified": 1790652569, - "narHash": "sha256-641r7xrlSOHYoktL9/aArPIYNgZJ9eM5URzSEOtPJDY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b6c8664de9b6cc07fe5666a29f91884ba81197c4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-libxml2": { - "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-nixcord": { - "locked": { - "lastModified": 1790635395, - "narHash": "sha256-bNyvoIyOCu7lzoCpWKWGIsHpTtERUWzqYWFPlN++WTw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7fc6f2c20af09cdcaf48b92ec3121860139ec668", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_10": { - "locked": { - "lastModified": 1790822859, - "narHash": "sha256-69xHQhAeMAD2wDXO7T2pcOZIF9Sga2W+JkmY2a11Ops=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1772963539, - "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1790463110, - "narHash": "sha256-VZHcT2wKLkApBCACQ2SH4P1jVZUbbOA7jWAGi1MIViw=", - "rev": "e158d9ed9b51c98974c5e66e1ba1c9e0255fecaa", - "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1080189.e158d9ed9b51/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" - } - }, - "nixpkgs_13": { - "locked": { - "lastModified": 1790578696, - "narHash": "sha256-ZoxIApko70jCdbH3l20HWXOBaT2HZd87orzd2yJ9dVE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7a0f122f5090cf4c2ade2a13a0e229d4e19ba71f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_14": { - "locked": { - "lastModified": 1777954456, - "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1772773019, - "narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "aca4d95fce4914b3892661bcb80b8087293536c6", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1777954456, - "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1779508470, - "narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "29916453413845e54a65b8a1cf996842300cd299", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1781577229, - "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1781577229, - "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1785104993, - "narHash": "sha256-eKbrvPoAOFutbYMdbB3r5EQVmFxKv24iKqHPPUXA0gM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8623c4c20aa4ca2f5fb81510d2944066c3fb0d96", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1790635395, - "narHash": "sha256-bNyvoIyOCu7lzoCpWKWGIsHpTtERUWzqYWFPlN++WTw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7fc6f2c20af09cdcaf48b92ec3121860139ec668", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { - "locked": { - "lastModified": 1789006805, - "narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "notion-desktop": { - "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1768704570, - "narHash": "sha256-5yguPW33Gp2uYVKUgIiE5kgtct+/Sy5rsgI4Tu1yMHM=", - "owner": "heytcass", - "repo": "notion-mac-flake", - "rev": "8cc1e702d64270bd6517bf9fb640f80844d371fd", - "type": "github" - }, - "original": { - "owner": "heytcass", - "repo": "notion-mac-flake", - "type": "github" - } - }, - "numen": { - "inputs": { - "nixpkgs": [ - "vicinae", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790166579, - "narHash": "sha256-+mz4dMdNgEx/GfGophP2B1WCrWonBrFFM1cF+pEz2h8=", - "owner": "vicinaehq", - "repo": "numen", - "rev": "7db7b2069412d3f6bed4b0cf83167c7ad413f231", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "ref": "v0.7.0", - "repo": "numen", - "type": "github" - } - }, - "paring": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_11" - }, - "locked": { - "lastModified": 1773918161, - "narHash": "sha256-m+BNlxiBcf/t3hROBNQ+Ni1dITej/Ixpafw83+gWrYE=", - "ref": "refs/heads/master", - "rev": "4d251d65e72d00f168354aca95a26fc04d12a936", - "revCount": 45, - "type": "git", - "url": "https://git.pari.ng/paring/nix-packages.git" - }, - "original": { - "type": "git", - "url": "https://git.pari.ng/paring/nix-packages.git" - } - }, - "plasma-manager": { - "inputs": { - "home-manager": [ - "home-manager" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1785762349, - "narHash": "sha256-jZhZkzAwc7f3exzcTDJWP2WCAchCv0iNC3UF/QsahdQ=", - "owner": "nix-community", - "repo": "plasma-manager", - "rev": "a19a2a029fa180911bd89c554dca1616e10f4c1d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "plasma-manager", - "type": "github" - } - }, - "quadlet-nix": { - "locked": { - "lastModified": 1790641475, - "narHash": "sha256-G/priWdc/7y1Fogok9rn6WS4KhbYpTr2B2PwSMt3ekA=", - "owner": "SEIAROTg", - "repo": "quadlet-nix", - "rev": "db3af9df6943692c78cf9a05e3bfeb7d82e94cf3", - "type": "github" - }, - "original": { - "owner": "SEIAROTg", - "repo": "quadlet-nix", - "type": "github" - } - }, - "root": { - "inputs": { - "amiaBot": "amiaBot", - "api": "api", - "arch-hyprland": "arch-hyprland", - "catppuccin": "catppuccin", - "cfwithoutincident": "cfwithoutincident", - "codex-app": "codex-app", - "concord": "concord", - "darwin": "darwin", - "dots-hyprland": "dots-hyprland", - "home-manager": "home-manager", - "hyprmod": "hyprmod", - "imnyang": "imnyang", - "millennium": "millennium", - "mizuki-nc": "mizuki-nc", - "muvel": "muvel", - "nix-flatpak": "nix-flatpak", - "nix-homebrew": "nix-homebrew", - "nixcord": "nixcord", - "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_10", - "nixpkgs-2511": "nixpkgs-2511", - "notion-desktop": "notion-desktop", - "paring": "paring", - "plasma-manager": "plasma-manager", - "quadlet-nix": "quadlet-nix", - "rounded-polygon-qmljs": "rounded-polygon-qmljs", - "rustfs": "rustfs", - "sops-nix": "sops-nix", - "spicetify-nix": "spicetify-nix", - "vicinae": "vicinae", - "vicinae-extensions": "vicinae-extensions", - "vscode-nigo": "vscode-nigo" - } - }, - "rounded-polygon-qmljs": { - "flake": false, - "locked": { - "lastModified": 1771173575, - "narHash": "sha256-p1Ia0oQCWnik2saVMgv7IABkaJV43PoY7uuwXjXlc+Q=", - "owner": "end-4", - "repo": "rounded-polygon-qmljs", - "rev": "e31ec4cb4ebf6a46b267f5c42eabf6874916fa16", - "type": "github" - }, - "original": { - "owner": "end-4", - "repo": "rounded-polygon-qmljs", - "type": "github" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "concord", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1778210054, - "narHash": "sha256-iYINsX0BVDxTXd0z4FzDpBYHZ9fWUtwjG9cKSXwe9Tg=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "bc83d66023d19fb301ee98772643b24b6129ef48", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rustfs": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790182695, - "narHash": "sha256-Qkh5MyD52JtzcHh/ooTLFIpmAwl8du6j472+uKpq3s4=", - "owner": "rustfs", - "repo": "rustfs-flake", - "rev": "2e8e0e5a45d918ffa15f8a743988b36bdc8268f8", - "type": "github" - }, - "original": { - "owner": "rustfs", - "repo": "rustfs-flake", - "type": "github" - } - }, - "sops-nix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790498116, - "narHash": "sha256-rs9meAYxW3zzrh43yaW7htrqCD+X9+pupDPHN86fumI=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "5efb5a6f4f5ab192817d28557dd4d650fa14d866", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "sops-nix", - "type": "github" - } - }, - "soulver-cpp": { - "inputs": { - "nixpkgs": [ - "vicinae", - "nixpkgs" - ], - "nixpkgs-libxml2": "nixpkgs-libxml2" - }, - "locked": { - "lastModified": 1783621734, - "narHash": "sha256-YBFO+aurlz2y2hTRN1Kl0RjX6JzHn0mYBmt4zb436Yg=", - "owner": "vicinaehq", - "repo": "soulver-cpp", - "rev": "00e926e2bd03118638c88981f6a67bfa107210c2", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "soulver-cpp", - "type": "github" - } - }, - "spicetify-nix": { - "inputs": { - "nixpkgs": "nixpkgs_12", - "systems": "systems_5" - }, - "locked": { - "lastModified": 1790502898, - "narHash": "sha256-eR6P8ZCyYqrdvuOANIOE78t4qqm6wSTBKLP/aW8nwJE=", - "owner": "Gerg-L", - "repo": "spicetify-nix", - "rev": "d508ccfa23820d032589bd65345bf5b6d9ea842f", - "type": "github" - }, - "original": { - "owner": "Gerg-L", - "repo": "spicetify-nix", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "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, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixcord", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1786901030, - "narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "vicinae": { - "inputs": { - "nixpkgs": "nixpkgs_13", - "numen": "numen", - "soulver-cpp": "soulver-cpp", - "systems": "systems_6" - }, - "locked": { - "lastModified": 1790972264, - "narHash": "sha256-JAi32uRoi5NxQAbLAJPF1m/ixqGbNs9e6ja3meHLvZw=", - "owner": "vicinaehq", - "repo": "vicinae", - "rev": "7733e952e88ec2b44340f35b93846d1158e3fd24", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "vicinae", - "type": "github" - } - }, - "vicinae-extensions": { - "inputs": { - "flake-compat": "flake-compat_2", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_7", - "vicinae": "vicinae_2" - }, - "locked": { - "lastModified": 1790242820, - "narHash": "sha256-xG2Nvdhl+lcguYzkAHf6RkHQpM8c3rbN0NDHUiwT4CA=", - "owner": "vicinaehq", - "repo": "extensions", - "rev": "def646b3655e13759d2b0a7b9d605f55fe83a5f7", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "extensions", - "type": "github" - } - }, - "vicinae_2": { - "inputs": { - "nixpkgs": [ - "vicinae-extensions", - "nixpkgs" - ], - "systems": [ - "vicinae-extensions", - "systems" - ] - }, - "locked": { - "lastModified": 1780277152, - "narHash": "sha256-P3YrDLnggsMsSoiX/ox3CS6GkZtY37XQVon/QR6Agw8=", - "owner": "vicinaehq", - "repo": "vicinae", - "rev": "67290dff5b2191a6cb6dd78b31d623eeef3acdec", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "vicinae", - "type": "github" - } - }, - "vscode-nigo": { - "inputs": { - "imnyang": "imnyang_2", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1778582610, - "narHash": "sha256-XzmvwRG9Ztjls52qYSDsq5U0x6jD6lRJfnp/A2TWv4M=", - "ref": "main", - "rev": "43b78f086143ade3fe37da41b9bc804055660022", - "revCount": 10, - "type": "git", - "url": "https://git.pari.ng/imnyang/vscode-nigo.git" - }, - "original": { - "ref": "main", - "type": "git", - "url": "https://git.pari.ng/imnyang/vscode-nigo.git" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/hosts/server/hikari/hako/configuration.nix b/hosts/server/hikari/hako/configuration.nix index 4158120..cfa72a9 100644 --- a/hosts/server/hikari/hako/configuration.nix +++ b/hosts/server/hikari/hako/configuration.nix @@ -1,4 +1,34 @@ -{ pkgs, inputs, ... }: +{ lib, pkgs, inputs, ... }: +let + concordSession = pkgs.writeShellScriptBin "concord-session" '' + set -eu + + runtime_dir="''${XDG_RUNTIME_DIR:-/tmp}" + session_dir="$(mktemp -d "$runtime_dir/concord-session.XXXXXX")" + + cleanup() { + rm -rf -- "$session_dir" + } + + trap cleanup EXIT + trap 'exit 129' HUP + trap 'exit 130' INT + trap 'exit 143' TERM + + config_home="$session_dir/config" + state_home="$session_dir/state" + mkdir -p "$config_home" "$state_home" + + cat > "$config_home/config.toml" <<'EOF' +[credentials] +store = "plain" +EOF + + XDG_CONFIG_HOME="$config_home" \ + XDG_STATE_HOME="$state_home" \ + "${inputs.concord.packages.${pkgs.system}.default}/bin/concord" "$@" + ''; +in { imports = [ ./hardware-configuration.nix @@ -29,6 +59,24 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHP3Z+AYrRh9f8TYyqChKfeyNm3lOe0F75AwRHTTaxD imnyang@kazusa" ]; + users.users.discord = { + isNormalUser = true; + description = "Ephemeral Concord session user"; + shell = pkgs.bashInteractive; + password = ""; + }; + + services.openssh.extraConfig = '' + Match User discord + AuthenticationMethods none + PasswordAuthentication yes + PermitEmptyPasswords yes + ForceCommand ${concordSession}/bin/concord-session + DisableForwarding yes + PermitTTY yes + PermitUserRC no + ''; + environment.systemPackages = with pkgs; [ eza neovim @@ -44,6 +92,19 @@ networking.firewall.enable = false; + # Keep short-lived service memory spikes from turning into a global OOM. + # The host has 8 GiB RAM and currently had no swap configured. + swapDevices = [ + { + # nixpkgs currently requires a label definition for swap submodules, + # but file-backed swap must still use its real path here. + label = "hako-swap"; + device = lib.mkForce "/swapfile"; + } + ]; + + boot.kernel.sysctl."vm.swappiness" = 10; + # /dev/sdd1 (ext4, UUID efdf753d-282c-4b78-9549-a124b353c6a5) fileSystems."/mnt/static" = { device = "/dev/disk/by-uuid/efdf753d-282c-4b78-9549-a124b353c6a5"; diff --git a/hosts/server/hikari/hako/home.nix b/hosts/server/hikari/hako/home.nix index 60c49a2..bcf93b9 100644 --- a/hosts/server/hikari/hako/home.nix +++ b/hosts/server/hikari/hako/home.nix @@ -6,34 +6,6 @@ let nr = import "${inputs.self}/modules/mizukios/features/packages/nr.nix" { inherit pkgs; }; nrr = import "${inputs.self}/modules/mizukios/features/packages/nrr.nix" { inherit pkgs; }; - concord = pkgs.writeShellScriptBin "concord" '' - set -eu - - runtime_dir="''${XDG_RUNTIME_DIR:-/tmp}" - session_dir="$(mktemp -d "$runtime_dir/concord-session.XXXXXX")" - - cleanup() { - rm -rf -- "$session_dir" - } - - trap cleanup EXIT - trap 'exit 129' HUP - trap 'exit 130' INT - trap 'exit 143' TERM - - config_home="$session_dir/config" - state_home="$session_dir/state" - mkdir -p "$config_home" "$state_home" - - cat > "$config_home/config.toml" <<'EOF' -[credentials] -store = "plain" -EOF - - XDG_CONFIG_HOME="$config_home" \ - XDG_STATE_HOME="$state_home" \ - "${inputs.concord.packages.${pkgs.stdenv.hostPlatform.system}.default}/bin/concord" "$@" - ''; in { home.stateVersion = "26.05"; @@ -41,7 +13,6 @@ in home.homeDirectory = "/home/imnyang"; home.packages = [ - concord nr nrr ]; diff --git a/hosts/server/hikari/hako/services/api.nix b/hosts/server/hikari/hako/services/api.nix index 7e0fe85..cf975ef 100644 --- a/hosts/server/hikari/hako/services/api.nix +++ b/hosts/server/hikari/hako/services/api.nix @@ -22,7 +22,7 @@ let ''; outputHashMode = "recursive"; - outputHash = "sha256-ke6cG/cBON6d6giFo1RAQ4gMfIbmagJfCI1FfZl1w/8="; + outputHash = "sha256-RMIfjUQKyC3iTGvBUvneSEMTf1Aws2WiOqRm+GqdPTQ="; }; apiPackage = pkgs.stdenv.mkDerivation { diff --git a/hosts/server/hikari/hako/services/forgejo.nix b/hosts/server/hikari/hako/services/forgejo.nix index 5ec7dfe..fbdbfe7 100644 --- a/hosts/server/hikari/hako/services/forgejo.nix +++ b/hosts/server/hikari/hako/services/forgejo.nix @@ -39,7 +39,7 @@ services.forgejo = { enable = true; - package = pkgs.forgejo; + package = import ../../../../../overlays/forgejo-codefloe.nix { inherit pkgs; }; database = { type = "postgres"; @@ -79,8 +79,8 @@ service = { REGISTER_EMAIL_CONFIRM = true; ENABLE_NOTIFY_MAIL = true; - DISABLE_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + DISABLE_REGISTRATION = true; + ALLOW_ONLY_EXTERNAL_REGISTRATION = false; ENABLE_CAPTCHA = false; REQUIRE_SIGNIN_VIEW = lib.mkForce false; DEFAULT_KEEP_EMAIL_PRIVATE = false; diff --git a/hosts/server/hikari/hako/services/helium-services.nix b/hosts/server/hikari/hako/services/helium-services.nix index e2c9ffb..2afa9a5 100644 --- a/hosts/server/hikari/hako/services/helium-services.nix +++ b/hosts/server/hikari/hako/services/helium-services.nix @@ -18,7 +18,7 @@ let version = "2026-08-26"; src = pkgs.fetchurl { url = "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries/+archive/cccf64a8acc951afe3f47fee023908e55699bc58.tar.gz"; - hash = "sha256-KMVNa0XsR9BXJzW6d7/D6AzAGErRVRGPU9CjjTIvyv0="; + hash = "sha256-mI929q+yEj0oDWGgt1gA21WTZRN6gm4a35SPCMBYgvU="; }; dontUnpack = true; @@ -201,6 +201,14 @@ in file_server browse } + @ext path /ext + handle @ext { + rewrite * / + reverse_proxy 127.0.0.1:18080 127.0.0.1:18081 { + lb_policy first + } + } + handle_path /ext/* { reverse_proxy 127.0.0.1:18080 127.0.0.1:18081 { lb_policy first diff --git a/modules/home/ssh.nix b/modules/home/ssh.nix index d683c2e..704a08c 100644 --- a/modules/home/ssh.nix +++ b/modules/home/ssh.nix @@ -19,6 +19,14 @@ ControlPath = "~/.ssh/master-%r@%n:%p"; ControlPersist = "no"; }; + + "mizuki.guru" = { + User = "discord"; + PreferredAuthentications = [ "none" ]; + PubkeyAuthentication = false; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; }; }; } diff --git a/modules/mizukios/features/caddy/common.nix b/modules/mizukios/features/caddy/common.nix index 199d9ab..617b811 100644 --- a/modules/mizukios/features/caddy/common.nix +++ b/modules/mizukios/features/caddy/common.nix @@ -43,7 +43,7 @@ in "github.com/RussellLuo/caddy-ext/ratelimit@v0.3.0" "github.com/neodyme-labs/user_agent_parse@v0.0.1" ]; - hash = "sha256-r4MgRk8HpKYx7f8FmA3PKgD/5ZNTIHpQvlE+zRbP0lw="; + hash = "sha256-sh5R+MqWfzYJ6GTRHW0rmnz1D5l91ULaSyupcGvEatA="; }; globalConfig = '' admin unix//run/caddy/admin.socket diff --git a/overlays/forgejo-codefloe.nix b/overlays/forgejo-codefloe.nix new file mode 100644 index 0000000..c1a199e --- /dev/null +++ b/overlays/forgejo-codefloe.nix @@ -0,0 +1,26 @@ +{ pkgs }: + +let + # CodeFloe's v16.0/forgejo-codefloe deployment branch, pinned for reproducibility. + src = pkgs.fetchzip { + url = "https://codefloe.com/codefloe/forgejo-codefloe/archive/ed1b96c66680ed99d7d11201915eca28587b8171.tar.gz"; + hash = "sha256-hdLR4A2qa2oRUXKmApQngVDy15I214/NB53syNmMacE="; + }; +in +# Revisit the pinned fork and build recipe together when nixpkgs updates Forgejo. +assert pkgs.forgejo.version == "16.0.5"; +(pkgs.forgejo.override { + buildNpmPackage = + args: + pkgs.buildNpmPackage ( + args + // { + inherit src; + npmDepsHash = "sha256-t9v9gVuCd9uqiK47lUDpJdzzwqc6sQwBkPxw/mAST0c="; + } + ); +}).overrideAttrs { + pname = "forgejo-codefloe"; + inherit src; + vendorHash = "sha256-bu1kJqXvPSEehhbG5tkAEQAEbhRl5FlJ+EEM01FiBSY="; +}