summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps_override.nix54
-rw-r--r--aquamarine.nix15
-rw-r--r--cdrtools.nix12
-rw-r--r--codelite.nix68
-rw-r--r--darktable_my.nix51
-rw-r--r--dav1d_my.nix15
-rw-r--r--digikam_my.nix41
-rw-r--r--easyeffects_my.nix26
-rw-r--r--exiv2_my.nix31
-rw-r--r--feh_my.nix24
-rw-r--r--ffmpeg_my.nix70
-rw-r--r--firefox_my.nix114
-rw-r--r--flacon_my.nix12
-rw-r--r--freerdp_my.nix120
-rw-r--r--fuck.nix1
-rw-r--r--gallery-dl.nix34
-rw-r--r--gexiv2_my.nix19
-rw-r--r--gimp_my.nix8
-rw-r--r--gmmlib.nix13
-rw-r--r--gthumb_my.nix87
-rw-r--r--htop.nix14
-rw-r--r--hyprcursor.nix14
-rw-r--r--hyprgraphics.nix14
-rw-r--r--hyprland.nix29
-rw-r--r--hyprutils.nix13
-rw-r--r--imagemagick_my.nix32
-rw-r--r--intel-compute-runtime.nix16
-rw-r--r--intel-gpu-tools-my.nix18
-rw-r--r--intel-media-driver.nix18
-rw-r--r--intel-zero.nix30
-rw-r--r--kdenlive_my.nix70
-rw-r--r--keepassxc_my.nix15
-rw-r--r--kodi.nix27
-rw-r--r--libaom_my.nix23
-rw-r--r--libavif_my.nix21
-rw-r--r--libheif_my.nix32
-rw-r--r--libplacebo_my.nix14
-rw-r--r--libva_my.nix13
-rw-r--r--libvpl-gpu.nix32
-rw-r--r--libvpl.nix33
-rw-r--r--libyuv_my.nix14
-rw-r--r--llama-cpp-cpu.nix42
-rw-r--r--llama-cpp-vulkan.nix40
-rw-r--r--mlt_my.nix20
-rw-r--r--mpd_my.nix38
-rw-r--r--mpv_my.nix83
-rw-r--r--mumble-git.nix40
-rw-r--r--murmur-git.nix14
-rw-r--r--neochat-git.nix12
-rw-r--r--nheko_my.nix28
-rw-r--r--openssh.nix8
-rw-r--r--picard_my.nix47
-rw-r--r--pipewire.nix79
-rw-r--r--qemu_my.nix25
-rw-r--r--qpwgraph-git.nix11
-rw-r--r--qtcreator_my.nix26
-rw-r--r--rawtherapee_my.nix25
-rw-r--r--retroarch.nix53
-rw-r--r--retroshare.nix41
-rw-r--r--rsync.nix15
-rw-r--r--shaderc_my.nix76
-rw-r--r--shit-run.nix298
-rw-r--r--shiton3.nix53
-rw-r--r--shiton3_global_shit.nix51
-rw-r--r--shotcut-git.nix17
-rw-r--r--shotwell_my.nix51
-rw-r--r--thrift.nix8
-rw-r--r--toxic_my.nix28
-rw-r--r--wayland-protocols.nix13
-rw-r--r--wireplumber.nix16
-rw-r--r--yt-dlp.nix65
-rw-r--r--zim.nix12
72 files changed, 2642 insertions, 0 deletions
diff --git a/apps_override.nix b/apps_override.nix
new file mode 100644
index 0000000..5e39ef4
--- /dev/null
+++ b/apps_override.nix
@@ -0,0 +1,54 @@
+{ inputs }:
+self: super: {
+ krita_my =
+ with super;
+ (krita.override {
+ # boost = nixpkgsmaster.boost;
+ #stdenv = llvmPackages_14.stdenv;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://invent.kde.org/graphics/krita.git";
+ ref = "master";
+ # rev = "7a694e38b5556835b7248eb840d7bed23718fb12";
+ rev = "bb071e096fc431bf00a3f4e4f5a64ba69fedd51c";
+ };
+ patches = [ ];
+ });
+ untrunc_my =
+ with super;
+ (untrunc-anthwlock.overrideAttrs (oldAttrs: rec {
+ version = "2024-08-14";
+ src = fetchFromGitHub {
+ owner = "anthwlock";
+ repo = "untrunc";
+ rev = "13cafedf59369db478af537fb909f0d7fd0eb85f";
+ sha256 = "sha256-4GIPj8so7POEwxKZzFBoJTu76XKbGHYmXC/ILeo0dVE=";
+ };
+ }));
+ x11spice =
+ with super;
+ (x11spice.overrideAttrs (oldAttrs: rec {
+ version = "2022-07-05";
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "spice";
+ repo = "x11spice";
+ rev = "9d6965c774eb3b83786276e333014ff78d8e2f15";
+ sha256 = "sha256-HNzEBuejIxA8UvSqwpvByPSG4trki9xLCDBCmb50b4k=";
+ };
+ }));
+ wget2_my =
+ with super;
+ (wget2.override {
+ # openssl = libressl;
+ }).overrideAttrs
+ (old: rec {
+ version = "2023-01-22";
+ src = fetchGit {
+ url = "https://gitlab.com/gnuwget/wget2";
+ ref = "master";
+ };
+ });
+}
diff --git a/aquamarine.nix b/aquamarine.nix
new file mode 100644
index 0000000..a313d53
--- /dev/null
+++ b/aquamarine.nix
@@ -0,0 +1,15 @@
+{ inputs }:
+self: super: {
+ aquamarine =
+ with super;
+ (aquamarine.override { }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/hyprwm/aquamarine";
+ ref = "main";
+ # rev = "7fe006981fae53e931f513026fc754e322f13145";
+ };
+ # patches = old.patches ++ [ "/etc/nixos/patches/aquamarine/bit_depth.patch" ];
+ # patches = [ /home/sss/nix/patches/aquamarine/bit_depth.patch ];
+ });
+}
diff --git a/cdrtools.nix b/cdrtools.nix
new file mode 100644
index 0000000..be5665f
--- /dev/null
+++ b/cdrtools.nix
@@ -0,0 +1,12 @@
+{ inputs }:
+self: super: {
+ cdrtools =
+ with super;
+ (cdrtools.override { }).overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://codeberg.org/schilytools/schilytools";
+ ref = "master";
+ };
+ });
+}
diff --git a/codelite.nix b/codelite.nix
new file mode 100644
index 0000000..a571cda
--- /dev/null
+++ b/codelite.nix
@@ -0,0 +1,68 @@
+{ inputs }:
+self: super: {
+ codelite =
+ with super;
+ with gnome;
+ with gsettings-desktop-schemas;
+ (llvmPackages_16.stdenv.mkDerivation {
+ name = "codelite";
+ # version = "2022-02-22";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/eranif/codelite";
+ ref = "master";
+ rev = "ad88f618a0276cfe2f5a189ba3408ac4c08b908f";
+ # rev = "1393fdee2cc0a5d97b35a4f7db44f6e344a67b6d";
+ submodules = true;
+ };
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ wrapGAppsHook
+ which # required for cmake script
+ ];
+ buildInputs = [
+ clang_16
+ sqlite
+ gsettings-desktop-schemas
+ (wxGTK32.overrideAttrs (old: rec {
+ # version = "3.1.6";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/wxWidgets/wxWidgets";
+ ref = "master";
+ rev = "9bae94022c6aa8bb2b1b207f0f64bc362e5cd6af";
+ submodules = true;
+ };
+ configureFlags = [
+ "--disable-precomp-headers"
+ # This is the default option, but be explicit
+ "--disable-monolithic"
+ "--enable-mediactrl"
+ "--with-nanosvg"
+ "--with-opengl"
+ ];
+ }))
+ pcre
+ gtk3
+ lldb
+ hunspell
+ libssh
+ bison
+ flex
+ ];
+ # Make '#include <hb.h>' Just Work.
+ # Do clients expect to use '#include <harfbuzz/hb.h>'?
+ NIX_CFLAGS_COMPILE = "-I${harfbuzz.dev}/include/harfbuzz";
+ cmakeFlags = [
+ "-DWITH_SFTP=1"
+ "-DENABLE_SFTP=1"
+ "-DUSE_CLANG=1"
+ "-DCL_PREFIX=${placeholder "out"}"
+ ];
+ postPatch = ''
+ sed 's/option(ENABLE_STATIC "Enable static build" ON)/option(ENABLE_STATIC "Enable static build" OFF)/g' -i ctags/CMakeLists.txt
+ sed 's/set(LIBS -static)//g' -i ctags/CMakeLists.txt
+ '';
+ });
+}
diff --git a/darktable_my.nix b/darktable_my.nix
new file mode 100644
index 0000000..88585c9
--- /dev/null
+++ b/darktable_my.nix
@@ -0,0 +1,51 @@
+{ inputs }:
+self: super: {
+ # darktable_my = with nixpkgsmaster; with llvmPackages_16; with gnome; with gsettings-desktop-schemas; (enableDebugging ((darktable.override{
+ darktable_my =
+ with super;
+ with gnome;
+ with gsettings-desktop-schemas;
+ with llvmPackages;
+ (darktable.override {
+ stdenv = llvmPackages.stdenv;
+ exiv2 = self.exiv2_my;
+ libaom = self.libaom_my;
+ libavif = self.libavif_my;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/darktable-org/darktable";
+ ref = "master";
+# rev = "d2f15c8d1da5bb9b72cb554f9f606db953fb75ed";
+ rev = "cf3e972fb05d433a7764ee661850182ba456e128";
+ submodules = true;
+ # allRefs = true;
+ };
+ # nativeBuildInputs = old.nativeBuldInputs ++ [
+ #cmake ninja llvm
+ #clang pkg-config
+ #intltool perl desktop-file-utils wrapGAppsHook gsettings-desktop-schemas
+ # ];
+ nativeBuildInputs = old.nativeBuildInputs ++ [
+ git
+ po4a
+ bash
+ ];
+ buildInputs = old.buildInputs ++ [
+ self.dav1d
+ rav1e
+ self.libyuv_my
+ openmp
+ self.shaderc_my
+ ];
+ patches = [ ];
+ postPatch = lib.concatStringsSep "\n" [
+ ''
+ pushd tools
+ patchShebangs *.py *.sh
+ popd
+ ''
+ ];
+ });
+}
diff --git a/dav1d_my.nix b/dav1d_my.nix
new file mode 100644
index 0000000..1c686c2
--- /dev/null
+++ b/dav1d_my.nix
@@ -0,0 +1,15 @@
+{ inputs }:
+self: super: {
+ dav1d_my =
+ with super;
+ dav1d.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://code.videolan.org/videolan/dav1d.git";
+ ref = "master";
+ rev = "5ea4939a1dde36ebc24fc5a026eeacaa74f366a4";
+ # rev = "aa63a41ccddda86662374d4fb5a1e7fb1c69b881";
+ };
+ patches = [ ];
+ });
+}
diff --git a/digikam_my.nix b/digikam_my.nix
new file mode 100644
index 0000000..a9ad131
--- /dev/null
+++ b/digikam_my.nix
@@ -0,0 +1,41 @@
+{ inputs }:
+self: super: {
+ digikam_my =
+ with super;
+ (digikam.override {
+ exiv2 = self.exiv2_my;
+ # ffmpeg = ffmpeg_4-full;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://invent.kde.org/graphics/digikam";
+ ref = "master";
+ rev = "d857b6e333d6387e3a19d2d553aaa506034f2208";
+ # rev = "30fc3b0daf7b64c4a0968cb4b91896e9d5bb3bfc";
+ };
+ buildInputs =
+ with qt6Packages;
+ with kdePackages;
+ old.buildInputs
+ ++ [
+ qtnetworkauth
+ self.libheif_my
+ self.libavif_my
+ (kimageformats.overrideAttrs (old: rec {
+ buildInputs = old.buildInputs ++ [
+ self.libaom_my
+ self.dav1d_my
+ rav1e
+ ];
+ }))
+ ];
+ cmakeFlags = [
+ (lib.cmakeBool "BUILD_WITH_QT6" true)
+ (lib.cmakeBool "ENABLE_KFILEMETADATASUPPORT" true)
+ (lib.cmakeBool "ENABLE_MEDIAPLAYER" false)
+ (lib.cmakeBool "ENABLE_APPSTYLES" true)
+ ];
+ patches = [ ];
+ });
+}
diff --git a/easyeffects_my.nix b/easyeffects_my.nix
new file mode 100644
index 0000000..7ac64ff
--- /dev/null
+++ b/easyeffects_my.nix
@@ -0,0 +1,26 @@
+{ inputs }:
+self: super: {
+ easyeffects_my =
+ with super;
+ (
+ (easyeffects.override {
+ # ffmpeg = self.ffmpeg_my;
+ # stdenv = llvmPackages_17.stdenv;
+ # samba = null;
+ # dbus = null;
+ # libpulseaudio = null;
+ # avahi = null;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/wwmm/easyeffects";
+ ref = "master";
+ # rev = "9471a39faf18733a00be4e020fb522c08ad28b35";
+ rev = "6e39ad16cf93a23e93b42361e4a5c964e8aff0f5";
+ };
+ # patches = [];
+ doCheck = false;
+ })
+ );
+}
diff --git a/exiv2_my.nix b/exiv2_my.nix
new file mode 100644
index 0000000..57396cc
--- /dev/null
+++ b/exiv2_my.nix
@@ -0,0 +1,31 @@
+{ inputs }:
+self: super: {
+ exiv2_my =
+ with super;
+ exiv2.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/Exiv2/exiv2";
+ ref = "main";
+ rev = "316cb55574b33d8d4b3e3c240bf3f9e881135e52";
+# rev = "4af576c067b72a1968066202eec1ddb577383a63";
+ };
+ buildInputs = oldAttrs.buildInputs ++ [
+ brotli
+ inih
+ ];
+ doCheck = false;
+ postInstall = ''
+ remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2
+ '';
+ # postFixup = "";
+ outputs = [
+ "out"
+ "lib"
+ "dev"
+ "doc"
+ "man"
+ ];
+ patches = [ ];
+ });
+}
diff --git a/feh_my.nix b/feh_my.nix
new file mode 100644
index 0000000..e1ed2af
--- /dev/null
+++ b/feh_my.nix
@@ -0,0 +1,24 @@
+{ inputs }:
+self: super: {
+ feh_my =
+ with super;
+ (feh.override {
+ imlib2 = imlib2Full.override {
+ heifSupport = true;
+ webpSupport = true;
+ svgSupport = true;
+ jxlSupport = true;
+ psSupport = true;
+ libheif = self.libheif_my;
+ };
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/derf/feh";
+ ref = "master";
+ };
+ doCheck = false;
+ patches = [ ];
+ });
+}
diff --git a/ffmpeg_my.nix b/ffmpeg_my.nix
new file mode 100644
index 0000000..0d1d2f3
--- /dev/null
+++ b/ffmpeg_my.nix
@@ -0,0 +1,70 @@
+{ inputs }:
+self: super: {
+ ffmpeg_my =
+ with super;
+ with builtins;
+ (ffmpeg_6-full.override {
+ libaom = self.libaom_my;
+ dav1d = self.dav1d_my;
+ libva = self.libva_my;
+ libplacebo = self.libplacebo_my;
+ # vulkan-headers = nixpkgsmaster.vulkan-headers;
+ # vulkan-loader = nixpkgsmaster.vulkan-loader;
+ # stdenv = llvmPackages_15.stdenv;
+ # withLTO = true;
+ withUnfree = true;
+ withCuda = false;
+ withCudaLLVM = false;
+ withNvdec = false;
+ withNvenc = false;
+ withVdpau = false;
+ nv-codec-headers = false;
+ withMfx = false;
+ withBluray = true;
+ withFribidi = true;
+ # withLibplacebo = false;
+ withFreetype = true;
+ withFontconfig = true;
+ withSvg = true;
+ withFullDeps = true;
+ withShaderc = false;
+ withAmf = false;
+ withOpencl = false;
+
+ # withVulkan = false;
+ # opencl-headers = nixpkgsmaster.opencl-headers;
+ # vid-stab = vid-stab.override{stdenv = llvmPackages_15.stdenv;};
+
+ # stdenv = super.ccacheStdenv;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "vpl-git";
+ src = fetchGit {
+ url = "https://git.ffmpeg.org/ffmpeg.git";
+ ref = "master";
+# rev = "5fea5e3e11d6ff425db48f44489916399822aece";
+ rev = "9ad6dca28ccbe989f615fb10626b22236b06df59";
+ allRefs = true;
+ };
+ configureFlags =
+ (lib.lists.remove "--enable-postproc" (
+ lib.lists.remove "--enable-avresample" (
+ lib.lists.remove "--disable-avresample" oldAttrs.configureFlags
+ )
+ ))
+ ++ [
+ "--enable-libvpl"
+ "--disable-hardcoded-tables"
+ "--enable-lto=thin"
+ ];
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ nasm ];
+ buildInputs = oldAttrs.buildInputs ++ [
+ self.libvpl
+ shaderc
+ lcevcdec
+ ];
+ patches = [ ];
+ postPatch = "";
+ doCheck = false;
+ });
+}
diff --git a/firefox_my.nix b/firefox_my.nix
new file mode 100644
index 0000000..9c13e88
--- /dev/null
+++ b/firefox_my.nix
@@ -0,0 +1,114 @@
+{ inputs }:
+self: super: {
+ librewolf_my =
+ with super;
+ wrapFirefox.override
+ {
+ # libpulseaudio = libpressureaudio;
+ # stdenv = super.ccacheStdenv;
+ # ffmpeg = self.ffmpeg_my;
+ }
+ # ((nixpkgs2405.librewolf-unwrapped.override{}).overrideAttrs(
+ ((librewolf-unwrapped.override { }).overrideAttrs (oldAttrs: rec {
+ MOZ_REQUIRE_SIGNING = "";
+ }))
+ {
+ extraPolicies = {
+ DisableFirefoxStudies = true;
+ DisablePocket = true;
+ DisableTelemetry = true;
+ DisableFirefoxAccounts = true;
+ FirefoxHome = {
+ Pocket = false;
+ Snippets = false;
+ };
+ UserMessaging = {
+ ExtensionRecommendations = false;
+ SkipOnboarding = true;
+ };
+ ExtensionSettings = {
+ # uBlock Origin:
+ "uBlock0@raymondhill.net" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ # # Privacy Badger:
+ # "jid1-MnnxcxisBPnSXQ@jetpack" = {
+ # install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
+ # installation_mode = "force_installed";
+ # };
+ "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/user-agent-string-switcher/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ "addon@darkreader.org" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ };
+
+ };
+ # browser.ffmpegSupport = true;
+ # browser.alsaSupport = true;
+ # browser.pipewireSupport = true;
+ # browser.jackSupport = false;
+ # browser.smartcardSupport = false;
+ # browser.sndioSupport = false;
+
+ };
+ firefox_my =
+ with super;
+ wrapFirefox.override
+ {
+ # libpulseaudio = libpressureaudio;
+ #stdenv = super.ccacheStdenv;
+ # ffmpeg = self.ffmpeg_my;
+ # libaom = self.libaom_my;
+ }
+ ((firefox-unwrapped.override { }).overrideAttrs (oldAttrs: rec {
+ MOZ_REQUIRE_SIGNING = "";
+ }))
+ {
+ extraPolicies = {
+ DisableFirefoxStudies = true;
+ DisablePocket = true;
+ DisableTelemetry = true;
+ DisableFirefoxAccounts = true;
+ FirefoxHome = {
+ Pocket = false;
+ Snippets = false;
+ };
+ UserMessaging = {
+ ExtensionRecommendations = false;
+ SkipOnboarding = true;
+ };
+ ExtensionSettings = {
+ # uBlock Origin:
+ "uBlock0@raymondhill.net" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ # # Privacy Badger:
+ # "jid1-MnnxcxisBPnSXQ@jetpack" = {
+ # install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
+ # installation_mode = "force_installed";
+ # };
+ "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/user-agent-string-switcher/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ "addon@darkreader.org" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
+ installation_mode = "force_installed";
+ };
+ };
+ };
+ # browser.ffmpegSupport = true;
+ # browser.alsaSupport = true;
+ # browser.pipewireSupport = true;
+ # browser.jackSupport = false;
+ # browser.smartcardSupport = false;
+ # browser.sndioSupport = false;
+
+ };
+}
diff --git a/flacon_my.nix b/flacon_my.nix
new file mode 100644
index 0000000..e7b0060
--- /dev/null
+++ b/flacon_my.nix
@@ -0,0 +1,12 @@
+{ inputs }:
+self: super: {
+ flacon_my =
+ with super;
+ flacon.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/flacon/flacon";
+ ref = "master";
+ };
+ });
+}
diff --git a/freerdp_my.nix b/freerdp_my.nix
new file mode 100644
index 0000000..1c3ac65
--- /dev/null
+++ b/freerdp_my.nix
@@ -0,0 +1,120 @@
+{ inputs }:
+let
+ nixpkgsmaster = import <nixpkgsmaster> { };
+ nixpkgs2111 = import <nixpkgs2111> { };
+ nixpkgs2105 = import <nixpkgs2105> { };
+ nixpkgs2009 = import <nixpkgs2009> { };
+ nixpkgs2003 = import <nixpkgs2003> { };
+ nixpkgs1809 = import <nixpkgs1809> { };
+ cmFlag = flag: if flag then "ON" else "OFF";
+in
+self: super: {
+ freerdp_my =
+ with self.lib;
+ with super;
+ with xorg;
+ stdenv.mkDerivation rec {
+ pname = "freerdp";
+ version = "git";
+
+ src = fetchGit {
+ url = "https://github.com/FreeRDP/FreeRDP";
+ ref = "master";
+ #rev = "7b6023b3400658aa7b303997a221814daccd44fc";
+ rev = "598746a26bb528c96009bc83c2b1cebd85542bfa";
+
+ };
+
+ doCheck = false;
+
+ postPatch =
+ ''
+ export HOME=$TMP
+
+ # skip NIB file generation on darwin
+ sed -z 's/NIB file generation.*//' -i client/Mac{,/cli}/CMakeLists.txt
+
+ substituteInPlace "libfreerdp/freerdp.pc.in" \
+ --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
+ ''
+ + lib.optionalString (pcsclite != null) ''
+ substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \
+ --replace "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so"
+ '';
+
+ buildInputs = [
+ cairo
+ faad2
+ ffmpeg
+ glib
+ icu
+ libX11
+ libXcursor
+ libXdamage
+ libXdmcp
+ libXext
+ libXi
+ libXinerama
+ libXrandr
+ libXrender
+ libXtst
+ libXv
+ libjpeg_turbo
+ libunwind
+ libusb1
+ libxkbcommon
+ libxkbfile
+ openssl
+ orc
+ pcre2
+ zlib
+ alsa-lib
+ systemd
+ krb5
+ fuse3
+ cjson
+ ];
+
+ nativeBuildInputs = [
+ cmake
+ libxslt
+ docbook-xsl-nons
+ pkg-config
+ ];
+
+ # https://github.com/FreeRDP/FreeRDP/issues/8526#issuecomment-1357134746
+ cmakeFlags =
+ [
+ "-Wno-dev"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DDOCBOOKXSL_DIR=${docbook-xsl-nons}/xml/xsl/docbook"
+ ]
+ ++ lib.mapAttrsToList (k: v: "-D${k}=${cmFlag v}") {
+ BUILD_TESTING = false; # false is recommended by upstream
+ WITH_CAIRO = true;
+ WITH_CUPS = false;
+ WITH_FAAC = false;
+ WITH_FAAD2 = true;
+ WITH_JPEG = true;
+ WITH_OPENH264 = false;
+ WITH_OSS = false;
+ WITH_PCSC = false;
+ WITH_PULSE = false;
+ WITH_SERVER = true;
+ WITH_VAAPI = false; # false is recommended by upstream
+ WITH_X11 = true;
+ WITH_CLIENT_SDL = false;
+ };
+
+ meta = with lib; {
+ description = "A Remote Desktop Protocol Client";
+ longDescription = ''
+ FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
+ following the Microsoft Open Specifications.
+ '';
+ homepage = "https://www.freerdp.com/";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ };
+ };
+}
diff --git a/fuck.nix b/fuck.nix
new file mode 100644
index 0000000..7f0c7a0
--- /dev/null
+++ b/fuck.nix
@@ -0,0 +1 @@
+{ inputs }: { }
diff --git a/gallery-dl.nix b/gallery-dl.nix
new file mode 100644
index 0000000..c5cec58
--- /dev/null
+++ b/gallery-dl.nix
@@ -0,0 +1,34 @@
+{ inputs }:
+self: super: {
+ gallery-dl =
+ with super;
+ with self.shiton3.pkgs;
+ self.shiton3.pkgs.buildPythonPackage rec {
+ pname = "gallery-dl";
+ version = "git";
+ format = "setuptools";
+ src = fetchGit {
+ url = "https://github.com/mikf/gallery-dl";
+ ref = "master";
+ # rev = "842f964c498ab38e953229e95b0889514263311c";
+ };
+
+ propagatedBuildInputs = [
+ requests
+ self.yt-dlp
+ ];
+
+ doCheck = false;
+
+ pythonImportsCheck = [
+ "gallery_dl"
+ ];
+
+ meta = with lib; {
+ description = "Command-line program to download image-galleries and -collections from several image hosting sites";
+ homepage = "https://github.com/mikf/gallery-dl";
+ changelog = "";
+ license = licenses.gpl2Only;
+ };
+ };
+}
diff --git a/gexiv2_my.nix b/gexiv2_my.nix
new file mode 100644
index 0000000..6b2ab7f
--- /dev/null
+++ b/gexiv2_my.nix
@@ -0,0 +1,19 @@
+{ inputs }:
+self: super: {
+ gexiv2_my =
+ with super;
+ (gexiv2.override { exiv2 = self.exiv2_my; }).overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://gitlab.gnome.org/GNOME/gexiv2";
+ ref = "master";
+ rev = "06adc8fb70cb8c77c0cd364195d8251811106ef8";
+ };
+ # buildInputs = oldAttrs.buildInputs ++ [ brotli inih ];
+ # doCheck = false;
+ mesonFlags = [
+ "-Dgtk_doc=true"
+ "-Dtests=true"
+ ];
+ });
+}
diff --git a/gimp_my.nix b/gimp_my.nix
new file mode 100644
index 0000000..527dade
--- /dev/null
+++ b/gimp_my.nix
@@ -0,0 +1,8 @@
+{ inputs }:
+self: super: {
+ gimp_my =
+ with super;
+ (gimp.override { gexiv2 = self.gexiv2_my; }).overrideAttrs (oldAttrs: rec {
+
+ });
+}
diff --git a/gmmlib.nix b/gmmlib.nix
new file mode 100644
index 0000000..32d760b
--- /dev/null
+++ b/gmmlib.nix
@@ -0,0 +1,13 @@
+{ inputs }:
+self: super: {
+ intel-gmmlib =
+ with super;
+ intel-gmmlib.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/intel/gmmlib";
+ ref = "master";
+ # rev = "dcc4b85ea3728c848b62fbb164c00f43b519b6fb";
+ };
+ });
+}
diff --git a/gthumb_my.nix b/gthumb_my.nix
new file mode 100644
index 0000000..7052070
--- /dev/null
+++ b/gthumb_my.nix
@@ -0,0 +1,87 @@
+{ inputs }:
+self: super: {
+ gthumb_my =
+ with super;
+ with gsettings-desktop-schemas;
+ with xorg;
+ (stdenv.mkDerivation {
+ name = "gthumb";
+ version = "git";
+ src = fetchGit {
+ url = "https://gitlab.gnome.org/GNOME/gthumb";
+ ref = "master";
+ };
+
+ nativeBuildInputs = [
+ bison
+ desktop-file-utils
+ flex
+ itstool
+ meson
+ ninja
+ pkg-config
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ clutter-gtk
+ self.exiv2_my
+ glib
+ adwaita-icon-theme
+ gsettings-desktop-schemas
+ gst_all_1.gst-plugins-base
+ (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
+ gst_all_1.gst-libav
+ gst_all_1.gst-plugins-bad
+ gst_all_1.gst-plugins-ugly
+ gtk3
+ json-glib
+ lcms2
+ libchamplain
+ self.libheif_my
+ libjpeg
+ libjxl
+ self.libraw
+ librsvg
+ libtiff
+ libwebp
+ libX11
+ ];
+ mesonFlags = [
+ "-Dlibchamplain=true"
+ ];
+
+ postPatch = ''
+ chmod +x gthumb/make-gthumb-h.py
+
+ patchShebangs data/gschemas/make-enums.py \
+ gthumb/make-gthumb-h.py \
+ po/make-potfiles-in.py \
+ postinstall.py \
+ gthumb/make-authors-tab.py
+ '';
+
+ preFixup = ''
+ gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
+ '';
+
+ passthru = {
+ updateScript = gnome.updateScript {
+ packageName = pname;
+ versionPolicy = "odd-unstable";
+ };
+ };
+
+ meta = with lib; {
+ homepage = "https://gitlab.gnome.org/GNOME/gthumb";
+ description = "Image browser and viewer for GNOME";
+ mainProgram = "gthumb";
+ platforms = platforms.linux;
+ license = licenses.gpl2Plus;
+ maintainers = [ maintainers.mimame ];
+ };
+
+ });
+
+}
diff --git a/htop.nix b/htop.nix
new file mode 100644
index 0000000..a8561b9
--- /dev/null
+++ b/htop.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ htop =
+ with super;
+ htop.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/htop-dev/htop";
+ ref = "main";
+ rev = "076b913c7f876ba0489b9751043eeb61aa34680f";
+ };
+ # buildInputs = oldAttrs.buildInputs ++ [ libnl ];
+ });
+}
diff --git a/hyprcursor.nix b/hyprcursor.nix
new file mode 100644
index 0000000..4469294
--- /dev/null
+++ b/hyprcursor.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ hyprcursor =
+ with super;
+ (hyprcursor.override { }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/hyprwm/hyprcursor";
+ ref = "main";
+ # rev = "3219b311283803d4dbdacb3c5cc10cf9e9b7c2b5";
+ submodules = true;
+ };
+ });
+}
diff --git a/hyprgraphics.nix b/hyprgraphics.nix
new file mode 100644
index 0000000..0ccbf3e
--- /dev/null
+++ b/hyprgraphics.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ hyprgraphics =
+ with super;
+ (hyprgraphics.override { }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/hyprwm/hyprgraphics";
+ ref = "main";
+ # rev = "0d77b4895ad5f1bb3b0ee43103a5246c58b65591";
+ };
+ buildInputs = old.buildInputs ++ [ libspng ];
+ });
+}
diff --git a/hyprland.nix b/hyprland.nix
new file mode 100644
index 0000000..bf7286b
--- /dev/null
+++ b/hyprland.nix
@@ -0,0 +1,29 @@
+{ inputs }:
+self: super: {
+ hyprland =
+ with super;
+ with super.lib;
+ (hyprland.override { }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/hyprwm/Hyprland";
+ ref = "main";
+# rev = "5ee35f914f921e5696030698e74fb5566a804768";
+ submodules = true;
+ };
+ buildInputs = old.buildInputs ++ [ glaze ];
+ mesonFlags = concatLists [
+ (mapAttrsToList mesonEnable {
+ "xwayland" = true;
+ "systemd" = true;
+ "uwsm" = false;
+ "hyprpm" = false;
+ })
+ (mapAttrsToList mesonBool {
+ # PCH provides no benefits when building with Nix
+ "b_pch" = false;
+ "tracy_enable" = false;
+ })
+ ];
+ });
+}
diff --git a/hyprutils.nix b/hyprutils.nix
new file mode 100644
index 0000000..1cd2156
--- /dev/null
+++ b/hyprutils.nix
@@ -0,0 +1,13 @@
+{ inputs }:
+self: super: {
+ hyprutils =
+ with super;
+ (hyprutils.override { }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/hyprwm/hyprutils";
+ ref = "main";
+# rev = "2cd5e4fcd5a77f5c7ebc3f6afac4a86336c31281";
+ };
+ });
+}
diff --git a/imagemagick_my.nix b/imagemagick_my.nix
new file mode 100644
index 0000000..d2665e8
--- /dev/null
+++ b/imagemagick_my.nix
@@ -0,0 +1,32 @@
+{ inputs }:
+self: super: {
+ imagemagick_my =
+ with super;
+ (imagemagick.override {
+ libjxlSupport = true;
+ ghostscriptSupport = true;
+ djvulibreSupport = true;
+ libheif = self.libheif_my;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/ImageMagick/ImageMagick";
+ ref = "main";
+# rev = "d3678bd5b8f25846037f00d21aa6a75a3e8f5e87";
+ rev = "d7992582b93ef4e6f9ab2201a1cfbba43055a270";
+ };
+ configureFlags = old.configureFlags ++ [
+ "--with-fftw"
+ "--with-jbig"
+ "--with-jxl"
+ ];
+ buildInputs = old.buildInputs ++ [
+ fftw
+ jbigkit
+ libjxl
+ ];
+ patches = [ ];
+ # doCheck = false;
+ });
+}
diff --git a/intel-compute-runtime.nix b/intel-compute-runtime.nix
new file mode 100644
index 0000000..b5ebe54
--- /dev/null
+++ b/intel-compute-runtime.nix
@@ -0,0 +1,16 @@
+{ inputs }:
+(self: super: {
+ intel-compute-runtime =
+ with super;
+ intel-compute-runtime.overrideAttrs (oldAttrs: rec {
+ version = "25.22.33944.9";
+# version = "25.18.33578.11";
+ src = fetchFromGitHub {
+ owner = "intel";
+ repo = "compute-runtime";
+ rev = version;
+ hash = "sha256-99FV6U4Gx5cOsS9tcIR97u++7+Pt7W/hEdJyVnLWuEw=";
+# hash = "sha256-5AKQieCc6Aq+Yg/ELQlDXdsvuSZqNuM6ZZlsqc0zwrU=";
+ };
+ });
+})
diff --git a/intel-gpu-tools-my.nix b/intel-gpu-tools-my.nix
new file mode 100644
index 0000000..a4dd835
--- /dev/null
+++ b/intel-gpu-tools-my.nix
@@ -0,0 +1,18 @@
+{ inputs }:
+self: super: {
+ intel-gpu-tools_my =
+ with super;
+ intel-gpu-tools.overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://gitlab.freedesktop.org/drm/igt-gpu-tools";
+ ref = "master";
+ };
+ doCheck = false;
+ patches = [ ];
+ preConfigure = "";
+ mesonFlags = [
+ "-Dtestplan=disabled"
+ ];
+ });
+}
diff --git a/intel-media-driver.nix b/intel-media-driver.nix
new file mode 100644
index 0000000..81dd7c8
--- /dev/null
+++ b/intel-media-driver.nix
@@ -0,0 +1,18 @@
+{ inputs }:
+self: super: {
+ intel-media-driver =
+ with super;
+ (intel-media-driver.override { libva = self.libva_my; }).overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/intel/media-driver";
+ ref = "master";
+ };
+ patches = [ ];
+ cmakeFlags = oldAttrs.cmakeFlags ++ [
+ "-DENABLE_PRODUCTION_KMD=ON"
+ "-DENABLE_KERNELS=ON"
+ "-DENABLE_NONFREE_KERNELS=ON"
+ ];
+ });
+}
diff --git a/intel-zero.nix b/intel-zero.nix
new file mode 100644
index 0000000..bca3dc7
--- /dev/null
+++ b/intel-zero.nix
@@ -0,0 +1,30 @@
+{ inputs }:
+self: super: {
+ intel-zero =
+ with super;
+ stdenv.mkDerivation {
+ name = "intel-level-zero";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/oneapi-src/level-zero";
+ ref = "master";
+ # rev = "205bdb828b70439482d96dc398727b975523866c";
+ };
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+ buildInputs = with xorg; [
+ self.libva_my
+ libdrm
+ libpciaccess
+ libX11
+ libxcb
+ self.intel-gmmlib
+ ];
+ # cmakeFlags = [
+ # "-DBUILD_RUNTIME=ON"
+ # "-DBUILD_TOOLS=ON"
+ # ];
+ };
+}
diff --git a/kdenlive_my.nix b/kdenlive_my.nix
new file mode 100644
index 0000000..2c0acac
--- /dev/null
+++ b/kdenlive_my.nix
@@ -0,0 +1,70 @@
+{ inputs }:
+self: super: {
+ kdenlive_my =
+ with super;
+ (kdePackages.kdenlive.override {
+ mlt = self.mlt_my;
+ ffmpeg-full = self.ffmpeg_my;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://invent.kde.org/multimedia/kdenlive";
+ ref = "master";
+ #submodules = true;
+ };
+ #nativeBuildInputs = old.nativeBuildInputs ++ [ kdePackages.extra-cmake-modules ];
+ nativeBuildInputs = # with qt6Packages;
+ # with kdePackages;
+ old.nativeBuildInputs ++ [
+ # kdoctools
+ # extra-cmake-modules
+ pkg-config
+ gitMinimal
+ ];
+ buildInputs =
+ old.buildInputs
+ ++
+ # with qt6Packages;
+ # with kdePackages;
+ [
+ # ffmpeg_my
+ # wrapQtAppsHook
+ # cmake
+ # breeze-icons
+ # pkg-config
+ # # breeze-qt5
+ # kconfig
+ # kcrash
+ # kdbusaddons
+ # kfilemetadata
+ # kguiaddons
+ # ki18n
+ # kiconthemes
+ # # kinit
+ # knotifications
+ # knewstuff
+ # karchive
+ # knotifyconfig
+ # kplotting
+ # ktextwidgets
+ # mediainfo
+ # # phonon-backend-gstreamer
+ # qtdeclarative
+ # qtmultimedia
+ # qtnetworkauth
+ # #qtquickcontrols2
+ # #qtscript
+ # shared-mime-info
+ # libv4l
+ # ffmpeg-full
+ # frei0r
+ # rttr
+ # purpose
+ # kdeclarative
+ # wrapGAppsHook3
+ # (mlt.override { ffmpeg = self.ffmpeg_my; })
+ ];
+ patches = [ ];
+ });
+}
diff --git a/keepassxc_my.nix b/keepassxc_my.nix
new file mode 100644
index 0000000..f2b2e9f
--- /dev/null
+++ b/keepassxc_my.nix
@@ -0,0 +1,15 @@
+{ inputs }:
+self: super: {
+ keepassxc =
+ with super;
+ keepassxc.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/keepassxreboot/keepassxc";
+ ref = "develop";
+ # rev = "0207e0fe9f688dfa3c80117f9002031eff68e624";
+ };
+ buildInputs = oldAttrs.buildInputs ++ [ keyutils ];
+ patches = [ ];
+ });
+}
diff --git a/kodi.nix b/kodi.nix
new file mode 100644
index 0000000..1cd83cb
--- /dev/null
+++ b/kodi.nix
@@ -0,0 +1,27 @@
+{ inputs }:
+self: super: {
+ kodi_my =
+ with super;
+ kodi.withPackages (
+ kodiPkgs: with kodiPkgs; [
+ a4ksubtitles
+ chardet
+ controller-topology-project
+ defusedxml
+ iagl
+ inputstream-adaptive
+ inputstream-ffmpegdirect
+ inputstream-rtmp
+ joystick
+ keymap
+ libretro
+ libretro-genplus
+ libretro-mgba
+ libretro-nestopia
+ libretro-snes9x
+ pvr-iptvsimple
+ steam-controller
+ vfs-libarchive
+ ]
+ );
+}
diff --git a/libaom_my.nix b/libaom_my.nix
new file mode 100644
index 0000000..5ea28ce
--- /dev/null
+++ b/libaom_my.nix
@@ -0,0 +1,23 @@
+{ inputs }:
+self: super: {
+ libaom_my = with super; libaom;
+# libaom_my =
+# with super;
+# (libaom.override {
+# #stdenv = llvmPackages_15.stdenv;
+# #enableButteraugli = true;
+# enableVmaf = true;
+# }).overrideAttrs
+# (old: rec {
+# # version = "git";
+# # src = fetchGit {
+# # url = "https://aomedia.googlesource.com/aom";
+# # ref = "main";
+# # rev = "46eb4e460154505f205f7d53c8054268b58aba7a";
+# # # rev = "e0e69ad3aa30b38135337c1a7dfd7f1535d335c8";
+# # };
+# #configureFlags =(lib.lists.remove "--enable-avresample" (lib.lists.remove "--disable-avresample" oldAttrs.configureFlags))
+# # patches = [ /home/sss/nix/patches/libaom/libaom.patch ];
+# # patches = [];
+# });
+}
diff --git a/libavif_my.nix b/libavif_my.nix
new file mode 100644
index 0000000..88d6eab
--- /dev/null
+++ b/libavif_my.nix
@@ -0,0 +1,21 @@
+{ inputs }:
+self: super: {
+ libavif_my =
+ with super;
+ (libavif.override {
+ libaom = self.libaom_my;
+ libyuv = self.libyuv_my;
+ dav1d = self.dav1d_my;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/AOMediaCodec/libavif";
+ ref = "main";
+# rev = "048488e0588b0543d122ec95ac1a4f54cc73285a";
+ rev = "963c4bb918bee37cf1ccbd81efa5d8cf530647cf";
+ };
+ cmakeFlags = oldAttrs.cmakeFlags ++ [ "-DAVIF_LIBYUV_ENABLED=ON" ];
+ patches = [];
+ });
+}
diff --git a/libheif_my.nix b/libheif_my.nix
new file mode 100644
index 0000000..4fa1055
--- /dev/null
+++ b/libheif_my.nix
@@ -0,0 +1,32 @@
+{ inputs }:
+self: super: {
+ libheif_my =
+ with super;
+ (libheif.override { libaom = self.libaom_my; }).overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/strukturag/libheif";
+ ref = "master";
+ rev = "e0bfb132ab984ad3d7703b5183a9fb336d96f8a0";
+ # rev = "3d66463504385ba8b9ab70b0a6d9d7e6d392a4d9";
+ };
+ nativeBuildInputs = [
+ pkg-config
+ cmake
+ ];
+ buildInputs = oldAttrs.buildInputs ++ [
+ svt-av1
+ self.ffmpeg_my
+ shaderc
+ ];
+ # outputs = [ "out" "lib" "dev" ];
+ cmakeFlags = [
+ "-DWITH_DAV1D=1"
+ "-DWITH_FFMPEG_DECODER=1"
+ "-DWITH_SvtEnc=1"
+ "-DENABLE_PARALLEL_TILE_DECODING=1"
+ "-DENABLE_MULTITHREADING_SUPPORT=1"
+ "-DENABLE_PLUGIN_LOADING=0"
+ ];
+ });
+}
diff --git a/libplacebo_my.nix b/libplacebo_my.nix
new file mode 100644
index 0000000..7d0a6d2
--- /dev/null
+++ b/libplacebo_my.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ libplacebo_my =
+ with super;
+ (libplacebo.override { shaderc = self.shaderc_my; }).overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://code.videolan.org/videolan/libplacebo";
+ ref = "master";
+ # rev = "ef202bcff8cce0e208e244e453d62dcad4c350ca";
+ };
+ nativeBuildInputs = old.nativeBuildInputs ++ [ xxHash ];
+ });
+}
diff --git a/libva_my.nix b/libva_my.nix
new file mode 100644
index 0000000..48654ef
--- /dev/null
+++ b/libva_my.nix
@@ -0,0 +1,13 @@
+{ inputs }:
+self: super: {
+ libva_my =
+ with super;
+ libva.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/intel/libva";
+ ref = "master";
+ };
+ patches = [ ];
+ });
+}
diff --git a/libvpl-gpu.nix b/libvpl-gpu.nix
new file mode 100644
index 0000000..f87307e
--- /dev/null
+++ b/libvpl-gpu.nix
@@ -0,0 +1,32 @@
+{ inputs }:
+self: super: {
+ libvpl-gpu =
+ with super;
+ stdenv.mkDerivation {
+ name = "libvpl-gpu";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/intel/vpl-gpu-rt";
+ ref = "main";
+ # rev = "205bdb828b70439482d96dc398727b975523866c";
+ };
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+ buildInputs = with xorg; [
+ self.libva_my
+ libdrm
+ libpciaccess
+ libX11
+ libxcb
+ self.intel-gmmlib
+ # self.libvpl
+ # intel-ocl self.intel-media-sdk
+ ];
+ cmakeFlags = [
+ "-DBUILD_RUNTIME=ON"
+ "-DBUILD_TOOLS=ON"
+ ];
+ };
+}
diff --git a/libvpl.nix b/libvpl.nix
new file mode 100644
index 0000000..1b7ec51
--- /dev/null
+++ b/libvpl.nix
@@ -0,0 +1,33 @@
+{ inputs }:
+self: super: {
+ libvpl =
+ with super;
+ stdenv.mkDerivation {
+ name = "libvpl";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/intel/libvpl";
+ ref = "main";
+ # rev = "e71b1efc1263ae216569f62d018033ab5a850e00";
+ };
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+ buildInputs = with xorg; [
+ libva
+ libdrm
+ libpciaccess
+ libX11
+ libxcb
+ #self.libvpl-gpu
+ ];
+ cmakeFlags = [
+ "-DBUILD_TOOLS=ON"
+ "-DBUILD_DISPATCHER=ON"
+ "-DBUILD_PREVIEW=ON"
+ "-DBUILD_DISPATCHER_ONEVPL_EXPERIMENTAL=ON"
+ "-DBUILD_TOOLS_ONEVPL_EXPERIMENTAL=ON"
+ ];
+ };
+}
diff --git a/libyuv_my.nix b/libyuv_my.nix
new file mode 100644
index 0000000..fd99913
--- /dev/null
+++ b/libyuv_my.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ libyuv_my =
+ with super;
+ libyuv.overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://chromium.googlesource.com/libyuv/libyuv/";
+ ref = "main";
+ rev = "5fb6c8cbe3a68d4c74f0e3166bdc33623cc5f8fe";
+ };
+ patches = [ ];
+ });
+}
diff --git a/llama-cpp-cpu.nix b/llama-cpp-cpu.nix
new file mode 100644
index 0000000..e41c112
--- /dev/null
+++ b/llama-cpp-cpu.nix
@@ -0,0 +1,42 @@
+{ inputs }:
+self: super: {
+ llama-cpp-cpu-git =
+ with super;
+ (llama-cpp.override {
+ # stdenv = llvmPackages.stdenv;
+ vulkanSupport = false;
+ blasSupport = true;
+ rpcSupport = true;
+
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/ggerganov/llama.cpp";
+ ref = "master";
+ submodules = true;
+ # rev = "";
+ };
+ # buildInputs = old.buildInputs ++ [ vpl-gpu-rt libvpl ];
+ # patches = [ /home/sss/.config/nixpkgs/patches/libaom-cpp-revert_dry_sampler.patch ];
+ postPatch = "";
+ postInstall = "";
+ NIX_CFLAGS_COMPILE = "-mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only -O3";
+ # NIX_CXXFLAGS_COMPILE = "-std=c++20 -Ofast -mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only";
+ NIX_CXXFLAGS_COMPILE = "-mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only -O3";
+ cmakeFlags = old.cmakeFlags ++ [
+ "-DGGML_VULKAN:BOOL=FALSE"
+ "-DGGML_BLAS:BOOL=TRUE"
+ "-DGGML_CPU_AARCH64=OFF"
+ # "-DGGML_SYCL:BOOL=TRUE"
+ # "-DGGML_SYCL_F16:BOOL=TRUE"
+ ];
+ buildInputs =
+ with llvmPackages;
+ old.buildInputs
+ ++ [
+ shaderc
+ openmp
+ ];
+ });
+}
diff --git a/llama-cpp-vulkan.nix b/llama-cpp-vulkan.nix
new file mode 100644
index 0000000..fe35381
--- /dev/null
+++ b/llama-cpp-vulkan.nix
@@ -0,0 +1,40 @@
+{ inputs }:
+self: super: {
+ llama-cpp-vulkan-git =
+ with super;
+ (llama-cpp.override {
+ # stdenv = llvmPackages.stdenv;
+ vulkanSupport = true;
+ blasSupport = true;
+
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/ggerganov/llama.cpp";
+ ref = "master";
+ submodules = true;
+ # rev = "";
+ };
+ # buildInputs = old.buildInputs ++ [ vpl-gpu-rt libvpl ];
+ # patches = [ /home/sss/.config/nixpkgs/patches/libaom-cpp-revert_dry_sampler.patch ];
+ postPatch = "";
+ postInstall = "";
+ NIX_CFLAGS_COMPILE = "-mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only -O3";
+ # NIX_CXXFLAGS_COMPILE = "-std=c++20 -Ofast -mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only";
+ NIX_CXXFLAGS_COMPILE = "-mavx -mavx2 -mssse3 -mfma -mf16c -fno-finite-math-only -O3";
+ cmakeFlags = old.cmakeFlags ++ [
+ "-DGGML_VULKAN:BOOL=TRUE"
+ "-DGGML_BLAS:BOOL=TRUE"
+ # "-DGGML_SYCL:BOOL=TRUE"
+ # "-DGGML_SYCL_F16:BOOL=TRUE"
+ ];
+ buildInputs =
+ with llvmPackages;
+ old.buildInputs
+ ++ [
+ self.shaderc_my
+ openmp
+ ];
+ });
+}
diff --git a/mlt_my.nix b/mlt_my.nix
new file mode 100644
index 0000000..cd7d660
--- /dev/null
+++ b/mlt_my.nix
@@ -0,0 +1,20 @@
+{ inputs }:
+self: super: {
+ mlt_my =
+ with super;
+ (mlt.override {
+ # stdenv = llvmPackages_16.stdenv;
+ # ffmpeg = self.ffmpeg_my;
+ # opencv4 = (opencv4.override{enableFfmpeg = false;}).overrideAttrs (old: rec {
+ # }
+ # );
+ enablePython = true;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/mltframework/mlt";
+ ref = "master";
+ };
+ });
+}
diff --git a/mpd_my.nix b/mpd_my.nix
new file mode 100644
index 0000000..46cc818
--- /dev/null
+++ b/mpd_my.nix
@@ -0,0 +1,38 @@
+{ inputs }:
+self: super: {
+ mpd_my =
+ let
+ # pkgsmaster = import inputs.nixpkgsmaster { };
+ in
+ with super;
+ (
+ # (pkgsmaster.mpd.override {
+ (mpd.override {
+ ffmpeg = self.ffmpeg_my;
+ # stdenv = llvmPackages_17.stdenv;
+ # samba = null;
+ # dbus = null;
+ # libpulseaudio = null;
+ # avahi = null;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/MusicPlayerDaemon/MPD";
+ ref = "master";
+ # rev = "bee9565384761634df5859d144fee60cb4208453";
+ rev = "287033c361c45b83adf3caf1e4827868561db9a3";
+ };
+ buildInputs = oldAttrs.buildInputs ++ [ soxr ];
+ mesonFlags = oldAttrs.mesonFlags ++ [
+ "-Dsoxr=enabled"
+ "-Dqobuz=disabled"
+ "-Dhtml_manual=false"
+ "-Dsystemd=disabled"
+ ];
+ patches = [ ];
+ postPatch = "";
+ doCheck = false;
+ })
+ );
+}
diff --git a/mpv_my.nix b/mpv_my.nix
new file mode 100644
index 0000000..be07519
--- /dev/null
+++ b/mpv_my.nix
@@ -0,0 +1,83 @@
+{ inputs }:
+# let
+# pkgsmaster = import inputs.nixpkgsmaster {};
+# in
+self: super: {
+ mpv_my =
+ with super;
+ (mpv-unwrapped.override {
+ archiveSupport = true;
+ bluraySupport = true;
+ bs2bSupport = true;
+ cmsSupport = true;
+ cacaSupport = false;
+ drmSupport = true;
+ vulkanSupport = true;
+ waylandSupport = true;
+ x11Support = true;
+ cddaSupport = true;
+ pulseSupport = false;
+ openalSupport = false;
+ sdl2Support = false;
+ vaapiSupport = true;
+ vapoursynthSupport = false;
+ vdpauSupport = false;
+ # xineramaSupport = true;
+ # xvSupport = true;
+ # screenSaverSupport = true;
+ pipewireSupport = true;
+ ffmpeg = self.ffmpeg_my;
+ libva = self.libva_my;
+ shaderc = self.shaderc_my;
+ libass = libass.overrideAttrs (old: rec {
+ src = fetchGit {
+ url = "https://github.com/libass/libass";
+ ref = "master";
+ };
+ nativeBuildInputs = old.nativeBuildInputs ++ [ autoreconfHook ];
+ });
+ libplacebo = self.libplacebo_my;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/mpv-player/mpv";
+ ref = "master";
+ # rev = "c50f536bd1ac1f8154d2b1dcaccd25ab150b414a";
+ };
+ buildInputs = oldAttrs.buildInputs ++ [
+ xorg.libXpresent
+ zlib
+ lcms2
+ libuchardet
+ libarchive
+ xorg.libX11
+ xorg.libXext
+ libGLU
+ libGL
+ xorg.libXxf86vm
+ xorg.libXrandr
+ xorg.libXScrnSaver
+ xorg.libXinerama
+ pipewire
+ ];
+ postPatch = lib.concatStringsSep "\n" [
+ ''
+ pushd TOOLS
+ mv mpv_identify.sh mpv_identify
+ patchShebangs *.py *.sh
+ mv mpv_identify mpv_identify.sh
+ popd
+ ''
+ ];
+ patches = [ ];
+ mesonFlags = oldAttrs.mesonFlags ++ [
+ (lib.mesonOption "cuda-hwaccel" "disabled")
+ (lib.mesonOption "cuda-interop" "disabled")
+ ];
+ outputs = [
+ "out"
+ "man"
+ ];
+ });
+}
diff --git a/mumble-git.nix b/mumble-git.nix
new file mode 100644
index 0000000..e03e57e
--- /dev/null
+++ b/mumble-git.nix
@@ -0,0 +1,40 @@
+{ inputs }:
+self: super: {
+ mumble-git =
+ with super;
+ with gsettings-desktop-schemas;
+ mumble.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/mumble-voip/mumble";
+ ref = "master";
+ rev = "24d3ec646a12230e8da3e7d3d0e50de429c9a039";
+ submodules = true;
+ };
+ nativeBuildInputs = with qt6Packages; [
+ cmake
+ pkg-config
+ python3
+ wrapQtAppsHook
+ qttools
+ wrapGAppsHook
+ ];
+ buildInputs = with qt6Packages; [
+ avahi-compat
+ alsa-lib
+ boost
+ poco
+ protobuf
+ qtsvg
+ libsndfile
+ libopus
+ speexdsp
+ gsettings-desktop-schemas
+ utf8proc
+ microsoft-gsl
+ nlohmann_json
+ ];
+ patches = [ ];
+ # nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ python3 pkg-config python3Packages.setuptools];
+ });
+}
diff --git a/murmur-git.nix b/murmur-git.nix
new file mode 100644
index 0000000..f7876bf
--- /dev/null
+++ b/murmur-git.nix
@@ -0,0 +1,14 @@
+{ inputs }:
+self: super: {
+ murmur-git =
+ with super;
+ murmur.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/mumble-voip/mumble";
+ ref = "master";
+ submodules = true;
+ };
+ patches = [ ];
+ });
+}
diff --git a/neochat-git.nix b/neochat-git.nix
new file mode 100644
index 0000000..9422eb3
--- /dev/null
+++ b/neochat-git.nix
@@ -0,0 +1,12 @@
+{ inputs }:
+self: super: {
+ neochat-git =
+ with super;
+ neochat.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/KDE/neochat/";
+ ref = "master";
+ };
+ });
+}
diff --git a/nheko_my.nix b/nheko_my.nix
new file mode 100644
index 0000000..81d8669
--- /dev/null
+++ b/nheko_my.nix
@@ -0,0 +1,28 @@
+{ inputs }:
+self: super: {
+ nheko_my =
+ with super;
+ with gnome;
+ with gsettings-desktop-schemas;
+ (nheko.override {
+ mtxclient = mtxclient.overrideAttrs (old: rec {
+ src = fetchGit {
+ url = "https://github.com/Nheko-Reborn/mtxclient";
+ ref = "master";
+ };
+ });
+ }).overrideAttrs
+ (oldAttrs: rec {
+ # version = "2023-02-15";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/Nheko-Reborn/nheko";
+ ref = "master";
+ # rev = "d95d2fcaa9e3b8ab47275d2bf56e5a7ebddd37e7";
+ };
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ wrapGAppsHook ];
+ buildInputs = oldAttrs.buildInputs ++ [
+ gsettings-desktop-schemas
+ ];
+ });
+}
diff --git a/openssh.nix b/openssh.nix
new file mode 100644
index 0000000..cd0b216
--- /dev/null
+++ b/openssh.nix
@@ -0,0 +1,8 @@
+{ inputs }:
+self: super: {
+ openssh =
+ with super;
+ (openssh.override { openssl = libressl; }).overrideAttrs (old: rec {
+ doCheck = false;
+ });
+}
diff --git a/picard_my.nix b/picard_my.nix
new file mode 100644
index 0000000..fa2f437
--- /dev/null
+++ b/picard_my.nix
@@ -0,0 +1,47 @@
+{ inputs }:
+self: super: {
+ picard_my =
+ with super;
+ with python3Packages;
+ with qt6;
+ with lib;
+ (
+ (picard.override {
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/metabrainz/picard";
+ ref = "master";
+ submodules = true;
+ };
+ doCheck = false;
+ doInstallCheck = false;
+ installCheckTarget = "";
+ installCheckFlags = [ ];
+ preInstallCheck = "";
+
+ nativeBuildInputs = [
+ gettext
+ qt6.wrapQtAppsHook
+ ];
+
+ buildInputs = [
+ qt6.qtbase
+ qt6.qtwayland
+ ];
+
+ propagatedBuildInputs = [
+ # chromaprint
+ discid
+ fasteners
+ markdown
+ mutagen
+ pyjwt
+ pyqt6
+ python-dateutil
+ pyyaml
+ ];
+ })
+ );
+}
diff --git a/pipewire.nix b/pipewire.nix
new file mode 100644
index 0000000..400f63b
--- /dev/null
+++ b/pipewire.nix
@@ -0,0 +1,79 @@
+{ inputs }:
+self: super: {
+ pipewire =
+ with super;
+ (pipewire.override {
+ zeroconfSupport = false;
+ ffadoSupport = false;
+ vulkanSupport = false;
+ x11Support = false;
+ }).overrideAttrs
+ (old: rec {
+ version = "git";
+ name = "pipewire";
+ src = fetchGit {
+ url = "https://gitlab.freedesktop.org/pipewire/pipewire";
+ ref = "master";
+# rev = "2771c435fdc9b751c00c57dc48d83069e3fe7396";
+ rev = "4f3a2d723b617e278efc82835baa93f65d756fa4";
+ };
+
+ postUnpack = ''
+ patchShebangs source/doc/*.py
+ patchShebangs source/doc/input-filter-h.sh
+ '';
+
+ postInstall = ''
+ moveToOutput "bin/pw-jack" "$jack"
+ '';
+ buildInputs = old.buildInputs ++ [
+ libapparmor
+ libebur128
+ ];
+ mesonFlags = [
+ (lib.mesonEnable "docs" true)
+ (lib.mesonOption "udevrulesdir" "lib/udev/rules.d")
+ (lib.mesonEnable "installed_tests" true)
+ (lib.mesonOption "installed_test_prefix" (placeholder "installedTests"))
+ (lib.mesonOption "libjack-path" "${placeholder "jack"}/lib")
+ (lib.mesonEnable "pipewire-jack" true)
+ (lib.mesonEnable "jack" true)
+ (lib.mesonEnable "libffado" false)
+ (lib.mesonEnable "roc" true)
+ (lib.mesonEnable "libpulse" true)
+ (lib.mesonEnable "avahi" false)
+ (lib.mesonEnable "gstreamer" true)
+ (lib.mesonEnable "gstreamer-device-provider" true)
+ (lib.mesonEnable "systemd" true)
+ (lib.mesonEnable "systemd-system-service" true)
+ (lib.mesonEnable "udev" false)
+ (lib.mesonEnable "ffmpeg" true)
+ (lib.mesonEnable "pw-cat-ffmpeg" true)
+ (lib.mesonEnable "bluez5" false)
+ (lib.mesonEnable "bluez5-backend-hsp-native" false)
+ (lib.mesonEnable "bluez5-backend-hfp-native" false)
+ (lib.mesonEnable "bluez5-backend-native-mm" false)
+ (lib.mesonEnable "bluez5-backend-ofono" false)
+ (lib.mesonEnable "bluez5-backend-hsphfpd" false)
+ # source code is not easily obtainable
+ (lib.mesonEnable "bluez5-codec-lc3plus" false)
+ (lib.mesonEnable "bluez5-codec-lc3" false)
+ (lib.mesonEnable "bluez5-codec-ldac" false)
+ (lib.mesonEnable "opus" true)
+ (lib.mesonOption "sysconfdir" "/etc")
+ (lib.mesonEnable "raop" false)
+ (lib.mesonOption "session-managers" "")
+ (lib.mesonEnable "vulkan" false)
+ (lib.mesonEnable "x11" false)
+ (lib.mesonEnable "x11-xfixes" false)
+ (lib.mesonEnable "libcanberra" false)
+ (lib.mesonEnable "libmysofa" true)
+ (lib.mesonEnable "sdl2" false) # required only to build examples, causes dependency loop
+ (lib.mesonBool "rlimits-install" false) # installs to /etc, we won't use this anyway
+ (lib.mesonEnable "compress-offload" true)
+ (lib.mesonEnable "man" true)
+ (lib.mesonEnable "snap" false) # we don't currently have a working snapd
+ (lib.mesonEnable "libcamera" false)
+ ];
+ });
+}
diff --git a/qemu_my.nix b/qemu_my.nix
new file mode 100644
index 0000000..15f79be
--- /dev/null
+++ b/qemu_my.nix
@@ -0,0 +1,25 @@
+{ inputs }:
+self: super: {
+ qemu_my =
+ with super;
+ (qemu_full.override {
+ guestAgentSupport = false;
+ jackSupport = false;
+ gtkSupport = false;
+ vncSupport = false;
+ smartcardSupport = false;
+ spiceSupport = true;
+ usbredirSupport = true;
+ xenSupport = false;
+ cephSupport = false;
+ glusterfsSupport = false;
+ openGLSupport = false;
+ virglSupport = true;
+ libiscsiSupport = false;
+ smbdSupport = false;
+ tpmSupport = false;
+ canokeySupport = false;
+ hostCpuOnly = true;
+ sdlSupport = false;
+ });
+}
diff --git a/qpwgraph-git.nix b/qpwgraph-git.nix
new file mode 100644
index 0000000..f5929d0
--- /dev/null
+++ b/qpwgraph-git.nix
@@ -0,0 +1,11 @@
+{ inputs }:
+self: super: {
+ qpwgraph_my =
+ with super;
+ qpwgraph.overrideAttrs (old: rec {
+ src = fetchGit {
+ url = "https://gitlab.freedesktop.org/rncbc/qpwgraph";
+ ref = "main";
+ };
+ });
+}
diff --git a/qtcreator_my.nix b/qtcreator_my.nix
new file mode 100644
index 0000000..6d2bdc9
--- /dev/null
+++ b/qtcreator_my.nix
@@ -0,0 +1,26 @@
+{ inputs }:
+self: super: {
+ qtcreatore_my =
+ let
+ # pkgsmaster = import inputs.nixpkgsmaster { };
+ in
+ with super;
+ (qtcreator.overrideAttrs (old: rec {
+ # version = "2025_06_12";
+ version = "2025_06_30";
+ src = fetchGit {
+ url = "https://github.com/qt-creator/qt-creator";
+ ref = "master";
+ rev = "b60337dbaace15ac36d7f44f60d17560111a9ae3";
+ #rev = "ef4218b51d54457e674e48dafbb4452a06051fe7";
+ };
+ nativeBuildInputs =
+ with qt6Packages;
+ old.nativeBuildInputs
+ ++ [
+ wrapQtAppsHook
+ wrapGAppsHook
+ ];
+ buildInputs = with qt6Packages; old.buildInputs ++ [ gsettings-desktop-schemas ];
+ }));
+}
diff --git a/rawtherapee_my.nix b/rawtherapee_my.nix
new file mode 100644
index 0000000..a7a6e04
--- /dev/null
+++ b/rawtherapee_my.nix
@@ -0,0 +1,25 @@
+{ inputs }:
+self: super: {
+ rawtherapee_my =
+ with super;
+ (rawtherapee.override {
+ # exiv2 = self.exiv2_my;
+ }).overrideAttrs (oldAttrs: rec {
+ # version = "2023-03-20";
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/Beep6581/RawTherapee";
+ ref = "dev";
+ # owner = "Beep6581";
+ # repo = "RawTherapee";
+ # rev = "351c9d821219b1a5d4b57f900318e590c581f44e";
+ # sha256 = "sha256-exmRVTvy1G+6oyg9pmIdDTJfwHnn+x9MrUKxhM6beFQ=";
+ };
+ patches = [ ];
+ buildInputs = oldAttrs.buildInputs ++ [
+ #self.my_exiv2
+ self.libraw
+ ];
+ cmakeFlags = oldAttrs.cmakeFlags ++ [ "-DWITH_SYSTEM_LIBRAW=TRUE" ];
+ });
+}
diff --git a/retroarch.nix b/retroarch.nix
new file mode 100644
index 0000000..d195d3c
--- /dev/null
+++ b/retroarch.nix
@@ -0,0 +1,53 @@
+{ inputs }:
+self: super: {
+ retroarch_my =
+ with super;
+ retroarch.withCores (
+ cores: with cores; [
+ beetle-gba
+ beetle-psx
+ beetle-psx-hw
+ beetle-saturn
+ beetle-supafaust
+ beetle-supergrafx
+ beetle-vb
+ blastem
+ bsnes
+ bsnes-hd
+ bsnes-mercury-balanced
+ citra
+ desmume
+ dolphin
+ # easyrpg
+ fceumm
+ flycast
+ genesis-plus-gx
+ gambatte
+ gpsp
+ melonds
+ mesen
+ mesen-s
+ meteor
+ mgba
+ mrboom
+ mupen64plus
+ nestopia
+ parallel-n64
+ pcsx-rearmed
+ pcsx2
+ picodrive
+ ppsspp
+ quicknes
+ sameboy
+ smsplus-gx
+ snes9x
+ snes9x2005-plus
+ swanstation
+ tgbdual
+ vba-m
+ vba-next
+ vecx
+ yabause
+ ]
+ );
+}
diff --git a/retroshare.nix b/retroshare.nix
new file mode 100644
index 0000000..587b39d
--- /dev/null
+++ b/retroshare.nix
@@ -0,0 +1,41 @@
+{ inputs }:
+self: super: {
+
+ retroshare_my =
+ with super;
+ (
+ (retroshare.override {
+ sqlcipher = null;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ # version = "2023-03-10";
+ version = "git";
+ src = fetchGit {
+ # url = "https://github.com/RetroShare/RetroShare";
+ url = "/home/sss/git/retroshare/RetroShare";
+ ref = "fucked_submodules";
+ # rev = "e60fead024158d5d746c090bad2abb2e4053a370";
+ # sha256 = lib.fakeSha256;
+ submodules = true;
+ };
+ #buildInputs = oldAttrs.buildInputs ++ [ libressl ];
+ NIX_CFLAGS_COMPILE = "-fpermissive";
+ NIX_CXXFLAGS_COMPILE = "-fpermissive";
+ qmakeFlags = [
+ "RS_UPNP_LIB=miniupnpc"
+ "RS_MAJOR_VERSION=0"
+ "RS_MINOR_VERSION=6"
+ "RS_MINI_VERSION=x"
+ "RS_EXTRA_VERSION="
+ "CONFIG+=no_sqlcipher"
+ "CONFIG+=no_retroshare_plugins"
+ ];
+ patches = [ ];
+ # patches = [ "/home/sss/git/nix/nixpkgs-patches/retroshare-submodules-fix.patch" ];
+ postPatch = ''
+ sed 's/''${AR}/ar/g' -i supportlibs/libsam3/Makefile
+ '';
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ git ];
+ })
+ );
+}
diff --git a/rsync.nix b/rsync.nix
new file mode 100644
index 0000000..2da944e
--- /dev/null
+++ b/rsync.nix
@@ -0,0 +1,15 @@
+{ inputs }:
+mod: orig: {
+ rsync =
+ with orig;
+ (rsync.override { }).overrideAttrs (old: rec {
+ version = "3.4.1";
+ src = fetchurl {
+ url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
+ hash = "sha256-KSS8s6Hti1UfwQH3QLnw/gogKxFQJ2R89phQ1l/YjFI=";
+ };
+ # configureFlags = old.configureFlags ++ [ "--disable-md2man" ];
+ # nativeBuildInputs = old.nativeBuildInputs ++ [ autoreconfHook ];
+ patches = [ ];
+ });
+}
diff --git a/shaderc_my.nix b/shaderc_my.nix
new file mode 100644
index 0000000..f4c6e01
--- /dev/null
+++ b/shaderc_my.nix
@@ -0,0 +1,76 @@
+{ inputs }:
+self: super: {
+ shaderc_my =
+ with super;
+ let
+ glslang = fetchGit {
+ url = "https://github.com/KhronosGroup/glslang";
+ ref = "main";
+ rev = "963588074b26326ff0426c8953c1235213309bdb";
+ };
+ spirv-tools = fetchGit {
+ url = "https://github.com/KhronosGroup/SPIRV-Tools";
+ ref = "main";
+ rev = "66fe610946a6d98169f8ebe9ca483f64c4009fa5";
+ };
+ spirv-headers = fetchGit {
+ url = "https://github.com/KhronosGroup/SPIRV-Headers";
+ ref = "main";
+ rev = "c9aad99f9276817f18f72a4696239237c83cb775";
+ };
+ in
+ stdenv.mkDerivation {
+ pname = "shaderc";
+ version = "git";
+
+ outputs = [
+ "out"
+ "lib"
+ "bin"
+ "dev"
+ "static"
+ ];
+ src = fetchGit {
+ url = "https://github.com/google/shaderc";
+ ref = "main";
+ rev = "3362e24c42ab5bf7ad32c0fec64b0a0ddeb2fda1";
+ };
+
+ postPatch = ''
+ cp -r --no-preserve=mode ${glslang} third_party/glslang
+ cp -r --no-preserve=mode ${spirv-tools} third_party/spirv-tools
+ ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers
+ patchShebangs --build utils/
+ '';
+
+ nativeBuildInputs =
+ [
+ cmake
+ python3
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]
+ ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
+ autoSignDarwinBinariesHook
+ ];
+
+ postInstall = ''
+ moveToOutput "lib/*.a" $static
+ '';
+
+ cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ];
+
+ # Fix the paths in .pc, even though it's unclear if all these .pc are really useful.
+ postFixup = ''
+ substituteInPlace "$dev"/lib/pkgconfig/*.pc \
+ --replace '=''${prefix}//' '=/' \
+ --replace "$dev/$dev/" "$dev/"
+ '';
+
+ meta = with lib; {
+ inherit (src.meta) homepage;
+ description = "Collection of tools, libraries and tests for shader compilation";
+ platforms = platforms.all;
+ license = [ licenses.asl20 ];
+ };
+ };
+}
diff --git a/shit-run.nix b/shit-run.nix
new file mode 100644
index 0000000..ed0c7d0
--- /dev/null
+++ b/shit-run.nix
@@ -0,0 +1,298 @@
+{ inputs }:
+let
+ pkgs2505 = import inputs.nixpkgs2505 { };
+ pkgs2003 = import inputs.nixpkgs2003 { };
+
+ ldPath = [ "/lib64" ] ++ [ "/lib32" ];
+
+ exportLDPath =
+ lib: with lib; ''
+ export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
+ '';
+ # ++ ''
+ # export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ # '';
+
+ envScript = ''
+ # prevents various error messages
+ unset GIO_EXTRA_MODULES
+
+ # This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales
+ # https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379
+ GTK_IM_MODULE='xim'
+ '';
+
+in
+mod: orig: {
+ # steam-run_my = with orig; with steam; with steamPackages; buildFHSEnv {
+ shit-run =
+ with orig;
+ buildFHSEnv {
+ name = "shit-run";
+
+ # Steam still needs 32bit and various native games do too
+ multiArch = true;
+
+ targetPkgs = pkgs: ([
+ # steam
+ # License agreement
+ # gnome.zenity
+
+ # Needed for operating system detection until
+ # https://github.com/ValveSoftware/steam-for-linux/issues/5909 is resolved
+ lsb-release
+ # Errors in output without those
+ pciutils
+ # run.sh wants ldconfig
+ glibc.bin
+ # Games' dependencies
+ xorg.xrandr
+ which
+ # Needed by gdialog, including in the steam-runtime
+ # perl
+ # Open URLs
+ xdg-utils
+ # iana-etc
+ # Steam Play / Proton
+ # python3
+ # Steam VR
+ procps
+ usbutils
+
+ # It tries to execute xdg-user-dir and spams the log with command not founds
+ xdg-user-dirs
+
+ # electron based launchers need newer versions of these libraries than what runtime provides
+
+ ]);
+
+ multiPkgs = pkgs: ([
+ # These are required by steam with proper errors
+ xorg.libXcomposite
+ xorg.libXtst
+ xorg.libXrandr
+ xorg.libXext
+ xorg.libX11
+ xorg.libXfixes
+ sqlite
+ mod.mesa
+ libGL
+ libva
+ mod.pipewire
+ wireplumber
+ pulseaudio
+ openal
+
+ # steamwebhelper
+ harfbuzz
+ libthai
+ pango
+
+ lsof # friends options won't display "Launch Game" without it
+ file # called by steam's setup.sh
+
+ # dependencies for mesa drivers, needed inside pressure-vessel
+ mesa.llvmPackages.llvm.lib
+ vulkan-loader
+ expat
+ wayland
+ xorg.libxcb
+ xorg.libXdamage
+ xorg.libxshmfence
+ xorg.libXxf86vm
+ elfutils
+
+ # Without these it silently fails
+ xorg.libXinerama
+ xorg.libXcursor
+ xorg.libXrender
+ xorg.libXScrnSaver
+ xorg.libXi
+ xorg.libSM
+ xorg.libICE
+ pkgs2505.gnome2.GConf
+# (gnome2.GConf.overrideAttrs (
+# old: rec {
+# nativeBuildInputs = old.nativeBuildInputs ++ [ python3Packages.2to3 ];
+# }
+# )
+# )
+ curlWithGnuTls
+ nspr
+ nss
+ cups
+ libcap
+ SDL2
+ libusb1
+ dbus-glib
+ gsettings-desktop-schemas
+ ffmpeg
+ libudev0-shim
+
+ # Verified games requirements
+ fontconfig
+ freetype
+ xorg.libXt
+ xorg.libXmu
+ libogg
+ libvorbis
+ SDL
+ SDL2_image
+ glew110
+ libdrm
+ libidn
+ tbb
+ zlib
+ zstd
+
+ # SteamVR
+ udev
+ dbus
+
+ # Other things from runtime
+ glib
+ gtk2
+ bzip2
+ flac
+ freeglut
+ libjpeg
+ libpng
+ libpng12
+ libsamplerate
+ libmikmod
+ libtheora
+ libtiff
+ pixman
+ speex
+ SDL_image
+ SDL_ttf
+ SDL_mixer
+ SDL2_ttf
+ SDL2_mixer
+ libappindicator-gtk2
+ libdbusmenu-gtk2
+ libindicator-gtk2
+ libcaca
+ libcanberra
+ libgcrypt
+ libunwind
+ libvpx
+ librsvg
+ xorg.libXft
+ libvdpau
+
+ # required by coreutils stuff to run correctly
+ # Steam ends up with LD_LIBRARY_PATH=<bunch of runtime stuff>:/usr/lib:<etc>
+ # which overrides DT_RUNPATH in our binaries, so it tries to dynload the
+ # very old versions of stuff from the runtime.
+ # FIXME: how do we even fix this correctly
+ attr
+
+ # Not formally in runtime but needed by some games
+ at-spi2-atk
+ at-spi2-core # CrossCode
+ gst_all_1.gstreamer
+ gst_all_1.gst-plugins-ugly
+ gst_all_1.gst-plugins-base
+ json-glib # paradox launcher (Stellaris)
+ libdrm
+ libxkbcommon # paradox launcher
+ libvorbis # Dead Cells
+ libxcrypt # Alien Isolation, XCOM 2, Company of Heroes 2
+ mono
+ ncurses # Crusader Kings III
+ openssl
+ pkgs2003.openssl_1_0_2
+ xorg.xkeyboardconfig
+ xorg.libpciaccess
+ xorg.libXScrnSaver # Dead Cells
+ icu # dotnet runtime, e.g. Stardew Valley
+
+ # screeps dependencies
+ gtk3
+ zlib
+ atk
+ cairo
+ freetype
+ gdk-pixbuf
+ fontconfig
+
+ # Prison Architect
+ libGLU
+ libuuid
+ libbsd
+ alsa-lib
+
+ # Loop Hero
+ # FIXME: Also requires openssl_1_1, which is EOL. Either find an alternative solution, or remove these dependencies (if not needed by other games)
+ libidn2
+ libpsl
+ nghttp2.lib
+ rtmpdump
+ ]);
+
+ profile = ''
+ # Workaround for issue #44254 (Steam cannot connect to friends network)
+ # https://github.com/NixOS/nixpkgs/issues/44254
+ if [ -z ''${TZ+x} ]; then
+ new_TZ="$(readlink -f /etc/localtime | grep -P -o '(?<=/zoneinfo/).*$')"
+ if [ $? -eq 0 ]; then
+ export TZ="$new_TZ"
+ fi
+ fi
+
+ # udev event notifications don't work reliably inside containers.
+ # SDL2 already tries to automatically detect flatpak and pressure-vessel
+ # and falls back to inotify-based discovery [1]. We make SDL2 do the
+ # same by telling it explicitly.
+ #
+ # [1] <https://github.com/libsdl-org/SDL/commit/8e2746cfb6e1f1a1da5088241a1440fd2535e321>
+ export SDL_JOYSTICK_DISABLE_UDEV=1
+ '';
+
+ # runScript = (writeShellScript "shit-run" ''
+ # run="$1"
+ # if [ "$run" = "" ]; then
+ # echo "Usage: shit-run command-to-run args..." >&2
+ # exit 1
+ # fi
+ # shift
+ #
+ # ${exportLDPath}
+ #
+ # set -o allexport # Export the following env vars
+ # ${envScript}
+ # exec -- "$run" "$@"
+ # '');
+ runScript = (
+ writeShellScript "shit-run" ''
+ run="$1"
+ if [ "$run" = "" ]; then
+ echo "Usage: shit-run command-to-run args..." >&2
+ exit 1
+ fi
+ shift
+
+
+ set -o allexport # Export the following env vars
+ ${envScript}
+ exec -- "$run" "$@"
+ ''
+ );
+
+ # runScript = "bash";
+ privateTmp = true;
+
+ extraPreBwrapCmds = ''
+ install -m 1777 -d /tmp/dumps
+ '';
+
+ extraBwrapArgs = [
+ "--bind-try /tmp/dumps /tmp/dumps"
+ ];
+
+ meta = {
+ description = "shit-run (steam-run clone)";
+ };
+ };
+}
diff --git a/shiton3.nix b/shiton3.nix
new file mode 100644
index 0000000..08f23bd
--- /dev/null
+++ b/shiton3.nix
@@ -0,0 +1,53 @@
+{ inputs }:
+self: super: rec {
+ shiton3 =
+ with super;
+ python3.override {
+ bluezSupport = false;
+ x11Support = false;
+ # enableGIL = false;
+ stripTests = true;
+ enableOptimizations = true;
+ packageOverrides = final: prev: {
+ requests =
+ with prev;
+ requests.overrideAttrs (old: rec {
+ version = "2.32.3";
+ pname = "requests";
+ patches = [ ];
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-VTZUF3NOsYJVWQqf+euX6eHaho1MzWQCOZ6vaK8gp2A=";
+ };
+ });
+
+ websockets =
+ with prev;
+ websockets.overrideAttrs (old: rec {
+ version = "13.0";
+ pname = "websockets";
+ #patches = [];
+ patchPhase = ''
+ rm tests/asyncio/test_server.py
+ rm tests/asyncio/test_client.py
+ rm tests/asyncio/test_connection.py
+ '';
+ doCheck = false;
+ #nativeCheckInputs = [];
+
+ pythonImportsCheck = [ ];
+ unittestCheckPhase = [ ];
+ src = fetchFromGitHub {
+ inherit pname version;
+ owner = "aaugustin";
+ repo = pname;
+ rev = "refs/tags/${version}";
+ hash = "sha256-eyNLKXSfC204bF9Zu6uvH7+XZpy3XyvuOSNlwoJTNq8=";
+ };
+ });
+
+ };
+ };
+ # pythonPackages = shiton3.pkgs;
+ # python3Packages = shiton3.pkgs;
+}
diff --git a/shiton3_global_shit.nix b/shiton3_global_shit.nix
new file mode 100644
index 0000000..22bf142
--- /dev/null
+++ b/shiton3_global_shit.nix
@@ -0,0 +1,51 @@
+{ inputs }:
+final: prev: rec {
+ python3 = prev.python3.override {
+ packageOverrides = python-final: python-prev: {
+ eventlet =
+ with python-prev;
+ eventlet.overridePythonAttrs (old: rec {
+ doCheck = false; # Disable tests
+ doInstallCheck = false; # Disable install checks
+ nativeCheckInputs = [ ];
+ pythonImportsCheck = [ ];
+ checkPhase = "";
+ tests = [ ];
+ disabledTests = [
+ # AssertionError: Expected single line "pass" in stdout
+ "test_fork_after_monkey_patch"
+ # Tests requires network access
+ "test_getaddrinfo"
+ "test_hosts_no_network"
+ # flaky test, depends on builder performance
+ "test_server_connection_timeout_exception"
+ "test_sendall_timeout"
+ ];
+ # catchConflicts = false;# Disable dependency conflict checks
+ });
+ twisted =
+ with python-prev;
+ twisted.overridePythonAttrs (old: rec {
+ doCheck = false; # Disable tests
+ doInstallCheck = false; # Disable install checks
+ checkPhase = "";
+ });
+ django =
+ with python-prev;
+ django.overridePythonAttrs (old: rec {
+ doCheck = false; # Disable tests
+ doInstallCheck = false; # Disable install checks
+ checkPhase = "";
+ });
+ librosa =
+ with python-prev;
+ librosa.overridePythonAttrs (old: rec {
+ doCheck = false; # Disable tests
+ doInstallCheck = false; # Disable install checks
+ checkPhase = "";
+ });
+ };
+ };
+ pythonPackages = python3.pkgs;
+ python3Packages = python3.pkgs;
+}
diff --git a/shotcut-git.nix b/shotcut-git.nix
new file mode 100644
index 0000000..c3b50be
--- /dev/null
+++ b/shotcut-git.nix
@@ -0,0 +1,17 @@
+{ inputs }:
+self: super: {
+ shotcut-git =
+ with super;
+ (shotcut.override {
+ mlt = self.mlt_my;
+ }).overrideAttrs
+ (old: rec {
+ version = "00.00.00";
+ src = fetchGit {
+ url = "https://github.com/mltframework/shotcut";
+ ref = "master";
+ # submodules = true;
+ };
+ patches = [ ];
+ });
+}
diff --git a/shotwell_my.nix b/shotwell_my.nix
new file mode 100644
index 0000000..314996e
--- /dev/null
+++ b/shotwell_my.nix
@@ -0,0 +1,51 @@
+{ inputs }:
+ let
+# oldpkgs = import inputs.nixpkgs2411 { };
+ in
+self: super: {
+ shotwell_my =
+ with super;
+ (shotwell.overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://gitlab.gnome.org/GNOME/shotwell";
+ ref = "master";
+ # rev = "59a38897bf28cba9ef787840dac72e4647510bbb";
+ };
+# nativeBuildInputs = old.nativeBuildInputs ++ [ cmake pkg-config ];
+ buildInputs = [
+ gtk4
+ libexif
+ libgphoto2
+ libwebp
+ libsoup_3
+ libxml2
+ sqlite
+ webkitgtk_6_0
+ gst_all_1.gstreamer
+ gst_all_1.gst-libav
+ gst_all_1.gst-plugins-base
+ gst_all_1.gst-plugins-good
+ libgee
+ libgudev
+ gexiv2
+ gsettings-desktop-schemas
+ libraw
+ json-glib
+ glib
+ glib-networking
+ gdk-pixbuf
+ librsvg
+ librest
+ gcr_4
+ adwaita-icon-theme
+ libsecret
+ libportal-gtk4
+ ];
+ # buildInputs = old.buildInputs ++ [ libportal libportal-gtk3 llvmPackages_15.openmp gtk4 ];
+ postPatch = '''';
+ })).override
+ {
+ #stdenv = llvmPackages_15.stdenv;
+ };
+}
diff --git a/thrift.nix b/thrift.nix
new file mode 100644
index 0000000..6d33a14
--- /dev/null
+++ b/thrift.nix
@@ -0,0 +1,8 @@
+{ inputs }:
+self: super: {
+ thrift =
+ with super;
+ (thrift.override { }).overrideAttrs (old: rec {
+ doCheck = false;
+ });
+}
diff --git a/toxic_my.nix b/toxic_my.nix
new file mode 100644
index 0000000..4329296
--- /dev/null
+++ b/toxic_my.nix
@@ -0,0 +1,28 @@
+{ inputs }:
+self: super: {
+ toxic_my =
+ with super;
+ (
+ (toxic.override {
+ libtoxcore = super.libtoxcore.overrideAttrs (old: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/TokTok/c-toxcore";
+ ref = "master";
+ submodules = true;
+ };
+ });
+ # samba = null;
+ # dbus = null;
+ # libpulseaudio = null;
+ # avahi = null;
+ }).overrideAttrs
+ (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://github.com/Tox/toxic";
+ ref = "master";
+ };
+ })
+ );
+}
diff --git a/wayland-protocols.nix b/wayland-protocols.nix
new file mode 100644
index 0000000..611cb65
--- /dev/null
+++ b/wayland-protocols.nix
@@ -0,0 +1,13 @@
+{ inputs }:
+self: super: {
+ wayland-protocols =
+ with super;
+ (wayland-protocols.override { }).overrideAttrs (old: rec {
+ version = "1.45";
+ src = fetchurl {
+ url = "https://gitlab.freedesktop.org/wayland/${old.pname}/-/releases/${version}/downloads/${old.pname}-${version}.tar.xz";
+# hash = "sha256-J4a2sbeZZeMT8sKJwSB1ue1wDUGESBDFGv2hDuMpV2s=";
+ hash = "sha256-TSsqnj4JnQF9yBB78cM00nu4fZ5K/xmgyNhW0XzUHvA=";
+ };
+ });
+}
diff --git a/wireplumber.nix b/wireplumber.nix
new file mode 100644
index 0000000..ab681fc
--- /dev/null
+++ b/wireplumber.nix
@@ -0,0 +1,16 @@
+{ inputs }:
+self: super: {
+ wireplumber =
+ with super;
+ wireplumber.overrideAttrs (oldAttrs: rec {
+ version = "git";
+ src = fetchGit {
+ url = "https://gitlab.freedesktop.org/pipewire/wireplumber";
+ ref = "master";
+ rev = "7a4d3177550b6b53fe0a49396da5b07f5353daff";
+# rev = "2a5606e43702a3d3a6facdd10d5de685290d6811";
+ };
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ wrapGAppsHook ];
+ buildInputs = oldAttrs.buildInputs ++ [ gsettings-desktop-schemas ];
+ });
+}
diff --git a/yt-dlp.nix b/yt-dlp.nix
new file mode 100644
index 0000000..7c047a3
--- /dev/null
+++ b/yt-dlp.nix
@@ -0,0 +1,65 @@
+{ inputs }:
+self: super: {
+ yt-dlp =
+ with super;
+ with shiton3.pkgs;
+ shiton3.pkgs.buildPythonPackage {
+
+ pname = "yt-dlp";
+ version = "git";
+ # format = "setuptools";
+ pyproject = true;
+ src = fetchGit {
+ url = "https://github.com/yt-dlp/yt-dlp";
+ ref = "master";
+ # rev = "882e3b753c79c7799ce135c3a5edb72494b576af";
+ submodules = true;
+ };
+ nativeBuildInputs = [ hatchling ];
+ propagatedBuildInputs = [
+ brotli
+ certifi
+ mutagen
+ pycryptodomex
+ websockets
+ requests
+ urllib3
+ ];
+ makeWrapperArgs =
+ let
+ packagesToBinPath = [
+ atomicparsley
+ self.ffmpeg_my
+ rtmpdump
+ ];
+ in
+ lib.optionalString (packagesToBinPath != [ ]) [
+ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"''
+ ];
+
+ setupPyBuildFlags = [
+ "build_lazy_extractors"
+ ];
+
+ doCheck = false;
+ postInstall = ''
+ ln -s "$out/bin/yt-dlp" "$out/bin/youtube-dl"
+ '';
+
+ meta = with lib; {
+ homepage = "https://github.com/yt-dlp/yt-dlp/";
+ description = "Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)";
+ longDescription = ''
+ yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.
+
+ youtube-dl is a small, Python-based command-line program
+ to download videos from YouTube.com and a few more sites.
+ youtube-dl is released to the public domain, which means
+ you can modify it, redistribute it or use it however you like.
+ '';
+ license = licenses.unlicense;
+ mainProgram = "yt-dlp";
+ # maintainers = with maintainers; [ mkg20001 SuperSandro2000 marsam ];
+ };
+ };
+}
diff --git a/zim.nix b/zim.nix
new file mode 100644
index 0000000..1b7657c
--- /dev/null
+++ b/zim.nix
@@ -0,0 +1,12 @@
+{ inputs }:
+self: super: {
+ zim_my =
+ with super;
+ zim.overrideAttrs (oldAttrs: rec {
+ version = "0.76.1";
+ src = fetchurl {
+ url = "https://zim-wiki.org/downloads/zim-${version}.tar.gz";
+ hash = "sha256-ao7dYldQogjxubAJB3vsTSjTgzOYjkoEei1qWUv5EFU=";
+ };
+ });
+}