Guix

269 readers
19 users here now

Guix is an advanced distribution of the GNU operating system developed by the GNU Project

founded 4 years ago
MODERATORS
1
 
 

Compiling a rust program works correctly, but when running the binary the dynamic linker says libstdc++.so.6: cannot open shared object file: No such file or directory.

The only way I found to get around this in a manifest file is with force accessing gcc:lib which is a private package definition:

(concatenate-manifests
 (list
  (packages->manifest
   (list
    (list (@@ (gnu packages gcc) gcc-13) "lib"))
  (specifications->manifest
   (list
    "coreutils"
    "libgccjit"
    "clang-toolchain"
    "other stuff..."))))

but the @@ operator is kind of a hack since it accesses private definitions in a module and probably isn't mean to be normally used.

Has anyone found a proper way to link to libstdc++.so.6?

2
 
 

I am looking forward to hardening my system, but I'm not sure how I should go about it. Any advice?

3
 
 

I am thinking about moving to Guix, and was wondering what you all think of Shepherd?

What are things you like? What are its shortcomings? Any cool or weird things you wish you knew before using it?

For context, I am currently using Runnit.

4
 
 

For some reason, the app nm-connection-editor (Advanced Network Configuration) exists on my GNOME, but I don't even use it. I suspect that it's a part of package nm-applet. I also have system-config-printer (Print Settings, I think?) and system-config-printer-applet, but both of them don't work properly.

I want to remove both these apps, as I don't use them, but they've been introduced by services. How should I proceed?

5
6
7
 
 

I'm a Guix newbie, and I'm also not making use of Guix Home, so for the time being, I'm forced to build the entire config.scm from scratch. However, what I've noticed while building is that I get this weird log:

shepherd: Service host-name running with value #<unspecified>.

What could this be? I'm pretty sure I've set the value of host in the configuration file.

...
 (host-name "hp")
...
8
 
 

It seems to me that there's no service for pipewire available at the moment. How do I configure pipewire to run with GNOME, ideally with pipewire-pulse?

9
 
 

Currently, I'm on a Guix System, and I must say, using Nix with it, or vice-versa, is a terrible idea because of one simple reason: contamination of environment variables: PATH, LD_PRELOAD and LD_LIBRARY_PATH, just to name a few. Most of my Flakes are useless on the Guix System, and I can imagine the same for Guix expressions on NixOS.

10
1
submitted 8 months ago* (last edited 8 months ago) by csantosb@lemmy.ml to c/guix@lemmy.ml
 
 

New blog post on the 100+ Guix packages contributed by AMD, preliminary tests on one the French national supercomputers, and how it can benefit going forward to both AMD and the French and European #HPC environments.

11
1
submitted 8 months ago* (last edited 8 months ago) by velox_vulnus@lemmy.ml to c/guix@lemmy.ml
 
 

Here is my current configuration:

config.scm

(use-modules
 (gnu)
 (gnu packages admin)
 (gnu packages certs)
 (gnu packages fonts)
 (gnu packages gnome)
 (gnu packages package-management)
 (gnu packages text-editors)
 (gnu packages terminals)
 (gnu packages wm)
 (gnu packages xdisorg)
 (nongnu packages linux)
 (nongnu packages mozilla)           
 (nongnu system linux-initrd))

(use-service-modules
 desktop networking ssh xorg)

(operating-system
 (host-name "guix")
 (kernel linux)
 (initrd microcode-initrd)
 (firmware (cons*
  realtek-firmware
  %base-firmware))
 (timezone "Asia/Kolkata")
 (locale "en_IN.utf8")
 (keyboard-layout (keyboard-layout "in" "en"))

 (bootloader
  (bootloader-configuration
   (bootloader grub-efi-bootloader)
   (targets '("/boot"))))

 (file-systems (cons*
  (file-system
   (device (file-system-label "guix"))
   (mount-point "/")
   (type "btrfs"))
  (file-system
   (device (uuid "C938-C7C0" 'fat))
   (mount-point "/boot")
   (type "vfat"))
   %base-file-systems))

 (swap-devices
  (list
   (swap-space
    (target
     (uuid "4550d1a4-3566-47a2-a3bc-8d77c87acc62")))))
 
 (users (cons
  (user-account
   (name "guix")
   (comment "Guix System")
   (group "users")
   (supplementary-groups '("wheel" "netdev" "audio" "video")))
   %base-user-accounts))

 (packages (cons*
  gnome-tweaks kakoune
  nss-certs tree nix
  firefox font-google-noto
  font-google-noto-emoji
  font-google-noto-sans-cjk
  font-google-noto-serif-cjk
  font-awesome %base-packages))
 
 (services (cons*
  (service openssh-service-type)
  (service bluetooth-service-type)
  (service xfce-desktop-service-type)
  (modify-services %desktop-services
   (guix-service-type
    config =>
    (guix-configuration
     (inherit config)
     (substitute-urls (cons*
      "https://substitutes.nonguix.org"
      %default-substitute-urls))
     (authorized-keys (cons*
      (local-file "./signing-key.pub")
      %default-authorized-guix-keys))))))))

I am currently on a low-end laptop, as my device has broken down. It runs on 4GB of RAM, and GNOME is pretty heavy on this device. I am looking for a custom WM setup based on Wayland preferably (river, hyprland, sway or dwl). I do not want any fancy shortcuts for terminal or any other app. I want to be able to use a launcher and toggle between workspaces. I want snapping and multi-window gestures just like how it works on GNOME. I would appreciate shortcut icons for shutdown, wifi and sound. And last but not the least, I want to be able to control brightness and light/dark mode.

Can anyone recommend me how I can start setting up a WM in this config file? What do I need to add, apart from the WM itself?

12
 
 

a proposal of automated provisioning of secrets on guix with sops

13
 
 

Old post but better have it in this community

14
 
 

Old post, but better have it in this community

15
1
submitted 9 months ago* (last edited 8 months ago) by HulkSmashBurgers@reddthat.com to c/guix@lemmy.ml
 
 

Edit: Turns out for what I'm trying to do (mount luks encrypted raid after start up) only needs the device mapping for the raid drive and not a file-system object.

So I luks encrypted the raid and call a script to open the vault and mount it when I need to.


In my system config file I added a raid drive like so:

(mapped-devices (list (mapped-device
                                     (source (uuid
                                                  "205e5caa-694f-4457-a2a1-8affa3536e75"))
                                     (target "guix")
                                     (type luks-device-mapping))

                                  (mapped-device
                                     (source (list "/dev/sdb1" "/dev/sdc1"))
                                     (target "/dev/md0")
                                     (type raid-device-mapping))))

(file-systems (cons* (file-system
                                  (mount-point "/")
                                  (device "/dev/mapper/guix")
                                  (type "ext4")
                                  (dependencies (list (list-ref mapped-devices 0))))

                               (file-system
                                  (mount-point "/mnt/nas")
                                  (device "/dev/md0")
                                  (type "ext4")
                                  (mount? #f)
                                  (dependencies (list (list-ref mapped-devices 1)))) %base-file-systems)))

I'd now like to luks encrypt the raid drive but I'm not sure how to go about doing it. Do I simply make a another mapped-device object, specifying the raid drive uuid and "/dev/md0" as the target:

(mapped-device
   (source (uuid
                {raid uuid}))
                (target "/dev/md0")
                (type luks-device-mapping))

and then pass that as a dependency to the raid file system object?

Thanks

16
 
 

If you need to run Grafana on the Guix System this post is the right place. In this example we'll setup Grafana to read metrics from the same machine it's run upon, but you can adapt this to use a remote datasource.

17
18
 
 

I'm developing a Guix channel with a library of community maintained Shepherd Services for self-hosted software that is not yet guixable.

For now there are Grafana, Prometheus and Conduit but it would be amazing if you'd like to contribute some services or even just test the existing ones and report any bug.

19
 
 

TL;DR: Guix Packager is a new web user interface for defining Guix packages, which should help make Guix more approachable!

You can check out the web app here.

Project repository here.

20
 
 

Compare this to this 2020 blog post, which had the source binary at 60MiB

https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25/

21
 
 

I thought this was really cool: it's backed by a non-profit and one of their supported distros is Guix System!

22
23
 
 

I had installed Guix with Mate as my DE but a big part of my desktop experience is having Plank as my dock. I don't see it in the package list on the Guix website. Am I mistaken or is Plank not usable on Guix ? Any recomendations for alternatives ?

24
 
 

My error message when trying to run minikube from a guix shell is bash: /gnu/store/ixry3pdrrb52mdiypmlrdn19c7gcc5r4-minikube-1.31.2/bin/minikube: No such file or directory

According to ldd and file, it looks like everything is hunky dory as far as where all my linkers are pointing. I'm also including an strace further below. I've run out of options for debugging this and would welcome any feedback and suggestions!

ldd shows what looks like clean RPATHs:

 /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 (0x00007f9299546000)
	libpthread.so.0 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libpthread.so.0 (0x00007f9299541000)
	libresolv.so.2 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libresolv.so.2 (0x00007f929952e000)
	/lib64/ld-linux-x86-64.so.2 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/ld-linux-x86-64.so.2 (0x00007f9299744000)

Here's file:

/gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/ld-linux-x86-64.so.2, Go BuildID=aBEWfkldQzf4mlUsITym/a6aHGcy9omlZPRTvR8ta/1-lUpI-DPce979zTpJQy/jMuF_0TfmkRW2e3NFst2, not stripped

And strace:

Error:
strace /gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube
execve("/gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube", ["/gnu/store/xhyv7k87gy9k368yrv6fa"...], 0x7ffc5f304810 /* 109 vars */) = 0
brk(NULL)                               = 0x50b7000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2daf26c000
***
SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x400318}
***
+++ killed by SIGSEGV +++
Segmentation fault
    (define-module (worldofguix packages minikube)
      #:use-module (guix packages)
      #:use-module (guix download)
      #:use-module ((guix licenses) :prefix license:)
      #:use-module (guix gexp)
      #:use-module (gnu packages gcc)
      #:use-module (gnu packages commencement)
      #:use-module (nonguix build-system binary))

    (define-public minikube
      (package
       (name "minikube")
       (version "1.31.2")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://github.com/kubernetes/minikube/releases/download/v" version "/minikube-linux-amd64"))
                  (sha256
                   (base32
                    "16vi7b6vkapc2w3f2yx8mzany5qqvrgvlshc58dambcn2q2hra48"))))
        (build-system binary-build-system)
        (inputs `((,gcc "lib")
              ,gcc-toolchain))
        (arguments
         (list
          #:substitutable? #f
          #:patchelf-plan
           #~'(("./minikube"
              ("gcc" "gcc-toolchain")))
          #:install-plan
          #~'(("minikube" "bin/"))
          #:phases
          #~(modify-phases %standard-phases
              (replace 'unpack
                (lambda _
                  (copy-file #$source "./minikube")
                  (chmod "minikube" #o644)))
              (add-before 'install 'chmod
                (lambda _
                  (chmod "minikube" #o555))))))
        (home-page "https://minikube.sigs.k8s.io")
        (synopsis "minikube is a tool for running local Kubernetes clusters.")
        (description "minikube implements a local Kubernetes cluster. minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.")
        (license license:asl2.0)))

    minikube
25
 
 

Does anyone have experience in flashing the Pinebook Pro EMMC with Guix? The images provided on the website don't boot on my SDCard with TowBoot.

I flashed it multiple times with

dd if=guix-latest.img of=/dev/mmcblkX bs=4M status=progress oflag=sync

Am I supposed to do something specific?

view more: next ›