dynix/default.nix

37 lines
1.1 KiB
Nix
Raw Normal View History

# SPDX-FileCopyrightText: 2026 Qyriad <qyriad@qyriad.me>
#
# SPDX-License-Identifier: EUPL-1.1
2026-01-21 15:23:04 +01:00
{
2026-03-05 16:19:06 +01:00
pkgs ? import <nixpkgs> { config.checkMeta = true; },
2026-02-17 20:17:39 +01:00
qpkgs ? let
2026-02-18 14:01:39 +01:00
src = fetchTarball "https://github.com/Qyriad/nur-packages/archive/main.tar.gz";
2026-02-17 20:17:39 +01:00
in import src { inherit pkgs; },
2026-01-21 15:23:04 +01:00
}: let
2026-02-17 20:17:39 +01:00
inherit (qpkgs) lib;
2026-03-22 17:15:04 +01:00
# Use LLD for faster link times.
defaultStdenv = pkgs.clangStdenv.override {
cc = pkgs.clangStdenv.cc.override {
bintools = pkgs.wrapBintoolsWith { inherit (pkgs.llvmPackages) bintools; };
};
};
dynix = (qpkgs.callPackage ./package.nix { clangStdenv = defaultStdenv; })
2026-03-22 15:57:38 +01:00
.overrideAttrs (final: prev: {
dynixCommand = qpkgs.stdlib.mkStdenvPretty prev.dynixCommand;
dynixModules = qpkgs.stdlib.mkStdenvPretty prev.dynixModules;
})
2026-02-17 20:17:39 +01:00
|> qpkgs.stdlib.mkStdenvPretty;
2026-03-22 17:15:04 +01:00
2026-02-17 20:17:39 +01:00
byStdenv = lib.mapAttrs (stdenvName: stdenv: let
withStdenv = dynix.override { clangStdenv = stdenv; };
dynix' = withStdenv.overrideAttrs (prev: {
pname = "${prev.pname}-${stdenvName}";
});
in dynix') qpkgs.validStdenvs;
2026-03-22 17:15:04 +01:00
2026-02-09 14:32:56 +01:00
in dynix.overrideAttrs (prev: lib.recursiveUpdate prev {
2026-02-17 20:17:39 +01:00
passthru = { inherit byStdenv; };
2026-01-21 15:23:04 +01:00
})