SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust Nix Projects
-
I think this is something the writer of the article would be delighted to find: https://github.com/railwayapp/nixpacks
-
Project mention: Announcing Nickel 1.0, a configuration language written in (and usable from) Rust | /r/rust | 2023-06-08
One target-use case of Nickel is to be used as an alternative front-end for Nix (instead of Nix expressions). There is a draft RFC and a repository to use Nickel to write development shell (Nixel). The goal is that, one day, you can actually just transparently call to Nix code and into Nixpkgs. Until then, I totally understand that nothing can be the power of levering Nixpkgs... so your approach makes sense :)
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
There's a version of this approach that uses nix-index to figure out which package a command is in called comma: https://github.com/nix-community/comma
-
-
Project mention: If you haven't reevaluated your Nix language server in a while, do yourself a favor and check out nil | /r/NixOS | 2023-05-16
This is a PSA as somebody who spends most of their day inside .nix files and until yesterday was using the venerable rnix-lsp project. nil was shared here about six months ago but in that short time, this language server has gained a ton of functionality and is an absolute delight to use.
-
There's a work in progress language server: rnix which I'm using in emacs. Features like autocomplete are limited though, I'm guessing because you'd need to evaluate the actual Nix code to correctly deduce what properties exist.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
- rpi nas
I also wipe my entire rootfs every boot with a zfs snapshot rollback[2] using the impermanence module[3] to keep specific stateful data one one of two datasets with regular snapshots: one is backed up with zfs send, the other is just for cache between reboots.
It took a little puzzling to get started, because I didn’t know about the impermanence module, so I built my own hacky solution. But I really love this setup. And the way I don’t have cruft to clean.
Also my backups are so much smaller now :’-)
-
Project mention: Home manager installation - Could not find suitable profile directory | /r/Nix | 2023-06-08
I installed nix with the following nix-installer: bash curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install Now I'm trying to install home-manager and I'm starting from 3.2 Standalone setup with the following command: bash nix run home-manager/master -- init --switch but it gives me the following error message: Could not find suitable profile directory, tried /home/tornax/.local/state/home-manager/profiles and /nix/var/nix/profiles/per-user/tornax
-
Project mention: Nix journey part 0: Learning and reference materials | news.ycombinator.com | 2023-03-01
Are you using flakes? AFAIK `command-not-found` does not work with them. See https://github.com/NixOS/nixpkgs/issues/171054 and https://discourse.nixos.org/t/why-isnt-there-an-official-bui...
I think `nix-index` works as a replacement: https://github.com/bennofs/nix-index
-
riff
Riff automatically provides external dependencies for Rust projects, with support for other languages coming soon.
Project mention: nix-init - Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more | /r/NixOS | 2023-01-28Dependency inference for Rust packages using the Riff registry and python projects
-
As others have mentioned, there are a couple of LSP implementations. There's also statix for basic static analysis, as well as a few formatters, including nixpkgs-fmt and alejandra.
-
nix-init
Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more [[email protected]]
Project mention: nix-init - Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more | /r/linux | 2023-04-23Announcement: https://discourse.nixos.org/t/25035
-
As others have mentioned, there are a couple of LSP implementations. There's also statix for basic static analysis, as well as a few formatters, including nixpkgs-fmt and alejandra.
-
Project mention: How to install Nix packages and use their provided systemd services on another distro? | /r/Nix | 2023-05-19
I haven't used it but system-manager might help https://github.com/numtide/system-manager
-
I know of two projects for supporting Secure Boot on NixOS: Lanzaboote and bootspec-secureboot.
-
-
Project mention: nurl - Generate Nix fetcher calls from repository URLs | /r/coolgithubprojects | 2023-03-13
-
https://github.com/symphorien/nix-du can be helpful to understand better what’s consuming space after a normal GC.
-
nix-doc
An interactive Nix documentation tool providing a CLI for function search, a Nix plugin for docs in the REPL, and a ctags implementation for Nix script
I love nix, I've been using it for the last 2 years, I have a very stable setup from these 2 years of effort [0], and I just can't recommend Nix for Linux beginners, why?
It's not because of the nix language, It's not because of the CLI, it's because everything is scattered, you have to consult many places to find out how to do things with Nix, here is an example:
Usually, when I need a new complex program, like Steam, I first check the system-wide configuration [1], the wiki [2] and the package list [3], if I just want it on my user, I need to check if Home Manager has an option [4], if it doesn't, I can try using the "home.packages" option. Now, if I need to override something on the package, I need to remember how to do it with [5] [6] (while checking the source code for the package in parallel to find the options).
And then sometimes, on very rare occasions, I need to fine tune something with the nix language, so I need to check the builtins/lib docs [7], but some builtins are not there, so I need to either use nix-doc [8] or find the docs inside the code-bases [9] [10] (they are split between both repos)
For me, this is one of the main pain points of using Nix / NixOS that needs to be solved.
[0] - https://github.com/shiryel/nixos-dotfiles
[1] - https://search.nixos.org/options
[2] - https://nixos.wiki/wiki/Steam
[3] - https://search.nixos.org/packages
[4] - https://mipmip.github.io/home-manager-option-search/
[5] - https://nixos.org/manual/nixos/stable/#sec-customising-packa...
[6] - https://nixos.org/guides/nix-pills/nixpkgs-overriding-packag...
[7] - https://teu5us.github.io/nix-lib.html
[8] - https://github.com/lf-/nix-doc
-
-
Project mention: Questions about availability of specific functionalities in swaywm (and wayland at all) | /r/swaywm | 2023-04-03
There’s this: https://github.com/johnae/persway
-
I wasn't aware of npt, thanks! We've also released https://github.com/flox/runix as a library to make it easier to wrap Nix.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust Nix related posts
- Announcing Nickel 1.0, a configuration language written in (and usable from) Rust
- Home manager installation - Could not find suitable profile directory
- Rewrite it in Rust: Kubernetes
- Transitioning to Rust as a company
- How to install Nix packages and use their provided systemd services on another distro?
- Nickel v1.0.0
- If you haven't reevaluated your Nix language server in a while, do yourself a favor and check out nil
-
A note from our sponsor - #<SponsorshipServiceOld:0x00007f0921ddcfd0>
www.saashub.com | 9 Jun 2023
Index
What are some of the best open-source Nix projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | nixpacks | 1,633 |
2 | nickel | 1,493 |
3 | deploy-rs | 781 |
4 | comma | 693 |
5 | kubernix | 691 |
6 | nil | 618 |
7 | rnix-lsp | 614 |
8 | colmena | 570 |
9 | nix-installer | 563 |
10 | nix-index | 516 |
11 | riff | 460 |
12 | nixpkgs-fmt | 435 |
13 | nix-init | 409 |
14 | statix | 381 |
15 | system-manager | 263 |
16 | lanzaboote | 262 |
17 | deadnix | 255 |
18 | nurl | 224 |
19 | nix-du | 211 |
20 | nix-doc | 145 |
21 | nix-melt | 108 |
22 | persway | 90 |
23 | runix | 73 |