Skip to content

fix: pin kernel to 6.12 and use nightly deno for build - #905

Merged
shunkakinoki merged 3 commits into
mainfrom
fix/pin-kernel-6.12-crowdstrike-rfm
Feb 23, 2026
Merged

fix: pin kernel to 6.12 and use nightly deno for build#905
shunkakinoki merged 3 commits into
mainfrom
fix/pin-kernel-6.12-crowdstrike-rfm

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Feb 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Pin kernel to 6.12 for CrowdStrike Falcon compatibility (RFM on 6.19)
  • Pull deno from nixpkgs-nightly to work around broken check phase in nixpkgs-unstable deno 2.6.10 (integration_tests vs integration_test)

Test plan

  • make build succeeds (deno fetched from binary cache, no source compile)
  • make switch applies successfully
  • Reboot to verify kernel 6.12 loads and CrowdStrike exits RFM

Summary by cubic

Pinned matic to Linux kernel 6.18 to avoid CrowdStrike Falcon RFM and support AMD AI 300 display. Switched Deno to nixpkgs-nightly to fix the 2.6.10 check phase and keep using cached binaries; resolved flake.lock merge from main.

  • Migration
    • Reboot to load kernel 6.18 and confirm Falcon exits RFM.

Written for commit 006e324. Summary will update on new commits.

Pin kernel to 6.12 for CrowdStrike Falcon compatibility (RFM on 6.19).
Pull deno from nixpkgs-nightly to work around broken check phase in
nixpkgs-unstable deno 2.6.10 (integration_tests vs integration_test).
Copilot AI review requested due to automatic review settings February 23, 2026 13:55
@mesa-dot-dev

mesa-dot-dev Bot commented Feb 23, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @shunkakinoki, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request implements crucial system stability and build process improvements. It ensures compatibility with security software by pinning the Linux kernel to a specific version and resolves a critical build failure for the Deno runtime by sourcing it from a more up-to-date nightly channel. These changes collectively enhance the system's reliability and development environment consistency.

Highlights

  • Kernel Pinning for CrowdStrike Compatibility: The Linux kernel has been explicitly pinned to version 6.12. This change addresses compatibility issues with CrowdStrike Falcon, which was entering Reduced Functionality Mode (RFM) when running on kernel 6.19.
  • Deno Build Fix: Deno is now sourced from nixpkgs-nightly instead of nixpkgs-unstable. This resolves a broken check phase in Deno version 2.6.10 from nixpkgs-unstable, which had a mismatch in integration test names (integration_tests vs integration_test).
Changelog
  • flake.lock
    • Updated the nixpkgs-nightly input's lastModified, narHash, and rev to a newer revision.
  • named-hosts/matic/default.nix
    • Changed the boot.kernelPackages from pkgs.linuxPackages_latest to pkgs.linuxPackages_6_12.
    • Added a comment explaining the kernel pin for CrowdStrike Falcon compatibility.
  • overlays/default.nix
    • Added an overlay to explicitly fetch the deno package from final.nightlyPkgs.deno.
    • Included comments detailing the reason for switching Deno's source, citing a broken check phase in nixpkgs-unstable's Deno 2.6.10.
Activity
  • The make build command was successfully executed, confirming that Deno is fetched from the binary cache without requiring source compilation.
  • The make switch command applied the configuration changes successfully.
  • A reboot is pending to verify that kernel 6.12 loads correctly and CrowdStrike exits RFM.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai

coderabbitai Bot commented Feb 23, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes

    • Resolved Deno compatibility by switching to a nightly Deno build to avoid a broken release.
  • Chores

    • Pinned the system kernel to 6.18 for improved stability and compatibility.
    • Added conditional system-module integration so an optional module is included only when present.

Walkthrough

Pin kernelPackages to pkgs.linuxPackages_6_18 in the matic host and conditionally include ./falcon.nix when falconDebExists is true; add nightlyPkgs.deno = final.nightlyPkgs.deno to the nightly overlay to use the nightly Deno build.

Changes

Cohort / File(s) Summary
Matic host config
named-hosts/matic/default.nix
Replaced pkgs.linuxPackages_latest with pkgs.linuxPackages_6_18 and appended conditional module inclusion of ./falcon.nix gated by falconDebExists.
Nightly overlay
overlays/default.nix
Added nightlyPkgs.deno = final.nightlyPkgs.deno to point Deno at the nightly build (workaround for a broken check phase).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐇 I hopped through kernels, found six-eighteen,

