cargo-deb
nixpkgs
Our great sponsors
cargo-deb | nixpkgs | |
---|---|---|
7 | 970 | |
629 | 15,581 | |
- | 4.9% | |
1.1 | 10.0 | |
over 2 years ago | 2 days ago | |
Rust | Nix | |
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.
cargo-deb
-
GitUI
I mean, there's tools that make it easy to make a .deb https://crates.io/crates/cargo-deb
The Rust Project itself had put a lot of work into making sure that Rust and Rust-using programs could get into Debian by working with Debian folks to address issues.
I suspect that you've run into an anecdotal pattern, but I'm not sure that it is more than that.
-
What are some useful tools for Rust?
I use Cargo deb to create Debian / Ubuntu / ... package files.
-
Introducing runst: A dead simple notification daemon written in Rust
As a suggestion if you want to get a lot of users you could make a .deb file that packages the binary and a systemd service file. Using cargo-deb it's pretty trivial, the hardest part would be writing your systemd service file and you can probably just copy the dunst.service file with minimal modification:
- How can I codesign executables for different platforms?
-
Have you guys tried cargo-deb? Amazing!
https://crates.io/crates/cargo-deb https://github.com/kornelski/cargo-deb
-
Rustup, Cargo, Rustc??
cargo install does provide different options to change the installation dir (https://doc.rust-lang.org/cargo/commands/cargo-install.html) but I am uncertain, if there could be accociated issues. An alternative could be tools like https://github.com/mmstick/cargo-deb or https://github.com/iqlusioninc/cargo-rpm that can automatically create packages which can be used for a proper installation /usr/bin/ using your distributions packaging system.
-
Debian Discusses Vendoring–Again
Cargo already has one: https://crates.io/crates/cargo-deb
nixpkgs
-
3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup
For a single file script, nix can make the package management quite easy: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-f...
For example,
```
- NixOS/nixpkgs: There isn't a clear canonical way to refer to a specific package
-
NixOS Is Not Reproducible
Yes, Nix doesn't actually ensure that the builds are deterministic. In fact it works just fine if they aren't. There are packages in nixpkgs that aren't reproducible: https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aiss...
-
The xz attack shell script
I'm not familiar with Bazel, but Nix in it's current form wouldn't have solved this attack. First of all, the standard mkDerivation function calls the same configure; make; make install process that made this attack possible. Nixpkgs regularly pulls in external resources (fetchUrl and friends) that are equally vulnerable to a poisoned release tarball. Checkout the comment on the current xz entry in nixpkgs https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/comp...
-
Debian Git Monorepo
NixOS uses a monorepo and I think everyone's love it.
I love being able to easily grep through all the packages source code and there's regularly PRs that harmonizes conventions across many packages.
Nixpkgs doesn't include the packaged software source code, so it's a lot more practical than what Debian is doing.
-
From xz to ibus: more questionable tarballs
In this specific case, nix uses fetchFromGitHub to download the source archive, which are generated by GitHub for the specified revision[1]. Arch seems to just download the tarball from the releases page[2].
[1]: https://github.com/NixOS/nixpkgs/blob/3c2fdd0a4e6396fc310a6e...
[2]: https://gitlab.archlinux.org/archlinux/packaging/packages/ib...
-
GitHub Disabled the Xz Repo
True, but irrelevant -- _some packages_, _somewhere_, do depend on xz, which, if built, requires pulling the source from GitHub (see the default.nix: https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/tools...)
It's not the vulnerability that's a problem right now (NixOS was protected by a couple of factors) but rather GitHub's hamfisted response.
That is the problem.
-
Combining Nix with Terraform for better DevOps
We’ve noticed that some users have been asking about how to use older versions of Terraform in their Nix setups [1, 2]. This is an example of the diverse needs of people and the importance of maintaining backward compatibility. We hope that nixpkgs-terraform will be a useful tool for these users.
-
Nix is a better Docker image builder than Docker's image builder
I think whateveracct was referring to is this link:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/developmen...
What that file is doing, is building a package, and it essentially is a combination of what Makefile and what RPM spec file does.
I don't know if you're familiar with those tools, but if you aren't it takes some time to know them enough to understand what is happening. So why would be different here?
-
Use Ansible to create and start LXD virtual machines
#!/usr/bin/env nix-shell #! nix-shell -i bash #! nix-shell -p sops #! nix-shell -I https://github.com/NixOS/nixpkgs/archive/refs/tags/23.05.tar.gz source config.sh "$@"
What are some alternatives?
cargo-update - A cargo subcommand for checking and applying updates to installed executables
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
git-lfs - Git extension for versioning large files
Rustup - The Rust toolchain installer
easyeffects - Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
cargo-make - Rust task runner and build tool.
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
rustfmt - Format Rust code
waydroid - Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.