Search

Items tagged with: Guix


Whoop whoop

The latest version 2.11.9 #Caddy package has been built successfully on #Guix!

After some polishing steps it will be submitted for the team review.

Would anyone like to practice in writing Shepherds service?

#guixgoteam


The new 620.xx NVIDIA driver series is now available in Nonguix.

The old 595.xx series is deprecated and will be removed from Nonguix when its kernel modules fail to build with newer kernel versions.

#guix #nonguix #nvidia


The media in this post is not displayed to visitors. To view it, please go to the original post.

I didn't try to enable BLUE's color support. Here's the same backtrace, but with colors.

#guix

#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

Guix System (and Guix Home soon) has a few on-error strategies configurable via the --on-error= option. By default it's nothing-special, there're also backtrace (which displays a backtrace) and debug (which enters Guile's debugger).

I think backtrace is generally more useful to check one's configuration, but what it outputs appears to contain too little information. I was impressed by BLUE's backtrace when I started to use it, so I wonder what it looks like if it's used for Guix

The answer is actually quite simple: there's no magic in BLUE's backtrace, it just goes one step further ;)

The screenshot below shows the comparison, what Guix currently outputs (display-backtrace) on the left side, and with BLUE's print-backtrace on the right. They're almost identical, except that BLUE's also finds and outputs file content in addition to the line numbers.

#guix

#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

btw I am Guix Committer now :moomin_flower: and just after that we got 4 and php incident, I updated php in guix the day it was released, so update if you haven't :ashinobu_dab: . uuf what a crazy welcome as a committer :neofox_sign_aaa:

#guix #php #eMudhra


lists.gnu.org/archive/html/gui…
yhetil.org/guix-devel/8733txfv…

Nix flakes have a convenient URL-like syntax:

nix shell git+https://github.com/NixOS/patchelf#patchelf --command patchelf --help

Can Guix channels have something similar? For example:
guix time-machine -C git+https://example.com/channel -- shell patchelf -- patchelf --help

This mail explores the minimum requirement. What's already available is actually quite close ;)

#guix

#guix


#guix


codeberg.org/guix/guix/pulls/1…
New updates to the fish shell completion of Guix for changes in recent months and a few minor fixes!

In case you didn't know, since 2025 the fish completion covers all command-line options (and their required argument types when applicable), supports complex subcommand completion like guix time-machine -- shell -- guix deploy --execute -- guix time-machine --, and most importantly, is fast ;)

#guix

#guix




The media in this post is not displayed to visitors. To view it, please go to the original post.

@Z572@mastodon.social told me there's a better approach dealing with git repository dependencies for Cargo, and I finally took a look.

Here's implementation! Will test it against relevant Rust packages in Guix. If everything goes well, we can finally stop packaging all Cargo workspaces in rust-sources.scm ;)

#guix


#guix


Created a simple Guix extension to convert hash encodings!
guix hashcov df2102eed00aff0b17275654a42f094c8a1117ec065884eb1ff76005e47415c5
input: df2102eed00aff0b17275654a42f094c8a1117ec065884eb1ff76005e47415c5
byte: 32
base16: df2102eed00aff0b17275654a42f094c8a1117ec065884eb1ff76005e47415c5
base32: 34qqf3wqbl7qwfzhkzkkilyjjsfbcf7mazmij2y765qalzducxcq
base64: 3yEC7tAK/wsXJ1ZUpC8JTIoRF+wGWITrH/dgBeR0FcU=
nix_base32: 1i8mfkj0aq7p3zmq8n06xhbi32jc14ps8m2n4wbhpzqas3p048fz

It supports multiple input hashes, and field selection via GNU Recutils.
guix hashcov \
     df2102eed00aff0b17275654a42f094c8a1117ec065884eb1ff76005e47415c5 \
     kWViYu4wxK4GFaTemIgjhKwWURzCnZDkXgRvDHjzi9M= |
    guix shell recutils -- \
         recsel --print-values nix_base32
1i8mfkj0aq7p3zmq8n06xhbi32jc14ps8m2n4wbhpzqas3p048fz
1lwbydw0qvq4bvj917f23i8idb444f49ipm42l3axi1hxri64rci

#guix
#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

Poking around (guix packages), it looks pretty straightforward to support SRI hashes ;)

When filling stuff like (sha256 (base32 "1avf4x8skxbqrjp5j2qr9sp5vlf8jkw2i5bdn51fl3cxx3fsxchx")) in a source definition, Guix actually uses a macro to transform the hash string into a bytevector at compile time. So how the hash is represented in the code doesn't matter internally, and it's quite easy to add another representation.

#guix

#guix




Anybody on here using Guix system on a Vultr VPS? Both tries I made today to upload the Guix System ISO just hung with 'pending' message.

(I am aware of this post from Thomas Ieong ieong.ovh/posts/guix-vultr/)

Are there VPS providers where Guix works especially smoothly?

#Guix #VPS #Vultr


#guix


#guix





It turns out that G-expressions don't handle references in vectors created using the read syntax (for example, #(1 2 3))
codeberg.org/guix/guix/pulls/1…

This will be useful if you have extensive usage of serializers like guile-json, which use vectors to represent arrays.

#guix

#guix


#guix


#guix #hpc #mpi


#guix


#guix


Introducing the mega Nonguix :P
ultrarare.space/en/posts/manag…

Here's English version! Updated for nix-shell-wrapper interface change and the new with-nix-profile. Added a new section for extra setups to workaround issues introduced by different packaging practices. Let me know if there're more of them.

#guix #nix


