flake-parts
nix-beam-flakes
Our great sponsors
flake-parts | nix-beam-flakes | |
---|---|---|
5 | 1 | |
594 | 36 | |
9.0% | - | |
7.1 | 9.2 | |
3 days ago | about 2 months ago | |
Nix | Nix | |
MIT License | Apache License 2.0 |
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-parts
-
Nix is a better Docker image builder than Docker's image builder
There are attempts like
https://flake.parts/
or
https://github.com/nix-community/flakelight
Their aim is to create an ecosystem of reusable Nix libraries. But it is tiny.
-
Nix noob question
You can also just install flakes doing nix profile install . I wrote a tool to make it a bit easier, npt but it's completely optional. Once you install the packages with nix profile. Then in your repos you can use a flake with a devShell and run nix develop. Check https://flake.parts to write your flakes.
-
I'm getting on the hype train. What do you recommend to beginner?
Definitely use flakes from the get-go. It's much more sane. Nix's documentation can be unorganized, but read through it when you can. Modules and other projects tend to have their own documentation as well, like Home Manager and flake-parts
-
Why you don't need flake-utils
That's not a typo, there OP is referring to https://github.com/hercules-ci/flake-parts
nix-beam-flakes
-
Would it make sense to start a repo which contains some "standard" flake.nix files for various types of projects?
I left it vague because I didn't want to seem self-promotional. Unmerged documentation branch is the best starting place here: README, docs folder of that branch, example from develop. I daily drive it at work, and on a personal project for about 8 months. Doesn't do well for monorepos with disparate BEAM versions yet, but there are escape hatches and usage-as-library too. For the typical Phoenix project with a few extra system deps it's a pretty good onramp. perSystem.beamWorkspace.devShell.extraPackages is how you add arbitrary buildInputs like your VIPS stuff and .extraArgs for additional arguments to mkShell, such as your non-sensitive envvars. There's a page for future goals too. Publishing the rendered docs as a static site is in my TODOs, it's mostly glue left.
What are some alternatives?
dev-templates - Dev environments for numerous languages based on Nix flakes [maintainer=@lucperkins]
templates - Flake templates
treefmt-nix - treefmt nix configuration
nvfetcher - Generate nix sources expr for the latest version of packages
fenix - Rust toolchains and rust-analyzer nightly for Nix [maintainer=@figsoda]
haumea - Filesystem-based module system for Nix [maintainer=@figsoda]
templates - Nix flake templates managed by the community [maintainer=@IogaMaster]
nixt - Simple unit-testing for Nix [maintainer=@Lord-Valen]
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
Nix-Config - My Nix Config
devshell - Per project developer environments