Falcons wait until the flag turns green,
Nightly Deno skips the broken test,
Builds hop forward, notebooks rest,
A rabbit cheers — patch applied, all clean!

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions pinning kernel to 6.12 and using nightly deno, but the actual changes pin kernel to 6.18 (not 6.12) and add nightly deno override, creating a mismatch between stated intention and implementation. Update the PR title to 'fix: pin kernel to 6.18 and use nightly deno for build' to accurately reflect the actual kernel version pinned in the code.
Description check ⚠️ Warning The description mentions pinning kernel to 6.12 for CrowdStrike Falcon compatibility, but the code actually pins kernel to 6.18; there's also inconsistency between the author's description and the auto-generated cubic summary regarding the kernel version. Clarify whether the kernel should be pinned to 6.12 or 6.18, update all documentation to match the actual implementation, and resolve the conflict between the PR objectives.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/pin-kernel-6.12-crowdstrike-rfm

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses two operational issues on the matic host: pinning the Linux kernel to version 6.12 to maintain CrowdStrike Falcon compatibility and working around a broken deno package in nixpkgs-unstable.

Changes:

  • Pin Linux kernel to 6.12 on the matic host to prevent CrowdStrike Falcon from entering Reduced Functionality Mode on kernel 6.19
  • Override deno package to use nixpkgs-nightly version to avoid broken check phase in deno 2.6.10 from nixpkgs-unstable
  • Update nixpkgs-nightly flake lock to a newer commit containing the deno fix

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
overlays/default.nix Adds deno package override to pull from nixpkgs-nightly, following the established pattern for codex, claude-code, and opencode
named-hosts/matic/default.nix Changes kernel from latest to 6.12 with explanatory comment about CrowdStrike Falcon compatibility
flake.lock Updates nixpkgs-nightly lock to newer commit (Feb 24, 2026) containing the deno fix

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request successfully addresses two main issues: a build failure in Deno 2.6.10 on nixpkgs-unstable and a compatibility issue between the latest Linux kernels and CrowdStrike Falcon. By pinning the kernel to 6.12 (LTS) for the matic host and pulling Deno from the nightly (master) branch, the build and system stability are restored. I have one minor suggestion regarding the documentation of the kernel pin to ensure clarity for future maintenance.

Comment thread named-hosts/matic/default.nix Outdated
Comment on lines +46 to +47
# Pin kernel to 6.12 for CrowdStrike Falcon compatibility (RFM on 6.19)
boot.kernelPackages = pkgs.linuxPackages_6_12;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a typo in the comment mentioning kernel version 6.19, as the current mainline kernel is 6.13. It's likely you meant 6.13 or 6.11. Additionally, the previous comment about AMD AI 300 support was removed; it's helpful to retain that context so future maintainers know that 6.12 is the minimum required version for this hardware.

        # Pin kernel to 6.12 for CrowdStrike Falcon compatibility (RFM on 6.13+)
        # Also maintains support for AMD AI 300
        boot.kernelPackages = pkgs.linuxPackages_6_12;

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
named-hosts/matic/default.nix (1)

17-19: ⚠️ Potential issue | 🟡 Minor

Comment is misleading about eval mode requirements — update to document --impure dependency

The Makefile already passes --impure via NIX_FLAGS, so the flake evaluation will not hard-error. However, the inline comment at line 18 is misleading: saying "In CI, this will be false" omits the critical detail that builtins.pathExists on an absolute path requires --impure to work at all. In pure eval mode (flakes default), it would error before returning false.

Update the comment to clarify that this check depends on impure evaluation, e.g.: "With --impure enabled, returns true if the .deb exists; false otherwise." This documents why the code works despite using an absolute path.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@named-hosts/matic/default.nix` around lines 17 - 19, Update the misleading
inline comment for the falconDebExists definition: clarify that
builtins.pathExists on an absolute path requires impure evaluation (e.g.
--impure) so the expression will error in pure flake eval but, with --impure
enabled (as NIX_FLAGS in the Makefile supplies), it returns true if
/etc/nixos/falcon-sensor.deb exists and false otherwise; reference the
falconDebExists binding and the builtins.pathExists call when making this
comment change.
🧹 Nitpick comments (1)
overlays/default.nix (1)

41-43: Consider linking the upstream nixpkgs fix so this override can be removed when it lands.

The workaround is correct and the comment is helpful. Without a pointer to the upstream nixpkgs issue or PR that fixes the integration_testsintegration_test rename, it will be easy to forget to revert once nixpkgs-unstable picks up the corrected derivation.

✏️ Suggested comment update
-    # deno 2.6.10 on nixpkgs-unstable has broken check phase (integration_tests vs integration_test)
-    # Use nightly (master) which has the fix and is in the binary cache
+    # TODO: revert once nixpkgs-unstable cuts a deno release past 2.6.10
+    # deno 2.6.10 check phase is broken: test target renamed integration_tests → integration_test
+    # Track: https://github.com/NixOS/nixpkgs/issues/<issue-number>
+    # Using nightly (master) which has the fix and is available in the binary cache
     deno = final.nightlyPkgs.deno;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@overlays/default.nix` around lines 41 - 43, Add a link to the upstream
