flake-utils-plus
hydra
Our great sponsors
flake-utils-plus | hydra | |
---|---|---|
19 | 5 | |
433 | 1,027 | |
- | 5.3% | |
5.7 | 8.7 | |
5 months ago | 10 days ago | |
Nix | Perl | |
MIT License | GNU 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.
flake-utils-plus
-
How do I deploy a configuration to a machine with an existing hardware-configuration.nix?
Use flake-utils-plus to easily define multiple systems in flake.nix.and then use the --target-host flag of nixos-rebuild to deploy it remotely.
-
Have a shell command in configuration.nix that runs on nixos-rebuild
If you're trying to handle multiple systems with one config a flake is a significantly better option. I would personally recommend looking at flake-utils-plus and specifically this example config.
- Nix Flakes
-
Best way to manage multiple home manager configs for both NixOS and non-NixOS systems using flakes?
I looked at some past threads / examples and saw people recommend flake-utils-plus, but after reading the examples I don't understand how I would get home-manager on Darwin or Ubuntu.
-
Nix: Taming Unix with Functional Programming
Depending on your specific needs, the channelsConfig (modify arguments passed to Nixpkgs) and overlay tooling in flake-utils-plus may be adequate: https://github.com/gytis-ivaskevicius/flake-utils-plus/tree/...
-
What to do...
For flakes you don't have to set up everything manually there are helper libraries, I use flake-utils-plus.
-
How shall I install a package not found at https://search.nixos.org/packages?
Converting to flakes is not that hard if you use a good library. The documentation is other people's configs, really.
-
I made a thing you can load in Nix repl to get variables from your NixOS configuration
Neat! I've been using flake-utils-plus's implementation until now. https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/master/lib/repl.nix
-
How to use a patched nixpkgs locally?
I use flake-utils-plus based configuration to apply patches on top of nixpkgs where overlays don't suffice.
-
How to downgrade single package?
You can then use the input directly. I am using flake-utils-plus which has this nice overlay-builder:
hydra
-
Cloudflare R2-Backed Nix Binary Cache on Fly.io
See https://github.com/NixOS/hydra/issues/838 for making content-addressed derivations supported by hydra.nixos.org. At that point, we can actually try out the XP feature at scale.
Also see https://github.com/NixOS/nix/issues/8919 for this accepted RFC
Once those things are done, we can get back to merging in the IPFS code.
Now that there is an Nix team and I am on it, there is much, much less of an issue of these experiments being caught in limbo :).
-
Concerns about Arch Team size, trusting Arch supply chain, developer machines and build process
https://github.com/nix-community/infra, Community project builds https://github.com/NixOS/hydra, NixOS build server
-
Monorepo Build Tools
Nix is pretty cool, and I would say comparisons to Earthly are apt. I may tackle that in a follow-up. If you did a monorepo setup written in nix and then used something like Hydra for building, it might be a pretty nice solution.
-
Nix: Taming Unix with Functional Programming
Nix seems great for build servers. This is a great introduction to the motivations behind it.
I'm not sold on using it for managing developer environments (another use case it is often used for). It "solves" the problem that developers might be using different versions of libraries or compilers on their machines... but it comes at the cost of having to learn a whole new programming language, a configuration language, a whole new jargon, and workflow. It's a bit like using Docker as a development environment. It introduces a non-trivial amount of friction.
Some folks get excited about package management and configuration. Personally I don't care for it enough to over-come such a high learning curve. And I don't particularly like the workflow it enforces.
However it is pretty great for reproducible CI/CD systems like Hydra: https://github.com/NixOS/hydra
-
How shall I install a package not found at https://search.nixos.org/packages?
Somewhat related to this, is there a good way to install something from a flake inside the configuration.nix? For example, the hydra flake, since it includes many derivations for dependencies that are not part of nixpkgs (or are at the wrong versions).
What are some alternatives?
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
flake-utils - Pure Nix flake utility functions [maintainer=@zimbatm]
nixGL - A wrapper tool for nix OpenGL application [maintainer=@guibou]
poetry2nix - Convert poetry projects to nix automagically [maintainer=@adisbladis]
NixOS-docker - DEPRECATED! Dockerfiles to package Nix in a minimal docker container
deploy-rs - A simple multi-profile Nix-flake deploy tool.
nix-processmgmt - Experimental Nix-based process management framework
NUR - Nix User Repository: User contributed nix packages [maintainer=@Mic92]
digga - A flake utility library to craft shell-, home-, and hosts- environments.
nix-bundle - Bundle Nix derivations to run anywhere!
nixos-shell - Spawns lightweight nixos vms in a shell
nix-update - Swiss-knife for updating nix packages.