YaLTeR / niri

A scrollable-tiling Wayland compositor.
https://matrix.to/#/#niri:matrix.org
GNU General Public License v3.0
2.82k stars 79 forks source link

Add install location instructions for manual installation #489

Closed NickHastings closed 3 days ago

NickHastings commented 4 days ago

Hi just giving niri a try. Looks very nice. I noticed that the install instructions suggest using paths that are usually reserved for system packages not software installed manually by the sysadmin. This PR updates the wiki with what I think are more appropriate install paths.

NickHastings commented 4 days ago

I just noticed that niri.service specifies the full path as ExecStart=/usr/bin/niri. This should probably be ExectStart=niri.

YaLTeR commented 4 days ago

Hey, the intention for these instructions is to be used when making a distro package. I don't really want to recommend installing without a package because it can lead to all sorts of problems.

NickHastings commented 4 days ago

I see. What sort of problems are you anticipating? Would you be open to the idea of having two sets of instructions? One for packaging and one for non-packed installation?

YaLTeR commented 4 days ago

What sort of problems are you anticipating?

Installing software without a package is generally not recommended. It's very hard to clean up afterwards since the files aren't tracked by anything.

Would you be open to the idea of having two sets of instructions?

Not sure that's necessary; if you want to install without a package you likely already know what paths to change. Maybe we could add a sentence there that these paths are for packages, and otherwise need to be adjusted.

NickHastings commented 3 days ago

What sort of problems are you anticipating?

Installing software without a package is generally not recommended. It's very hard to clean up afterwards since the files aren't tracked by anything.

Ahh, I thought you were referring to something specific to niri. For this reason many projects ship build systems with install and uninstall targets. Alternatively providing clear instructions on the correct place to install things also effectively provides the required information on how to uninstall them.

Would you be open to the idea of having two sets of instructions?

Not sure that's necessary; if you want to install without a package you likely already know what paths to change. Maybe we could add a sentence there that these paths are for packages, and otherwise need to be adjusted.

I'd expect that there would be more people wanting to try out a nice new wayland compositor manually than there are distro package managers. I also expect such people would be less likely to know where to install the components than the package managers would be.

NickHastings commented 3 days ago

I updated the table in my branch to show both. Perhaps something like that could work?

YaLTeR commented 3 days ago

For this reason many projects ship build systems with install and uninstall targets.

I briefly considered it, but I figured that for now we don't have that complicated of a setup. It's easier to manually install files in a package than deal with the potential interaction with some build system and cargo.

I'd expect that there would be more people wanting to try out a nice new wayland compositor manually than there are distro package managers. I also expect such people would be less likely to know where to install the components than the package managers would be.

Well, we've got packages for a few popular distros already, so maybe it's not a big deal.

I updated the table in my branch to show both. Perhaps something like that could work?

Eh, it becomes a bit wider, which will lead to awkward word wrapping on narrower screens. Maybe if you really think it's necessary, it can be a second separate table below?

NickHastings commented 3 days ago

I updated the table in my branch to show both. Perhaps something like that could work?

Eh, it becomes a bit wider, which will lead to awkward word wrapping on narrower screens. Maybe if you really think it's necessary, it can be a second separate table below?

Personally I don't mind if the information is not in there, I already know where to install stuff like this, I just thought it would be helpful for those who don't.

I tried it as two separate tables, but then switched to a single table since I thought being more concise would be better.

NickHastings commented 3 days ago

I just pushed a version with two tables.

YaLTeR commented 3 days ago

Thanks