{ pkgs, namespace, ... }: { nixpkgs.overlays = [ (_self: super: { ${namespace} = let # clangCcacheStdenv = super.overrideCC super.llvmPackages.stdenv ( # super.ccacheWrapper.override { # cc = super.llvmPackages.stdenv.cc; # extraConfig = '' # export CCACHE_SLOPPINESS=include_file_ctime,time_macros # export CCACHE_DIR=/var/cache/ccache # ''; # } # ); clangCcacheStdenv = pkgs.llvmPackages.stdenv; # pkgs.overrideCC pkgs.clangStdenv (pkgs.ccacheWrapper.override { cc = pkgs.llvmPackages.clangUseLLVM; }); in super.${namespace} // { linuxPackages_rpi5 = super.linuxPackagesFor ( super.${namespace}.linux-rpi.override { stdenv = super.ccacheStdenv; } ); linuxPackages_rpi4 = super.linuxPackagesFor ( super.${namespace}.linux-rpi.override { stdenv = super.ccacheStdenv; rpiVersion = 4; } ); libraspberrypi = super.${namespace}.libraspberrypi.override { stdenv = super.ccacheStdenv; }; raspberrypi-utils = super.${namespace}.raspberrypi-utils.override { stdenv = super.ccacheStdenv; }; linuxPackages_cachyos = super.${namespace}.linuxPackages_cachyos.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-lto = super.${namespace}.linuxPackages_cachyos-lto.override { # stdenv = clangCcacheStdenv; # }; # linuxPackages_cachyos-lto-full = super.${namespace}.linuxPackages_cachyos-lto-full.override { # stdenv = clangCcacheStdenv; # }; linuxPackages_cachyos-lts = super.${namespace}.linuxPackages_cachyos-lts.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-lts-lto = super.${namespace}.linuxPackages_cachyos-lts-lto.override { # stdenv = clangCcacheStdenv; # }; # linuxPackages_cachyos-lto-znver4 = super.${namespace}.linuxPackages_cachyos-lto-znver4.override { # stdenv = clangCcacheStdenv; # }; linuxPackages_cachyos-server = super.${namespace}.linuxPackages_cachyos-server.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-server-lto = super.${namespace}.linuxPackages_cachyos-server-lto.override { # stdenv = clangCcacheStdenv; # }; # linuxPackages_cachyos-server-lto-znver4 = # super.${namespace}.linuxPackages_cachyos-server-lto-znver4.override # { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-rc = super.${namespace}.linuxPackages_cachyos-rc.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-rc-lto = super.${namespace}.linuxPackages_cachyos-rc-lto.override { # stdenv = clangCcacheStdenv; # }; # linuxPackages_cachyos-rc-lto-znver4 = # super.${namespace}.linuxPackages_cachyos-rc-lto-znver4.override # { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-hardened = super.${namespace}.linuxPackages_cachyos-hardened.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-hardened-lto = # super.${namespace}.linuxPackages_cachyos-hardened-lto.override # { stdenv = clangCcacheStdenv; }; # linuxPackages_cachyos-hardened-lto-znver4 = # super.${namespace}.linuxPackages_cachyos-hardened-lto-znver4.override # { stdenv = clangCcacheStdenv; }; linuxPackages_cachyos-deckify = super.${namespace}.linuxPackages_cachyos-deckify.override { stdenv = super.ccacheStdenv; }; # linuxPackages_cachyos-deckify-lto = super.${namespace}.linuxPackages_cachyos-deckify-lto.override { # stdenv = clangCcacheStdenv; # }; }; }) (_self: super: { raspberrypi-utils = super.${namespace}.raspberrypi-utils; raspberrypi-udev-rules = super.${namespace}.udev-rules; }) (_self: super: { mesa = super.mesa.override { buildPackages.stdenv = super.ccacheStdenv; }; }) (_self: super: { electron = super.stable.electron-bin; electron_36 = super.stable.electron_36-bin; electron_37 = super.stable.electron_37-bin; }) # (_self: super: { # "webkitgtk_4_1" = super.stable."webkitgtk_4_1".override { clangStdenv = super.ccacheStdenv; }; # }) # (_self: super: { # "webkitgtk_6_0" = super."webkitgtk_6_0".override { clangStdenv = super.ccacheStdenv; }; # }) (_self: super: { "jellyfin-ffmpeg" = super."jellyfin-ffmpeg".override { ffmpeg_7-full = super.ffmpeg_7-full.override { stdenv = super.ccacheStdenv; }; }; }) # (self: super: { # "ffmpeg-headless-rpi" = super."ffmpeg-headless-rpi".override { ffmpeg = super.ffmpeg_7.override { stdenv = super.ccacheStdenv; }; }; # }) # todo: make these work (_self: super: { rocmPackages = super.stable.rocmPackages; uv = super.stable.uv; piper-tts = super.stable.piper-tts; python3Packages = super.python3Packages // { torch = super.stable.python3Packages.torch; }; }) # (_self: super: { # rocmPackages = super.rocmPackages // { # hipblaslt = super.rocmPackages.hipblaslt.override { # stdenv = super.ccacheStdenv; # inherit gpuTargets; # }; # rocblas = super.rocmPackages.rocblas.override { # # stdenv = super.ccacheStdenv; # inherit gpuTargets; # }; # rocsolver = super.rocmPackages.rocsolver.override { # # stdenv = super.ccacheStdenv; # inherit gpuTargets; # }; # }; # }) (_self: super: { pcsx2 = super.pcsx2.override { llvmPackages = super.llvmPackages // { stdenv = super.ccacheStdenv; }; }; }) (_self: super: { driversi686Linux = super.driversi686Linux // { mesa = super.driversi686Linux.mesa.override { stdenv = super.ccacheStdenv; buildPackages = super.driversi686Linux.mesa.buildPackages // { stdenv = super.ccacheStdenv; }; }; }; }) (_self: super: { kdePackages = super.kdePackages // { qt3d = super.kdePackages.qt3d.override { qtbase = super.kdePackages.qtbase.override { stdenv = super.ccacheStdenv; }; }; qtwebengine = super.stable.kdePackages.qtwebengine; # .override { stdenv = super.ccacheStdenv; }; }; }) # (_self: super: { # python3Packages = super.python3Packages // { # torch = super.python3Packages.torch.override { # stdenv = super.ccacheStdenv; # inherit gpuTargets; # }; # }; # }) # (_self: super: { # piper-tts = super.piper-tts.overridePythonAttrs (oldAttrs: { # pythonCatchConflictsPhase = null; # }); # }) ]; }