Re: guix shell init
Hi jgart, On mer., 25 oct. 2023 at 14:12, "jgart" wrote: >> Could you explain what “Nix flake” means using Guix terminology? > > Here's TLDR list of nix flake features and their guix equivalents > (maybe): Thanks for explaining. If I understand correctly, Guix does not miss some feature from Nix flakes, right? If yes, could someone explain what would be such feature? > There's also some comparison of Guix and Nix flakes here: > > https://blog.benoitj.ca/2023-10-23-guix-home-configuration-part1-packages/ > https://blog.benoitj.ca/2023-10-20-how-guix-compare-to-nix-and-vice-versa/ Thanks for the links. Cheers, simon
Re: guix shell init
"jgart" writes: > It would create a basic manifest.scm or guix.scm file for the user. what would the "basic" manifest.scm or guix.scm do? could you share a sample of what it would look like? -- Suhail This email is not an offer capable of acceptance, does not evidence an intention to enter into an agreement, has no operative effect until a definitive agreement is signed in writing by both parties, and that no party should act in reliance on the email or any representations of the sender until a definitive agreement is signed in writing by both parties. This email may contain information that is privileged, confidential and/or exempt from disclosure. No waiver whatsoever is intended by sending this e-mail which is intended only for the named recipient(s). Unauthorized use, dissemination or copying is prohibited. If you receive this email in error, please notify the sender and destroy all copies of this email.
Re: guix shell init
"jgart" writes: > It would generate this boilerplate somehow: > > https://guix.gnu.org/en/blog/tags/cookbook/sk/html_node/Getting-Started.html i see. i'm relatively new to guix, but i think it would be useful to have a utility that - allows us to define some language-specific, and more generally "situation-specific", templates - [optional] allows the appropriate template to be automatically selected - allows the user to specify the template they desire cheers -- Suhail This email is not an offer capable of acceptance, does not evidence an intention to enter into an agreement, has no operative effect until a definitive agreement is signed in writing by both parties, and that no party should act in reliance on the email or any representations of the sender until a definitive agreement is signed in writing by both parties. This email may contain information that is privileged, confidential and/or exempt from disclosure. No waiver whatsoever is intended by sending this e-mail which is intended only for the named recipient(s). Unauthorized use, dissemination or copying is prohibited. If you receive this email in error, please notify the sender and destroy all copies of this email.
Re: guix shell init
> Could you explain what “Nix flake” means using Guix terminology? Hi Simon Here's TLDR list of nix flake features and their guix equivalents (maybe): Guix has features that overlap with flake features. What might be new nix features that the flakes API introduced might just be features that are built in to Guix by design as first class. Not all flake features are implemented or maybe make sense for Guix's API. This is potentially an open research question. > Another feature of flakes is that they provide a consistent structure, which > makes it easier to understand and use different Nix projects. Typically, they > have a standard API where they provide Nix packages, NixOS modules, or other > standard outputs. Guix uses guix.scm and manifest.scm for this. > Each flake has a lock file, flake.lock, which pins exact versions of its > dependencies. This ensures that builds are reproducible, even across > different machines. Guix has a way to do this as well, currently. > Flake evaluations can be cached. This means that if you're working with a > particular set of flakes frequently, Nix won’t need to re-evaluate them every > time, speeding up operations. > A feature of the nix Flake edition is that Nix evaluations are cached. > Running nix-shell can be a bit slow and take 1-3 seconds. Ludo fixed the caching in guix shell and wrote a post about it. A reference for the caching thing that flakes introduced: https://nixos.wiki/wiki/Flakes#Super_fast_nix-shell There's also some comparison of Guix and Nix flakes here: https://blog.benoitj.ca/2023-10-23-guix-home-configuration-part1-packages/ https://blog.benoitj.ca/2023-10-20-how-guix-compare-to-nix-and-vice-versa/ Wrapping up this email the Guix way – carefully packaged and with a sprinkle of flakes for good measure. Have a crunchy day ahead! jgart
Re: guix shell init
> Right? Hi Simon, Yes, that is correct. Something like that.
Re: guix shell init
Hi, On Wed, 25 Oct 2023 at 04:29, "jgart" wrote: > nix flakes also allows you to create your own custom template for use with > `nix flakes init`: > > https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-init#template-definitions > > We could do the same with `guix shell init` maybe... Could you explain what “Nix flake” means using Guix terminology? Cheers, simon
Re: guix shell init
Hi, On Wed, 25 Oct 2023 at 04:24, "jgart" wrote: > It would generate this boilerplate somehow: > > https://guix.gnu.org/en/blog/tags/cookbook/sk/html_node/Getting-Started.html Could you be precise about the boilerplate? You would like that “guix shell --init” would generate a template for some “guix.scm” file, right? Cheers, simon
Re: guix shell init
Hi, On Wed, 25 Oct 2023 at 02:24, "jgart" wrote: > What if we had a command like `guix shell init`. > > It would create a basic manifest.scm or guix.scm file for the user. Is guix shell --export-manifest not already doing that? And “guix package --export-channels” is similar for the channels.scm file. Well, we could have a command somewhere for exporting both. Maybe. Following the idea, you would like: guix shell --init=python that generates some guix.scm and channels.scm file where the guix.scm would be a template for building Python some project. Right? Cheers, simon
Re: guix shell init
nix flakes also allows you to create your own custom template for use with `nix flakes init`: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-init#template-definitions We could do the same with `guix shell init` maybe...
Re: guix shell init
See this blog post for how nix does it for the `nix flakes init` command: https://peppe.rs/posts/novice_nix:_flake_templates/ wdyt
Re: guix shell init
It would generate this boilerplate somehow: https://guix.gnu.org/en/blog/tags/cookbook/sk/html_node/Getting-Started.html
guix shell init
Hi Guixers, What if we had a command like `guix shell init`. It would create a basic manifest.scm or guix.scm file for the user. bloat or meh or yeh? Sprinkling some Guix flakes on your day, jgart