nixpkgs issue or PR that fixes the integration_tests → integration_test rename
and note the condition to remove the override; specifically update the comment
near the deno override (the line "deno = final.nightlyPkgs.deno;") to reference
the nixpkgs issue/PR URL (or ticket number) and state that the override should
be removed once that PR lands into nixpkgs-unstable (or include the merge
commit/PR number) so future maintainers know when to revert the workaround.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@named-hosts/matic/default.nix`:
- Around line 17-19: Update the misleading inline comment for the
falconDebExists definition: clarify that builtins.pathExists on an absolute path
requires impure evaluation (e.g. --impure) so the expression will error in pure
flake eval but, with --impure enabled (as NIX_FLAGS in the Makefile supplies),
it returns true if /etc/nixos/falcon-sensor.deb exists and false otherwise;
reference the falconDebExists binding and the builtins.pathExists call when
making this comment change.

---

Nitpick comments:
In `@overlays/default.nix`:
- Around line 41-43: Add a link to the upstream nixpkgs issue or PR that fixes
the integration_tests → integration_test rename and note the condition to remove
the override; specifically update the comment near the deno override (the line
"deno = final.nightlyPkgs.deno;") to reference the nixpkgs issue/PR URL (or
ticket number) and state that the override should be removed once that PR lands
into nixpkgs-unstable (or include the merge commit/PR number) so future
maintainers know when to revert the workaround.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 036a7f6 and 8e633e1.

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • named-hosts/matic/default.nix
  • overlays/default.nix

@mesa-dot-dev

mesa-dot-dev Bot commented Feb 23, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Pinned the matic host's Linux kernel to 6.12 for CrowdStrike Falcon compatibility and switched Deno to nixpkgs-nightly to resolve a broken check phase during its build.

What changed?

  • named-hosts/matic/default.nix: The matic host configuration now explicitly pins the kernel to version 6.18 to ensure compatibility with CrowdStrike Falcon, as newer kernel versions (like 6.19) were causing issues.
  • overlays/default.nix: The default Nix overlay now explicitly sources the deno package from final.nightlyPkgs to resolve a broken check phase issue with deno 2.6.10 in nixpkgs-unstable, utilizing a fixed nightly version from the binary cache.

Description generated by Mesa. Update settings

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="named-hosts/matic/default.nix">

<violation number="1" location="named-hosts/matic/default.nix:46">
P1: Kernel version in code (6.18) contradicts PR description and title (6.12).</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread named-hosts/matic/default.nix

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@named-hosts/matic/default.nix`:
- Around line 46-47: The PR title/description incorrectly state kernel 6.12
while the code/comment and intent use 6.18; update the PR title and description
to reference "pin kernel to 6.18" (and mention AMD AI 300 display / CrowdStrike
Falcon compatibility as appropriate) so they match the actual change where
boot.kernelPackages is set to pkgs.linuxPackages_6_18 and the inline comment
references 6.18/RFM on 6.19.
- Around line 46-47: The pin to boot.kernelPackages = pkgs.linuxPackages_6_18
may deploy a kernel missing the MT7925E driver and break WiFi (this host uses
options mt7925e disable_aspm=1); update the config to either ensure the nixpkgs
lock references a 6.18 patch that contains CONFIG_MT7925E (e.g., 6.18.2), or
change boot.kernelPackages to a confirmed-working kernel (e.g.,
linuxPackages_6_17 or linuxPackages_latest), or add a comment and gating check
to verify the kernel patch version before merging so the mt7925e driver is
present.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 8e633e1 and c5b139a.

📒 Files selected for processing (1)
  • named-hosts/matic/default.nix

Comment thread named-hosts/matic/default.nix
@shunkakinoki
shunkakinoki merged commit de7ed6c into main Feb 23, 2026
25 checks passed
@shunkakinoki
shunkakinoki deleted the fix/pin-kernel-6.12-crowdstrike-rfm branch February 23, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants