dotfiles/pkgs/default.nix

159 lines
6.4 KiB
Nix
Raw Normal View History

2023-04-11 00:58:02 +07:00
{ pkgs
, lib
, nur
, nix-gaming
, pkgs' ? pkgs
, isOverlay ? true
2023-04-11 00:58:02 +07:00
, ... }:
let
inherit (pkgs') callPackage;
sources = import ./_sources/generated.nix {
2023-04-11 00:58:02 +07:00
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
};
2023-08-14 03:50:27 +07:00
nixForNixPlugins = pkgs.nixVersions.nix_2_17;
2023-04-11 00:58:02 +07:00
in
2023-06-14 17:26:54 +07:00
{
inherit (nix-gaming) faf-client osu-lazer-bin;
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-09-13 17:20:18 +07:00
nix-plugins = pkgs.nix-plugins.override { nix = nixForNixPlugins; }; /*.overrideAttrs (old: {
2023-08-14 03:50:27 +07:00
version = "12.0.0";
patches = [
(pkgs.fetchpatch {
2023-09-13 17:20:18 +07:00
# pull 17
url = "https://github.com/shlevy/nix-plugins/commit/f7534b96e70ca056ef793918733d1820af89a433.patch";
2023-08-14 03:50:27 +07:00
hash = "sha256-ePRAnZAobasF6jA3QC73p8zyzayXORuodhus96V+crs=";
})
];
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
};*/
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
});*/
});/*.overrideAttrs (old: {
2023-08-14 03:50:27 +07:00
patches = (old.patches or [ ]) ++ [
(pkgs.fetchpatch {
url = "https://github.com/NixOS/hydra/pull/1296/commits/b23431a657d8a9b2f478c95dd81034780751a262.patch";
hash = "sha256-ruTAIPUrPtfy8JkXYK2qigBrSa6KPXpJlORTNkUYrG0=";
})
];
2023-09-13 17:20:18 +07:00
});*/
2023-08-14 03:50:27 +07:00
nurl = pkgs.nurl.override { nix = nixForNixPlugins; };
2023-09-13 17:20:18 +07:00
nvfetcher = pkgs.nvfetcher.overrideAttrs (old: {
meta = builtins.removeAttrs old.meta [ "broken" ];
});
2023-10-24 00:19:12 +07:00
certspotter = callPackage ./certspotter { };
clang-tools_latest = pkgs.clang-tools_16;
clang_latest = pkgs.clang_16;
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
2023-04-11 00:58:02 +07:00
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
});*/
ffmpeg-custom = (pkgs'.ffmpeg_6-full.override {
withCuda = false;
withCudaLLVM = false;
withNvdec = false;
withNvenc = false;
}).overrideAttrs (old: {
version = "unstable-20231031";
src = pkgs'.fetchgit {
url = "https://git.ffmpeg.org/ffmpeg.git";
rev = "4e5f3e6b8e1132354eed810dfdadf87f45c5de27";
hash = "sha256-fiWkU9fK8qPmxl2MOADKdlFf6XjHGKFhi8uaWltphCE=";
};
patches = [ ];
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
'';
buildInputs = old.buildInputs ++ [ pkgs'.libaribcaption ];
configureFlags = old.configureFlags ++ [ "--enable-libaribcaption" ];
});
2023-10-19 02:02:47 +07:00
gimp = callPackage ./gimp { inherit (pkgs) gimp; };
home-daemon = callPackage ./home-daemon { };
libaribcaption = callPackage ./libaribcaption { };
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;
};
});
kvmfrOverlay = kvmfr: kvmfr.overrideAttrs (old: {
inherit (pkgs'.looking-glass-client) version src;
});
pineapplebot = callPackage ./pineapplebot.nix { };
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 { };
scanservjs = callPackage ./scanservjs { };
searxng = pkgs'.python3.pkgs.toPythonModule (pkgs.searxng.overrideAttrs (old: {
inherit (sources.searxng) src;
version = "unstable-" + sources.searxng.date;
}));
2023-04-10 19:21:20 +07:00
techmino = callPackage ./techmino { };
2023-04-11 00:58:02 +07:00
firefoxAddons = lib.recurseIntoAttrs (callPackage ./firefox-addons { inherit nur sources; });
mpvScripts = lib.optionalAttrs isOverlay pkgs.mpvScripts // callPackage ./mpv-scripts { };
qemu_7 = callPackage ./qemu/7.nix {
2023-06-24 07:12:11 +07:00
stdenv = pkgs'.ccacheStdenv;
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
virtiofsd = callPackage ./qemu/virtiofsd.nix {
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-09-13 17:20:18 +07:00
}
// import ./postgresql-packages { inherit pkgs pkgs' lib sources isOverlay; }
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; }