Not sure if it would break backward compatibility, but PowerShell 6.0 supports Linux and macOS, it would be nice to get it working there, since the core of Scoop is just a JSON-configurable "portable apps" package manager, just so happen most of the main repo tools are Window apps.
I tried running the one-liner in Docker with one of the images here. It fails because the code is using \ for path delimiter, thus not portable. This can be remedied using Join-Path, but it only support 2 parameters, so would probably need to write a utility function for it. Not sure if there are other problems in Linux and macOS.
What benefit would scoop provide over traditional package managers on those platforms? From my understanding scoop doesn't really manage packages/dependencies like a traditional Linux package manager would as most windows applications have their dependencies bundled with them.
Some developers do not use built-in package manager for their platform because:
Scoop allows for relatively easy setup of private or personal package management system. In addition, since Scoop is competing with Chocolatey, both are targeting WinOps who often have to dabble in Linux these days (e.g. Azure, Docker), I would say supporting Linux is a boon, assuming cost of maintain support is relatively low.
I think a lot of it is just dealing with / vs \ for path support.
I can submit a PR converting everything, but it will touch a lot of files. I can
/ Path-JoinTo be honest I'm totally for cross platform compatibility. If it doesn't mean a complete rewrite I say go for it. The existing buckets won't work on linux obviously (unless maybe scoop could support wine).
The main question I have is how much demand is there for another package manager on linux? And one using powershell at that. It would be unreasonable to expect the current main contributors to pick up the slack for *nix, so it would depend somewhat on how dedicated you are to helping maintain cross platform compatibility (building tests etc), and also creating a default bucket for users to get software from.
/cc @lukesampson
I don't plan to create buckets for Linux, just to make sure scoop commands works for Linux, end-to-end.
I assume the current test coverage is reasonable, so that can be leveraged for maintenance to make sure everything works in PowerShell Core on Linux. I might add some integration test to be sure.
I have fixed some tests on Linux already earlier in the year (#2153). From casual observation, bulk of the rest seems to be path related issues, which I didn't want to bite on at the time.
My main usecase for running Scoop on Linux would be to test/maintain buckets. With systems like Flatpak already in place, I don't feel the need for another package manager on Linux.
Since / works in all environments, a PR to convert \s to /s makes sense to me. @r15ch13?
I use scoop to manage PowerShell modules, would be nice to have official support on macOS to support the same installer.
I'm using PowerShell more and more on mac and all the devs I know who use mac really hate brew so I think there's value in a cross-platform installer for software. Would definitely be neat to run the same shell and the same installer across three different operating systems!
Apart from hard-coded path separators, there's a not-so-easy-to-tackle blocker: usage of Robocopy, which is proprietary and Windows-specific. An open-source alternative needs to be picked for Scoop on Linux to happen.
Most helpful comment
I'm using PowerShell more and more on mac and all the devs I know who use mac really hate brew so I think there's value in a cross-platform installer for software. Would definitely be neat to run the same shell and the same installer across three different operating systems!