rust-overlay
dive
rust-overlay | dive | |
---|---|---|
11 | 91 | |
758 | 43,709 | |
- | - | |
9.5 | 6.6 | |
5 days ago | 5 days ago | |
Nix | Go | |
MIT License | MIT License |
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.
rust-overlay
-
Understanding Overlays and direnv nix shell inheritance
I'm trying to understand overlays in order to make a proper rustup install (I've read that this overlay is the best way to go).
-
Diving straight into flakes with no channels?
real-world example: https://github.com/oxalica/rust-overlay/blob/master/flake.nix
-
An example providing rust toolchain for Linux/macOS using devenv.sh
In this language context specifically, if one wanted to manage their workspace with Nix I would reach for Riff and/or oxalica/rust-overlay first, since they are deliberately more aware of Rust-specific nuance. In the latter's case it has compatibility paths with rustup-toolchain files as well, for allowing your peers who can't or won't adopt Nix to continue to feel like first-class participants in the project. Another alternative I don't have experience with would be nix-community/fenix.
-
Introducing Riff, a Nix-based tool for automatically providing external dependencies to Rust projects
p.s. I'm not sure if it's mentioned much of anywhere, but it'd be neat if there was a way to figure out the appropriate cargo from a rust-toolchain/rust-toolchain.toml if present, ala https://github.com/oxalica/rust-overlay. Funnily enough 95% of my development time is in Rust, but I don't actually have it installed globally, fun times being a NixOS user. I'd definitely make the argument that cargo is an external dependency!
-
Have a few questions about NixOS
Many of us have moved to https://github.com/oxalica/rust-overlay over Mozilla's overlay.
-
Rust Environment and Docker Build with Nix Flakes
We added rust-overlay, so we can easily specify different rust versions without relying on nixpkgs to give us what ever rust version in there.
-
Switching from pyenv, rbenv, goenv and nvm to asdf – yujinyuz
If it's Rust, you can use https://github.com/oxalica/rust-overlay to get any version you want very easily without pinning an instance of nixpkgs just for it.
asdf does not allow you to keep three different versions of the same language, so I'm not sure how that compares? It's not super-trivial to do in Nix, but at least you can do it.
asdf is also no different than Nix when it comes to minor/major versions. You're at the mercy of what the plugin does, other than that you have to create your own plugin from scratch or make a fork. Nix has the option to patch things up more easily at least.
-
Fenix: rust toolchains for all channels and rust-analyzer nightly
How does this compare to https://github.com/oxalica/rust-overlay/ ? Can fenix ingest a rust-toolchain file and provide packages from it?
Can you say a bit about how this compares to oxalica’s rust overlay?
-
What made you grok Nix language?
I frequently try to do something, say use (from the README of rust overlay):
dive
-
Show HN: Docker-phobia: Analyze Docker image size with a treemap
Cool, gonna try this soon. Would be great to use in combination with Dive (https://github.com/wagoodman/dive)
-
Mastering Docker Image Optimization: 6 Key Strategies for building Lighter, Faster, and Safer images
Dive is an open-source tool that allows you to explore the various layers of a Docker image. It shows you the content of each layer and helps you identify voluminous or unnecessary parts.
- Optimisation des images Docker: 6 Stratégies clés pour des images plus légeres et plus performantes
-
I reduced the size of my Docker image by 40% – Dockerizing shell scripts
Dive is a great tool for debugging this. I like image reduction work just because it gives me a chance to play with Dive: https://github.com/wagoodman/dive
One easy low hanging fruit I see a LOT for ballooning image sizes is people including the kitchen sink SDK/CLI for their cloud provider (like AWS or GCP), when they really only need 1/100 of that. The full versions of both of these tools are several hundred mb each
- Dive: A tool for exploring a Docker image, layer contents and more
- Dive – A tool for exploring each layer in a Docker image
- FLaNK Stack Weekly for 12 September 2023
-
Dive Into Docker part 4: Inspecting Docker Image
This post is going to be shorter. I'd like to highlight a tool that I really enjoy working with called "Dive" It is an essential tool when working to build and optimize docker containers.
-
Top 10 CLI Tools for DevOps Teams
Whether you work with Docker regularly or even create your own Docker containers, Dive is a great tool for streamlining image sizes, potentially helping you save storage costs and speed up deployments.
- Dive – exploring a Docker image, layer contents, and shrinking a image size
What are some alternatives?
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
skopeo - Work with remote images registries - retrieving information, images, signing content
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
Lean and Mean Docker containers - Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)
fenix - Rust toolchains and rust-analyzer nightly for Nix [maintainer=@figsoda]
buildkit - concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit
nixpkgs-mozilla - Mozilla overlay for Nixpkgs.
lnav - Log file navigator
asdf-direnv - direnv plugin for the asdf version manager
Whaler - Program to reverse Docker images into Dockerfiles
cargo2nix - Granular builds of Rust projects for Nix
distroless - 🥑 Language focused docker images, minus the operating system.