mach-nix
nix
mach-nix | nix | |
---|---|---|
23 | 373 | |
831 | 10,943 | |
- | 2.9% | |
5.7 | 10.0 | |
about 2 months ago | 4 days ago | |
Python | C++ | |
MIT License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mach-nix
-
Installing chatgpt-wrapper
Another way if the above doesn't work is to use mach-nix:https://github.com/DavHau/mach-nix
-
How to install pip3
For python, I can highly recommend mach-nix. Makes it really easy to also keep a requirements.txt to stay compatible with non-nix-users.
-
Updated ESP-IDF and MicroPython expressions
The ESP32 toolchain is quite cumbersome to install - even under NixOS. The wiki tells you to create a shell.nix that creates a python virtual env at the first execution. I used DavHau's mach-nix to create esp-idf.nix and subsequently micropython-esp32.nix.
-
Share your Data Science stack in Nixpkgs
mach-nix and friends are pretty good, but I've found that the expectations of all the commonly-used data science stuff is pretty antithetical to the Nix Way. I'm not sure if it's still the case, but last I tried, Hydra wasn't building CUDA (since it's non-free), so I had to compile that and e.g. TensorFlow and PyTorch. Very painful, even on a beefy system.
- how to install Python packages not yet in the Nix repo?
-
Help with installing python packages.
I don't do much Python, but usually everything works just fine with mach-nix. I would try something like this: ``` { pkgs ? import (fetchTarball "https://github.com/nixos/nixpkgs/archive/nixpkgs-unstable.tar.gz") { } }:
-
Nix: Taming Unix with Functional Programming
There are some sifferent/new tools for adding your own Python packages these days. It's still not truly solved, but one of these new package generation tools might serve your better:
poetry2nix: https://github.com/nix-community/poetry2nix
dream2nix: https://nix-community.github.io/dream2nix/guides/getting-sta...
mach-nix: https://github.com/DavHau/mach-nix
pip2nix: https://github.com/nix-community/pip2nix
pynixify: https://github.com/cript0nauta/pynixify
The tools available to you at the time (pypi2nix and maybe python2nix, if it was a long time ago) have been abandoned in favor of the newer tools, I think chiefly poetry2nix but I'm not sure.
There's still the Nixpkgs buildPythonPackage stuff, I think, if your goal is to upstream a lib into Nixpkgs. But if you just want to build your own Python applications and vendorize the deps (e.g., for work), you might try one of the tools above, which weren't available 3+ years ago. Maybe Nixy Python users and developers can reply with some of their experiences using those tools :)
- what's the best way to transform nixos into "normal distro"
-
How shall I install a Python library/module?
Have a look at mach-nix which is a small utility library for nix to build Python packages declaratively.
-
Critique my first overlay (xonsh 0.12.4)
final: prev: { xonsh = prev.xonsh.overrideAttrs (old: rec { version = "0.12.4"; src = final.fetchFromGitHub { owner = "xonsh"; repo = "xonsh"; rev = version; sha256 = "0kdps0gf0767zy0fs6qn39rv4z3x7ck0qz1pzx6962593171yk8b"; }; propagatedBuildInputs = prev.xonsh.propagatedBuildInputs ++ [final.python3Packages.virtualenv]; }); python39 = prev.python39.override { self = prev.python39; packageOverrides = python_final: python_prev: { prompt-toolkit = python_prev.prompt-toolkit.overrideAttrs (old: rec { version = "3.0.29"; src = final.python3Packages.fetchPypi { pname = "prompt_toolkit"; inherit version; sha256 = "sha256-vWQPYOjOzXTw3CSXE9QzrOLdxitl7gf5bTWOCxUrbqc="; }; }); }; }; # Using mach-nix to fetch unpackaged xontrib plugins # adapted from https://github.com/NixOS/nixpkgs/issues/75786#issuecomment-873654103 mach-nix = import (builtins.fetchGit { url = "https://github.com/DavHau/mach-nix/"; ref = "refs/tags/3.4.0"; }) { pkgs = final; }; xonsh_pyenv = final.mach-nix.mkPython { requirements = '' xontrib-fzf-widgets xonsh-direnv ''; }; xonsh_with_plugins = final.xonsh.overrideAttrs (old: { propagatedBuildInputs = old.propagatedBuildInputs ++ final.xonsh_pyenv.python.pkgs.selectPkgs final.xonsh_pyenv.python.pkgs; }); }
nix
- OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computers
-
Eelco Dolstra's leadership is corrosive to the Nix project
> https://github.com/NixOS/nix/pull/9911#issuecomment-19252073...
-
I use NixOS for my home-server, and you should too!
As we covered in my last post, NixOS is a amazing Linux distribution for creating stable and declared environments. Now while this is amazing for a desktop setup, it is also perfect for a home-server or home-lab.
-
Tvix – A New Implementation of Nix
(Nix itself is slowly chugging along with Windows via MinGW - https://discourse.nixos.org/t/nix-on-windows/1113/108 and https://github.com/NixOS/nix/issues/1320 , for example.)
-
Colima k8s nix setup
Nix is a cross-platform package manager. It uses the nix programming language. Nix and NixOs are often used in the same context, but while the first is a package manager, the latter is a linux distribution based on nix.
-
NixOs - Your portable dev enviroment
Today I want to talk to you about Nixos. What is it? Nixos is a declarative and reproducible OS, partly taking the words used on their own page. What does that mean?
-
Nix – A One Pager
Software developers often want to customize:
1. their home environments: for packages (some reach for brew on MacOS) and configurations (dotfiles, and some reach for stow).
2. their development shells: for build dependencies (compilers, SDKs, libraries), tools (LSP, linters, formatters, debuggers), and services (runtime, database). Some reach for devcontainers here.
3. or even their operating systems: for development, for CI, for deployment, or for personal use.
Nix provision all of the above in the same language, with Nixpkgs, NixOS, home-manager, and devShells such as https://devenv.sh/. What's more, Nix is (https://nixos.org/):
- reproducible: what works on your dev machine also works in CI in prod,
- declarative: you version control and review your configurations and infrastructure as code, at a reasonable level of abstraction,
- reliable: all changes are atomic with easy roll back.
-
Tools for Linux Distro Hoppers
Hopping from one distro to another with a different package manager might require some time to adapt. Using a package manager that can be installed on most distro is one way to help you get to work faster. Flatpak is one of them; other alternative are Snap, Nix or Homebrew. Flatpak is a good starter, and if you have a bunch of free time, I suggest trying Nix.
-
Ask HN: Could Nix make crypto mining more efficient?
- it reduces bloat, because you can generate an environment or OS image with only the software needed to run a specific program or service
My guess is that a big efficiency gain would come from the second point, because you don't waste CPU on code that you don't use.
Does this make sense? Has anyone explored this?
[0]: https://nixos.org
-
Go + Hypermedia - A Learning Journey (Part 1)
1) Setting up the development environment - I currently use devcontainers for most things, but may also dig into nix -> isolated, portable, repeatable development environment 2) Exploring Echo - understand routing, requests, response, etc. 3) Incorporate Templ - integration with Echo, template composition, etc. 4) Integrating TailwindCSS - config for use with Echo/Templ, development cycle, deployment, etc. 5) Add in HTMX - endpoints, template structure, concepts, etc. 6) hyperscript for interactivity - client side interactivity
What are some alternatives?
poetry2nix - Convert poetry projects to nix automagically [maintainer=@adisbladis]
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
discord-overlay - [DEPRECATED] A Nixpkgs overlay providing the latest version(s) of the Discord desktop app, automatically updated every 30 minutes
distrobox - Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
spotify-dl - Downloads songs from your Spotify Playlist
void-packages - The Void source packages collection
nix-alien - Run unpatched binaries on Nix/NixOS
flatpak - Linux application sandboxing and distribution framework
lm-evaluation-harness - A framework for few-shot evaluation of language models.
homebrew-emacs-plus - Emacs Plus formulae for the Homebrew package manager
nix-prefetch-github - Prefetch sources from github for nix build tool
guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead