Skip to content

[Backend] Snap Package Manager Implementation #85

@yashksaini-coder

Description

@yashksaini-coder

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions