xddxdd / nix-cachyos-kernel
git clone https://github.com/xddxdd/nix-cachyos-kernel.git
🔥 on GitHub Trending today
Nix flake packaging Linux kernels with CachyOS patches and tunings, plus a CachyOS-patched ZFS module.
Why you might care
Gives NixOS users CachyOS kernel variants, including Clang+ThinLTO builds, with versions auto-synced daily to upstream CachyOS releases. The pinned overlay matches the Hydra-built binary cache to avoid local kernel compilation.
+0
stars, 24h · #46,600
+~19
stars, 7 days · #8,459
+~80
stars, 30 days · #8,458
764
★ total · +3% this week
28
forks · 11 open issues
Star history (as recorded here)
LanguageNix
LicenseGPL-2.0
Created2025-12-09 (10mo ago)
Last pushtoday
Watchers7
OwnerUser
Seen on GitHub Trending
- 2026-10-23 — #6 daily in nix · +2 ★
Links
- GitHub: github.com/xddxdd/nix-cachyos-kernel
- Homepage: https://hydra.lantian.pub/jobset/lantian/nix-cachyos-kernel
- Releases · Issues · Hacker News mentions
README excerpt
# Nix packages for CachyOS Kernel This repo contains Linux kernels with both CachyOS patches and CachyOS tunings, as well as CachyOS-patched ZFS module. ## Which kernel versions are provided? This repo provides the following kernel variants, consistent with the upstream definitions: [code] The kernel versions are automatically kept in sync with upstream CachyOS releases via a daily GitHub Action (see update.py), so once CachyOS updates their kernels, this repo will automatically catch up. Use `nix flake show github:xddxdd/nix-cachyos-kernel/release` to see the current effective versions. The kernels ending in `-lto` have Clang+ThinLTO enabled. For each linux kernel entry under `packages`, we have a corresponding `linuxPackages` entry under `legacyPackages` for easier use in your NixOS configuration, e.g.: - `linux-cachyos-latest` -> `inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-latest` - `linux-cachyos-lts-lto` -> `inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-lts-lto` ## How to use kernels #### Flakes Add the `release` branch of this repo to the inputs section of your `flake.nix`: [code] The `release` branch contains the latest kernel that has been built by my Hydra CI and is present in binary cache. > If you want the absolute latest version with or without binary cache, use the `master` branch (default branch) instead: > > [code] Add the repo's overlay in your NixOS configuration, this will expose the packages in this flake as `pkgs.cachyosKernels.*`. [code] Then specify `pkgs.cachyosKernels.linuxPackages-cachyos-latest` (or other variants you'd like) in your `boot.kernelPackages` option. > **`pinned` overlay is recommended** to ensure binary cache hits. The `pinned` overlay uses the exact nixpkgs revision defined in this flake, matching what was used to build the cached kernels. With the `default` overlay, a different nixpkgs revision may cause cache misses and trigger local kernel compilation even if a cached kernel is available. > > Use `pinned` if: > > - You want to ensure that you can fetch kernel from binary cache. > - You want to make sure that the kernel can be built successfully. > > Use `default` if: > > - You want to avoid initializing multiple instances of nixpkgs. > - You want to use latest kernel modules that are just merged/updated within nixpkgs. > - You want to customize `nixpkgs.config` options. #### Non-Flakes This flake is usable in non-flakes nix configuration using npins and the following snippet: Npins commands: [code] [code] You may also fetch the flakes directly using fetchFromGitHub, but note that you will have to manually update the revision and hash to update your kernel, which is tedious. ### Binary cache The binary cache is automatically configured via `nixConfig` in this flake, so Nix will prompt you to accept it when you first use this repo. I'm running a Hydra CI to build the kernels and push them to my Attic binary cache. You can see the bu
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.