feat(flake): support for aarch64-linux
This commit is contained in:
47
flake.nix
47
flake.nix
@@ -7,22 +7,10 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
mkZen = name: system: let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
variant = (builtins.fromJSON (builtins.readFile ./sources.json)).${name}.${system};
|
||||
|
||||
getSource = let
|
||||
sources = builtins.fromJSON (builtins.readFile ./sources.json);
|
||||
in
|
||||
name: sources.${name}.${system};
|
||||
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
|
||||
mkZen = {
|
||||
name,
|
||||
url,
|
||||
sha256,
|
||||
version,
|
||||
...
|
||||
}: let
|
||||
runtimeLibs = with pkgs;
|
||||
[
|
||||
libGL
|
||||
@@ -82,10 +70,10 @@
|
||||
});
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
inherit version;
|
||||
inherit (variant) version;
|
||||
pname = "zen-browser";
|
||||
|
||||
src = builtins.fetchTarball {inherit url sha256;};
|
||||
src = builtins.fetchTarball {inherit (variant) url sha256;};
|
||||
desktopSrc = ./.;
|
||||
|
||||
phases = ["installPhase" "fixupPhase"];
|
||||
@@ -93,12 +81,12 @@
|
||||
nativeBuildInputs = [pkgs.makeWrapper pkgs.copyDesktopItems pkgs.wrapGAppsHook];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,opt/zen,lib/zen-${version}/distribution} && cp -r $src/* $out/opt/zen
|
||||
mkdir -p $out/{bin,opt/zen,lib/zen-${variant.version}/distribution} && cp -r $src/* $out/opt/zen
|
||||
ln -s $out/opt/zen/zen $out/bin/zen
|
||||
ln -s ${policiesJson} "$out/lib/zen-${version}/distribution/policies.json"
|
||||
ln -s $out/bin/zen $out/bin/zen-${name}
|
||||
ln -s ${policiesJson} "$out/lib/zen-${variant.version}/distribution/policies.json"
|
||||
ln -s $out/bin/zen $out/bin/zen-${variant.name}
|
||||
|
||||
install -D $desktopSrc/zen-${name}.desktop $out/share/applications/zen.desktop
|
||||
install -D $desktopSrc/zen-${variant.name}.desktop $out/share/applications/zen.desktop
|
||||
|
||||
install -D $src/browser/chrome/icons/default/default16.png $out/share/icons/hicolor/16x16/apps/zen.png
|
||||
install -D $src/browser/chrome/icons/default/default32.png $out/share/icons/hicolor/32x32/apps/zen.png
|
||||
@@ -140,11 +128,18 @@
|
||||
|
||||
meta.mainProgram = "zen";
|
||||
};
|
||||
|
||||
supportedSystems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
in {
|
||||
packages."${system}" = {
|
||||
default = mkZen (getSource "beta");
|
||||
beta = mkZen (getSource "beta");
|
||||
twilight = mkZen (getSource "twilight");
|
||||
};
|
||||
packages = forAllSystems (system: {
|
||||
default = mkZen "beta" system;
|
||||
beta = mkZen "beta" system;
|
||||
twilight = mkZen "twilight" system;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user