• 0 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: July 31st, 2023

help-circle









  • I prefer to come at it from an immediate utility level, and I think a good place to start with that is home-manager.

    You can install nix and home-manager on any Linux distribution or MacOs. It lets you, in a single place, specify what packages you want, services you want to run at the user level, and what config files you want in your home directory. For a lot of things, home-manager has built-in config options, but you can also specify arbitrary config files.

    Then, you can take this one file to a new computer, and with no other config, have everything set-up the way you like it.

    NixOs allows you to do this for your whole system.

    It also has a bunch of other benefits, which tie-in to the jargon you bring up. But if you want to check it out, I’d worry about that later.





  • I personally don’t think they do, but an argument can certainly be made. Rust proc macros can run arbitrary code at compile time. Build scripts can also do this.

    This means, adding a dependency in Cargo.toml is often enough for that dependency to run arbitrary code (as rust-analyzer will likely immediately compile it).

    In practice, I don’t think this is much worse than a dependency being able to run arbitrary code at runtime, but some people clearly do.