cross-posted from: https://programming.dev/post/45148310

Supac - a declarative package manager written in Rust, scriptable in nushell

Supac is a declarative package manager written in Rust fully scriptable in nushell. It’s meant to make it easy to use the native package managers in existing distros without going through the associated headaches of using Nix, while maintaining the ergonomics of structured data in nushell.

Currently supported backends are:

  • Archlinux and derivatives
  • flatpak
  • cargo/cargo-binstall
  • uvx (packages only for now)
  • rustup toolchains

I daily drive it, and it works well. Feel free to give it a try!

  • HappyFrog@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    3
    ·
    4 hours ago

    Now this looks interesting. I personally use chezmoi and scripts to install and manage the apps that I want. Having a dedicated manager would be ideal.

    Edit: it says that disabling backends is currently not supported, does that mean that it doesn’t worn in environments without pacman for example?

    • innocentz3r0@programming.devOP
      link
      fedilink
      arrow-up
      2
      ·
      3 hours ago

      Right now, you can do it in two ways:

      • Don’t have the Arch key at all. supac will silently skip it.
      • You can write a small wrapper in package.nu that checks the presence of your preferred arch package manager in $env.PATH, if it’s there then it’ll insert the key and value, and not otherwise.

      I’d mostly go with 1 unless you’re sharing your non-arch config with an arch config on two separate machines.