Goal
Add full Ubuntu/Snap ecosystem support to TRX.
Description
Implement the PackageManager trait in src/managers/snap.rs using the snap CLI.
Snap-specific considerations:
- Confinement levels:
strict, classic, devmode — display this info in the details view
- Channels: Snaps have channels (
stable, candidate, beta, edge); expose the tracked channel
- Snap store vs local: Differentiate snaps from the store vs locally installed ones
Required methods:
search(query) → snap find <query> (parse: Name, Version, Publisher, Notes, Summary columns)
get_installed() → snap list
install() → snap install <pkg> (handle --classic flag)
remove() → snap remove <pkg>
get_updates() → snap refresh --list
system_upgrade() → snap refresh
Tech
Rust, Snap CLI
Difficulty
Level 3 – Advanced
Goal
Add full Ubuntu/Snap ecosystem support to TRX.
Description
Implement the
PackageManagertrait insrc/managers/snap.rsusing thesnapCLI.Snap-specific considerations:
strict,classic,devmode— display this info in the details viewstable,candidate,beta,edge); expose the tracked channelRequired methods:
search(query)→snap find <query>(parse: Name, Version, Publisher, Notes, Summary columns)get_installed()→snap listinstall()→snap install <pkg>(handle--classicflag)remove()→snap remove <pkg>get_updates()→snap refresh --listsystem_upgrade()→snap refreshTech
Rust, Snap CLI
Difficulty
Level 3 – Advanced