nixconfig/overlays/halloy-overlay.nix
2025-07-29 02:13:18 -07:00

77 lines
2 KiB
Nix

self: super:
let
# Use the standard stable rust platform provided by nixpkgs
stableRustPlatform = super.rustPlatform;
in
{
halloy = stableRustPlatform.buildRustPackage rec {
pname = "halloy";
version = "2025.7";
src = super.fetchFromGitHub {
owner = "squidowl";
repo = pname;
rev = version;
sha256 = "sha256-qBBJAW2QKwcqZRS3D/giT2EzruuGLrCne7odz2vl9is=";
};
cargoLock = {
lockFile = src + "/Cargo.lock";
outputHashes = {
"cryoglyph-0.1.0" = "sha256-Jc+rhzd5BIT7aYBtIfsBFFKkGChdEYhDHdYGiv4KE+c=";
#"dark-light-2.0.0" = "sha256-e826vF7iSkGUqv65TXHBUX04Kz2aaJJEW9f7JsAMaXE=";
# "iced-0.14.0-dev" = "sha256-mt9PsX3FjLFIaE8OyPxCRFeSaxrmZaiVs+QwV2oYtVc=";
# "winit-0.30.8" = "sha256-hlVhlQ8MmIbNFNr6BM4edKdZbe+ixnPpKm819zauFLQ=";
"dpi-0.1.1" = "sha256-hlVhlQ8MmIbNFNr6BM4edKdZbe+ixnPpKm819zauFLQ=";
};
};
nativeBuildInputs = with super; [
pkg-config
makeWrapper
];
buildInputs = with super; [
libxkbcommon
openssl
vulkan-loader
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
wayland
alsa-lib.dev
];
postInstall = ''
wrapProgram $out/bin/halloy \
--prefix LD_LIBRARY_PATH : ${
super.lib.makeLibraryPath [
super.wayland
super.libxkbcommon
super.vulkan-loader
super.alsa-lib
super.openssl
]
}
mkdir -p $out/share/applications
cat > $out/share/applications/halloy.desktop << EOF
[Desktop Entry]
Type=Application
Name=Halloy IRC Client
Exec=$out/bin/halloy
Comment=A modern IRC client built with Rust
Categories=Network;Chat;
Terminal=false
EOF
'';
meta = with super.lib; {
description = "Halloy IRC Client";
homepage = "https://github.com/squidowl/halloy";
license = licenses.gpl3Only;
platforms = platforms.linux;
};
};
}