nixos-config/modules/zen-browser.nix
2025-05-18 23:46:41 +03:00

45 lines
1.2 KiB
Nix

{ config, pkgs, ... }:
let
version = "1.12.5b";
zen-browser = pkgs.appimageTools.wrapType2 {
name = "zen-browser";
src = pkgs.fetchurl {
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen-x86_64.AppImage";
hash = "sha256-HnEXMPvRwOacsMJ/qDOKIx9zYgQ+PnX4KLMcqcty5sE=";
};
extraInstallCommands = ''
mkdir -p $out/share/applications
cat > $out/share/applications/zen-browser.desktop <<EOF
[Desktop Entry]
Type=Application
Name=Zen Browser
Icon=${icon}
Exec=zen-browser %F
Comment=Internet Browser
EOF
'';
};
# Fetch and convert the icon
icon =
pkgs.runCommand "zenbrowser-icon"
{
nativeBuildInputs = [ pkgs.imagemagick ];
src = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/zen-browser/desktop/163cc6b6bdfbf81673a0b5ea55ee7bf2eba46a42/configs/branding/release/logo.png";
sha256 = "9e27e02a924c73c0101757aa6f726ec6a91f7e908bcc900e9a4dab2c8cd3e61a";
};
}
''
mkdir -p $out/share/icons/hicolor/512x512/apps
magick convert $src $out/share/icons/hicolor/512x512/apps/zen-browser.png
'';
in
{
environment.systemPackages = with pkgs; [
zen-browser
];
}