Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions home-manager/services/dotfiles-updater/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ in
lib.makeBinPath [
pkgs.git
pkgs.bash
pkgs.coreutils
pkgs.gnumake
pkgs.curl
pkgs.nix
Comment on lines +43 to +46

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, examine the complete default.nix file
cat -n home-manager/services/dotfiles-updater/default.nix

Repository: shunkakinoki/dotfiles

Length of output: 1930


🏁 Script executed:

# List files in the dotfiles-updater directory
ls -la home-manager/services/dotfiles-updater/

# Check for update.sh and install.sh
find home-manager/services/dotfiles-updater -name "*.sh" -type f

Repository: shunkakinoki/dotfiles

Length of output: 344


🏁 Script executed:

# Read the update.sh script
cat -n home-manager/services/dotfiles-updater/update.sh

# Also search for install.sh in case it exists elsewhere
find . -name "install.sh" -type f 2>/dev/null | head -20

Repository: shunkakinoki/dotfiles

Length of output: 549


🏁 Script executed:

# Read the install.sh script
cat -n ./install.sh | head -100

Repository: shunkakinoki/dotfiles

Length of output: 4493


🏁 Script executed:

# Search for 'make' usage in install.sh
grep -n "make" ./install.sh

# Get the full length of install.sh to understand its scope
wc -l ./install.sh

Repository: shunkakinoki/dotfiles

Length of output: 649


🏁 Script executed:

# Let's also check if there are any other dependencies in install.sh
grep -nE "(command -v|which|apt-get|brew install)" ./install.sh | head -30

Repository: shunkakinoki/dotfiles

Length of output: 580


Darwin launchd service requires equivalent dependencies for consistency and reliability.

The update.sh script runs install.sh on both Darwin and Linux, and install.sh depends on curl (for Nix installation), gnumake, and nix. While the Darwin PATH includes fallback directories (/opt/homebrew/bin and /usr/local/bin), explicitly adding pkgs.gnumake, pkgs.curl, and pkgs.nix to the Darwin service PATH (lines 16-18) would ensure these tools are available without relying on prior installations or fallback paths, matching the Linux service configuration and preventing potential exit code 127 failures.

🤖 Prompt for AI Agents
In home-manager/services/dotfiles-updater/default.nix around lines 43-46 (and
update the Darwin service PATH block at lines 16-18), add pkgs.gnumake,
pkgs.curl, and pkgs.nix to the Darwin service PATH entries so the Darwin launchd
service explicitly includes those package binaries (matching the Linux service
configuration) rather than relying on fallback directories; update the PATH list
to include pkgs.gnumake, pkgs.curl, pkgs.nix alongside pkgs.coreutils.

Comment on lines +43 to +46

Copilot AI Dec 13, 2025

Copy link

Choose a reason for hiding this comment

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

The PR title focuses on fixing the dotfiles-updater service, but the majority of changes are unrelated to that fix. The changes include:

  1. SSH key synchronization between galactica and kyber
  2. SSH configuration updates (post-quantum crypto, GitHub identity file)
  3. Agenix secrets management restructuring
  4. New rekey script and documentation

Consider splitting this into separate PRs:

  • One for the dotfiles-updater PATH fix (lines 43-46)
  • Another for the SSH key management infrastructure changes

This would make the changes easier to review and track in version control.

Copilot uses AI. Check for mistakes.
]
}";

Copilot AI Dec 13, 2025

Copy link

Choose a reason for hiding this comment

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

The macOS launchd configuration includes additional PATH directories (:/opt/homebrew/bin:/usr/local/bin) that are not present in the Linux systemd configuration. While this may be intentional due to platform differences, consider whether Linux systems might need similar additional PATH directories for user-installed tools or if there's an equivalent location that should be included.

Suggested change
}";
}:/usr/local/bin:/usr/bin";

Copilot uses AI. Check for mistakes.
ExecStart = "${./update.sh}";
Expand Down
Loading