竊包不能算偷……竊包!打包人的事,能算偷麼? 😈
ultrarare.space/posts/manage-n…

Probably I'll translate it into en at some time. For now I just tell you what's new in the post:

  guix package --search-paths \
       -p /run/current-system/profile \
       -p /nix/store/csj09rkmgyjc9y7wzvscla2lavhwc0rg-readest-0.11.1
  ...
  export PATH="/run/current-system/profile/bin:/run/current-system/profile/sbin:/nix/store/csj09rkmgyjc9y7wzvscla2lavhwc0rg-readest-0.11.1/bin"
  export XDG_DATA_DIRS="/run/current-system/profile/share:/nix/store/csj09rkmgyjc9y7wzvscla2lavhwc0rg-readest-0.11.1/share"
  export XCURSOR_PATH="/run/current-system/profile/share/icons:/nix/store/csj09rkmgyjc9y7wzvscla2lavhwc0rg-readest-0.11.1/share/icons"

♲ @hako@boiledscript.com:

Tweaked the interface a bit and added docstring. Here's code for nix-shell-wrapper and nix-shell-wrapper->package:
codeberg.org/hako/Rosenthal/sr…

Too many backslashes are used in the docstring, duplicating the examples here as well:

(nix-shell-wrapper "cowsay"
  '("github:NixOS/nixpkgs/nixos-26.05#coreutils"
    "github:NixOS/nixpkgs/nixos-26.05#cowsay")
  #:run-command '("env" "LANG=C.UTF-8" "cowsay" "hello"))

(nix-shell-wrapper "python-with-numpy"
  "with (import (builtins.getFlake \"github:NixOS/nixpkgs/nixos-26.05\") {}); python3.withPackages (ps: [ps.numpy])"
  #:expression? #t
  #:run-command '("python"))

#guix



#guix #nix


#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

Added a with-nix-profile macro. It can be used in package declaration of Guix System and Guix Home, transforming nix-shell-wrapper into packages and collecting Nix packages from them.

With the collected Nix packages, an additional build-nix-profile command is provided to build and link the resulted profile to the specified path, also registering GC root.

What's left is to write services to execute this build-nix-profile command and extend search paths ;)

To avoid loading incompatible libraries from the other distribution and crashing programs, like what may happen when using Guix and Nix on foreign distros, the constructed Nix profile won't contain executables and commands are provided by the nix shell wrappers.

See also the first few lists in codeberg.org/hako/Rosenthal/sr… and let me know what are missing.

#guix #nix

#guix #nix


The media in this post is not displayed to visitors. To view it, please go to the original post.

I didn't fully understand nix shell, so here's improved nix-shell-wrapper interface (haven't pushed yet). Probably interesting to Nix folks as well :)

#guix #nix

#guix #nix


#guix #nix


Collection of reproductible #eda #podman images for electronic design development, using #guix, classified by domain (#asic, #fpga, #synthesis, etc.)

codeberg.org/csantosb/eda-tool…

Use it as:

podman pull codeberg.org/csantosb/eda-tools/guix-kicad:0.1

podman run -it --rm --network=host -e DISPLAY -v "$PWD":"$PWD" -w "$PWD" -e HOME guix-kicad:0.1 kicad

Similar commands exist for #yosys, #ghdl, etc.


Tweaked the interface a bit and added docstring. Here's code for nix-shell-wrapper and nix-shell-wrapper->package:

codeberg.org/hako/Rosenthal/sr…

Too many backslashes are used in the docstring, duplicating the examples here as well:

(nix-shell-wrapper "cowsay"
  '("github:NixOS/nixpkgs/nixos-26.05#coreutils"
    "github:NixOS/nixpkgs/nixos-26.05#cowsay")
  #:run-command '("env" "LANG=C.UTF-8" "cowsay" "hello"))

(nix-shell-wrapper "python-with-numpy"
  "with (import (builtins.getFlake \"github:NixOS/nixpkgs/nixos-26.05\") {}); python3.withPackages (ps: [ps.numpy])"
  #:expression? #t
  #:run-command '("python"))

#guix
#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

Here's improved example on constructing the Nix command, with a Scheme procedure for nix shell (more flexible than nix run and more similar to guix shell) wrappers.

#guix

#guix


The media in this post is not displayed to visitors. To view it, please go to the original post.

There're chances that Guix misses service packages you want to use, and you can actually deploy your services with them from other sources, before the packages are properly packaged.

Besides the oci-service-type, Nixpkgs is also a good fit. The nix run command is similiar to guix time-machine + guix shell so you can have version-pinning as well.

Here's a rough example for the setup.

#guix #nixpkgs


Hey, everyone. I want to spend the next few weeks learning @guix and installing it as a replacement for Debian. The learning curve looks daunting. Where do I start?

I want to do it on real hardware and I have a spare laptop. Sadly @daviwil's nice tutorials appear outdated...?

What I have: an ambition for software freedom and a love of Lisp. What I need: an understanding of the packaging model and (sadly) support for non-free hardware.

Point me to a recent .iso? Point me to a good explainer for noobs? Thanks!

#askfedi #Guix


Hey #Guix!

Now `guix pull` and `guix time-machine` supports Git symref. And?

It allows to easily have unmerged Pull-Request.

Consider the fictive PR 567 improving package foo.
And such CI processed this PR with the evaluation 1234.

Then

guix time-machine \
-C guix.bordeaux.inria.fr/eval/12… \
-- shell foo bar

where channels.scm file points to refs/pull/567/head.

Done! 🤩

#guix


#guix #Zig

⇧