2023-04-11 00:58:02 +07:00
|
|
|
{ pkgs
|
|
|
|
, lib
|
2023-12-18 08:48:49 +07:00
|
|
|
, inputs
|
2023-06-11 21:48:35 +07:00
|
|
|
, pkgs' ? pkgs
|
2023-10-26 22:22:39 +07:00
|
|
|
, isOverlay ? true
|
2023-12-18 08:48:49 +07:00
|
|
|
, ...
|
|
|
|
}:
|
|
|
|
|
2023-04-11 00:58:02 +07:00
|
|
|
let
|
2023-08-24 18:27:05 +07:00
|
|
|
inherit (pkgs') callPackage;
|
2023-05-25 06:24:57 +07:00
|
|
|
sources = import ./_sources/generated.nix {
|
2023-04-11 00:58:02 +07:00
|
|
|
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
|
|
|
|
};
|
2023-11-21 04:46:52 +07:00
|
|
|
nixForNixPlugins = pkgs.nixVersions.nix_2_18;
|
2023-12-18 08:48:49 +07:00
|
|
|
nur = import inputs.nur {
|
|
|
|
inherit pkgs;
|
|
|
|
nurpkgs = pkgs;
|
|
|
|
};
|
2023-04-11 00:58:02 +07:00
|
|
|
in
|
|
|
|
|
2023-06-14 17:26:54 +07:00
|
|
|
{
|
2023-12-18 08:48:49 +07:00
|
|
|
inherit (inputs.nix-gaming.packages.${pkgs.system}) faf-client osu-lazer-bin;
|
2023-08-04 08:30:16 +07:00
|
|
|
inherit nixForNixPlugins;
|
2023-08-16 05:10:49 +07:00
|
|
|
nix = nixForNixPlugins;
|
|
|
|
nixVersions = pkgs.nixVersions.extend (self: super: {
|
|
|
|
stable = nixForNixPlugins;
|
|
|
|
unstable = nixForNixPlugins;
|
|
|
|
});
|
|
|
|
# Various patches to change Nix version of existing packages so they don't error out because of nix-plugins in nix.conf
|
2023-11-21 04:46:52 +07:00
|
|
|
nix-plugins = (pkgs.nix-plugins.override { nix = nixForNixPlugins; }).overrideAttrs (old: {
|
|
|
|
version = "13.0.0";
|
2023-08-14 03:50:27 +07:00
|
|
|
patches = [
|
|
|
|
(pkgs.fetchpatch {
|
2023-11-21 04:46:52 +07:00
|
|
|
# pull 16
|
|
|
|
url = "https://github.com/chayleaf/nix-plugins/commit/8f945cadad7f2e60e8f308b2f498ec5e16961ede.patch";
|
|
|
|
hash = "sha256-pOogMtjXYkSDtXW12TmBpGr/plnizJtud2nP3q2UldQ=";
|
2023-08-14 03:50:27 +07:00
|
|
|
})
|
|
|
|
];
|
2023-11-21 04:46:52 +07:00
|
|
|
});
|
2023-09-13 17:20:18 +07:00
|
|
|
harmonia = (pkgs.harmonia.override { nix = nixForNixPlugins; }); /*.overrideAttrs {
|
2023-08-16 05:10:49 +07:00
|
|
|
patches = [
|
|
|
|
(pkgs.fetchpatch {
|
|
|
|
url = "https://github.com/nix-community/harmonia/pull/145/commits/394c939a45fa9c590347e149400876c318610b1e.patch";
|
|
|
|
hash = "sha256-DvyE7/0PW3XRtFgIrl4IQa7RIQLQZoKLddxCZvhpu3I=";
|
|
|
|
})
|
|
|
|
];
|
2023-09-13 17:20:18 +07:00
|
|
|
};*/
|
2023-08-04 08:30:16 +07:00
|
|
|
nix-init = pkgs.nix-init.override { nix = nixForNixPlugins; };
|
|
|
|
nix-serve = pkgs.nix-serve.override { nix = nixForNixPlugins; };
|
|
|
|
nix-serve-ng = pkgs.nix-serve-ng.override { nix = nixForNixPlugins; };
|
2023-08-14 03:50:27 +07:00
|
|
|
hydra_unstable = (pkgs.hydra_unstable.override {
|
2023-09-13 17:20:18 +07:00
|
|
|
nix = nixForNixPlugins; /*.overrideAttrs (old: {
|
2023-08-14 03:50:27 +07:00
|
|
|
# TODO: remove when https://github.com/NixOS/nix/issues/8796 is fixed or hydra code stops needing a fix
|
|
|
|
configureFlags = builtins.filter (x: x != "--enable-lto") (old.configureFlags or []);
|
2023-09-13 17:20:18 +07:00
|
|
|
});*/
|
2023-11-21 04:46:52 +07:00
|
|
|
}).overrideAttrs (old: {
|
|
|
|
# who cares about failing tests amirite
|
|
|
|
doCheck = false;
|
2023-08-14 03:50:27 +07:00
|
|
|
patches = (old.patches or [ ]) ++ [
|
|
|
|
(pkgs.fetchpatch {
|
2023-11-21 04:46:52 +07:00
|
|
|
url = "https://github.com/chayleaf/hydra/commit/e9da80fff6234fab2458173272ee0bedbe8935c3.patch";
|
|
|
|
hash = "sha256-PS8rwe5lIzvaVlh/DogYmW5OccVfpKQ6JehTQibx2XQ=";
|
2023-08-14 03:50:27 +07:00
|
|
|
})
|
|
|
|
];
|
2023-11-21 04:46:52 +07:00
|
|
|
});
|
2023-08-14 03:50:27 +07:00
|
|
|
nurl = pkgs.nurl.override { nix = nixForNixPlugins; };
|
2023-11-21 04:46:52 +07:00
|
|
|
/*nvfetcher = pkgs.nvfetcher.overrideAttrs (old: {
|
2023-09-13 17:20:18 +07:00
|
|
|
meta = builtins.removeAttrs old.meta [ "broken" ];
|
2023-11-21 04:46:52 +07:00
|
|
|
});*/
|
2023-08-04 08:30:16 +07:00
|
|
|
|
2023-12-19 11:12:34 +07:00
|
|
|
buffyboard = pkgs.callPackage ./buffyboard { };
|
2023-06-11 18:02:38 +07:00
|
|
|
clang-tools_latest = pkgs.clang-tools_16;
|
|
|
|
clang_latest = pkgs.clang_16;
|
2023-05-10 16:42:56 +07:00
|
|
|
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
|
2023-04-11 00:58:02 +07:00
|
|
|
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
|
2023-05-10 16:42:56 +07:00
|
|
|
});*/
|
2023-11-21 04:46:52 +07:00
|
|
|
ffmpeg-custom = (pkgs.callPackage (import /${pkgs.path}/pkgs/development/libraries/ffmpeg/generic.nix {
|
|
|
|
version = "6.1";
|
|
|
|
sha256 = "sha256-NzhD2D16bCVCyCXo0TRwZYp3Ta5eFSfoQPa+iRkeNZg=";
|
|
|
|
}) {
|
|
|
|
ffmpegVariant = "full";
|
2023-11-08 11:47:14 +07:00
|
|
|
withCuda = false;
|
|
|
|
withCudaLLVM = false;
|
|
|
|
withNvdec = false;
|
|
|
|
withNvenc = false;
|
2023-11-21 04:46:52 +07:00
|
|
|
inherit (pkgs'.darwin.apple_sdk.frameworks)
|
|
|
|
Cocoa CoreServices CoreAudio CoreMedia AVFoundation MediaToolbox
|
|
|
|
VideoDecodeAcceleration VideoToolbox;
|
2023-11-08 11:47:14 +07:00
|
|
|
}).overrideAttrs (old: {
|
|
|
|
postPatch = ''
|
|
|
|
${old.postPatch or ""}
|
|
|
|
substituteInPlace libavutil/hwcontext_vulkan.c \
|
|
|
|
--replace FF_VK_KHR_VIDEO_DECODE_QUEUE FF_VK_EXT_VIDEO_DECODE_QUEUE \
|
|
|
|
--replace FF_VK_KHR_VIDEO_DECODE_H264 FF_VK_EXT_VIDEO_DECODE_H264 \
|
|
|
|
--replace FF_VK_KHR_VIDEO_DECODE_H265 FF_VK_EXT_VIDEO_DECODE_H265 \
|
|
|
|
--replace FF_VK_KHR_VIDEO_DECODE_AV1 FF_VK_EXT_VIDEO_DECODE_AV1
|
|
|
|
'';
|
2023-11-21 04:46:52 +07:00
|
|
|
buildInputs = old.buildInputs ++ [ pkgs.libaribcaption ];
|
2023-11-08 11:47:14 +07:00
|
|
|
configureFlags = old.configureFlags ++ [ "--enable-libaribcaption" ];
|
|
|
|
});
|
2023-10-19 02:02:47 +07:00
|
|
|
gimp = callPackage ./gimp { inherit (pkgs) gimp; };
|
2023-08-04 08:30:16 +07:00
|
|
|
home-daemon = callPackage ./home-daemon { };
|
2023-04-11 00:58:02 +07:00
|
|
|
# pin version
|
|
|
|
looking-glass-client = pkgs.looking-glass-client.overrideAttrs (old: {
|
|
|
|
version = "B6";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "gnif";
|
|
|
|
repo = "LookingGlass";
|
|
|
|
rev = "B6";
|
|
|
|
sha256 = "sha256-6vYbNmNJBCoU23nVculac24tHqH7F4AZVftIjL93WJU=";
|
|
|
|
fetchSubmodules = true;
|
|
|
|
};
|
|
|
|
});
|
2023-07-12 14:59:52 +07:00
|
|
|
kvmfrOverlay = kvmfr: kvmfr.overrideAttrs (old: {
|
2023-07-12 03:26:50 +07:00
|
|
|
inherit (pkgs'.looking-glass-client) version src;
|
|
|
|
});
|
2023-12-24 14:27:43 +07:00
|
|
|
mobile-config-firefox = callPackage ./mobile-config-firefox { };
|
2023-12-15 06:03:46 +07:00
|
|
|
ping-exporter = callPackage ./ping-exporter { };
|
2023-04-11 00:58:02 +07:00
|
|
|
proton-ge = pkgs.stdenvNoCC.mkDerivation {
|
|
|
|
inherit (sources.proton-ge) pname version src;
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out
|
|
|
|
tar -C $out --strip=1 -x -f $src
|
|
|
|
'';
|
|
|
|
};
|
2023-04-10 19:21:20 +07:00
|
|
|
rofi-steam-game-list = callPackage ./rofi-steam-game-list { };
|
2023-10-23 10:36:50 +07:00
|
|
|
scanservjs = callPackage ./scanservjs { };
|
2023-08-04 08:30:16 +07:00
|
|
|
searxng = pkgs'.python3.pkgs.toPythonModule (pkgs.searxng.overrideAttrs (old: {
|
2023-06-27 15:25:19 +07:00
|
|
|
inherit (sources.searxng) src;
|
|
|
|
version = "unstable-" + sources.searxng.date;
|
2023-11-21 04:46:52 +07:00
|
|
|
postInstall = builtins.replaceStrings [ "/botdetection" ] [ "" ] old.postInstall;
|
2023-08-04 08:30:16 +07:00
|
|
|
}));
|
2023-12-24 14:27:43 +07:00
|
|
|
schlock = callPackage ./schlock { };
|
2023-04-10 19:21:20 +07:00
|
|
|
techmino = callPackage ./techmino { };
|
2023-04-11 00:58:02 +07:00
|
|
|
|
2023-10-26 22:22:39 +07:00
|
|
|
firefoxAddons = lib.recurseIntoAttrs (callPackage ./firefox-addons { inherit nur sources; });
|
|
|
|
mpvScripts = lib.optionalAttrs isOverlay pkgs.mpvScripts // callPackage ./mpv-scripts { };
|
2023-06-15 11:49:07 +07:00
|
|
|
|
2023-10-23 10:36:50 +07:00
|
|
|
qemu_7 = callPackage ./qemu/7.nix {
|
2023-06-24 07:12:11 +07:00
|
|
|
stdenv = pkgs'.ccacheStdenv;
|
2023-06-15 11:49:07 +07:00
|
|
|
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices Cocoa Hypervisor vmnet;
|
|
|
|
inherit (pkgs.darwin.stubs) rez setfile;
|
|
|
|
inherit (pkgs.darwin) sigtool;
|
|
|
|
};
|
|
|
|
qemu_7_kvm = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; });
|
|
|
|
qemu_7_full = lib.lowPrio (pkgs'.qemu_7.override { smbdSupport = true; cephSupport = true; glusterfsSupport = true; });
|
|
|
|
qemu_7_xen = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; xenSupport = true; xen = pkgs.xen-slim; });
|
|
|
|
qemu_7_xen-light = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; xenSupport = true; xen = pkgs.xen-light; });
|
|
|
|
qemu_7_xen_4_15 = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; xenSupport = true; xen = pkgs.xen_4_15-slim; });
|
|
|
|
qemu_7_xen_4_15-light = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; xenSupport = true; xen = pkgs.xen_4_15-light; });
|
|
|
|
qemu_7_test = lib.lowPrio (pkgs'.qemu_7.override { hostCpuOnly = true; nixosTestRunner = true; });
|
|
|
|
# TODO: when https://gitlab.com/virtio-fs/virtiofsd/-/issues/96 is fixed remove this
|
2023-10-23 10:36:50 +07:00
|
|
|
virtiofsd = callPackage ./qemu/virtiofsd.nix {
|
2023-06-15 11:49:07 +07:00
|
|
|
qemu = pkgs'.qemu_7;
|
2023-10-19 02:02:47 +07:00
|
|
|
};
|
|
|
|
|
|
|
|
qemu_7_ccache = pkgs'.qemu_7.override {
|
|
|
|
stdenv = pkgs'.ccacheStdenv;
|
|
|
|
};
|
|
|
|
virtiofsd_ccache = pkgs'.virtiofsd.override {
|
|
|
|
qemu = pkgs'.qemu_7_ccache;
|
2023-06-24 07:12:11 +07:00
|
|
|
stdenv = pkgs'.ccacheStdenv;
|
2023-06-15 11:49:07 +07:00
|
|
|
};
|
2023-09-13 17:20:18 +07:00
|
|
|
}
|
2023-10-19 02:02:47 +07:00
|
|
|
// import ./ccache.nix { inherit pkgs pkgs' lib sources; }
|
|
|
|
// import ../system/hardware/bpi-r3/pkgs.nix { inherit pkgs pkgs' lib sources; }
|
2023-12-19 11:12:34 +07:00
|
|
|
// import ../system/hardware/oneplus-enchilada/pkgs.nix { inherit inputs pkgs pkgs' lib sources; }
|