

Uh, sorry. I don’t follow. Is there a way to tell all programs to write to one file in Guix?
I’m not a bot.
Uh, sorry. I don’t follow. Is there a way to tell all programs to write to one file in Guix?
I’m in Guix Linux land right now and I miss journald
. I’m supposed to wade through all the log files in /var/log
myself??
Btw, here’s how you configure HiDPI for GNOME. Unfortunately, my laptop has a hydeepeeay display, so it’s not fully compatible with Linux. (It’s 3840x2160, so at least 2x scaling is possible, hypothetically.)
Commands from the Arch Wiki, but also adds cursor scaling:
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Gdk/WindowScalingFactor', <2>}, {'Gtk/CursorThemeSize', <48>}]"
$ gsettings set org.gnome.desktop.interface scaling-factor 2
The default GNOME configuration is some how missing that. I didn’t have to do that in Arch, but I do in Guix. IDK. Anyway, if you don’t run those commands certain apps will be tiny, including a tiny mouse cursor.
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.
Is there a federated Discourse? https://www.discourse.org/
I’d like to see that.
Because it’s awesome. Join us… join us… join us…
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")))))
use something like distrobox, bottles, flatpak to run extra software
YES! That’s my plan! I think I just figured out how to configure flakpak
a little better.
These are only part of the steps needed: https://flatpak.org/setup/GNU Guix
You also need to source ~/.guix-profile/etc/profile.d/flatpak.sh
in order to get the desktop icons to show up in the GNOME app launcher. (Using guix home
for that!)
Need to work on getting distrobox setup next. I was able to guix install distrobox
, but it requires some extra configuration apparently.
Neat. Although, I wanted to go through the installation pain experience. Eventually, I’m hoping to run Guix on a server. I’m starting with my laptop first.
Flatpak Zoom had no camera access.
I used Flatpak Zoom for all my job interviews recently. Camera and mic worked flawlessly.
Aaaah: https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html
# Write a manifest for the packages specified on the command line. guix shell --export-manifest gcc-toolchain make git > manifest.scm
Heck yeah!