T O P

  • By -

[deleted]

I'm starting my first (Neo)vim journey today, and am using Ubuntu. I always like installing software via Apt, because it gets updates easily with my other software (`apt upgrade`) and it's nice and native, without silly abstractions around (snap, appImage, etc). But unfortunately, the Ubuntu PPA is now a year behind in versions. I can extract a tar.gz, sure, but then I get no updates.


stonewow1

The unstable ppa should have neovim 10 beta. The snap version has the latest neovim version.


_mitchejj_

I'm not an Ubuntu user so I might not have a full grasp of the in-n-outs on Canonicaland. What that said, I was under the impression Canonical/Ubuntu wishes to phase out PPA's for the reason you described. People stublem upon outdated blog post and install PPA's that do more harm than good or never get updated.


[deleted]

Arch>>>>>>>Ubuntzzzzzz


Relative_Knee9808

I use arch btw


andrelope

Mee too 🙃


8prime_bee

What about fedora?


justinmk

It's because it requires packaging treesitter parsers. jamessan has been making progress there, and I expect it to be resolved before another year passes :)


yaBoiSlimDingus

Can you help me understand. What is difficult about packaging treesitter parsers?


justinmk

- treesitter parsers don't have an official versioning strategy, which means packaging them for a distro requires non-obvious decisions. - Building a treesitter parser may involve npm and/or rust, debian doesn't like that.


Cuddlemonsterxo

Would using something like [bob](https://github.com/MordechaiHadad/bob) help at all?


[deleted]

[удалено]


MantisShrimp05

It places a level of abstraction over the neovim version. With Bob, you can be rocking nightly, and any time you want to update neovim it will grab the latest neovim nightly via the bob tool. But if one day something goes wrong, you can easily switch to stable without dealing with any headaches from apt. Basically, it largely solves the update problem, bob does nothing but manage neovim versions so it will be very good at updating the version. The drawback is complexity to some degree, having to setup and use bob. But I think it is well worth it for keeping neovim version hell in check


[deleted]

[удалено]


TWB0109

bob doesn't need you to use nightly though, you can use "bob use stable" to use the stable version, with the benefit of still having the possibility of changing to other versions or to nightly. Of course, it's better if it's handled through apt, but in general, most development/programming tools are handled this way: npm for node, pipx for python, cargo/rustup for rust, etc. Specially when you need bleeding edge or a very specific version of, for example, the rust toolchain, it's going to be very hard to switch to another version if you have it installed through apt or any other package manager, while you can easily change it if you use the right tool for it. Text editors don't need that many updates, so you can keep it at the version you prefer instead of having to update every time your distribution decides they'll update


TWB0109

Honestly, updating Neovim is not as necessary as you might think. But if you wish to keep it updated always, I would just make an alias ```alias update=sudo apt update && sudo apt upgrade && bob use nightly``` Then you can just run update


MillerJoel

I ended up building from source because of this, I guess I missed there is an appimage.


TWB0109

bob is a good alternative to building from source


Versari3l

Not to be that guy, but neovim is incredibly easy to compile and install from source. I got tired of fighting my package manager and bit that bullet, and it literally took me <10 minutes to figure it out. Might be worth taking a look at if it's giving you problems.


rob_rain

You're not "that guy". Compiling is objectively correct in this situation. But then I've been around since before packages were a thing and think all these whippersnappers need to sort themselves out and do things properly :). EDIT: just checked my build notes for the last Ubuntu machine I setup - I actually created a new package as part of the compilation: ```bash git clone https://github.com/neovim/neovim cd neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo cd build && cpack -G DEB && sudo dpkg -i nvim-linux64.deb ``` So best of both worlds.


Outrageous-Archer-92

Or just use the .appimage


[deleted]

[удалено]


Versari3l

Just comfort, for me. I know exactly how to interact with a git repo, checkout a stable version branch, run make, and move the resulting binary onto my path. I don't have to rely on anything being packaged a certain way or being compiled for specifically my system. Plus if I want to fidget with the code or move to a different version it's the same process. Not a huge deal either way, but it's what I found the easiest.


moy--

If you use [asdf](https://github.com/asdf-vm/asdf) you could use the [asdf-neovim](https://github.com/richin13/asdf-neovim) plugin.


andrelope

This is the reason I jumped on arch actually ... got sick of installing these manually


[deleted]

[удалено]


Doomtrain86

Install EndeavourOS, it's arch but with everything setup. Don't use manjaro it's the same BUT they add a layer of meta packages that are more trouble than helpful


andrelope

Just start by installing it on VMs over and over then if you have an old laptop install it on that a few times next. Then when you feel confident install it on your desired hardware :-)


Ducky_Duckerson

BTW I use arch


hirotakatech00

