chore: drop claude-rc
No longer used. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,35 +15,9 @@ let
|
||||
toolPath = "%h/.local/bin:%h/.nix-profile/bin:/etc/profiles/per-user/naps62/bin:/run/current-system/sw/bin";
|
||||
|
||||
sem = inputs.sem.packages.${pkgs.system}.default;
|
||||
|
||||
# runtimeInputs is prepended to PATH, not a replacement, so `claude` still
|
||||
# resolves from the unit's own PATH.
|
||||
claude-rc-run = pkgs.writeShellApplication {
|
||||
name = "claude-rc-run";
|
||||
runtimeInputs = with pkgs; [
|
||||
git
|
||||
gawk
|
||||
coreutils
|
||||
];
|
||||
text = builtins.readFile ./bin/claude-rc-run;
|
||||
};
|
||||
|
||||
claude-rc = pkgs.writeShellApplication {
|
||||
name = "claude-rc";
|
||||
runtimeInputs = with pkgs; [
|
||||
git
|
||||
gawk
|
||||
gnused
|
||||
gnugrep
|
||||
coreutils
|
||||
systemd
|
||||
];
|
||||
text = builtins.readFile ./bin/claude-rc;
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
claude-rc
|
||||
sem
|
||||
pkgs.bun
|
||||
];
|
||||
@@ -90,15 +64,6 @@ in
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
claude-rc-sync = {
|
||||
Unit.Description = "Reconcile Claude Remote Control servers with the project list";
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${claude-rc}/bin/claude-rc sync";
|
||||
Environment = [ "PATH=${toolPath}" ];
|
||||
};
|
||||
};
|
||||
|
||||
hourlog = {
|
||||
Unit = {
|
||||
Description = "Start the Friday hour log in a tmux session";
|
||||
@@ -154,49 +119,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# A plain file, NOT systemd.user.services: home-manager tries to start every
|
||||
# unit it manages, and starting a template without an instance is an error
|
||||
# ("missing the instance name"). Instances are enabled by `claude-rc sync`,
|
||||
# which needs the [Install] section below to exist.
|
||||
xdg.configFile."systemd/user/claude-rc@.service".text = ''
|
||||
[Unit]
|
||||
Description=Claude Code Remote Control (/%I)
|
||||
Documentation=https://code.claude.com/docs/en/remote-control
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
StopWhenUnneeded=no
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# Leading "-": a missing dir must not be fatal, or systemd fails with
|
||||
# 200/CHDIR before claude-rc-run can report the friendlier exit 78.
|
||||
WorkingDirectory=-/%I
|
||||
Environment=PATH=${toolPath}
|
||||
ExecStart=${claude-rc-run}/bin/claude-rc-run /%I
|
||||
# `always`, not `on-failure`: a >10min outage times the session out and the
|
||||
# process exits 0, which on-failure would not restart.
|
||||
Restart=always
|
||||
RestartSec=15
|
||||
# 78 = dir gone; 200 = systemd CHDIR failure. Without these, a deleted
|
||||
# project dir restart-loops every 15s forever.
|
||||
RestartPreventExitStatus=78 200
|
||||
StandardOutput=append:%h/.local/state/claude-rc/%i.log
|
||||
StandardError=inherit
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
'';
|
||||
|
||||
# systemd will not create the parent of StandardOutput=append:, and fails the
|
||||
# unit with 209/STDOUT if it is missing.
|
||||
home.file.".local/state/claude-rc/.keep".text = "";
|
||||
|
||||
systemd.user.paths.claude-rc = {
|
||||
Unit.Description = "Watch the Claude Remote Control project list for edits";
|
||||
Path = {
|
||||
PathChanged = "%h/.config/claude-rc/projects";
|
||||
Unit = "claude-rc-sync.service";
|
||||
};
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user