From e3565720916554a0b52f9a8fd4d6f3cef0f98041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Qui=C3=B1ones?= Date: Thu, 3 Apr 2025 18:14:58 -0500 Subject: [PATCH] style: nix code with alejandra format --- flake.nix | 120 ++++++++++++++++++++-------------------- hm-module.nix | 9 +-- package.nix | 149 +++++++++++++++++++++++++------------------------- 3 files changed, 134 insertions(+), 144 deletions(-) diff --git a/flake.nix b/flake.nix index 5eacabd..ff820ce 100644 --- a/flake.nix +++ b/flake.nix @@ -7,70 +7,66 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = - { - self, - nixpkgs, - home-manager, - }: - let - mkZen = - name: system: entry: - let - pkgs = nixpkgs.legacyPackages.${system}; - variant = (builtins.fromJSON (builtins.readFile ./sources.json)).${entry}.${system}; + outputs = { + self, + nixpkgs, + home-manager, + }: let + mkZen = name: system: entry: let + pkgs = nixpkgs.legacyPackages.${system}; + variant = (builtins.fromJSON (builtins.readFile ./sources.json)).${entry}.${system}; - desktopFile = if name == "beta" then "zen.desktop" else "zen_${name}.desktop"; - in - pkgs.callPackage ./package.nix { - inherit name desktopFile variant; - }; - - mkZenWrapped = - name: system: entry: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - pkgs.wrapFirefox entry { - icon = "zen-${name}"; - wmClass = "zen-${name}"; - hasMozSystemDirPatch = false; - }; - - supportedSystems = [ - "x86_64-linux" - "aarch64-linux" - ]; - - forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + desktopFile = + if name == "beta" + then "zen.desktop" + else "zen_${name}.desktop"; in - { - packages = forAllSystems (system: rec { - beta-unwrapped = mkZen "beta" system "beta"; - twilight-unwrapped = mkZen "twilight" system "twilight"; - twilight-official-unwrapped = mkZen "twilight" system "twilight-official"; - - beta = mkZenWrapped "beta" system beta-unwrapped; - twilight = mkZenWrapped "twilight" system twilight-unwrapped; - twilight-official = mkZenWrapped "twilight" system twilight-official-unwrapped; - - default = beta; - }); - - homeModules = rec { - beta = import ./hm-module.nix { - inherit self home-manager; - name = "beta"; - }; - twilight = import ./hm-module.nix { - inherit self home-manager; - name = "twilight"; - }; - twilight-official = import ./hm-module.nix { - inherit self home-manager; - name = "twilight-official"; - }; - default = beta; + pkgs.callPackage ./package.nix { + inherit name desktopFile variant; }; + + mkZenWrapped = name: system: entry: let + pkgs = nixpkgs.legacyPackages.${system}; + in + pkgs.wrapFirefox entry { + icon = "zen-${name}"; + wmClass = "zen-${name}"; + hasMozSystemDirPatch = false; + }; + + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + ]; + + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + in { + packages = forAllSystems (system: rec { + beta-unwrapped = mkZen "beta" system "beta"; + twilight-unwrapped = mkZen "twilight" system "twilight"; + twilight-official-unwrapped = mkZen "twilight" system "twilight-official"; + + beta = mkZenWrapped "beta" system beta-unwrapped; + twilight = mkZenWrapped "twilight" system twilight-unwrapped; + twilight-official = mkZenWrapped "twilight" system twilight-official-unwrapped; + + default = beta; + }); + + homeModules = rec { + beta = import ./hm-module.nix { + inherit self home-manager; + name = "beta"; + }; + twilight = import ./hm-module.nix { + inherit self home-manager; + name = "twilight"; + }; + twilight-official = import ./hm-module.nix { + inherit self home-manager; + name = "twilight-official"; + }; + default = beta; }; + }; } diff --git a/hm-module.nix b/hm-module.nix index ab0a5ca..ac28be1 100644 --- a/hm-module.nix +++ b/hm-module.nix @@ -2,14 +2,12 @@ home-manager, self, name, -}: -{ +}: { pkgs, config, lib, ... -}: -let +}: let applicationName = "Zen Browser"; modulePath = [ "programs" @@ -17,8 +15,7 @@ let ]; mkFirefoxModule = import "${home-manager.outPath}/modules/programs/firefox/mkFirefoxModule.nix"; -in -{ +in { imports = [ (mkFirefoxModule { inherit modulePath; diff --git a/package.nix b/package.nix index ceed724..7e36b80 100644 --- a/package.nix +++ b/package.nix @@ -2,7 +2,6 @@ name, variant, desktopFile, - lib, stdenv, config, @@ -22,18 +21,15 @@ applicationName ? "Zen Browser" + ( - if name == "beta" then - " (Beta)" - else if name == "twilight" then - " (Twilight)" - else if name == "twilight-official" then - " (Twilight)" - else - "" + if name == "beta" + then " (Beta)" + else if name == "twilight" + then " (Twilight)" + else if name == "twilight-official" + then " (Twilight)" + else "" ), -}: - -let +}: let binaryName = "zen-${name}"; mozillaPlatforms = { @@ -41,79 +37,80 @@ let aarch64-linux = "linux-aarch64"; }; - policies = { - DisableAppUpdate = true; - } // config.firefox.policies or { }; + policies = + { + DisableAppUpdate = true; + } + // config.firefox.policies or {}; - policiesJson = writeText "firefox-policies.json" (builtins.toJSON { inherit policies; }); + policiesJson = writeText "firefox-policies.json" (builtins.toJSON {inherit policies;}); pname = "zen-${name}-bin-unwrapped"; in + stdenv.mkDerivation { + inherit pname; + inherit (variant) version; -stdenv.mkDerivation { - inherit pname; - inherit (variant) version; + src = builtins.fetchTarball {inherit (variant) url sha256;}; + desktopSrc = ./.; - src = builtins.fetchTarball { inherit (variant) url sha256; }; - desktopSrc = ./.; + nativeBuildInputs = [ + wrapGAppsHook3 + autoPatchelfHook + patchelfUnstable + ]; + buildInputs = [ + gtk3 + adwaita-icon-theme + alsa-lib + dbus-glib + libXtst + ]; + runtimeDependencies = [ + curl + libva.out + pciutils + ]; + appendRunpaths = [ + "${pipewire}/lib" + ]; + # Firefox uses "relrhack" to manually process relocations from a fixed offset + patchelfFlags = ["--no-clobber-old-sections"]; - nativeBuildInputs = [ - wrapGAppsHook3 - autoPatchelfHook - patchelfUnstable - ]; - buildInputs = [ - gtk3 - adwaita-icon-theme - alsa-lib - dbus-glib - libXtst - ]; - runtimeDependencies = [ - curl - libva.out - pciutils - ]; - appendRunpaths = [ - "${pipewire}/lib" - ]; - # Firefox uses "relrhack" to manually process relocations from a fixed offset - patchelfFlags = [ "--no-clobber-old-sections" ]; + installPhase = '' + mkdir -p "$prefix/lib/zen-bin-${variant.version}" + cp -r "$src"/* "$prefix/lib/zen-bin-${variant.version}" - installPhase = '' - mkdir -p "$prefix/lib/zen-bin-${variant.version}" - cp -r "$src"/* "$prefix/lib/zen-bin-${variant.version}" + mkdir -p "$out/bin" + ln -s "$prefix/lib/zen-bin-${variant.version}/zen" "$out/bin/${binaryName}" - mkdir -p "$out/bin" - ln -s "$prefix/lib/zen-bin-${variant.version}/zen" "$out/bin/${binaryName}" + mkdir -p "$out/lib/zen-${variant.version}/distribution" + ln -s ${policiesJson} "$out/lib/zen-${variant.version}/distribution/policies.json" - mkdir -p "$out/lib/zen-${variant.version}/distribution" - ln -s ${policiesJson} "$out/lib/zen-${variant.version}/distribution/policies.json" + install -D $src/browser/chrome/icons/default/default16.png $out/share/icons/hicolor/16x16/apps/zen-${name}.png + install -D $src/browser/chrome/icons/default/default32.png $out/share/icons/hicolor/32x32/apps/zen-${name}.png + install -D $src/browser/chrome/icons/default/default48.png $out/share/icons/hicolor/48x48/apps/zen-${name}.png + install -D $src/browser/chrome/icons/default/default64.png $out/share/icons/hicolor/64x64/apps/zen-${name}.png + install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen-${name}.png + ''; - install -D $src/browser/chrome/icons/default/default16.png $out/share/icons/hicolor/16x16/apps/zen-${name}.png - install -D $src/browser/chrome/icons/default/default32.png $out/share/icons/hicolor/32x32/apps/zen-${name}.png - install -D $src/browser/chrome/icons/default/default48.png $out/share/icons/hicolor/48x48/apps/zen-${name}.png - install -D $src/browser/chrome/icons/default/default64.png $out/share/icons/hicolor/64x64/apps/zen-${name}.png - install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen-${name}.png - ''; + passthru = { + inherit applicationName binaryName; + libName = "zen-bin-${variant.version}"; + ffmpegSupport = true; + gssSupport = true; + gtk3 = gtk3; + }; - passthru = { - inherit applicationName binaryName; - libName = "zen-bin-${variant.version}"; - ffmpegSupport = true; - gssSupport = true; - gtk3 = gtk3; - }; - - meta = { - inherit desktopFile; - description = "Experience tranquillity while browsing the web without people tracking you!"; - homepage = "https://zen-browser.app"; - downloadPage = "https://zen-browser.app/download/"; - changelog = "https://github.com/zen-browser/desktop/releases"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = builtins.attrNames mozillaPlatforms; - hydraPlatforms = [ ]; - mainProgram = binaryName; - }; -} + meta = { + inherit desktopFile; + description = "Experience tranquillity while browsing the web without people tracking you!"; + homepage = "https://zen-browser.app"; + downloadPage = "https://zen-browser.app/download/"; + changelog = "https://github.com/zen-browser/desktop/releases"; + sourceProvenance = with lib.sourceTypes; [binaryNativeCode]; + platforms = builtins.attrNames mozillaPlatforms; + hydraPlatforms = []; + mainProgram = binaryName; + }; + }