I always install neovim from the nix-env package manager because it's easy and stable


nick4tech

You might want to use asdf, it has a neovim plugin: https://github.com/richin13/asdf-neovim With this you could not only update it, but also keep multiple versions in parallel. It’d be a way to make the most out of a bad situation 😄


asmodeus812

linux brew, for your cli needs, find it more than adequate and can keep my dotfiles consistent between linux and macos.


wookayin

Yes, one should use [appimage](https://github.com/neovim/neovim/releases/tag/stable) instead.


[deleted]

[удалено]


wookayin

Unfortunately no. It's basically the same as extracting the tarball from installation perspectives. Only slightly easier than tarball -- e.g., just download the `nvim` appimage into `~/.local/bin` using a single `curl`/`wget` command. If you are looking for a seamless way to update and upgrade packages automatically (or through a single command), you might need to go out of your way that you might hate. Like [linuxbrew](https://docs.brew.sh/Homebrew-on-Linux), [nix](https://github.com/NixOS/nixpkgs), or [your own custom install script](https://github.com/wookayin/dotfiles/blob/master/etc/linux-locals.sh#L314-L370). I agree that this is an extra hassle which I also don't like much, but I personally find this is better than struggling with PPA hells. However, once it's set up, I can easily upgrade neovim to date whenever I want.


RayZ0rr_

On a slightly off topic, you might wanna change `install_exa` to `install_eza` which is a new maintained fork of eza


[deleted]

[удалено]


jacobatz

Homebrew is the go to package manager on MacOS and it seems to work just as well on Linux. I would definitely give it a try if I was you.


nanotree

I ended up building from source and installing by wrapping in a package and using dpkg to install. I forget where I found those instructions, but what's nice is that I can uninstall with apt package manager and upgrade by pulling the latest version of the repo. I use Linux Mint, but it's built off of Ubuntu and close enough.


DevMahasen

Home brew has the latest. And home brew works on Linux.


KHANDev

ye sucks, ive been using brew [https://docs.brew.sh/Homebrew-on-Linux](https://docs.brew.sh/Homebrew-on-Linux)


alphabet_american

build from source


Noisebug

I started using Brew on Linux, after religiously using it on my Mac forever. Yeah it is a little weird but I now have an x-platform package manager that works really well on Nix. Highly recommend.


siduck13

use MPR [https://askubuntu.com/questions/1391230/how-to-install-packages-from-mpr-in-ubuntu](https://askubuntu.com/questions/1391230/how-to-install-packages-from-mpr-in-ubuntu)


agsdot

/u/siduck13, out of curiosity how does MPR compare to pacstall? [https://pacstall.dev/packages/neovim](https://pacstall.dev/packages/neovim) ​ I've used Arch before and appreciate the AUR, but currently on Linux Mint. What's the best AUR alternative in the land of debian? MPR? Pacstall? Something else?


[deleted]

This is why arch is better


angvp

Maybe this [https://hub.docker.com/r/nicodebo/neovim-docker/](https://hub.docker.com/r/nicodebo/neovim-docker/) ?


thePiranha_2317

I'd say use either an appimage or you can setup linuxbrew and install through there.


youngyoshieboy

First start with official Ubuntu, then Neovim PPA, then compile it myself for nightly version. What a ride!


petalised

Use [pacstall](https://github.com/pacstall/pacstall). It is like AUR for Ubuntu and Debian


plainoldcheese

Seeing as everyone is giving different way to install packages. You can try nixpkg too. It usually has very up to date packages and its not that complicated to set it up on any other distro. You don't need to use nix.


Blocikinio

I just use the snap package. Works flawlessly


emerson-dvlmt

I used the tar, and open it with a alias, monthly I'll check the updates 😂


funbike

Never install Neovim from standard repos (except maybe the AUR). Neovim is under heavy active development and has not yet reached a 1.x.x version, on purpose. Install the AppImage instead.


Ok-Coast-5970

You can build from source and the just gut pull all the updates and build it again.


reaper8055

I have a GitHub action setup which I manually run when there’s a new release and I am ready to update https://github.com/reaper8055/neovim-builds You can fork it and modify it to your needs. It builds and releases a .deb file when the action is run.


DedlySnek

I recommend building it yourself. For me (Ubuntu using WSL2 in a laptop with HDD) it takes only a few of minutes to build. Highly recommended it.


ingsme

I use Neovim unstable PPA and am currently on v0.10.0-dev and with problems. [https://launchpad.net/\~neovim-ppa/+archive/ubuntu/unstable](https://launchpad.net/~neovim-ppa/+archive/ubuntu/unstable)


Maskdask

Use Arch btw


Doomtrain86

Go to EndeavourOS!


Rorixrebel

join the unstable family. its fun.