feat: manage cmux and karabiner with nix - #874
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughAdds two Home Manager modules ( Changescmux and Karabiner Home Manager Management
Portable Dotfiles and Infrastructure Management
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
test/nix-darwin-config.test.jsOops! Something went wrong! :( ESLint: 10.5.0 ReferenceError: describe is not defined 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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2412b7c92c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| home.file.".config/cmux/config" = { | ||
| force = true; | ||
| text = ""; |
There was a problem hiding this comment.
Configure the cmux file that is actually read
cmux's configuration docs list ~/.config/ghostty/config for terminal settings and ~/.config/cmux/cmux.json for cmux-owned settings (https://cmux.com/docs/configuration), so this generated .config/cmux/config is not read. On machines where Ghostty/cmux already has keybinds for Ctrl+Shift+J/;/'—the case this module is meant to neutralize—darwin-rebuild leaves those bindings in place and the IME shortcuts can still be consumed by the terminal; manage the Ghostty config or cmux.json instead.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
docs/adr/0015-manage-portable-user-dotfiles-with-home-manager.md (1)
27-31: 💤 Low valueReduce repetition of "Source" at sentence beginnings.
Lines 27-31 have three successive sentences beginning with "Source," which impacts readability. Consider rephrasing one or more sentences to vary the structure.
📝 Suggested revision
- Source reusable zsh config fragments and functions from the repository. -- Source AeroSpace configuration from `dot/aerospace.toml`. -- Source small workflow-tool configs for act, Agent Deck, Graphite aliases, and - Codespaces secret repository selection. +- Manage AeroSpace configuration from `dot/aerospace.toml`. +- Include small workflow-tool configs for act, Agent Deck, Graphite aliases, and + Codespaces secret repository selection.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/adr/0015-manage-portable-user-dotfiles-with-home-manager.md` around lines 27 - 31, Lines 27-31 contain repetitive sentence structures with multiple bullet points beginning with "Source," which reduces readability. Rephrase one or more of these bullet points to vary the sentence structure while maintaining the same meaning. For example, you could restructure the bullets describing zsh config fragments, AeroSpace configuration, workflow-tool configs, and git ignore and peco configuration to use different opening words or sentence constructions such as "Include," "Incorporate," "Load," or restructure them as compound phrases to improve the overall flow and readability of the list.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@dot/aerospace.toml`:
- Around line 1-2: The header comments on lines 1-2 of aerospace.toml
incorrectly instruct users to manually copy and edit the file at
~/.aerospace.toml, but this file is actually declaratively managed and
force-overwritten by Home Manager configuration in nix/home/dotfiles.nix.
Replace these misleading comments with new header text that clearly states the
file is managed by Home Manager and directs users to modify their configuration
through the Home Manager nix files instead of editing the dotfile manually.
---
Nitpick comments:
In `@docs/adr/0015-manage-portable-user-dotfiles-with-home-manager.md`:
- Around line 27-31: Lines 27-31 contain repetitive sentence structures with
multiple bullet points beginning with "Source," which reduces readability.
Rephrase one or more of these bullet points to vary the sentence structure while
maintaining the same meaning. For example, you could restructure the bullets
describing zsh config fragments, AeroSpace configuration, workflow-tool configs,
and git ignore and peco configuration to use different opening words or sentence
constructions such as "Include," "Incorporate," "Load," or restructure them as
compound phrases to improve the overall flow and readability of the list.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ff3c03e4-52b7-41ba-bba8-ab92a972cee9
📒 Files selected for processing (14)
.zsh/configs/virtual/go.zsh.zsh/configs/virtual/php.zsh.zsh/configs/virtual/python.zshdocs/adr/0014-manage-cmux-karabiner-with-home-manager.mddocs/adr/0015-manage-portable-user-dotfiles-with-home-manager.mddot/aerospace.tomldot/config/act/actrcdot/config/agent-deck/config.tomldot/config/codespaces-secrets/repos.txtdot/config/graphite/aliasesnix/home/cmux.nixnix/home/default.nixnix/home/dotfiles.nixtest/nix-darwin-config.test.js
✅ Files skipped from review due to trivial changes (7)
- dot/config/graphite/aliases
- .zsh/configs/virtual/php.zsh
- .zsh/configs/virtual/python.zsh
- .zsh/configs/virtual/go.zsh
- dot/config/codespaces-secrets/repos.txt
- dot/config/act/actrc
- docs/adr/0014-manage-cmux-karabiner-with-home-manager.md
🚧 Files skipped from review as they are similar to previous changes (1)
- nix/home/default.nix
| # Place a copy of this config to ~/.aerospace.toml | ||
| # After that, you can edit ~/.aerospace.toml to your liking |
There was a problem hiding this comment.
Update the header comments to match Home Manager ownership.
Line 1 and Line 2 currently tell users to copy/edit ~/.aerospace.toml manually, but this file is declaratively managed and force-overwritten by Home Manager (nix/home/dotfiles.nix Line 4-Line 7 and Line 11). Please replace this guidance to prevent confusing, non-persistent manual edits.
Suggested edit
-# Place a copy of this config to ~/.aerospace.toml
-# After that, you can edit ~/.aerospace.toml to your liking
+# Managed by Home Manager via nix/home/dotfiles.nix
+# Edit this repository file and apply with darwin-rebuild/home-manager switch📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Place a copy of this config to ~/.aerospace.toml | |
| # After that, you can edit ~/.aerospace.toml to your liking | |
| # Managed by Home Manager via nix/home/dotfiles.nix | |
| # Edit this repository file and apply with darwin-rebuild/home-manager switch |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@dot/aerospace.toml` around lines 1 - 2, The header comments on lines 1-2 of
aerospace.toml incorrectly instruct users to manually copy and edit the file at
~/.aerospace.toml, but this file is actually declaratively managed and
force-overwritten by Home Manager configuration in nix/home/dotfiles.nix.
Replace these misleading comments with new header text that clearly states the
file is managed by Home Manager and directs users to modify their configuration
through the Home Manager nix files instead of editing the dotfile manually.
|
🎉 This PR is included in version 1.119.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
Verification
Summary by CodeRabbit