{
  inputs,
  self,
  namespace,
  ...
}:

final: prev:
let
  cachyosPackages = final.callPackage ../../packages/linux-cachyos {
    pkgs = final;
    nixpkgs = inputs.nixpkgs;
    inherit self;
  };
in
{
  ${namespace} = prev.${namespace} // {
    # GCC Kernels
    # Latest
    linuxPackages_cachyos = cachyosPackages.cachyos-gcc;
    linuxPackages_cachyos-gcc = cachyosPackages.cachyos-gcc;
    # Latest Server
    linuxPackages_cachyos-server = cachyosPackages.cachyos-server;
    # Hardened
    linuxPackages_cachyos-hardened = cachyosPackages.cachyos-hardened;
    # RC
    linuxPackages_cachyos-rc = cachyosPackages.cachyos-rc;
    # LTS
    linuxPackages_cachyos-lts = cachyosPackages.cachyos-lts;
    # Steamdeck
    linuxPackages_cachyos-deckify = cachyosPackages.cachyos-deckify;

    # Clang Kernels
    # Latest
    linuxPackages_cachyos-lto = cachyosPackages.cachyos-lto;
    linuxPackages_cachyos-lto-full = cachyosPackages.cachyos-lto-full;
    linuxPackages_cachyos-lto-znver4 = cachyosPackages.cachyos-lto-znver4;
    # LTS
    linuxPackages_cachyos-lts-lto = cachyosPackages.cachyos-lts-lto;
    # Hardened
    linuxPackages_cachyos-hardened-lto = cachyosPackages.cachyos-hardened-lto;
    # Latest Server
    linuxPackages_cachyos-server-lto = cachyosPackages.cachyos-server-lto;
    linuxPackages_cachyos-server-lto-znver4 = cachyosPackages.cachyos-server-lto-znver4;

    linuxPackages_cachyos-server-lto-16k = cachyosPackages.cachyos-server-lto-16k;

    # RC
    linuxPackages_cachyos-rc-lto = cachyosPackages.cachyos-rc-lto;
    linuxPackages_cachyos-rc-lto-znver4 = cachyosPackages.cachyos-rc-lto-znver4;
    # Steamdeck
    linuxPackages_cachyos-deckify-lto = cachyosPackages.cachyos-deckify-lto;
  };
}
