diff options
author | sss <sss@dark-alexandr.net> | 2025-07-01 02:03:23 +0300 |
---|---|---|
committer | sss <sss@dark-alexandr.net> | 2025-07-01 02:03:23 +0300 |
commit | 188f69443c0873970d41217b52e11c46d584c06d (patch) | |
tree | eab9f51137f212c7bfe7e512490748dae371b698 |
nix common overlays initial commit
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 ]; + }; + }; +} @@ -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="; + }; + }); +} |