this post was submitted on 13 Jul 2023
42 points (95.7% liked)

Linux

48757 readers
1530 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi, I am currently working on project that I'm calling Installies. It is a tool for Linux that makes it easy to find and use bash scripts to install, remove, update, or compile apps. You can add specific scripts for different distros or architectures.

I have been working on this for the past couple of months, and it is nearly ready to be released. Lately I realized that I haven't asked any other Linux users if they would find it useful, so if you could tell me if you might find it useful, or any advice/feedback, it would be greatly appreciated. Thanks!

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 32 points 1 year ago

If the project is useful for you and you're happy with code and documentation: release it.

[–] [email protected] 20 points 1 year ago* (last edited 1 year ago) (1 children)

It would be easier for me to understand if you can explain how this is different from the various other methods of installing software onto a computer.

  • How is this different from a package manager, or something like FlatPak or AppImage, where you can find scripts (not necessarily bash scripts) to install whole packages from a binary repository?
  • How is this different from Nix or Guix, which provides a method of automatically setting up a shell environment with all dependencies ready for you to build a piece of software from its source code?
  • Is there an advantage to your solution over something like OhMyZsh, which provides a repository of Zsh functions you can install to configure the Zsh user interface.
  • Is there a reason why, if someone does not want to use a package manager, or Nix/Guix, they would prefer to use your solution rather than just go to the website and find the script there to install the software they need?
[–] [email protected] 8 points 1 year ago (2 children)
  1. It is different from a package manager because it isn't platform specific because you can add scripts for any distro or architecture.
  2. It isn't really comparable to something like that because it just stores and runs bash scripts to install stuff.
  3. It can install any app, from anywhere, not just specific to zsh.
  4. It's mostly convenience. Also, not all websites have a script to remove once installed, or automated ways to update.
[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

it isn’t platform specific because you can add scripts for any distro or architecture.

...

it just stores and runs bash scripts to install stuff

...

to remove once installed, or automated ways to update.

Well, any Linux distro has a package manager which you can use to install, update, or remove software. So can Nix, Guix, AppImage, and FlatPak. And Nix and Guix allows you to build from source code.

So I guess my question is, if I were thinking about using your app to install software, and update and remove it, how is it more convenient than using my ordinary package manager? If it is more convenient for building software from source, how is it more convenient than Nix or Guix?

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

Flatpak isn't distro specific either, is it?

[–] [email protected] 13 points 1 year ago

It doesn't really matter if it's usefull for others. Write it for yourself and learn from it. I myself wrote copying script for terminal and I am sure no one else going to use it just me and thats fine.

[–] demonsword 6 points 1 year ago

if it's useful to you it might be useful for someone out there, I say go for it

[–] Botzo 5 points 1 year ago

I'm all for building new tools!

You might want to take a hard look at a lot of the ways Homebrew works to find similar problems you'll need to solve to make this production ready.

https://docs.brew.sh/Homebrew-on-Linux

[–] netvor 4 points 1 year ago

To be honest, there is a class of problems that are extremely common, like maintaining installations, deployment scripts, logging, argument parsing. Apparently you tool belongs to this "really common" problems.

There is also a class of people who tend to solve problems by programming, and prefer doing so before doing some sort of exhaustive research for existing solution. Apparently you belong to this class of people.

I love that this class of people is here (hey, I'm part of it!), having this creative mindset is superb for learning and growing, and for keeping it fun (that's really important! it's dangerous to go without fun!).

I say, if you really get joy from solving problems this way then definitely keep this. Perks of being in this "class" is that we often grow attached to our projects and watching it not succeed can be painful.

So just remember to not put all the eggs into one basket: it's good to realize when you're in a domain where lots of mature solutions exist so success requires (sans impossible luck) being way much better than the existing ones. Because it can mean that getting people to try out your solution can be disproportionately harder than it "should be" given quality of it. You might need to prepare yourself for a long season of being the only user. On the other hand, looking for beta testers or reviewers, can be a different thing.

Just to make clear, I don't want this to sound discouraging in any way -- it's just personal experience and failure that might be good for others to not repeat.

I think the fact that, eg. on pypi there are tons of logging and argument parsing libraries shows the overlap between these classes of problems. Another thing is that most of these libraries is going to be abandoned. Again, I think that overall it's a good way -- it means that lots of people love coding and are trying -- it's humanity's way of getting awesome things.

[–] [email protected] 2 points 1 year ago

I want to see it.

I really honestly wish more Linux users would throw open their personal libraries of scripts that made their lives easier. Yes, probably 99% of them are super idiosyncratic to do This One Thing the user needed done or are the same ten or fifteen everyone has discovered for themselves but I bet most of them have a piece of code in them that's does this thing I didn't know I could automate or could be a template for this other thing I want to do and didn't even know where to start or I just want to look at and go 'wow, you really went all out with that, this is art I want to frame this, holy shit' even though all it does is like move a file.

[–] Sivaru 2 points 1 year ago

It's useful for you, End of discussion. who cares about anything else.

load more comments
view more: next ›