diff --git a/nixos/.config/nixos/derivations/extra-icons/default.nix b/nixos/.config/nixos/derivations/extra-icons/default.nix new file mode 100644 index 0000000..c8e7c9a --- /dev/null +++ b/nixos/.config/nixos/derivations/extra-icons/default.nix @@ -0,0 +1,35 @@ +{ lib +, pkgs +, stdenv +, fetchurl +}: + +stdenv.mkDerivation rec { + pname = "extra-icons"; + version = "0.0.1"; + + src = ./.; + + nativeBuildInputs = with pkgs; [ + imagemagick # for resize + inkscape # for svgs + ]; + + postInstall = '' + mkdir -p $out/share/icons/hicolor/scalable/apps/ + for icon in ${src}/raster/*; do + icon_name=$(basename "$icon") + inkscape -p "$icon" -o "$out/share/icons/hicolor/scalable/apps/extra-scale-''${icon_name%.*}.svg" + for i in 16 24 48 64 96 128 256 512; do + mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps + magick convert -background none -resize "''${i}x''${i}" "$icon" "$out/share/icons/hicolor/''${i}x''${i}/apps/extra-$icon_name" + done + done + for icon in ${src}/vector/*; do + icon_name=$(basename "$icon") + cp "$icon" "$out/share/icons/hicolor/scalable/apps/extra-scale-$icon_name" + inkscape -p "$icon" -o "$out/share/icons/hicolor/scalable/apps/extra-''${icon_name%.*}-svg.svg" + done + ''; +} + diff --git a/nixos/.config/nixos/derivations/zen-browser/default.nix b/nixos/.config/nixos/derivations/zen-browser/default.nix new file mode 100644 index 0000000..1d40da1 --- /dev/null +++ b/nixos/.config/nixos/derivations/zen-browser/default.nix @@ -0,0 +1,29 @@ +{ appimageTools, fetchurl, ... }: +let + pname = "zen"; + version = "latest"; + + src = fetchurl { + url = "https://github.com/zen-browser/desktop/releases/latest/download/zen-x86_64.AppImage"; + sha256 = "sha256-hZiJ8JLzLhtD1W8DAso3yBAJYhFE+nJEbQJa59AWjnU="; + }; + + appimageContents = appimageTools.extract { + inherit pname version src; + }; +in +appimageTools.wrapType2 { + inherit pname version src; + + extraInstallCommands = '' + # Install .desktop file + install -m 444 -D ${appimageContents}/zen.desktop $out/share/applications/${pname}.desktop + # Install icon + install -m 444 -D ${appimageContents}/zen.png $out/share/icons/hicolor/128x128/apps/${pname}.png + ''; + + meta = { + platforms = [ "x86_64-linux" ]; + }; +} +