refactor: move package definitions to default.nix (#40)

This allows this to be NUR-compatible.
This commit is contained in:
Gavin John
2025-04-08 05:58:18 -07:00
committed by GitHub
parent f4edde8a09
commit fc288d87eb
2 changed files with 37 additions and 31 deletions

35
default.nix Normal file
View File

@@ -0,0 +1,35 @@
{
pkgs ? import <nixpkgs> { },
}:
let
mkZen =
pkgs: name: system: entry:
let
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 =
pkgs: name: system: entry:
pkgs.wrapFirefox entry {
icon = "zen-${name}";
wmClass = "zen-${name}";
hasMozSystemDirPatch = false;
};
in
rec {
beta-unwrapped = mkZen pkgs "beta" system "beta";
twilight-unwrapped = mkZen pkgs "twilight" system "twilight";
twilight-official-unwrapped = mkZen pkgs "twilight" system "twilight-official";
beta = mkZenWrapped pkgs "beta" system beta-unwrapped;
twilight = mkZenWrapped pkgs "twilight" system twilight-unwrapped;
twilight-official = mkZenWrapped pkgs "twilight" system twilight-official-unwrapped;
default = beta;
}

View File

@@ -12,27 +12,6 @@
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"
@@ -41,16 +20,8 @@
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;
packages = forAllSystems (system: import ./default.nix {
pkgs = nixpkgs.legacyPackages.${system};
});
formatter = forAllSystems (