IRC channel logs

2021-11-06.log

back to list of logs

<mekeor[m]>hi ngz, nice to see you :)
<mekeor[m]>i don't know much about the go-importer. but to me, it sounds worth a bug-report, what you're telling :)
<ngz>mekeor[m]: You may be right. I'll send a bug report tomorrow. For now, sleep time.
<ngz>Thanks
<mekeor[m]>good night, ngz :)
<KarlJoad->Does GuixSD have a way to query the running system to determine that GuixSD is running? I want Emacs to be aware that it is running on GuixSD. On NixOS, I cat /etc/os-release, which does not exist on my Guix VM.
<anjan>nckx: that sounds like the exact issue I was having and will prolly fix it for me
<anjan>is there anyway I can test this?
<nckx>Mm, not ‘easily’…
<nckx>Trust aside I could build you an image but then you'd still be deploying the unpatched kernel to /mnt, so I'd have to set up a channel, and… ugh. Unless I'm missing a more obvious path it's not pretty.
<nckx>Now, you can add custom CONFIG_ lines to your system .scm, anjan, and the installer lets you edit it before deployment. Although its error handling is… not known to be great, so I can't even vouch for it handling a typo gracefully without immediately crashing. But it's an option, and probably the easiest.
<nckx>It's ‘explained’ in the Guix cookbook but it's not drop-in simple, I think, and worse, I've never used that method so I'm useless to help.
<podiki[m]>KarlJoad-: in shell scripts I've been using `if [[ -s /run/current-system/profile ]]; then`
<podiki[m]>as that's pretty guix system specific; maybe there's something more emacs specific you can try (or you can always use host name, I use that too but less general)
<KarlJoad->podiki[m]: I guess that works. I am slowly trying to switch from NixOS to GuixSD, and my Emacs config will have to reflect that. NixOS does not have that `profile` file, so that _should_ work.
<KarlJoad->I can't use hostname, because my computers always get the same hostname, regardless of OS.
<excalamus>good evening, Guix
<podiki[m]>KarlJoad-: there was another option that came up here (if you search the irc logs), but that's what I use for my simple cases
<KarlJoad->podiki[m]: I feel like there would be a way for Guix to query the running system, to determine the version of the running OS. Obviously on NixOS this would error out, as no guix is installed there.
<nckx>KarlJoad-: Apart from distro sniffing being bad practice (but this is for your own config so I won't bore you with my 27-slide lecture), I'd second podiki[m]'s answer as the probably least worst one. Maybe /var/run/shepherd existing, but that could in theory be left over from a previous boot.
<podiki[m]>well you can have guix as a package manager too (like nix), so you need to test for guix system stuff
<podiki[m]>(i.e. not just a 'guix' command or some output it can give that works on foreign distro too)
<KarlJoad->nckx: I'm already committed to NixOS/GuixSD, so not real worries. I occasionally port the config for VMs, but I know that those do not use Guix/Nix. Although a slide deck with reasoning would be interesting.
<nckx>The running OS doesn't have a version. There's guix system describe. I wonder what that does if the System isn't running. Probably something weird.
<podiki[m]>i have a guix on foreign distro handy, let's see...
<podiki[m]>backtrace, with 'no system generation, nothing to describe' message
<nckx>OK, ‘guix system describe’ looks at /var/guix/profiles/system, so it would just report that, even if you hadn't booted Guix System per se. I *think*.
<nckx>podiki[m]: Thanks! But that's because there never was a system, right?
<podiki[m]>correct
<nckx>I don't know if ‘dual-booting’ NixOS & Guix System on the same file system works in practice (should! probably!) but that directory would still exist if you'd booted NixOS.
<nckx>(Not GuixSD by the way ☺ Old legacy name.)
<podiki[m]>and then same with /run/current-system? or is that created by booting?
<KarlJoad->The /run directory should be created at run-time. On NixOS, /run is a tmpfs.
<KarlJoad->nckx: I would wipe the disk once I finally make the switch. Just getting used to Guile, Guix, Gexps, etc. before I make a switch. Need to test my desktop hardware next.
<nckx>KarlJoad-: Yes, but it's not on Guix.
<nckx>Of course that wouldn't matter in your case but it's a bit, hm ☺
<KarlJoad->Interesting... Is there any particular reason it is not?
<nckx>That's not really a question I can answer.
<nckx>‘It isn't.’
<nckx>For one, we don't run systemd, which started doing that (probably not uniquely, but it's the most common example).
<nckx>I suspect that's the main reason that NixOS ‘does’ that.
<KarlJoad->Makes sense.
<drakonis>nckx: i'd say that trying to dualboot both on the same filesystem might get messy
<drakonis>highly messy.
<drakonis>you can have something like subvolumes instead
<drakonis>so they don't interfere with each other's presence
<drakonis>speaking of which, maybe i should go and set guix up as a subvolume instead
<podiki[m]>simple question for working on a package def, if I do guix build -f thefile.scm, how come that won't find functions from an srfi module (which I did use-module with it)
<singpolyma>podiki[m]: probably you are trying to use the module in a build step
<podiki[m]>yes
<singpolyma>Build steps run in their own isolated interpreter, not in your module
<podiki[m]>how do I do that properly then for debugging?
<singpolyma>So you have to use module inside them
<podiki[m]>ah
<podiki[m]>okay
<podiki[m]>and that's just for how guix build works when loading a file, because of how that loading and running works rigth?
<singpolyma>That's always how build steps work because they run in a different process
<podiki[m]>but different when you are defining say a whole build-system, then it forms its own module (sorry, little loose with the guile terminology still)
<podiki[m]>?
<nckx>drakonis: Yeah, we were (somewhat unplannedly on my part) discussing that in PM.
<nckx>Like, I'm pretty sure dual-booting Guix and NixOS will give you a NixOS /etc/os-release under Guix and other super fun things that nobody actually wants.
<nckx>But there is growing interest in improving that: https://issues.guix.gnu.org/51547
<nckx>I kind of rely on mutable /etc now but I could work around it (and would probably be grateful in the end).
<drakonis>that sounds like a hellworld
<drakonis>installing both on root
<drakonis>i don't think it'd even work if you installed guix on top of nixos
<breathe>Hello - I'm running Guix SD, and I'm having trouble executing binaries which are not installed in /gnu/store/. I am able to run the binary when I'm inside the directory which contains it by running `name-of-binary`, but then when I attempt to run `./name-of-binary` I get the error "bash: ./node-local: No such file or directory
<breathe>If I attempt to run the binary from anywhere outside that directory, I get the same issue.
<breathe>I've also tried adding the binary-containing dir to my $PATH and I get the same error
<breathe>Ah I see from some IRC logs that I may need to set up a special file service so the binary can see the dynamic linker
<M6piz7wk[m]>Is there any way to interact with the emacs configuration from guix?
<M6piz7wk[m]>e.g. i want it to start `emacs-evil` on startup
<M6piz7wk[m]>or preferably ask the user what do they prefer on startup.. but babysteps
<jgart>What do people think of the suckless packages in guix upstream being extended with arguments so that they can take patches? So, dwm would be a variadic function that could take any number of patches as args, allowing a user to create their own dwm fork that way. I'm thinking of dwm-flexipatch here but built on guile instead: https://github.com/bakkeby/dwm-flexipatch
*M6piz7wk[m] decided to use projectile-like project instead
<M6piz7wk[m]>better implementation then using guix for this probably
<M6piz7wk[m]>jgart: love that idea do itttttt
<M6piz7wk[m]>The more i can define from `guix system` the better
<jgart>M6piz7wk[m], I think there might be some guix home configs out in the wild for configuring emacs
<jgart>have you seen those?
<M6piz7wk[m]>would probably make that into a separate channel so that it allows orienting the work more.. i dislike guix being all one huge channel that does everything
<M6piz7wk[m]>nope.. was kinda scared to look at guix home so far
<jgart>Yeah, smart move
<jgart>might be best to first get comfortable with guix in general then dive into guix home
<jgart>I haven't really started using it yet
<jgart>But I think I would like to have a hybrid setup
<M6piz7wk[m]>but i prefer the project file tbh.. i already have the file hierarchy adapted for it and i don't want to force contributors to use guile to handle emacs
<jgart>I would like guix home to only manage some things but not everything
<M6piz7wk[m]>like i can do both in my file hierarchy~
<jgart>M6piz7wk[m], https://bpa.st/733A
<jgart>curated suckless patches as guile variables might be fun
<jgart>with a define-fork function
<M6piz7wk[m]>yep
<jgart>the above link is just a proof of concept
<M6piz7wk[m]>i like the build-way of doing those though.. like defining all of this functionality at build time
<M6piz7wk[m]>instead of patches that has to be maintained
<jgart>what do you mean?
<jgart>how would you get the functionality of the patches into your software?
<M6piz7wk[m]>like linux where you just have a config file that decides what is built
<M6piz7wk[m]>just define a boolean value and then make the build system to read it
<M6piz7wk[m]>feature gates basically
<jgart>Oh so you mean, like i3wm
<M6piz7wk[m]>i am not aware of any WM that does this
<M6piz7wk[m]>i just hate fixing broken patches :p
<jgart>What I was thinking was to curate patches that are know to work well
<jgart>and then, the combinatorial explosion from those give you a nice assembly kit for creating a fork declaratively
<M6piz7wk[m]>yep seems as good idea just feels like a ticking bomb to me which parts break after each update O.o
<jgart>you can mix and match as you please
<jgart>sure, that's possible
<jgart>We'd have to maintain it like all the other software that might have bugs
<jgart>from updates
<M6piz7wk[m]>hmm i prefer QA to handle those instead of constant fixing tbh
<jgart>might be good to have unit tests :)
<M6piz7wk[m]>like you know something integrated that would throw out a test failure that has to be fixed before merging
<jgart>property based testing for combining suckless patches in myriad ways ha
<jgart>M6piz7wk[m], what window manager do you currently use?
<M6piz7wk[m]>StumpVM with fallback to XFCe4
<jgart>cool, stumpwm is greate
<jgart>have you tried using stumpwm with the common lisp libraries packaged in guix?
<M6piz7wk[m]>dunno kinda disatisfied with all WMs i tried
<M6piz7wk[m]>not flexible enough for my liking
<M6piz7wk[m]>and not modulized
<jgart>might be a cool way to hack on your own config with guix and sbcl libs
<M6piz7wk[m]>jgart: nope didn't get to that part yet.. i want to first finish working on my system management
<jgart>check out these stumpwm configs: https://github.com/kitnil/dotfiles/search?l=common-lisp
<M6piz7wk[m]>and making guix more user-friendly to get my team there to work instead of me on my things :p
<jgart>kitnil is a guix and stumpwm user
<M6piz7wk[m]>jgart: ye was looking at it.. but would just prefer doing like toggle switches that enable me to have functionality on a standardized layout
<jgart>I think one way that guix can be better fit for production use is if libraries are up to date. That requires a lot of volunteers and working together.
<M6piz7wk[m]>but then i hate having a menu etc.. on my desktop i want everything keybinded and integrated in the wallpaper
<M6piz7wk[m]>jgart: and that requires guix to be more use-friendly and efficient :p
<jgart>Maintaining rust libs in guix is a lot of work, for example. Even python libs are a lot of work.
<jgart>We currently don't have a solution to manage poetry.toml builds, for example
<M6piz7wk[m]>python is always too much work so i wouldn't even bother
<jgart>That's one way guix can improve with python
*M6piz7wk[m] never used poetry in his rust
<jgart>What do you mostly use for work?
<jgart>rust?
<M6piz7wk[m]>i don't have hard preference for a programming language it depends on what the spec demands
<M6piz7wk[m]>but in general i prefer standardized and spected project that allows me to build the project parts in different langs independently with a multiple methods to do bridge to frontend and backend
<M6piz7wk[m]>since i take personal pride in my software working everywhere :p
<KarlJoad->If I use guix-home to install some software, do I need to manually edit my PATH myself? Right now, I know the software is present (.guix-home/bin/mu works), but it is not being resolved on the command line.
<M6piz7wk[m]>KarlJoad-: Probably better question for the person who maintains guix-home O.o
<KarlJoad->M6piz7wk[m]: Makes sense. It's also pretty new, so I am not surprised if there are issues.
<libry>New user here. Is it possible to install a newer version of gnome-shell than what comes in the default repo?
<libry>building it sounds like a headache and the gnome devs suggest against it from what I've read.
<excalamus>libry, you'd need to build it yourself most likely. Probably not a good idea for a first attempt at packaging.
<M6piz7wk[m]>libry: you can apparently specify the version using e.g. `guix install vim@8.2.3487`
<libry>i'll test that out now!
<libry>and i agree excalamus
<M6piz7wk[m]>would be cool if we could do `guix install vim@jjsjkaghfhfd5h4s65dfh4` to install the commit though
<excalamus>using version, I think, will only work if there's a definition. You can check that with `guix edit your-package`
<M6piz7wk[m]>yep the version has to be defined
<excalamus>you might be able to copy a definition from there and get it to build with an updated commit hash, etc.
<libry>It appears as though all these definitions in gnome.scm are 3.34.2
<KarlJoad->I cannot seem to find documentation about this, but can Guix System accept a password to use for a user? Not an initial password, but their normal password. NixOS has this option as hashedPassword.
<M6piz7wk[m]>libry: Why do you even need different version?
<excalamus>but I doubt that would work for gnome. But, great thing on Guix is you can try in guix shell
<libry>pop-os shell needs a couple versions greater than 3.34
<libry>I think 3.38 or something
<libry>I like gnome and tiling and it was what I was using on fedora. i'm making my way over to guix and wanted to copy a bit of my setup
<M6piz7wk[m]>KarlJoad-: there is an example to use `(crypt)` which afaik does that but i didn't have time to mess with it yet
<M6piz7wk[m]>libry: I see.. then i would file a bump request or tried to change the version manually
<podiki[m]>newer gnome is in core-updates-frozen (or -batched-changes) so it is coming
<podiki[m]>you can install different versions often with package transformations
<podiki[m]>I do that for some to have a current git or other version
<libry>Pokiki can you point me in the right direction in the manual?
<podiki[m]> https://guix.gnu.org/en/manual/devel/en/html_node/Package-Transformation-Options.html
<podiki[m]>they are quite awesome (and you can use them in package manifests too)
<libry>Much appreciated. I'll take a look at that and see how far I can get after I'm finished with my initial setup here. Really enjoying this distro
<libry>thanks for the help all
<M6piz7wk[m]>npnpnpnpnp~
<podiki[m]>package transformations won't do much for something like gnome, but for individual packages can be easy way to get different versions or branches
<KarlJoad->M6piz7wk[m]: https://guix.gnu.org/en/manual/en/guix.html#index-password_002c-for-user-accounts
<KarlJoad->This seems to imply that you should only use it for your initial password, as (crypt) takes in the plaintext to encrypt as well.
<KarlJoad->Rather hash in this case.
<M6piz7wk[m]>dunno x.x but if you figure it out then let me know i also need way to handle user passwords
<KarlJoad->M6piz7wk[m]: Don't wait on me. I am only working on this now because I am avoiding my homework. I would like to be able to declaratively manage my user's password, just like on NixOS, because I am lazy and do not want to have to remember to change my password.
<M6piz7wk[m]>but that was my excuse to avoid the school you stealer!~
<KarlJoad->Sorry bud. :P
<excalamus>Guix is so cool. For blogging about it, I realized that I should give the guix describe so that people could do a time-machine and follow along at any point in the future.
<libry>That's a great idea. Also TIL guix time-machine
<podiki[m]>yup
<libry>I'd use that functionality for a tutorial, or for trying out others configurations.
<podiki[m]>and you can pin your channels to specific commits to make everything snapshotted
<libry>too much to learn, too little time D:
<podiki[m]> https://guix.gnu.org/cookbook/en/html_node/Reproducible-profiles.html
<excalamus>podiki, I'll keep that in mind. I've been building using the bare-bones first example that the docs give. I really need to start using a channel!
<excalamus>...and I need to start using a manifest. So much to learn, one step at a time
<libry>Ah, so similar to a Puppet manifest, in that it describes the state of a configuration
<excalamus>yes
<libry>neat
<libry>Does it normally take a bit of time to build the profile when installing packages?
<libry>or should I be doing something more effeciently for new packages?
<libry>i'm just using guix install packagename atm
<libry>seems to take at least a minute for that profile to build for X amount of packages.
<excalamus>I'm just using guix install my-package, too and I've not had issues with long builds. occasionally the spaceship blasts off
<excalamus>but not often
<anjan>hi, Im trying to enable modules as per this patch on the mailing list: https://issues.guix.gnu.org/51619 I found this: https://guix.gnu.org/en/blog/2019/creating-and-using-a-custom-linux-kernel-on-guix-system/
<libry>hm, maybe it's just my computer then
<anjan>where do I put this?
<anjan>keep in mind, I need those modules to even boot into my computer
<anjan>which file do I edit so that guix compiles linux-libre with those modules enabled during the install
<excalamus> I'm on a dell xps-15 9550. The sticker says i7
<libry>thinkpad x230 :P older boi
<jgart>Has anyone run into something like this before?
<jgart>"st.info", line 236, terminal 'st-bs-256color': /homeless-shelter/.terminfo: permission denied (errno 2)
<jgart>I'm trying to run this before installing https://github.com/mcaimi/st#running-st
<excalamus>I need to head to bed, but simon on the mailing list was super cool and helped me figure out how to clean up guix command output in emacs org, so I'm ready to start blogging again. Also looks like org mode has an async babel since may. Exciting times.
<excalamus>
<jgart>The current st package in guix is broken since the terminfo entry was never compiled and just disabled
<libry>anjan it looks like you can feed the make-linux-libre function a configuration file, or specify configurations directly in the function?
<anjan>libry: so Im at the install. I have partitioned and I chose edit the config
<anjan>I have ssh'ed in
<anjan>which file do I edit and put that info in?
<libry>oh!
<libry>do you have access to the guix utilites?
<libry>guix edit?
<libry>for example?
<anjan>guix edit returned nano
<anjan>so I guess ya
<libry>okay, so if you do
<libry>guix edit linux-libre
<libry>that should get you to the configuration file you need to edit.
<anjan>oh good
<anjan>so I just add that stuff in
<anjan>but when it goes to install, will it compile with that config and install linux libre with that config? li
<jgart>Oh I see why. That tries to write to $HOME
<anjan>libry*
<jgart>and it should go in the store/ in /share/ instead
<libry>hmm, i'm not entirely sure anjan
<anjan>;_; Ive been trying to install guix for like 2 days now
<anjan>Ive tried 3 years ago lol
<libry>i don't have any first hand experience with this unfortuantely
<anjan>I just wanna use this distro lol
<libry>i totally understand, it sucks to not be able to use something due to something out of your control like coreboot/libreboot incompatability
<libry>i wonder if i'll run into any issues with my T400 that's librebooted
<libry>anjan you might try the mailing lists as well
<anjan>libry: so the boot image boots up fine
<anjan>it's just after I install, it doesnt boot
<anjan>Im wondering if thats cause I encrypted everything
<anjan>libry: do you know if it's possible to encrypt after the install? on GUI li
<anjan>libry:
<apteryx>anjan: *whole* disk encryption is supported; but don't try to put your /boot on a second unencrypted partition
<anjan>apteryx: dont or do
<anjan>cause I dont have a seperate boot partition
<apteryx>ok; then it should work
<apteryx>where does the boot hang?
<anjan>on grub
<apteryx>do you see GRUB ?
<anjan>I press enter on the boot into linux libre
<anjan>and then all I see is the grub background
<anjan>and I dont boot in
<apteryx>perhaps a GPU driver issue; what graphic card do you use?
<anjan>apteryx: intel
<apteryx>ok; that's usually well supported
<apteryx>so grub prompts for your LUKS password; then the linux-libre kernel prompts for a second time, right?
<anjan>apteryx: coreboot prompts me for my luks password
<anjan>before grub
<anjan>they prompt me twice
<anjan>once for home and once for / Im assuming
<apteryx>ah, maybe that's your problem
<nckx>anjan: What if you type your passphrase twice, again, blindly, once the kernel boots?
<apteryx>you have different encryption for / and home?
<anjan>nckx: I can try that
<anjan>ok Ill install guix
<anjan>sigh, I already nuked debian. nothing to lose I guess
<anjan>apteryx: ya, theyre on different partitions
<libry>it seems like adding the appropriate modules to the make-linux-libre configuration on installation is your best bet if the issue is the coreboot/libreboot LUKS/grub handoff
<nckx>I thought you'd already installed Guix.
<libry>anjan if you can spin up a VM i'd try that first, see if you can manipulate the make-linux-libre functions to enable kernel modules.
<anjan>I set the luks password to 12
<anjan>libry: ya, that
<anjan>the docs for guix are pretty good
<anjan>but I dont think I can grok it
<anjan>if this doesnt work, Im waiting till that patch is merged
<jackhill>jgart: ok, yes, I built the newer janet using prefix instead of destdir and indeed it improves, at least, the pkg-config file
<jackhill>by improve, I mean they have the full store path rather than just /include/… and /lib/…
<nckx>I'm working on a v2 that I think can be merged ever more easily (it won't conflict with the SIMPLEDRM driver, even though that's just been added and nothing uses it, it's still cleaner).
<nckx>anjan: ☝
<anjan>thanks for debugging nckx
<anjan>Ive always wanted to use a fully free distro
<anjan>but they were never as polished as other ones....I guess cause people like me never took the effort lol
<nckx>That's ‘easier to upstream’, not easier for you to apply locally, I'm afraid.
<jgart>I think I fixed st in guix!
<jgart>I'll send a patch
<nckx>Thanks!
<jgart>terminfo entry wasn't compiled in the package definition and would cause any programs with colors to fail to open
<libry>nckx do you know where anjan would put the extra kernel modules in make-linux-libre definition?
<nckx>No modules?
<anjan>well, that and how do I get the installer to compile the kernel with my config
<jgart>jackhill, cool! send a patch for it
<nckx>But no, sorry, I find the dox unclear myself and don't use make-linux-libre myself.
<jgart>jackhill, what should we do about jpm?
<libry>sorry maybe modules is the wrong terminology
<libry>anjan it looks like if you provide that definiton with the extra confgiurations you need, it should build the kernel with those definitions.
<nckx>Oh, you mean the CONFIG_ items? It's in the cookbook if you can get that example to work.
<nckx>Yes.
<anjan>hmmmmmm
<anjan>ok
<libry>so no building on your end will be nessecary
<libry>but you will have to grok that mess ahah
<anjan>is there anything like arch-chroot for guix
<anjan>from the livecd
<anjan>that would be so much easier than getting the installer to do what I want
<nckx>There's no chroot helper for Guix if that's what you mean. Why do you need to chroot?
<libry>if guix works as i think it does, using a chroot wouldn't do anything for you as guix uses that function to build the kernel on install
<anjan>so Im thinking, I boot into the live iso
<anjan>chroot in to my installed guix
<anjan>change and compile linux-libre with the modules I want
<anjan>install it
<anjan>reboot
<anjan>y'know?
<nckx>Mount /mnt, edit your system configuration in /etc/mnt, run guix system init /mnt/etc/your.scm /mnt, unmount /mnt, reboot.
<anjan>the "just type in your luks password even tho you dont see anything" worked
<anjan>OMG IM AT A TTY
<nckx>Perfect.
<anjan>GUYS
<anjan>I DID IT
<libry>lmao
<anjan>I INSTALLED GUIX
<nckx>:)
<anjan>IM CRYING
<libry>good job!
<nckx>It's not that bad :(
<anjan>IM A PRO HACKER NOW
<anjan>OK nckx how do I apply and test your patch
<nckx>Good, now you can help improve Guix, because I giggled when you said ‘polished’ ☺
<anjan>on an installed guix image!!!!
<libry>i need to figure out how to contribute..
<libry>time to learn scheme i guess
<anjan>nckx: you there?
<libry>if nckx goes afk, that patch will show you exactly what files nckx removed, and which ones he added
<libry>sorry what lines***
<nckx>anjan: Sorry, I'm really tired and was actually off to bed (it's 06:40 here and I need to get up at 09:00).
<libry>So you could always manually add and remove
<nckx>What libry said.
<anjan>no worries nckx, Ill grok the docs
<anjan>thanks so much you guys
<anjan>I dont think I can fully communicate how happy I am to use guix
<anjan>It's my dream distro hehe
<nckx>Start with https://guix.gnu.org/en/manual/devel/en/guix.html#Contributing
<nckx>but
<libry>:) glad i could be of help. hope you get it working in its entirety
<nckx>I'll be rebuilding 5 kernels whilst I sleep (I'm amazing), and if that goes well I'll send a slightly different v2 patch.
<nckx>Both work equally well.
<nckx>But this one will be more future-proof.
<nckx>Anyway, good nightzz.
<libry>well i'll buy you a coffee when i don't run into any issues on my librebooted t400
<libry>thanks nckx
<jgart>nckx, for tomorrow if you have the time: wdyt about where sc-im should go? http://issues.guix.gnu.org/47852#16
<jgart>this patch got delayed because we couldn't decide
<anjan>ya thanks nckx Ill send feedback if this fixed my bug tonight probably. Im so excited I might pull an allnighter playing with guix
<jgart>there's a new version out but I'd like to figure out where people would like to see sc-im land. what module should it be in?
<jgart>libry, I host a guix packaging meetup at the end of the month. We usually work on packaging or upgrading something and then send a patch to upstream at the end of the meetup. Feel free to join. Last meetup we worked on the guix cookbook.
<jgart>I usually announce the meetups on guix-devel mailing list
<libry>oh that sounds great!
<libry>I'm signed up to that so hopefully i get that e-mail
<libry>thanks for the heads up
<libry>Is there any pre-requisites I should touch up on?
<jgart>not really
<jgart>we usually pair program on a Guix System server
<jgart>over tmate
<jgart>so everything is installed there
<libry>okay cool, i'll read the documentation and see if I can join that at the end of this month
<jgart>but if you'd like to try things locally then you could try preparing a guix checkout for building stuff
<libry>excellent, i will clone and tinker with that this weekend a bit hopefully
<jgart>libry, this is how to prepare a guix checkout for packaging: https://git.sr.ht/~jgart/dotfiles/tree/master/item/bin/executable_guix-prepare-tree
<jgart>distilled from the manual
<jgart>to modify a guix check out and tests things you need to use ./pre-inst-env in a guix shell
<jgart>The above script will probably be updated soon to use `guix shell` instead of `guix environment`
<jgart>but `guix environment still works as intended for now
<libry>can guix shell do the same containerization?
<jgart>yup
<libry>neat
<jgart>it's just an updated API
<jgart>libry, If you want to know more about it check this out: http://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/
<jgart>the new thing is the -D or --development option
<jgart>It used to be the default
<libry>thanks for all of thise information jgart, its much appreciated
<libry>i've bookmarked this for tomorrow
<jgart>but not the default is what used to be --ad-hoc
<jgart>cool
<libry>i still need to get a basic stable setup coming before i dive too deep right now
<jgart>and there's a few new goodies added too in `guix shell`
<libry>i only recently was able to install this distro with a new a9k wifi card
<jgart>ah ok
<jgart>I mostly use Guix System on servers and guix on my main foreign distro machine, void linux
<libry>oh right on do you find it easy to use with your servers?
<jgart>might hack on Guix System desktop more at some point again
<jgart>yup https://git.sr.ht/~whereiseveryone/services
<jgart> https://git.sr.ht/~whereiseveryone/guix-easy
<libry>i actually run a k8s cluster at home and i've thought about using guix or Nix to replace a lot of functionality of my ansible init scripts
<jgart>It's guix-easy ha jk
<jgart>that's a WIP lib project I had started having fun with
<jgart>We use the library on one of our servers
<jgart>It's just syntax for fun at the moment
<jgart>alternative ways to specify ssh keys, user accounts, collections of packages, etc...
<jgart>s/specify/declare
<libry>oh nice!
<libry>a bit unrelated, is this a self-hosted git solution?
<libry>i love how minimal it is :P
<libry>jgart how did you learn guile/scheme?
<jgart>It's not self-hosted but it can be
<libry>i've never learned a lisp
<jgart>some people host sourcehut
<jgart>If you want to self host something like sourcehut and just need a git forge I think you're better off with smithy
<jgart> https://github.com/honza/smithy
<jgart>You'll have less headaches and it looks better
<jgart>And it's more minimal
<libry>whoa that's amazing
<libry>I found it it so difficult to make gitea look as simple as I needed it to be
<libry>and gitlab is monstrous so that's a great solution
<jgart>regarding scheme, I would say #scheme, #chicken communities are pretty active with talking about functional programming stuff and learning
<jgart>Scheme probably has the best learning resources that are free
<jgart>sicp is a classic
<jgart>you can even install it with guix
<jgart>guix install sicp
<libry>wait seriously
<libry>hold on trying this
<jgart>But it is a difficult read for beginner I would say. The first three chapters are approachable for a beginner
<jgart>I would recommend something like HTDP https://htdp.org/
<jgart>just translate the stuff as best you can to guile
<jgart>It's written for racket
<jgart>and https://www.scheme.com/tspl4/
<jgart>don't worry about learning macros in the beginning
<libry>okay, i will do that then. i've picked up the little schemer, so perhaps i'll switch to one of these suggestions
<jgart>just concentrate on how to write functions and compose them
<jgart>little schemer is nice too
<jgart>you'll learn some recursive ideas from the little schemer amongst other things
<libry>ah! okay then i'll keep on going with that one then, and hit sicp afterwards if it ends up being a good intermediate book
<jgart>little schemer -> scheme the programming language -> htdp -> sicp
<jgart>that might be a better progression
<libry>excellent, i will start making my way through then. thanks for the suggestions
<libry>:)
<jgart>learning stuff from other functional programming languages can also help
<libry>i use python and ruby at work, so I sort of get functional stuff from ruby but i've never been able to replicate anything i can make in ruby in lisps yet
<jgart>ocaml, for example
<jgart>or haskell
<jgart>but not necessary
<libry>it seems as though the `map` functionality in ruby provides a bit of functional programming syntax
<jgart>everybody will choose their own path through learning so you'll have to decide what to spend your time on and what to ignore
<jgart>yup
<libry>i'll start with lisp because i really want to be able to grok things like this kernel code and help people a bit more
<jgart>(map 1+ '(iota 12))
<jgart>s/(map 1+ (iota 12))
<libry>that produces a list of every atom 0-12 with 1 added to it?
<jgart>yup
<libry>oh nice
<libry>that's not bad
<libry>that's actually quite nice to look at
<anjan>in my bash_profile, should I have GUIX_PROFILE="$HOME/.config/guix/current" or GUIX_PROFILE="$HOME/.guix-profile"
<anjan> https://guix.gnu.org/en/manual/devel/en/guix.html#Getting-Started says two opposite things...
<jgart>libry, you can also do:
<jgart>(define (add1 x) (+ x 1))
<jgart>(map add1 (iota 12))
<libry>is the (define (func x) (+ x 1))
<libry>shorthand for lamda?
<libry>like it's implied?
<jgart>It's how you define a function in scheme
<libry>ahhh
<jgart>You can rewrite it to be explicit and use a lambda form
<jgart>but that is a bit tedious
<libry>right and kind of unncessecary
<jgart>This book uses that style though: https://www.scheme.com/tspl4/
<libry>dude im digging that all of these are free
<jgart>If I'm not mistaken define is a macro that writes the lambda for you so you don't have to
<libry>just full textbooks on the internet
<jgart>but you can also do this:
<jgart>(map (lambda (x) (+ x 1)) (iota 12))
<libry>(lamda (x) (x + 1 ) (iota 12))?
<libry>jinx (ish)
<jgart>yup
<M6piz7wk[m]>wtf is iota
<jgart>I was just showing it in the context of using it with map
<libry>its a function that returns all numbers from 0 to the atom that you give it
<libry>iota 12 => 1 2 3 4 5 6 7 ... and so on
<libry>i just picked that up from the docs
<libry>i didn't know what it was either
<libry>alright well i am off for the night. thanks for the help jgart i will be around and i'll keep an eye out for the meet-up e-mail.
<jgart>(map (lambda (x) (string-append "hello " x)) '("libry" "jgart" "anjan" "raghav"))
<jgart>ok have a goodnight!
<anjan>ok my system.scm has (use-service-modules desktop networking ssh xorg)
<anjan>but when I ran "guix install dwm"
<anjan>as my user, (anjan) and tried startx, I get startx complaining No such file or directory: /gnu/store..."
<anjan>what do
<anjan>I got it working
<anjan>nvm lol
<anjan> https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html
<tissevert>hello guix !
<tissevert>anjan: thanks for the link ! I would've expected something along those lines, user environment vs. system environment, but it's good to find an explicit tutorial
<tissevert>out of curiosity, what was the other end of the "No such file…" error message ? ".../bin/dwm" I suppose ?
<anjan>tissevert: ya bassically
<tissevert>ok
<liam0>I was sitting in the guile repl the other day, hitting tab, and wondered if guile has better tab-suggestions? I imagine the REPL quite powerful if every CLI library refined what arguments were likely based on the user's session and current input.
<jgart>does st currently work for people with color terminal programs like alsamixer?
<tissevert>jgart: isn't that the default terminal for i3 ? I think I got it installed by chance giving i3 a spin in a VM
<nckx>jgart: Yes, ‘$(guix build st)/bin/st -e htop’ shows all the colours.
<nckx>alsamixer too.
<tissevert>don't have a sound device in the VM apparently but htop is coloured too (thanks for the idea nckx)
<nckx>I played with TERM but its value (including unset, nonsense) makes no difference.
<kittyblam>yknow, just a showerthought, has there ever been much of an attempt to port a BSD to guix?
<kittyblam>0or
<kittyblam>or* rather Guix System
<tissevert>hmmm what do you mean ? run guix with a BSD kernel ?
<nckx>kittyblam: Not as far as we know.
<tissevert>(I would've though : porting guix the package manager to BSD, but since you specified "Guix System", I'm at a loss)
<tissevert>s/gh /ght /
<kittyblam>Like how Guix System currently uses Linux-Libre or experimentally Hurd
<kittyblam>nckx: ah, hopefully someday that changes, or Hurd gets more development lol
<kittyblam>but, I imagine if someone someday tried making GuixSystem with, say, a deblobbed OpenBSD or something I imagine it would be more rapidly useable than if Hurd ever is a daily driver lol
<kittyblam>well thanks for the response, imma slip away lol
<nckx>Stay well o/
<lilyp>I think there was talk about using the BSD kernel (like some version of Debian) some while ago.
<nckx>Where?
<lilyp>Obviously it'd still be a GNU system on top, which kinda defeats parts of BSD (particularly the userland thingy)
<lilyp>I'm not sure whether it was IRC or the ML
<nckx>My thoughts too. Either you rip out the kernel (in which case your using it in a rather unsupported way) or you're interfacing with an entire OS area instead of a kernel notorious for not changing its interface.
<lilyp> http://logs.guix.gnu.org/guix/2021-07-17.log#213046
<nckx>Very talky talk indeed.
<lilyp>Why walky walk when you can talky talk :)
<nckx>Not that there's anything wrong with that. That's why this window exists.
*nckx talks into the window.
<nckx>But I'm not convinced there's a git repo on earth with more than a copy of Guix and a ‘TODO: BSD’ commit on top of that.
<lilyp>Psh, it's obviously "Update README"
<nckx>mv README{,.old}; echo TODO >README
<nckx>I've seen repos like that. There's something creepy about them.
<nckx>(Not related to Guix.)
<florhizome[m]><lilyp> "I think there was talk about..." <- There was something called kfreebsd i think.
<nckx>Yes, Debian/that.
<nckx>Sorry: Debian GNU/that.
<lilyp>yep, that's what people in the past were talking about
<lilyp>You'd have a Guix GNU userland ontop of the FreeBSD kernel
<nckx>Anyone use it?
<tissevert>reading this channel I was under the impression that people generally used manifests to install their preferred software (text editor, version control systems, browser, music player…) in user profile instead of system-wide
<tissevert>can these be used to prepare a live USB too ?
<lilyp>Guix has no live USB really
<lilyp>But you can absolutely guix pack your manifest and have it ready on the go on your USB stick^Wdrive
<tissevert>hmm, I was more thinking about guix system to generate an iso image, then dd that to the device, wouldn't that work ?
<liam0>I got the impression that the Live USB download was built with Guix
<nckx>Some people define ‘live’ as bootable core + persistent storage and Guix doesn't do the second part.
<nckx>But yes, absolutely liam0.
<nckx>The official installer is just a ‘guix system image <installer operating-system definition>’ away from anyone.
<nckx>You can always manually create a second partition, of course, and it wil probably work if you don't step on the GPT/ISO hack's toes.
<jgart>can anyone spot the problem with my regex here: https://bpa.st/Y6HQ
<jgart>it's for luakit
<jgart>trying to change default search engine from google to ddg
<nckx>? → \\?
<nckx>And . → \\. just for correctness.
<jgart>tissevert, iirc i3 doesn't come with a default terminal..
<nckx>Both only in the google string.
<jgart>what do those escapes do?
<jgart>or where can I read about them?
<tissevert>jgart: ok, I got it installed somehow from the installer selection i3 as "desktop environment" ^^
<jgart>but thanks!
<nckx>? is meaningful in these regexps, it means optional; a? means ‘match "a" or ""’.
<jgart>ah ok
<nckx>Writing \\? in a Guile string translates to \? in the regexp which simply removes the magic.
<jgart>I'm familiar with ? for single character
<florhizome[m]>I think i should contribute wayfire and related packages as soon as i can. Maybe some fixes will be still needed. So far it doesn't install it's .desktop file f.e.
<jgart>got it!
<florhizome[m]>What would i need to do before?
<florhizome[m]>Would i need to assign my (full) Name?
<jgart>thnx
<nckx>So the regexp "search?q" will NOT match the string "search?q" but it would match "searcq".
<jgart>should that regex have modified something nonetheless?
<nckx>No, that's what my previous line implies.
<jgart>ah ok
<jgart>that's why it didn't change anything in the lua files then
<liam0>jgart: I found this useful: https://regexr.com/
<nckx>And why I'd personally match much less. "\"https://.*google\\.com[^\"]*/search[^\"]*\"" maybe.
<jgart>what regex standard does guile use?
<jgart>posix?
<nckx>It's unlikely that upstream would change the URL, but if they'd (say) add a ‘www.’ to that your substitution would silently have no effect.
<nckx>Yes jgart.
<florhizome[m]>i'd kinda be fine delegating the official contributing process^^
<nckx>There is no pre-first-patch process. You don't need to assign copyright to Guix/GNU.
<nckx>Your copyright line (you can't opt out of copyright) can even be pseudonymous, dubious as that sounds and probably is.
<jgart>can you also opt out of copyright?
<jgart>I imagine so
<nckx>No.
<jgart>Oh, I mean not putting you name at the top of the file
<nckx>Is the super simplified answer anyway.
<jgart>when adding more than 10 lines or whatever
<nckx>The ‘10 lines’ thing is just a very sloppy Guix heuristic for ‘this is likely copyrightable and this probably isn't’. You could contribute 1000 lines of uncopyrightable code or (one can dream) 3 lines of copyrightable genius.
<jgart>I just feel it gets a bit messy. What happens when you have 500 different contributors to a single file? Then you have to read all these copyright statements before you see code
<nckx>I agree.
<liam0>Credits at the bottom? Not a lawyer...
<nckx>I just C-s to the code I need and it seldom matters whether I skip 530 lines or 500 but I agree.
<jgart>Could the copyright statements go in a separate file or is that against GNU policy?
<nckx>Per-file, at the top, is generally considered ‘best practice’. Then it depends on which lawyer you ask. Most will tell you bottom is probably fine (…‘but if you want to be as safe as possible…’).
<nckx>So, with an answer like that, most people/businesses put it at the top 😉
<avalenn>And more, you can have copyright lines in the header for code that was removed long ago
<jgart>lawyers will need to look at the git blame
<nckx>And a hypothetical court case will look at the history anyw—exactly jgart.
<jpoiret>#include <copyrights.h> 🙃
<nckx>If Jedbob contributed code the court deems copyrightable, it doesn't matter one bit whether he added © Jedbob at the top or the file. Likewise if all his code was removed and the statement intact.
<avalenn>Yes. As git is becoming the preferred form of source code distribution I think that copyright notice in source files is each day less relevant.
<nckx>Don't think too much. It can be severely misleading.
<lilyp>watch me do 10k lines of uncopyrightable code: guix import crate ...
<jgart>I sent a patch for luke's fork of st. I thought about it again and I don't think I want to/have the time to maintain a fork of luke's fork. The home page for the package is his github project page. Is that still an issue?
<jgart> https://issues.guix.gnu.org/51628
<lilyp>I'll take a peek, but I promise nothing
<jgart>I also sent a patch for xst which is another st fork: https://issues.guix.gnu.org/51626
<jgart>and I added a phase to compile the terminfo entries in the st package and put the files in store/... https://issues.guix.gnu.org/51627
<jgart>I was having issues with st before and xterm256 colors without the terminfo files in place
<lilyp>The xst one LGTM but the description needs some work
<jgart>the two forks of st inherit from the st package
<jgart>too many bullet points?
<jgart>or needs more intro?
<jgart>before the bullet points
<jgart>both of the st forks are packaged by nixpkgs upstream
<lilyp>yeah, plus a bunch of links to suckless.org
<jgart>I can remove all the bullet points and just put a description if that's better
<lilyp>For the luke smith one, I don't particularly endorse packaging upstream stuff that has no release
<jgart>Raghav had written the bullet points for xst
<lilyp>especially when it's a fork of something we already have
<lilyp>ad xst the description also lacks a mention of Xresources although the synopsis has it
<lilyp>like that'd be one of the first things to mention
<jgart>It's very different from what we current have in that it adds a ton of very useful patches
<jgart>st is quite bare compared to those forks
<lilyp>true, but it's trivial to apply those standard patches on your own
<lilyp>we even have a transformation that does exactly that
<lilyp>though suckmore still sucks for requiring patches for every little thing in the first place
<jgart>sure, but it's convenient to just have a package that someone can install
<jgart>but I get your point too
<lilyp>sure, plus from the looks of it xst at least put in the effort to make a release
<jgart>there's many packages in guix though that don't have releases and many are good too
<jgart>it's hard to get everyone to make a release if they don't want to for some reason
<jgart>I can open an issue I guess for upstream...
<jgart>that helps sometimes
<jgart>anyways gotta get some rest
<jgart>lilyp, thanks for reviewing!
<tissevert>jgart: you were absolutely right, it's just the way /etc/config.scm is generated by the installer, it manually adds the st package to i3-wm
<florhizome[m]><lilyp> "true, but it's trivial to..." <- this is where more decentralized distribution would come in I guess?
<florhizome[m]>there’s also sway-borders, rofi-wayland (in general wayland compatibility forks)...
<florhizome[m]>What’s the most convenient way of developing system services? Can I do that from the user level repl? So I can test something before I put it into the system config and reconfigure
***xgqtd_ is now known as xgqt
<florhizome[m]><nckx> "There is no pre-first-patch..." <- well, that’s a relieve^^ I also thought about style (comments, etc?). but I wanted to look at the referring section in the man too.
<lilyp>florhizome[m]: you can already do whatever you want in your own channel
<lilyp>not every package needs to be maintained by guix
<lilyp>ad system services, typically you'd spawn a VM or in very dire circumstances reconfigure your system from pre-inst-env
***smartin1 is now known as smartin
<Guest3449>hi guix!
<Guest3449>oh what happened to me? ^^'
***Guest3449 is now known as roptat
<roptat>again, hi guix! :)
<roptat>finally got my armhf system updated
<wigust>hi guix
***vlorentz1 is now known as vlorentz
*roptat just updated translations
<florhizome[m]>hi
<florhizome[m]>Hm I’m not proficient in vms..
<florhizome[m]>can I test my hw configuration from vm’s?
<roptat>I don't think so, the VM creates virtual hardware
<smartin>Hello is there libuuid / uuid-dev in guix?
<roptat>smartin, I think it's part of util-linux
<smartin>roptat: I need dev headers to compile some sources and with util-linux I've got fatal error: uuid/uuid.h: No such file or directory
<roptat>maybe util-linux:lib ten
<roptat>it's the same package, but another output
<smartin>roptat: thank you it works now
<apteryx>hi! I'm trying to git bisect mrustc on the cufbc branch; and not having luck it seems. I have git cloned mrustc the mrustc soucres at /home/maxim/src/mrustc, and tried things such as: guix build -e (@@ (gnu packages rust) rust-1.39) --with-git-url=mrustc-source=file:///home/maxim/src/mrustc --with-branch=mrustc-source=HEAD (reuses cached version)
<apteryx>or guix build -e '(@@ (gnu packages rust) rust-1.39)' --with-source=mrustc-source=file:///home/maxim/src/mrustc --> guix build: warning: transformation 'with-source' had no effect on rust@1.39.0
<apteryx>any clue?
<apteryx>the "mrustc-source" input is an origin, not a package; that may be why
<lilyp>--with-source transforms the source field of a package, you might need --with-input, but then you'd have to build the package...
<lilyp>I don't think we have transformations for origin inputs
<vivien>Hi, it seems that commit d82fd7c2dd542693988f61fb15c020e3209ac7ec broke webkitgtk again on i686
<KE0VVT>I love how there is an installer for foreign distros these days.
<KE0VVT>Fedora does not have nscd.
<tissevert>ok, I have no idea how I managed this but I built a system that more or less works in tty but I can't seem to spawn anything in Xorg
<tissevert>I generated an iso from a system config, then dd'ed it to a USB device
<florhizome[m]><roptat> "I don't think so, the VM creates..." <- so any hardware-level service would have to be developed in cycles of system reconfigures? that kind of explains why there are so few.
<tissevert>I don't really know how to troubleshoot anything since I can't even start a terminal to run the other programs for them and look at stderr
<tissevert>dmenu runs, but nothing from it
<jgart>tissevert, can you share the config that you built the iso from?
<jgart>and the command you ran to dd the image to the usb?
<jgart>It would be much appreciated
<jgart> ask because I ran into some issues last time I tried to do this
<KE0VVT>guix install: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory
<jgart>s/I ask because ...
<jgart>KE0VVT, did you try logging out and in after installing guix?
<tissevert>oh, so you've done something similar ? that's great ! I'll send you those data as soon as I manage to take them out of the VM (I'm working from within qemu, my host system is garbage)
<KE0VVT>jgart: Yes.
<KE0VVT>jgart: Logged in and out of GNOME session.
<jgart>It sounds like your daemon might not be running
<KE0VVT>jgart: Does it not enable itself when you use the installer?
<KE0VVT>enable and start
<jgart>try running this:
<jgart>sudo guix-daemon --build-users-group=guixbuild
<jgart>and then in a different terminal try to install something with guix
<KE0VVT>That looks dangerous, but OK.
<KE0VVT>jgart: What on earth?! sudo: guix-daemon: command not found
<jgart>maybe try running the installer again
<jgart>or
<jgart>ls /var/guix
<jgart>do you have that direcctory?
<KE0VVT>jgart: https://paste.centos.org/view/9d1470b2
<jgart>which guix
<jgart>or
<jgart>whereis guix
<jgart>do any of those commands work?
<KE0VVT>[caleb@bender ~]$ which guix
<KE0VVT>/usr/local/bin/guix
<KE0VVT>jgart: yes
<jgart>another possibilty is that your PATH variables are not set in your bashrc
<jgart>did you add them after install
<jgart>?
<KE0VVT>[caleb@bender ~]$ echo $PATH
<KE0VVT>/home/caleb/.config/guix/current/bin:/home/caleb/.local/bin:/home/caleb/bin:/home/caleb/.config/guix/current/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
<KE0VVT>jgart: Guix stuff seems to be in place.
<tissevert>jgart: I generated the system with the following command
<tissevert>guix system image -t iso9660 config.scm
<jgart>cool
<tissevert>and the content of config.scm can be found at marvid.fr/~tissevert/config.scm
<tissevert>https://
<tissevert>sorry, I don't know why firefox didn't copy it with the Ctrl-L
<jgart>how did you dd it to the usb? by giving the store path to the iso?
<tissevert>yep
<jgart>cool
<jgart>thnx
<tissevert>sudo dd if=/gnu/store/px9p…48i-image.iso of=/dev/sdb
<jgart>great
<jgart>I recently got a guix system container running
<jgart>Arun Isaac had shared a config with me
<jgart>guix system container test-base.scm
<jgart> https://bpa.st/6FMQ
<tissevert>ok, I think I had managed to start guix-generated qemu VMs without thinking too much about it
<tissevert>thanks
<tissevert>are there particular packages to include or stuff ?
<tissevert>ok, so probably my empty file-systems are a problem
<tissevert>but I just can't understand how you can fill them when you're generating an iso image
<tissevert>you don't even know what device it's going to end up on : /
<jgart>sudo nsenter -a -t 13153
<jgart>then you can enter the container with something like the above command
<jgart>13153 is the PID of the container
<tissevert>I'm not sure I follow, sorry ^^
<tissevert>you suggest to make a container out of the config I shared
<tissevert>and inspect it with your above command ?
<jgart>I had tried running a container before some months ago but ran into some nasty bug and forgot what it was
<tissevert>ok
<jgart>It worked fine yesterday for the first time though
<tissevert>^^
<jgart>not from the config you shared
<jgart>the one I shared
<tissevert>so what exactly can one fill instead of /dev/sdX ?
<jgart>it builds just like that
<jgart>no need to change it :)
<tissevert>so it might as well be left empty… ?
<tissevert>or could that be the cause of my weird issue ?
<tissevert>building…
<jgart>try the config as is first
<jgart>to see if it works
<jgart>then you have to run the guile script the is produced in the store as root
<jgart>s/the is/that is
<tissevert>the container is launched, it has taken the prompt
<tissevert>so I guess I can enter it from another shell
<jgart>It'd be nice if we could run those system containers with root
<jgart>yup
<tissevert>looks like I'm in
<jgart>the prompt says what to do next
<jgart>cool!
<jgart>I ran that container on a foreign distro
<jgart>void linux
<tissevert>and it didn't work ?
<jgart>It did work :)
<tissevert>ah ^^
<tissevert>here I'm running it from guix within a qemu VM so, I was pretty much ready to place a bet on it working, or else I'd have been very disappointed
<tissevert>: )
<KE0VVT>jgart: [caleb@bender ~]$ guix install haunt
<KE0VVT>guix install: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory
<KE0VVT>jgart: Could this be a SELinux issue?
<efraim>is your daemon running?
<efraim>`systemctl status guix-daemon.service`
<KE0VVT>efraim: https://paste.centos.org/view/d4cd880f
<KE0VVT>failed
<mbakke>KE0VVT: you need to relabel /gnu/store after running 'guix pull' as root with SELinux
<KE0VVT>mbakke: I don't know how to do that. Why doesn't the installer do that?
<KE0VVT>guix pull: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory
<mbakke>KE0VVT: try 'restorecon -R /gnu /var/guix /etc/guix'
<mbakke>KE0VVT: see also the SELinux section of the manual
*mbakke has to go, good luck!
<KE0VVT>this? https://guix.gnu.org/manual/en/html_node/SELinux-Support.html
<mbakke>KE0VVT: that's the one, you'll also need to do the 'semodule -i' step whenever there are changes to the policy
<KE0VVT>Hm. I don't know where etc/ is supposed to be. /etc/guix/ contains no “cil” file.
<davidl>anyone who is running Guix on ARM to host things, or to virtualize x86 and host things?
<davidl>I basically want to know how I can host things on Guix on a foreign distribution on ARM.
<kozo[m]>davidl Hey, if you can run cuirass on a foreign distro, you could tell it to build packages for ARM. I do that using guix system so I'm not sure how it works on a FD
<anjan>Hi, I installed guix but now the laptop wont suspend when I close the lid. I found out that I need to change a "elogind-service-type config =>" in config.scm. I did that but elogind is not installed
<anjan>I do have use-service-modules desktop so Im wondering why thats the case
<roptat>elogind doesn't need to be installed for the service to run
<florhizome[m]>hey guix,
<florhizome[m]>so I'm trying to build "wayfire extra plugins" now. the install phase fails trying to install stuff into wayfires store file directory. so i guess it would just need write permissions for that in that phase. or is this the wrong directory anyways since this is later installed by guix anyways in the right system directories and i would need to correct the installation path?
<florhizome[m]>traceback:
<florhizome[m]> https://paste.debian.net/1218451
<anjan>roptat: ok, so what do I need to do to fix suspend on lid close
<roptat>florhizome[m], wayfire extra plugins is a separate package from wayfire, so it can't install to its store item. Never use write permissions on the store directly
<roptat>a store item is the result of building a package, other packages shouldn't try to influence that, so you'll have to find another way to install the files and make them work on your system
<roptat>anjan, I don't know, maybe your change doesn't have any effect on the service list? Can you share your config?
<roptat>also, you need to reconfigure the system once you changed the config, and you might have to reboot or reload some services for the new config to take effect (probably restart at least elogind)
<ekaitz>hi guix I have a question about guix shell, how does the cache work?
<ekaitz>more specifically, how do I clear the downloaded packages from my system?
<ekaitz>I tried guix gc but I'm not sure if it worked as expected
<florhizome[m]>roptat: i kind of thought that. i guess overwriting the to the output path will suffice, that should not be the problem. more so asking myself, what is the place in a meson project to do that..
<roptat>no idea, maybe there's an env var you can set, or you'll have to modify the meson script
<Olivetree>Hey Guix!
<Olivetree>Anyway I can use nouveau in guix packages while using nvidia in my main system?
<jgart>ekaitz, they only thing I know related to the cache with `guix shell` command so far is the `--rebuild-cache` option
<jgart>I'm unclear also how `guix gc` can interact/be used with `guix shell` from a user's perspective
<lilyp>Olivetree: probably yes, but do report bugs (that is real breakages, not "performance is awful because I can't use the blob") should they occur
<lilyp>there's also discussions w.r.t. using the nvidia approved "i can't believe it's not a blob loader" blob loader, but we'll have to see about that
<excalamus>good afternoon, Guix
<lilyp>found the American Guixer :P
<excalamus>o/
<oriansj>lilyp: well there are a good few of those; also a half dozen timezones covering us
<lilyp>sure, but if it's late evening in central europe, eastern europeans would call that night and western ones perhaps just evening :)
<Olivetree>lilyp: I meant to ask how. Because just installing mesa/nouveau doesn't make glxinfo work
<lilyp>oh, right
<lilyp>lemme check which package has glxinfo
<Olivetree>mesa-utils
<lilyp>also, you don't want to install mesa or nouveau in your profile, you typically only want it linked to the applications you use
<lilyp>so 'guix shell mesa-utils -- glxinfo' ought to work on its own
<lilyp>even does with --pure
<lilyp>'guix shell mesa-utils --pure -E DISPLAY -- glxgears'
<Olivetree>Not for me.. just fails when trying to load dwrast
<Olivetree>swrast*
<lilyp>hum, do you always use the blob driver or do you have a setup where you have to manually use it with stuff like optirun?
<Olivetree>Always use. X11 is loaded with it and never switches, Intel's GPU has another X11 running in it
<lilyp>and glxgears runs fine on the intel gpu?
<podiki[m]>anyone here do common lisp stuff on guix? curious how to properly use the sbcl- packages (i'm used to quicklisp for loading)
<lilyp>assuming you have all the dependencies in the environment "sbcl your-script.lisp" ought to work
<podiki[m]>I mean where do sbcl-whatever packages live and how do you load them?
<podiki[m]>(sorry it is a basic question, just not sure how it works here)
<tissevert>ok I've finally managed to get some log for st
<tissevert>it says: "openpty failed: No such file or directory"
<tissevert>I have no idea what could be causing that
<davidl>kozo[m]: last time I tried that cuirass was failing to remount /gnu/store or something and I couldn't make it work :-/ though I could probably tell cuirass on my x86 computer to build for ARM. That's still quite a few steps away from knowing you can get anything setup and working on ARM :-)
<davidl>kozo[m]: I probably mainly need to learn more about user services.
<Olivetree>lilyp: Intel GPU has no OpenGL because the libs are from Nvidia. glxinfo doesn't even try to load swrast, it just says "no RGB GLX Visual or fbconfig". But I think that's irrelevant, it never worked and I can understand why
<tissevert>did the same for chromium, apparently /dev/shm is missing from my system ?!
<lilyp>yeah, I don't think Guix will attempt to use your blobby driver
<lilyp>which tbf sucks if you're forced to use hardware that requires one
<Olivetree>at the current prices, yeah, I'm forced to it use it xD
<Olivetree>I thought about using packages from nonguix, but they don't have nvidia390. Adapting the nvidia-drivers package will require quite a lot of learning from my part
<lilyp>podiki[m]: so the full details are in asdf-build-system, but basically {etc,lib,share}/common-lisp
<podiki[m]>hmm yes thanks, wasjust seeing that
<lilyp>I'm pretty sure CL implementations find the lisp sources simply by looking at XDG_DATA_DIRS or XDG_CONFIG_DIRS (perhaps both)
<tissevert>oh lilith what have I done
<podiki[m]>yes figured it out now, just hadn't used asdf manually in forever (or ever?)
<lilyp>so you'd start your `guix shell sbcl sbcl-foo sbcl-bar...'
<tissevert>quick, delete any incriminating evidence
*tissevert didn't say anything
<podiki[m]>had to do a (require "asdf") first and then use asdf to load packages, does find them if installed in the profile
<podiki[m]>all good now, thanks lilyp
<lilyp>tissevert deleted her /dev?
<smartin>Hello, I have some python script that require python-pexpect and it works great in 'guix environment --ad-hoc python python-pexpect make'...
<smartin>but when a Makefile is trying to call that script I get 'ModuleNotFoundError: No module named 'pexpect''
<smartin>any ideas how to fix it?
<lilyp>does that Makefile perhaps set PYTHONPATH in an unintended way?
<tissevert>lilyp: worse ! on that USB system I generated, it never existed… ^^
<robin>podiki[m], i just use quicklisp :p but ty lilyp for explaining how easy it is to do it the proper guixy way!
<lilyp>Does it use a wrong python? (E.g. hardcoding /usr/bin/python, which is taken from a foreign distro)
<lilyp>tissevert: that's what you get for deleting your darling :P
<smartin>lilyp: yes PYTHONPATH is used to get a location for other modules
<podiki[m]>yup, guix shell pretty nice, though my lisp scripts tended to have a quickload instead
<podiki[m]>so I'll have to change a few statements, but seems easy to have a one line guix shell command to run something in a temporary profile
<lilyp>We don't judge you for using quicklisp, but please be nice and make things packagable with asdf-build-system :)
<lilyp>though I suppose the CL situation is not nearly as bad as Rust or Go
<podiki[m]>just some personal scripts, but this is quicker than quicklisp to just run something without doing a full setup, I like it!
<podiki[m]>the CL situation seems quite nice so far; I saw a WIP for a quicklisp importer, that could be handy
<lilyp>smartin: try to rewrite the makefile, so that it extends PYTHONPATH, still using what the system has
<Olivetree>Speaking of Rust, why are there so many rust packages if then cargo still fetches them to compile projects? What use do they serve?
<mekeor[m]>Olivetree: you mean when compiling local, self-developed projects?
<lilyp>We can't have cargo fetch the Internet during build
<Olivetree>Whatever case you may find. I can't see rust packages being used in guix. For instance, why does rust-alacritty-config-derive exist?
<Olivetree>You can't use it as a binary/lib, it's only useful in a build.
<lilyp>Probably to satisfy a bunch of dependencies down the line.
<lilyp>Rust packages typically are a big bunch of nothing.
<lilyp>Honestly most would be better served with origins.
<mekeor[m]>origins?
<Olivetree>But building is done with cargo, which fetches the packages. Or you have your own special cargo that only uses packages in the profile?
<M6piz7wk[m]>Someone should make a guix card but for guile~
<Olivetree>And also, would it have any use with self-developed projects, like mekeor mentioned?
<mekeor[m]>Olivetree: the only problem that i see is that there's no way to run "guix import crate" on a local file. it only works for remote crates. thus, you can't really use guix to develop local projects AFAICS
<mekeor[m]>6piz7wk, what do you mean by "guix card"? i don't understand you
<M6piz7wk[m]> https://guix.gnu.org/guix-refcard.pdf
<mekeor[m]>ah, the guix reference card
<M6piz7wk[m]>mhm~
<M6piz7wk[m]>but for guile
<mekeor[m]>6piz7wk: got you. maybe ask in #guile for such a desire. (this is #guix, not #guile.) (also consider reading the guile-manual, e.g. chapter 3: <https://www.gnu.org/software/guile/manual/guile.html#Hello-Scheme_0021>.)
<M6piz7wk[m]>that ain't no card
<ekaitz>jgart: yeah that's what I found
<tissevert>lilyp: I guess so :Þ
<vivien>So, I made myself a guix home service to start dring on login, and it works perfectly. This is a workaround to dbus activation not working on guix home.
<vivien>(dring is the jami daemon)
<excalamus>sneek, botsnack
<sneek>:)
<Olivetree>mekeor: to understand your answer I'd need to know how guix's crate/cargo system works
<mekeor[m]>Olivetree: i don't know. i can just tell what's my experience from the perspective of a wanna-be-rust-developer
<mekeor[m]>Olivetree: but i'd bet that guix's cargo-build-system does not entirely let cargo install the crate, but instead, guix still manage the dependencies
<Olivetree>sometimes I forget substitutes are facilitators, not the basis
<Olivetree>and since rust binaries are static they don't need dependencies, except if you're building them
<KE0VVT>Where is this “etc/” that <https://guix.gnu.org/manual/en/html_node/SELinux-Support.html> mentions?
<mekeor[m]>KE0VVT: i don't know but i found that "guix-daemon.cil" at /run/current-system/profile/share/selinux/guix-daemon.cil
<KE0VVT>mekeor[m]: Would that be on a foreign distro installation?
<mekeor[m]>i'm not sure, sorr
<florhizome[m]><vivien> "So, I made myself a guix home..." <- Could you specify? :) does this correlate to the dbus-activation-environment command that you run after launching a wm like sway?
<florhizome[m]>and, which service did you extend?
<podiki[m]>curios also, as having to run my session with an explicit "dbus-run-session" (which I think worked around the dbus issues I had)
<vivien>florhizome[m], I extended the home-shepherd-service-type to run the program in (file-append libring "/lib/ring/dring")
<lilyp>Olivetree, mekeor[m]: The proper way of writing Rust is to go back to C++ and do everything with RAII anyway.
<sneek>excalamus: Greetings :)
<excalamus>sneek, botsnack
<sneek>:)
<excalamus>is there a way to use guix time-machine in a shell? I thought that's how it worked, but it seems not. I'm blogging about how to use Guix and want to have the steps be reproducible.
<excalamus>for example, `guix time-machine --url=https://git.savannah.gnu.org/git/guix.git --commit=c55a64cb7e82e88e26c26995f983fc9675b6276e --branch=master -- guix describe` just shows the latest commit
<excalamus>er, it asks for whether I meant git