7USRVMS5DWJUTK4EYP5F774F4FZJNE2FFS7B2AGEWM3ADU6X4AYAC
{nixpkgs, ...}: let
mkTool = {
name,
lispDeps,
}: system: let
pkgs = nixpkgs.legacyPackages.${system};
sbcl = pkgs.sbcl.withPackages lispDeps;
in
pkgs.stdenv.mkDerivation {
inherit system name;
src = ../../tools;
builder = ../../build.sh;
dontStrip = true;
buildInputs = [
pkgs.makeWrapper
pkgs.openssl.dev
sbcl
pkgs.which
pkgs.zsh
];
};
mkZenburn = mkTool {
name = "zenburn";
lispDeps = ps:
with ps; [
alexandria
dufy
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
serapeum
#uiop
];
};
mkCls = mkTool {
name = "cls";
lispDeps = ps:
with ps; [
alexandria
data-lens
local-time
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
yason
#uiop
];
};
mkGitPickPatch = mkTool {
name = "git-pick-patch";
lispDeps = ps:
with ps; [
alexandria
serapeum
cl-ppcre
];
};
mkJsonFormatter = mkTool {
name = "json-formatter";
lispDeps = ps:
with ps; [
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
alexandria
serapeum
com_dot_inuoe_dot_jzon
];
};
mkPrefixedSed = system: let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.callPackage ./prefixed-gnused {};
mkCurl = system: let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.curl.override {
openssl = pkgs.quictls;
http3Support = true;
};
mkTools = system: {
zenburn = mkZenburn system;
cls = mkCls system;
git-pick-patch = mkGitPickPatch system;
json-formatter = mkJsonFormatter system;
mycurl = mkCurl system;
gsed = mkPrefixedSed system;
};
darwinPackages = system:
(mkTools system)
// {
iterm2 = let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.callPackage ./iterm.nix {
version = "3.5.11";
hash = "sha256-vcZL74U9RNjhpIQRUUn6WueYhE/LfLqpb/JgWunY5dI=";
};
};
in
builtins.mapAttrs (system: f: f system) {
"aarch64-darwin" = darwinPackages;
"aarch64-linux" = mkTools;
"x86_64-linux" = mkTools;
}
{nixpkgs, ...}: let
mkTool = {
name,
lispDeps,
}: system: let
pkgs = nixpkgs.legacyPackages.${system};
sbcl = pkgs.sbcl.withPackages lispDeps;
in
pkgs.stdenv.mkDerivation {
inherit system name;
src = ../../tools;
builder = ../../build.sh;
dontStrip = true;
buildInputs = [
pkgs.makeWrapper
pkgs.openssl.dev
sbcl
pkgs.which
pkgs.zsh
];
};
mkZenburn = mkTool {
name = "zenburn";
lispDeps = ps:
with ps; [
alexandria
dufy
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
serapeum
#uiop
];
};
mkCls = mkTool {
name = "cls";
lispDeps = ps:
with ps; [
alexandria
data-lens
local-time
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
yason
#uiop
];
};
mkGitPickPatch = mkTool {
name = "git-pick-patch";
lispDeps = ps:
with ps; [
alexandria
serapeum
cl-ppcre
];
};
mkJsonFormatter = mkTool {
name = "json-formatter";
lispDeps = ps:
with ps; [
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
alexandria
serapeum
com_dot_inuoe_dot_jzon
];
};
mkPrefixedSed = system: let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.callPackage ./prefixed-gnused {};
mkCurl = system: let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.curl.override {
openssl = pkgs.quictls;
http3Support = true;
};
mkTools = system: {
zenburn = mkZenburn system;
cls = mkCls system;
git-pick-patch = mkGitPickPatch system;
json-formatter = mkJsonFormatter system;
mycurl = mkCurl system;
gsed = mkPrefixedSed system;
};
darwinPackages = system:
(mkTools system)
// {
iterm2 = let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.callPackage ./iterm.nix {
version = "3.5.11";
hash = "sha256-vcZL74U9RNjhpIQRUUn6WueYhE/LfLqpb/JgWunY5dI=";
};
};
in
builtins.mapAttrs (system: f: f system) {
"aarch64-darwin" = darwinPackages;
"aarch64-linux" = mkTools;
"x86_64-linux" = mkTools;
}