this post was submitted on 03 Dec 2023
17 points (94.7% liked)

Linux

48067 readers
908 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
 

How do you all handle this? I'm going to start poking around with NixOS but anticipate Python dev to be impossible on the base OS, so curious what sorts of options y'all use when connecting your configured editor to a container- e.g. if I have Neovim configured in my host, is it better to re-set-up Neovim again with the same dotfiles in the container and dev in the container, or connect the editor to the container somehow?

My gut is saying it's probably cleaner to set up an editor inside the container, just not sure I want to do that every time I start a project.

all 6 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 11 months ago (1 children)

you should have no problem doing Python dev on nixos, it's basically made for doing development environments like this without the need for containers. you should just be able to set up a nix shell for your project that contains python and all the necessary dependencies, and then enter the shell. then, you'll have all the right dependencies installed for your project and still have access to any editors you have installed

[–] [email protected] 4 points 11 months ago

I'd also check out poetry2nix if you're a poetry fan and interested in building your package with nix. See https://www.tweag.io/blog/2020-08-12-poetry2nix/.

[–] [email protected] 3 points 11 months ago

Python is easy on NixOS, you just need to use python venvs and you can use pip like normal

(python -m venv .venv) to create the venv (only need to do once per project)

.venv/bin/activate to enable the venv (Vscode should do this automatically if you create the venv through the python extension)

Then just pip install to your heart's content

(Probably a good idea to pip freeze > requirements.txt every time you install a new library too to make it reproducible

Also you should probably add the venv directory to gitignore if you're using git as it'll add a lot of crap to source control that can be easily regenerated from the requirements.txt

[–] [email protected] 2 points 11 months ago

In my experience, you still have your same path to your nix installed binaries in the distribox container, so you shouldnt even have to duplicate your configuration. I also dont suspect python dev to be that bad so long as you use venv or conda.

[–] [email protected] -1 points 11 months ago* (last edited 11 months ago)

Neovim is not a CLI editor, it is a TUI editor. If you want a CLI editor, use ed or ex.