Revamp - #280
Conversation
fix(settings): simplify notification command in settings feat(packages): add yazi to home-manager package list
There was a problem hiding this comment.
Pull Request Overview
This PR performs a "revamp" of configuration settings across multiple system and application configuration files, updating various aspects of the development environment setup.
- Added trusted dependencies configuration to package.json
- Updated system dock configuration with new applications
- Added new CLI package (yazi) to Nix home-manager packages
- Configured terminal transparency in Ghostty terminal emulator
- Simplified notification command in Claude settings
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Added trustedDependencies array for security configuration |
| nix-darwin/config/dock.nix | Added Mail.app and Wispr Flow.app to persistent dock applications |
| home-manager/packages/default.nix | Added yazi package to the list of installed CLI tools |
| home-manager/modules/ghostty/config | Configured background opacity for terminal transparency |
| config/claude/settings.local.json | Simplified notification command for Claude code hooks |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Summary of ChangesHello @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 introduces a series of configuration and package management updates aimed at enhancing the user's development environment and system setup. Key changes include streamlining notification behavior for Claude, customizing the Ghostty terminal's appearance, integrating a new file manager ( Highlights
Using Gemini Code AssistThe 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
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 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
|
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughSummary by CodeRabbit
WalkthroughReplaces the Claude notification hook with a simpler jq extraction piped to osascript (fixed title "Claude Code"); adds ghostty Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Hook as Hook Script
participant jq as jq
participant osa as osascript
participant macOS as macOS Notification Center
Note over Hook,jq: Notification processing (changed flow)
Hook->>jq: jq -r '.message'
jq-->>Hook: plain text message
Hook->>osa: osascript display notification "<message>" with title "Claude Code" sound "Sonar"
osa-->>macOS: post notification
macOS-->>osa: displayed
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (2)**/*.nix📄 CodeRabbit inference engine (CLAUDE.md)
Files:
nix-darwin/**📄 CodeRabbit inference engine (CLAUDE.md)
Files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
🔇 Additional comments (1)
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.
Code Review
This pull request introduces several updates to your dotfiles configuration, including adding new packages, applications, and modifying tool settings. My review focuses on a change to a notification command in config/claude/settings.local.json. While the change simplifies the command, it also removes the dynamic title functionality. I've provided a suggestion to improve the command's readability using jq interpolation while restoring the dynamic title, which might have been unintentionally removed.
| { | ||
| "type": "command", | ||
| "command": "cat | jq -r '\"display notification \\\"\" + .message + \"\\\" with title \\\"\" + .title + \"\\\" sound name \\\"Sonar\\\"\"' | xargs -I {} osascript -e '{}'" | ||
| "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'" |
There was a problem hiding this comment.
The updated command hardcodes the notification title to "Claude Code", which removes the dynamic title previously generated from the .title field. While this aligns with the Stop hook's behavior, it could be an unintended loss of functionality for this specific notification. If retaining the dynamic title is preferred, the command can be improved for readability while keeping the feature. The suggestion below uses jq's string interpolation, which is cleaner than the original string concatenation, and it also removes the unnecessary cat command.
| "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'" | |
| "command": "jq -r 'display notification \"\\(.message)\" with title \"\\(.title)\" sound name \"Sonar\"' | xargs -I {} osascript -e '{}'" |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ 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
| "type": "command", | ||
| "command": "cat | jq -r '\"display notification \\\"\" + .message + \"\\\" with title \\\"\" + .title + \"\\\" sound name \\\"Sonar\\\"\"' | xargs -I {} osascript -e '{}'" | ||
| "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'" | ||
| } |
There was a problem hiding this comment.
Quote entire AppleScript command before piping to osascript
The new notification hook now runs jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'. Because the script passed to osascript is not wrapped as a single argument, xargs splits it into multiple tokens (display, notification, etc.) and osascript -e receives only display, which produces a syntax error and the notification never fires. Previously the hook constructed a single quoted AppleScript string, so notifications worked. Any Claude notification will now fail on macOS until the command is re-quoted so the full script is supplied as one argument.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
home-manager/packages/default.nix (1)
7-63: Consider alphabetically sorting the package list.The package list is not alphabetically sorted (e.g.,
yaziappears betweenyarnandyq). While the current ordering may be intentional, alphabetically sorting would improve maintainability and make it easier to detect duplicates.As per coding guidelines, Nix attribute sets and lists should be sorted alphabetically for consistency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (5)
config/claude/settings.local.json(1 hunks)home-manager/modules/ghostty/config(1 hunks)home-manager/packages/default.nix(1 hunks)nix-darwin/config/dock.nix(1 hunks)package.json(1 hunks)
🧰 Additional context used
📓 Path-based instructions (7)
**/*.{js,ts,tsx,json}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{js,ts,tsx,json}: Use 2-space indentation for JSON/JS/TS (Biome)
Enforce 80-character line width for JSON/JS/TS (Biome)
Use double quotes in JSON/JS/TS (Biome)
Use ES5 trailing commas in JSON/JS/TS (Biome)
Files:
package.jsonconfig/claude/settings.local.json
**/*.nix
📄 CodeRabbit inference engine (CLAUDE.md)
Format all Nix files with nixfmt
**/*.nix: Nix: Use 2 spaces for indentation
Nix: Keep line length under 100 characters
Nix: Sort attribute sets alphabetically
Nix: Use consistent spacing around operators
Nix: Format lists and sets consistentlyFollow the Nix expression language style guide
Files:
home-manager/packages/default.nixnix-darwin/config/dock.nix
**/default.nix
📄 CodeRabbit inference engine (CLAUDE.md)
Use default.nix files for module exports
Files:
home-manager/packages/default.nix
home-manager/**
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Keep home-manager configurations under home-manager/
Files:
home-manager/packages/default.nixhome-manager/modules/ghostty/config
home-manager/**/*.nix
📄 CodeRabbit inference engine (.cursor/rules/home-manager.mdc)
Use proper indentation and formatting in Nix files
Files:
home-manager/packages/default.nix
nix-darwin/**
📄 CodeRabbit inference engine (CLAUDE.md)
Use Homebrew only for macOS-specific applications within nix-darwin configs
Keep Darwin-specific configurations under nix-darwin/
Files:
nix-darwin/config/dock.nix
config/**
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Keep application-specific configurations under config/
Files:
config/claude/settings.local.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: cubic · AI code reviewer
- GitHub Check: e2e-run (Ubuntu, ubuntu-latest)
- GitHub Check: e2e-run (MacOS, macos-latest)
- GitHub Check: e2e-run (NixOS, ubuntu-latest)
- GitHub Check: docker-build-push (linux/amd64, -amd64, amd64)
- GitHub Check: nix-nixos
- GitHub Check: nix-darwin
- GitHub Check: nix-linux
🔇 Additional comments (4)
package.json (1)
13-17: LGTM!The
trustedDependenciesfield is correctly configured with packages that match the existing dependencies. This field tells the package manager (Bun in this case) to trust install scripts from these packages, which is appropriate for tools like Copilot and Jules that may need post-install hooks.home-manager/modules/ghostty/config (1)
6-6: LGTM!The
background-opacity = 0.8setting is a valid Ghostty configuration that provides 80% opacity for the terminal background. The value is within the correct range (0.0 to 1.0) and is appropriately placed with other window-related settings.nix-darwin/config/dock.nix (1)
18-18: LGTM!The additions of Mail.app and Wispr Flow.app to the persistent dock are correctly configured with proper macOS application paths. The specific placement suggests intentional ordering preferences for the dock layout.
Also applies to: 22-22
home-manager/packages/default.nix (1)
59-59: Verify yazi platform supportConfirm whether yazi supports non-Linux platforms; if Linux-only, move it into the
lib.optionals stdenv.isLinuxblock, otherwise the top-level placement is correct.
| { | ||
| "type": "command", | ||
| "command": "cat | jq -r '\"display notification \\\"\" + .message + \"\\\" with title \\\"\" + .title + \"\\\" sound name \\\"Sonar\\\"\"' | xargs -I {} osascript -e '{}'" | ||
| "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'" |
There was a problem hiding this comment.
Shell injection vulnerability in notification command.
The current command directly interpolates the message content into the osascript command string without proper escaping. Messages containing double quotes, backticks, dollar signs, or other shell metacharacters will break the command or potentially execute arbitrary code.
Example problematic inputs:
- Message with quotes:
Task "completed"→ breaks AppleScript syntax - Message with command substitution:
Done $(date)→ executesdatecommand
Apply this diff to fix the injection vulnerability using a safer approach:
- "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'"
+ "command": "jq -r '.message' | xargs -0 -I {} osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title \"Claude Code\" sound name \"Sonar\"' -e 'end run' -- {}"Alternatively, use a more robust solution that avoids shell interpolation entirely:
- "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'"
+ "command": "MESSAGE=$(jq -r '.message') && osascript - <<EOF\ndisplay notification \"$MESSAGE\" with title \"Claude Code\" sound name \"Sonar\"\nEOF"Note: The same vulnerability pattern appears in line 20 for the Stop hook, though it uses jq to construct the message. Consider applying similar fixes there if the constructed message could contain untrusted input.
Committable suggestion skipped: line range outside the PR's diff.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
1 issue found across 5 files
Prompt for AI agents (all 1 issues)
Understand the root cause of the following 1 issues and fix them.
<file name="config/claude/settings.local.json">
<violation number="1" location="config/claude/settings.local.json:9">
Interpolating the message directly into the AppleScript source can break quoting and enable AppleScript injection. Pass the message as an argument to osascript (via argv) instead of embedding it in the -e string.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
| { | ||
| "type": "command", | ||
| "command": "cat | jq -r '\"display notification \\\"\" + .message + \"\\\" with title \\\"\" + .title + \"\\\" sound name \\\"Sonar\\\"\"' | xargs -I {} osascript -e '{}'" | ||
| "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'" |
There was a problem hiding this comment.
Interpolating the message directly into the AppleScript source can break quoting and enable AppleScript injection. Pass the message as an argument to osascript (via argv) instead of embedding it in the -e string.
Prompt for AI agents
Address the following comment on config/claude/settings.local.json at line 9:
<comment>Interpolating the message directly into the AppleScript source can break quoting and enable AppleScript injection. Pass the message as an argument to osascript (via argv) instead of embedding it in the -e string.</comment>
<file context>
@@ -6,7 +6,7 @@
{
"type": "command",
- "command": "cat | jq -r '\"display notification \\\"\" + .message + \"\\\" with title \\\"\" + .title + \"\\\" sound name \\\"Sonar\\\"\"' | xargs -I {} osascript -e '{}'"
+ "command": "jq -r '.message' | xargs -I {} osascript -e 'display notification \"{}\" with title \"Claude Code\" sound name \"Sonar\"'"
}
]
</file context>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Add error handling to the installYek activation script to prevent CI failures when GitHub API is rate-limited or network issues occur. The script now continues with a warning message instead of failing the entire home-manager activation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 7 out of 8 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
… improved accessibility
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (4)
home-manager/modules/npm-globals/default.nix(1 hunks)home-manager/modules/yek/default.nix(1 hunks)home-manager/packages/default.nix(1 hunks)nix-darwin/config/homebrew.nix(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- home-manager/packages/default.nix
🧰 Additional context used
📓 Path-based instructions (7)
**/*.nix
📄 CodeRabbit inference engine (CLAUDE.md)
Format all Nix files with nixfmt
**/*.nix: Nix: Use 2 spaces for indentation
Nix: Keep line length under 100 characters
Nix: Sort attribute sets alphabetically
Nix: Use consistent spacing around operators
Nix: Format lists and sets consistentlyFollow the Nix expression language style guide
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nixnix-darwin/config/homebrew.nix
**/default.nix
📄 CodeRabbit inference engine (CLAUDE.md)
Use default.nix files for module exports
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nix
home-manager/**
📄 CodeRabbit inference engine (.cursor/rules/general.mdc)
Keep home-manager configurations under home-manager/
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nix
home-manager/modules/*/default.nix
📄 CodeRabbit inference engine (.cursor/rules/home-manager.mdc)
home-manager/modules/*/default.nix: Custom modules must be placed under home-manager/modules// and include a default.nix entry point
Custom modules should define typed options (mkOption with appropriate lib.types)
Custom modules must document all options (e.g., description fields in mkOption)
Use typed options whenever possible in modules
Follow Home Manager’s module structure (options + config with mkIf, mkEnableOption, etc.)
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nix
home-manager/**/*.nix
📄 CodeRabbit inference engine (.cursor/rules/home-manager.mdc)
Use proper indentation and formatting in Nix files
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nix
home-manager/modules/**/default.nix
📄 CodeRabbit inference engine (.cursor/rules/nix.mdc)
home-manager/modules/**/default.nix: Each module under home-manager/modules must provide a clear default.nix entry point
Modules must include proper option declarations (e.g., options.modules. with mkEnableOption/mkOption)
Modules must follow the Home Manager module structure (define options and gate config with mkIf cfg.enable)
Use mkOption for configurable options in custom modules
Provide explicit typing for all options (using lib.types.*)
Document all custom modules and their options
Files:
home-manager/modules/yek/default.nixhome-manager/modules/npm-globals/default.nix
nix-darwin/**
📄 CodeRabbit inference engine (CLAUDE.md)
Use Homebrew only for macOS-specific applications within nix-darwin configs
Keep Darwin-specific configurations under nix-darwin/
Files:
nix-darwin/config/homebrew.nix
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: e2e-run (NixOS, ubuntu-latest)
- GitHub Check: e2e-run (MacOS, macos-latest)
- GitHub Check: e2e-run (Ubuntu, ubuntu-latest)
- GitHub Check: nix-nixos
- GitHub Check: nix-linux
- GitHub Check: nix-darwin
- GitHub Check: docker-build-push (linux/amd64, -amd64, amd64)
🔇 Additional comments (2)
home-manager/modules/yek/default.nix (1)
93-93: Verify the error suppression behavior is intentional.The
|| echopattern converts a hard failure into a soft warning, allowing home-manager activation to continue even if yek installation fails. This changes the activation behavior from failing immediately to recovering gracefully.This approach makes sense given that:
- The runtime wrapper (lines 64-67) will retry installation if yek is missing
- It prevents blocking the entire home-manager activation for one optional tool
- The error message clearly tells users how to retry manually
However, confirm this soft-fail behavior aligns with your expectations for activation scripts.
nix-darwin/config/homebrew.nix (1)
19-19: LGTM!The addition of
claude-codeto the brews list is correctly positioned alphabetically and follows the established pattern for Homebrew package declarations in nix-darwin.
| # Trust postinstall scripts for packages listed in trustedDependencies before installing | ||
| TRUSTED_DEPS=$(${pkgs.jq}/bin/jq -r '.trustedDependencies[]?' "$PACKAGE_JSON" 2>/dev/null) | ||
| if [ -n "$TRUSTED_DEPS" ]; then | ||
| echo "Trusting postinstall scripts for: $TRUSTED_DEPS" | ||
| echo "$TRUSTED_DEPS" | while read -r dep; do | ||
| ${pkgs.bun}/bin/bun pm -g trust "$dep" 2>/dev/null || true | ||
| done | ||
| fi |
There was a problem hiding this comment.
Consider improving error visibility for the trust operation.
The trust mechanism silently suppresses all errors (2>/dev/null || true), which could hide genuine issues such as:
- Invalid dependency names
- Network failures when trusting
- Permission issues
- Malformed package.json entries
While silent failure prevents the activation script from breaking, it provides no feedback when something goes wrong.
Consider this refactor to log failures while still allowing the script to continue:
# Trust postinstall scripts for packages listed in trustedDependencies before installing
TRUSTED_DEPS=$(${pkgs.jq}/bin/jq -r '.trustedDependencies[]?' "$PACKAGE_JSON" 2>/dev/null)
if [ -n "$TRUSTED_DEPS" ]; then
echo "Trusting postinstall scripts for: $TRUSTED_DEPS"
echo "$TRUSTED_DEPS" | while read -r dep; do
- ${pkgs.bun}/bin/bun pm -g trust "$dep" 2>/dev/null || true
+ if ! ${pkgs.bun}/bin/bun pm -g trust "$dep" 2>&1; then
+ echo "Warning: Failed to trust $dep" >&2
+ fi
done
fi📝 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.
| # Trust postinstall scripts for packages listed in trustedDependencies before installing | |
| TRUSTED_DEPS=$(${pkgs.jq}/bin/jq -r '.trustedDependencies[]?' "$PACKAGE_JSON" 2>/dev/null) | |
| if [ -n "$TRUSTED_DEPS" ]; then | |
| echo "Trusting postinstall scripts for: $TRUSTED_DEPS" | |
| echo "$TRUSTED_DEPS" | while read -r dep; do | |
| ${pkgs.bun}/bin/bun pm -g trust "$dep" 2>/dev/null || true | |
| done | |
| fi | |
| # Trust postinstall scripts for packages listed in trustedDependencies before installing | |
| TRUSTED_DEPS=$(${pkgs.jq}/bin/jq -r '.trustedDependencies[]?' "$PACKAGE_JSON" 2>/dev/null) | |
| if [ -n "$TRUSTED_DEPS" ]; then | |
| echo "Trusting postinstall scripts for: $TRUSTED_DEPS" | |
| echo "$TRUSTED_DEPS" | while read -r dep; do | |
| if ! ${pkgs.bun}/bin/bun pm -g trust "$dep" 2>&1; then | |
| echo "Warning: Failed to trust $dep" >&2 | |
| fi | |
| done | |
| fi |
🤖 Prompt for AI Agents
In home-manager/modules/npm-globals/default.nix around lines 19 to 26, the bun
pm trust call suppresses all errors (2>/dev/null || true) which hides useful
failure details; change it to capture the command's stderr and exit status, and
if it fails print a warning including the dependency name and the captured error
output while still continuing (do not exit); ensure the message is sent to
stderr or logged so operators can see which dependency failed and why, but keep
the loop behavior that does not abort activation.
| home.activation.installYek = lib.hm.dag.entryAfter [ "writeBoundary" ] '' | ||
| if [ ! -f "$HOME/.local/bin/yek" ]; then | ||
| $DRY_RUN_CMD ${installScript}/bin/install-yek | ||
| $DRY_RUN_CMD ${installScript}/bin/install-yek || echo "⚠️ Failed to install yek. You can install it later by running: install-yek" |
There was a problem hiding this comment.
Line length exceeds the 100 character limit.
This line appears to exceed the 100 character limit specified in the coding guidelines for Nix files.
As per coding guidelines.
Consider breaking it into multiple lines:
- $DRY_RUN_CMD ${installScript}/bin/install-yek || echo "⚠️ Failed to install yek. You can install it later by running: install-yek"
+ $DRY_RUN_CMD ${installScript}/bin/install-yek || \
+ echo "⚠️ Failed to install yek. You can install it later by running: install-yek"📝 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.
| $DRY_RUN_CMD ${installScript}/bin/install-yek || echo "⚠️ Failed to install yek. You can install it later by running: install-yek" | |
| $DRY_RUN_CMD ${installScript}/bin/install-yek || \ | |
| echo "⚠️ Failed to install yek. You can install it later by running: install-yek" |
🤖 Prompt for AI Agents
In home-manager/modules/yek/default.nix around line 93, the long shell command
exceeds the 100-character limit; split it across multiple lines to keep each
line ≤100 chars—for example break after ${installScript}/bin/install-yek and use
a shell line-continuation or concatenate with &&/|| on the next indented line so
the command and the echo message are on separate lines while preserving the
original semantics.
Summary by cubic
Revamped the local dev and macOS setup to improve UX and clarity. Simplified Claude notifications, set Ghostty background opacity to 0.8, added yazi, updated Dock persistent apps (Mail, Wispr Flow), and added trustedDependencies in package.json.