I’m not a bot.

  • 4 Posts
  • 13 Comments
Joined 6 months ago
cake
Cake day: January 21st, 2025

help-circle
  • Btw, here’s how you install distrobox on Guix.

    First, install rootless Podman: https://guix.gnu.org/manual/devel/en/html_node/Miscellaneous-Services.html#Rootless-Podman-Service.

    You need to edit your /etc/config.scm or where ever you store your system config. Import the right modules/services, add your user to cgroup, add iptables-service-type to your services, add rootless-podman-service-type and configure it.

    (use-service-modules containers networking …)
    (use-modules (gnu system accounts))  ;for 'subid-range'
    
    (operating-system
      ;; …
      (users (cons (user-account
                    (name "alice")
                    (comment "Bob's sister")
                    (group "users")
    
                    ;; Adding the account to the "cgroup" group
                    ;; makes it possible to run podman commands.
                    (supplementary-groups '("cgroup" "wheel"
                                            "audio" "video")))
                   %base-user-accounts))
      (services
        (append (list (service iptables-service-type)
                      (service rootless-podman-service-type
                               (rootless-podman-configuration
                                 (subgids
                                   (list (subid-range (name "alice"))))
                                 (subuids
                                   (list (subid-range (name "alice")))))))
                %base-services)))
    
    

    Then of course you run guix system reconfigure /etc/config.scm.

    Now you can do a simple guix install distrobox. If you install distrobox first, you don’t end up using rootless podman and you run into more problems that way. (You have to use distrobox --root.)

    After that command, everything should work like normal. Enjoy. 🍻

    distrobox create --image docker.io/library/archlinux:latest --name arch-dev
    distrobox enter arch-dev
    

  • Btw, here’s the guix home configuration file I used to add the contents of flatpak.sh into my ~/.profile, in order to update the XDG_DATA_HOME env var.

    (use-modules (gnu home)
                 (gnu home services shells)
                 (guix gexp)
                 (gnu services))
    
    (home-environment
      (services
        (list
          (simple-service 'flatpak-service
                          home-shell-profile-service-type
                          (list (local-file
                                  (string-append (getenv "HOME") "/.guix-profile/etc/profile.d/flatpak.sh")
                                  "flatpak.sh"))))))
    

  • guix shell and guix shell container for dev environment isolation

    Yeah! This is one of the features I’m most interested in. I haven’t gotten to using this feature yet, but I was curious about it.

    Let’s say I’m working on a project that requires Go, Node, maybe some C library, and GNU Make. Seems like I would be able to use guix shell for this, right? Great.

    Now if a friend wanted to work on the project, could I share my guix shell configuration with him? (Assuming he’s also a Guix user.)

    I’m currently using distrobox.ini plus distrobox assemble for this kind of workflow, but of course this isn’t totally reproducible.




  • Hardware must be well supported in fully-libre-land … had to go nonguix pretty much right away.

    Yep, same here. I started with nonguix. I didn’t realize it was easy to add additional channels.

    Profound meditation and enlightenment on the essence of Scheme is a must. I had one of those ‘no, this is where you don’t want a closing brace’ moments and my zen was blown out of the water.

    Aaaah. I juuuust had this happen to me. Took me a bit to balance the parens again! 😂 Although, so far Scheme seems nicer than Nixlang. I’ve also had curiosity to learn a functional language, so Guix gives me a reason to learn about functional programming.


  • Yep. Totally using nonguix. I’m trying out Guix for the reproducibility and system management, not (just) for the FOSS software.

    From my initial research, I thought that Guix was only going to allow 100% FOSS software. But I’ve learned that’s not the case. It’s actually pretty easy to add additional channels in order to install non-FOSS software. The third-party channels integrate nicely!

    I added nonguix and also a channel for Tailscale!

    (list (channel
            (name 'nonguix)
            (url "https://gitlab.com/nonguix/nonguix")
            (branch "master")
            (introduction
              (make-channel-introduction
                "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
                (openpgp-fingerprint
                  "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
          (channel
            (name 'tailscale)
            (url "https://github.com/umanwizard/guix-tailscale")
            (branch "main")
            (introduction
              (make-channel-introduction
                "c72e15e84c4a9d199303aa40a81a95939db0cfee"
                (openpgp-fingerprint
                  "9E53FC33B8328C745E7B31F70226C10D7877B741"))))
          (channel
            (name 'guix)
            (url "https://git.savannah.gnu.org/git/guix.git")
            (branch "master")
            (introduction
              (make-channel-introduction
                "9edb3f66fd807b096b48283debdcddccfea34bad"
                (openpgp-fingerprint
                  "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))
    






  • Are you also scared of databases and prefer storing things in raw txt files?

    Yes, actually. 😅 I can’t manage a database for more than a few weeks before I screw it up or want to easily edit something and stop using it.

    I don’t think databases are bad. I think I’m too much of a fuckup to manage one.