@@ -237,17 +237,17 @@ export class SyncthingResource extends Resource<SyncthingConfig> {
237237 const $ = getPty ( ) ;
238238
239239 // Add the official Syncthing apt repository
240- await $ . spawn ( 'sudo mkdir -p /etc/apt/keyrings' , { interactive : true } ) ;
240+ await $ . spawn ( 'mkdir -p /etc/apt/keyrings' , { interactive : true , requiresRoot : true } ) ;
241241 await $ . spawn (
242- 'sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg' ,
243- { interactive : true }
242+ 'curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg' ,
243+ { interactive : true , requiresRoot : true }
244244 ) ;
245245 await $ . spawn (
246- 'echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list' ,
247- { interactive : true }
246+ 'bash -c \' echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list\' ' ,
247+ { interactive : true , requiresRoot : true }
248248 ) ;
249- await $ . spawn ( 'sudo apt-get update' , { interactive : true } ) ;
250- await $ . spawn ( 'sudo apt-get install -y syncthing' , { interactive : true } ) ;
249+ await $ . spawn ( 'apt-get update' , { interactive : true , requiresRoot : true } ) ;
250+ await $ . spawn ( 'apt-get install -y syncthing' , { interactive : true , requiresRoot : true } ) ;
251251
252252 const shouldLaunchAtStartup = config . launchAtStartup ?? true ;
253253 await this . setLaunchAtStartup ( shouldLaunchAtStartup ) ;
@@ -260,9 +260,9 @@ export class SyncthingResource extends Resource<SyncthingConfig> {
260260 const $ = getPty ( ) ;
261261 await $ . spawnSafe ( 'systemctl --user stop syncthing' ) ;
262262 await $ . spawnSafe ( 'systemctl --user disable syncthing' ) ;
263- await $ . spawnSafe ( 'sudo apt-get remove -y syncthing' ) ;
264- await $ . spawnSafe ( 'sudo rm -f /etc/apt/sources.list.d/syncthing.list' ) ;
265- await $ . spawnSafe ( 'sudo rm -f /etc/apt/keyrings/syncthing-archive-keyring.gpg' ) ;
263+ await $ . spawnSafe ( 'apt-get remove -y syncthing' , { requiresRoot : true } ) ;
264+ await $ . spawnSafe ( 'rm -f /etc/apt/sources.list.d/syncthing.list' , { requiresRoot : true } ) ;
265+ await $ . spawnSafe ( 'rm -f /etc/apt/keyrings/syncthing-archive-keyring.gpg' , { requiresRoot : true } ) ;
266266 }
267267
268268 // ── Service management ────────────────────────────────────────────────────
0 commit comments