this post was submitted on 03 Dec 2023
15 points (94.1% liked)

Linux

48372 readers
1749 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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year 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