From 5ca7b0ed795814a7748cfd197de18619c57d8470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Qui=C3=B1ones?= Date: Tue, 31 Dec 2024 13:43:46 -0500 Subject: [PATCH] feat: using using json file to store package metadata --- flake.nix | 30 ++++++++---------------------- sources.json | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 22 deletions(-) create mode 100644 sources.json diff --git a/flake.nix b/flake.nix index 8097afd..ed7d10f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { description = "Zen Browser"; - inputs = {nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";}; + inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; outputs = { self, @@ -9,24 +9,10 @@ }: let system = "x86_64-linux"; - prepareUrl = version: arch: "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-${arch}.tar.bz2"; - - beta_version = "1.0.2-b.5"; - beta_hash = "1xp0z86l7z661cwckgr623gwwjsy3h66900xqjq6dvgx5a3njbxi"; - - beta = { - name = "beta"; - url = prepareUrl beta_version "x86_64"; - sha256 = beta_hash; - version = beta_version; - }; - - twilight = { - name = "twilight"; - url = prepareUrl "twilight" "x86_64"; - sha256 = "0yhlkyj87fylmjr8zfqv73ljx99wry8j07r19bl88078pll4ifn2"; - version = "twilight"; - }; + getSource = let + sources = builtins.fromJSON (builtins.readFile ./sources.json); + in + name: sources.${name}.${system}; pkgs = import nixpkgs {inherit system;}; @@ -155,9 +141,9 @@ }; in { packages."${system}" = { - default = mkZen beta; - beta = mkZen beta; - twilight = mkZen twilight; + default = mkZen (getSource "beta"); + beta = mkZen (getSource "beta"); + twilight = mkZen (getSource "twilight"); }; }; } diff --git a/sources.json b/sources.json new file mode 100644 index 0000000..ece96c3 --- /dev/null +++ b/sources.json @@ -0,0 +1,18 @@ +{ + "beta": { + "x86_64-linux": { + "name": "beta", + "version": "1.0.2-b.5", + "url": "https://github.com/zen-browser/desktop/releases/download/1.0.2-b.5/zen.linux-x86_64.tar.bz2", + "sha256": "1xp0z86l7z661cwckgr623gwwjsy3h66900xqjq6dvgx5a3njbxi" + } + }, + "twilight": { + "x86_64-linux": { + "name": "twilight", + "version": "twilight", + "url": "https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-x86_64.tar.bz2", + "sha256": "0yhlkyj87fylmjr8zfqv73ljx99wry8j07r19bl88078pll4ifn2" + } + } +}