<drakonis>so, how to handle package collisions between channels when installing with guix? <pkill9>drakonis: you mean packages with the same name? <pkill9>or that install files to the same place? <bandali>hmm, i know guix prints a warning and tells you which definition it chooses <bandali>but not sure how specify which channel to choose it from, perhaps besides order of channels in your channels file <bandali>yeah, i accidentally ran into it the other day when i forgot to remove a package definition from my channel after landing it in guix proper <pkill9>you can refer to the variable with a guix expression, e.g. `guix build -e '(use-modules (module)) package-variable' <pkill9>i think you just have to ensure they have different names <pkill9>or remove the package from the channel <drakonis>trying to fix up some packages so i can send them upstream <drakonis>and handling file collisions in this case? <drakonis>hmm, better yet, what's the workflow for experimenting with packages? <drakonis>up next, learning how to recursively copy files into the output because i can't get it to copy the folders i want <ngz>(copy-recursively "foo" "bar") copies (recursively) the _contents_ of "foo/" into "bar/" <drakonis>i've been trying that but i have no idea of how the directory is internally structured <ngz>insert a (invoke "ls") of some such in your phase. <pkill9>you could also build with -K and kill it before it succeeds, then look in the build directory <drakonis>my other issue is uh, i need to add a extra phase but it keeps choking out and dying <bandali>discussion of nonfree software is off-topic in this channel :-) being a GNU project, we won't endorse or explain to users how to sabotage their freedom <bandali>drakonis, re experimenting with packages: if they are or they are to be included in upstream guix, what I do is build guix from git, and then use ./pre-inst-env guix to build/experiment with my local clone of guix.git <bandali>but i also have a personal channel that i use for that <SuperPidgen>bandali, You are right. But Seems GuixSystem was not good to work with my graphics card. <bandali>SuperPidgen, your graphics card may be not good to not work with free and user-respecting software :-) i can empathize <bandali>for example, my laptop's built-in wireless card doesn't work without requiring proprietary firmware. so what i do is use a usb wifi dongle <bandali>cheers :-) h-node.org has a nice catalogue of free software-friendly hardware <drakonis>so, an interesting random thing that came up on <drakonis>#scheme, make available an subset of guix for the explicit purpose of creating a deployment system for language specific packages that doesn't require all the guix specific parts <oriansj>drakonis: reducing guix's scheme load; does also have advantages for enablin easier porting to alternate schemes (and enabling bootstrapping to the metal) <oriansj>speaking of which I wonder how many schemers would be open to helping with the guile bootstrap problem <drakonis>the goal for it would be to be able to handle deploying languages without explicitly pulling in all the other guix bits that arent relevant to the particular workload <drakonis>and have the ability to eventually have something like guix on racket <drakonis>what would we call it in this case tho :V? <drakonis>a friend ran into issues while trying to use nix for building their rust project <drakonis>building it requires having the entirety of nix plus pulling in whatever's in nixpkgs at the time <oriansj>well it certainly ensures that the build will happen <drakonis>but it is normally used in tandem with other build systems and not on its own <oni-on-ion>ah yeah. most recently i was using the build tool for ocaml, dune. it has s-exp syntax and is rather pleasant when knowing what it expects <oriansj>drakonis: except when the builds are "trivial" <oriansj>drakonis: seriously? why bother automagic when you can demand exact build dependencies? <drakonis>lol they do automagic based on dependencies <oriansj>So they use a tool to detect the things, they just explicitly ensured to be there in an exact form... <drakonis>so, if i include python in the definition, it'll add a python hook <drakonis>if i include x package that has hooks, it'll be included in the build <drakonis>rather than being declared as "this thing needs this specific build system" <drakonis>and there's an standard environment that comes with various packages that include these hooks <drakonis>its notably less elegant than guix right now <drakonis>why wouldnt it be when guix itself runs on 3.0? <lispmacs>in package definitions, then, do I have to use guile-next, or guile-3.0 <lispmacs>okay, just confused then why guile version 3.0 does not show up as a package in a search <drakonis>it exists as a target but the package name is guile-next <Telior>Hi guix! I'm getting "chsh: PAM: Authentication failure" after I run "chsh -s /home/Telior/.guix-profile/bin/fish", what am I doing wrong? <Telior>standalone as in just the package manager on another distro? it's guix sd :) <drakonis>youyou can set the default shell for your user on your system config <drakonis>though i'd recommend changing it on your system config instead <drakonis>the 'shell' field should let you do that <Telior>ok, so something like "(services (append (list `(("/bin/fish" ,(file-append fish "/bin/fish")))%base-services)))"? or do I need to change something there? <drakonis>you know the section you declare your users? <Telior>like under (name "Telior"), in this case? <drakonis>hmm, docs say it should be a g-expression <drakonis>should be good to check up docs with "info guix" <Telior>that's the same as the online reference manual, right? <Telior>I check it before asking in IRC but it's not always clear to me what I'm supposed to do. For example, I couldn't find a modified shell in the example setups given there. Where did you take it from? <drakonis>it does say that a g-expression should be used in that field <oni-on-ion>ok, guix installed into debian. not sure what else to do right now, but i will start using that moving forward in my package-dealings <drakonis>i wish i didnt have to rebuild every time i changed a phase <Telior>thought it was the fish bit I added but I removed it and keep getting the same errors <bavier`>those warnings not caused noticable problems for me <bavier`>they started appearing around the guile@3 migration <bavier`>it would be nice if we could quite them <Telior>so the reconfigure was successful? usually it takes a while and it downloads a bunch of stuff <drakonis>it didnt need to redownload anything because fish is already in the store <drakonis>just for good measure, set it back and log from a tty <Telior>ok I rebooted and my user's gone D: <Telior>I'm greeted by a "Username" prompt, and if I fill in username and pw it just sends me back to the initial promtp <Telior>If I log from tty3 and fill in my name and pw it says "Cannot execute fish: No such file or directory" <drakonis>i told you to log into a tty before rebooting <drakonis>its because it takes in a g-expression to provide the path to it <Telior>and "whereis fish" gave me the gnu store address of fish <drakonis>i'm not so good with those atm, so refer to docs to help with it <Telior>oh, I didn't put the store address in the config file, but since running whereis fish gave me the location of fish in the store, I thought that meant it was available <drakonis>(string-append #$coreutils "/bin/ls") might do it? <drakonis>except replace coreutils with fish and /bin/ls to /bin/fish? <lispmacs>I'm trying to update a package definition to recent Guix and to guile-3.0 input. But during bootstrap phase I get error `command "autoreconf" "-vif" failed with status 127' <drakonis>it will point directly to the shell path you want <drakonis>and it will be updated every time you rebuild the system and fish changes path <lispmacs>going to try to reproduce in environment <drakonis>Telior: log in as root and rebuild with the line as input for the shell variable <drakonis>ah wait, still have a problem, i need to access the extracted tarball <Telior>I get "error: (string-append (ungexp coreutils) "/bin/fish"): invalid field specifier <drakonis>ah, its probably best if you check up the docs on g-expressions for that <Telior>ah forgot to change coreutils for fish, but even then, I still get (ungexp fish...) <Telior>in the config.scm file I used #$, but in the error message I get ungexp <drakonis>hmm, check the docs for writing g-exp then <Telior>ok, so I deleted the whole fish line from my config.scm, but now I get "error: (user-account (name "Telior") (comment [...] group, home directory, supplementary-group fields [...]))): extraneous field initializers (supplementary-group)" <Telior>I think all the parens are there <Telior>ok, so I'm trying out the rollback options from the 4.2 section of the manual, but switch-generation and roll-back return errors <Telior>for example, guix package -p Telior --switch-generation=3 says "error: open-file: Read-only file system: "Telior.lock"" <drakonis>you can rollback by booting into an older generation <drakonis>and that's profile rollbacking, not system you're doing <Telior>ahm I added "-p Telior" because simply putting "guix package --roll-back" returns "error: profile 'var/guix/profiles/per-user/root/guix-profile' does not exist" <drakonis>that's user profiles, not system rollbacking as far as i'm aware <Telior>"error: roll-back: unrecognized option <Telior>ah I didn't, but I used "guix system --roll-back", I think it's working now with plan roll-back <nexgen>I do not see rspamd in your repos <bandali>hi, i think people simply haven’t needed them so far <bandali>i think there was an attempt to package postfix a while ago <Telior>drakonis think I need to dip my toes a bit more in lisp and scheme before trying to mess with the config file again lol, but tyvm for all the help :) <nexgen>I need a more recent RSPAMD than it is in Devuan <nexgen>already installed and partially configured it on Devuan <nexgen>Alpine has the latest v1.x version though <bandali>feel free to try your hand at writing package definitions for them :-) <nexgen>Btw, do you provide verification of installed file checksums? <nexgen>I would be glad if at least your package manager supports checksum verification <bandali>i’ll eventually attempt them, as i’d like to move my mail server to guix as well, but i personally don’t have much free time on my hands right now <bandali>i’m not familiar with those; can you give a concrete example of what you mean? <bandali>guix normally by definition checks shasums, since they’re normally part of a package’s definition <nexgen>how to check if package binaries are still authentic unchanged after a while after installation ? <nexgen>a hacked changed some files unnoticed <bandali>i’m not sure. perhaps try asking on the help-guix@ list <bandali>not sure if we have anything for checking of package sums after they’re installed to /gnu/store/ <nexgen>do you have a hash for each file in the package or only for a whole package? <str1ngs>guix has other hashing I'm not sure how the algo works for inputs and outputs <str1ngs>it's quite possible guix does not need per file hashing because it has package output hashing <nexgen>without per file hash it is not possible to verify installed files after a while <nexgen>only compare them to a copy extracted from a package again <str1ngs>sure you can if you recursive hash and sum a directory <nexgen>extract again, then comparem - not convenient <bandali>yeah, i don’t think we *need* per-file hashes for that <str1ngs>guix is more top down in the regards not to mention it handles inputs as well. <str1ngs>please lets not compare other package mangers to guix it's an apple to oranges thing <nexgen>its output includes even a list of changes files in /etc/ <nexgen>convenient to see which files were changes by me during the whole time <bandali>but here’s the thing: with guix one doesn’t ‘change the files’ after installing a package <nexgen>why not compare them in the area of file verification <bandali>one configures the packages through a config.scm file <str1ngs> /etc is declarative. you can't compare that to Debian's /etc at all <nexgen>not sure, how do I configure a dovecot daemon without modifications in /etc/dovecot ? <nexgen>well, can I still use old method of editing /etc/ conf files? <str1ngs>so simply running guix system build ./config.scm will tell you if something is wront <bandali>not sure if it’s possible or not, but it’s heavily discouraged <bandali>also, some package services allow you to provide a drop-in replacement config file rather than doing it in guile <bandali>i think the dovecot service is one such example <str1ngs>you can copy local files. but it's still declarative at the end of the day <str1ngs>so in that regards I would think that guix system build will indicated if something was changed <nexgen>GUIX automatically converts old style conf files to its own gule logical structures? <bandali>i don’t think so, but some services allow you to configure their package with a config file/string <str1ngs>not automatically there are service helpers etc that help with that. <bandali>which is what the guile bits ultimately get translated into <nexgen>but binary verification is still needed IMHO <str1ngs>not to mention it's atomic and you can roll back. and repeat your system configuration on any machine etc etc <str1ngs>so we really should not be comparing guix to debian. :) <nexgen>how can I know if my current installation is not corrupted without replicating it to another host to be sure it is good at least in a new incarnation ? <str1ngs>again guix verfications works top down. not on a per file bases. <nexgen>say someone changes /bin/bash->/xxx/bash <nexgen>places a trojan into it already after installation <str1ngs>bash is symlink in the store first off <str1ngs>so it's going to be really hard to change that <str1ngs>right but then bashs output has would be wrong <CompanionCube>like say, replace the binary verification tool with your own version that always returns 0 <str1ngs>I'm pretty sure guix would complain about that . try it out :) <CompanionCube>nexgen: what happens on debian if attacker replaces debsums after trojaning bash <nexgen>at least it is easy to verify bash and verification tool in advance from a trusted boot source like LiveCD <nexgen>and then chroot and execute whole system verification <nexgen>provided bash and check tools are good for sure *CompanionCube thinks trying to determine what an attacker with the highest level of privilege has done with decent certainty is a futile endeavour <lispmacs>seems like in principle it shouldn't be difficult to come up with a script that recursively verefies checksums of all packages given a profile derivation <lispmacs>that save copy of the profile derivation somewhere safe off system <bandali>but i personally think if someone gets root on your system all bets are off <str1ngs>I'm not sure if it's need. it really depends on guix output algo and when it verfices <nexgen>often hacked systems are not destroyed <CompanionCube>bandali: yep, also relevant to guix in teems of bootstrapping <str1ngs>its quit possible just running guix system build well verify all outputs for the sytem <bandali>nexgen, if you get a chance, read the pdf i posted <nexgen>gcc bootstrapping seems to be unique feature of GUIX <CompanionCube>nexgen: true, but given root can by definition do anything and cover it up by default, there's no feasible way to see what they covered up <lispmacs>it seems like solution is still someway related to having safe copy of profile (or system) derivation somewhere, then just checking sums. but to be really thorough, sum checking tools must be from off system, with system drive unmounted <nexgen>then it is easier just to use ZFS for rootfs <nexgen>and then do zfs diff for the directories of the store <bandali>i think this would be worth a discussion on one of the guix mailing lists <nexgen>I would not trust any security like LSM, container, capabilities, etc. <nexgen>and still need a method to verify files are still not hacked <nexgen>many SoCs like Beaglebone black are more secure than a the same amount of KVM VMs <str1ngs>assuming you trust the hardware firmware :P <nexgen>my idea is just to distribute services among the SoC boards instead of trying to fight with Spectre, IntelME, etc. many many other holes *CompanionCube says the above jokingly as a ZFS and guix user <nexgen>and pure software emulation of another even more rare hardware on them may help? <nexgen>ZFS can be used on a FreeBSD if licensing issues matters, then share ZVOLs via iSCSI <CompanionCube>good luck trying to mitigate say, DMA attacks on old hardware with no IOMMU. <nexgen>isolate disks via iSCSI on dedicated disk host <nexgen>and no DMA from disk firmwares anymore <nexgen>boot from only encrypted containers starting from Libreboot with luks v1 in BIOS chips <nexgen>they miss modern powerful MCU boards which can inject trojans into boot sectors <nexgen>but if booting from BIOS chips it is not so much important <nexgen>I want secure computer powered on and not expensive <nexgen>it uses hardware virtualization, then it is not secure <nexgen>there are rumors about IntelME like, but not disclosed yet <CompanionCube>also, how you gonna verify the absence of a SMM backdoor in your old CPUs? <nexgen>cannot do anything with CPU itself of course <nexgen>only software emulation like an alternative for matrix boards <nexgen>LibreSilicone + Open source like RISCV <CompanionCube>i mean, if you want maximum security from hackers you need to go the often-proprietary route of requiring all executable code be signed by you <commanderkeen>good conversation. but what's it called in guix for multiple machine builds? i cant remember what it's called but remember seeing it somewhere <nexgen>cannot a hacker modify a module which checks signatures? <CompanionCube>nexgen: well, that depends how deep you're willing to go with it <nexgen>For now I would like to rely on ZFS diff <nexgen>but to avoid VM to have ZFS inside it <nexgen>not sure how to do this except rsyncing with --dry-run from external ZVOl snapshots <nexgen>passing external FS via 9p is not secure too <nexgen>though it would be nice to pass through external ZFS directly, not blocks from "zfs diff" point of view <NieDzejkob>shtwzrd: > hint: After setting `PATH', run `hash guix' to make sure your shell refers to /home/rock/.config/guix/current/bin/guix <- that's your problem. Normal pulls weren't working either, you just didn't notice <NieDzejkob>Telior: two things: it's supplementary-groups, plural, hence the error. Also, use either (file-append fish "/bin/fish") or #~(string-append #$fish "/bin/fish"). I consider the former the much nicer alternative <NieDzejkob>sneek: later tell Telior: two things: it's supplementary-groups, plural, hence the error. Also, use either (file-append fish "/bin/fish") or #~(string-append #$fish "/bin/fish"). I consider the former the much nicer alternative ***paprika is now known as strawberyy
***strawberyy is now known as strawberry
***strawberry is now known as paprika
<paprika>I'm used to be able to browse others systems file systems on other distros through ssh in my filemanager <paprika>though I don't seem to be able to get it to work on Guix System <bricewge>paprika: I can't see why you couldn't do it in Guix. <PotentialUser-97>i.e. when hurd or any new kernel becomes available, would guix utilites work? <bricewge>That's the plan, but probably some features will need some adjusting,`guix environment --container` for example. ***Kimapr__ is now known as Kimapr
<olivuser>I've got a couple of questions that maybe some of you might be able to help with. <olivuser>First: why is it that gdm displays DEs that have not been installed (Openbox in my case) or have been uninstalled a while ago (GNOME), even after "delete-generations" commands and guix gc? I have LXQt, Xfce and dwm installed. <olivuser>Second: is anyone else experiencing problems with LXQt? I had it working many generations ago - which have been deleted in the meantime -, then uninstalled and now reinstalled. First, I had only "lxqt" in my system profile, but then went on to install all packages with a "lxqt"-prefix. Now, when I try to login to LXQt, I enter what is essentially a blackscreen with a cursors, with the incapacity for command input (I cant enter VTs <olivuser>(I can enter VTs other than VT7, though) <pkill9>olivuser: are there entries in /run/current-system/profile/share/xsession? <olivuser>pkill9, yes. dwm.desktop, lxqt.desktop, openbox.desktop (with *-gnome/kde variants), xfce.desktop <pkill9>have you reconfigured your system? <olivuser>pkill9, yes, kind of a dozen times by now :D first off, the commands and their order: `guix pull && sudo guix system reconfigure /path/to/file.scm` <pkill9>olivuser: i dunno, have you tried rebooting? <pkill9>and see if /run/current-system/configuration.scm is what you reconfigured with <olivuser>pkill9, yeah it is, at least regarding the parts that relate to lxqt. Do you have an idea whom I could ask? Would this be something for the issue tracker? <vits95>Hi! How can i set the mount options in sys config? <oriansj>bandali, nexgen: you forgot the firmware rewrite attacks possible with root access. Such as in classics as print to root: how to own printers with just a pdf. ***deesix_ is now known as deesix
<vits95>how to use (options ) for file-system? XD <pkill9>olivuser: i would ask in here later when there's other people who'll see, and yea post to the issue tracker <olivuser>another question: in icecat, numbers are not shown. is this a font issue, is anyone else having trouble with this? <NieDzejkob>personally, I've got font-dejavu, font-liberation and font-google-noto installed, no issues with any characters whatsoever <NieDzejkob>oh, and if you install it in your user profile, you'll need to run fc-cache <olivuser>NieDzejkob, apparently it is also an open issue in the issue tracker. Am currently trying to solve the issue by installing `font-gnu-freefont-ttf`which is what is suggested by https://issues.guix.gnu.org/issue/39073. Thanks for the "fc-cache" tip, though! <vits95>Ok, info guix have ''()'. HTML shows simple '() i got it. And common flags, like noatime should be passed not throught the (options <str1ngs> vits95 do you mean it should be (options '(noatime)) ? <vits95>how to pass option compress-force=lzo to btrfs in sys.scm <NieDzejkob>(file-system (mount-point "/whatever") (type "btrfs") (device ...) (options "compress-force=lzo")) should work <vits95>Maybe i'd found a bug: my user's "comment" survives the guix system reconfigure <vits95>NieDzejkob, indeed it works. Thanks again. <OriansJ>bandali: what is even more scary are the firmware rewrite attacks that don't require elavated permissions <bandali>OriansJ, very interesting; i know next to none about those <OriansJ>combine with classes of attack such as rowhammer, meltdown and spectre; one has an argument that we need to start making our own hardware and designing it with care and love ***Palpares is now known as palpares
<OriansJ>bandali: the worst ones are the Hard drive controllers. <bandali>OriansJ, ah that makes a lot of sense, actually <str1ngs>one huge draw to hardware is it requires developers to invest there own $ to test and develop for that hardware. it's not like you can just download and decompress a tarball to work on it. <OriansJ>why do you think chromebooks has the firmware write switch (or screw)? <OriansJ>It is really hard to uncompromise firmware <OriansJ>Has no one else heard of The Equation Group? <NieDzejkob>OriansJ: AFAICS this still requires elevated permissions <g_bor[m]>I just did a writeup of the current status of Outreachy. <OriansJ>Short version if you have a device that has upgradable firmware, that doesn't require a manual process to enable updating; your firmware can be "upgraded" at any time. <bricewge>By what should I replace @@ in Guile 3? I have read the Guix bog post and the related manual links (6.20.{2,9}) but I can't manage to get anything practical out of it. <g_bor[m]>I would like to publish it soon,as the Outreachy Twitter Chat is on the 11th. <str1ngs>g_bor[m]: Outreachy for Guix or Outreachy in general? <g_bor[m]>str1ngs: the chat is for Outreachy general. <str1ngs>g_bor[m]: ah that interesting. btw I think you helped with nomad's GoSC proposal? <OriansJ>NieDzejkob: not exactly, on systems without an IOMMU there is a bit of an issue... <NieDzejkob>OriansJ: IO ports still can't be accessed in Ring 3, even without an IOMMU <janneke>g_bor[m]: you can alway push do website/drafts? <str1ngs>bricewge: in what case do you need @@? <OriansJ>NieDzejkob: Sinkhole begs to differ but that is a whole different discussion. <bricewge>NieDzejkob: I want operating-system-firmware and operating-system-keyboard-layout from (gnu system). <bandali>OriansJ, btw would you check #scheme as well <g_bor[m]>str1ngs: I helped as much as I could, which was not too much. I offered to fill in my contact details, and told them to reach out to GNU, as they are the official org. <str1ngs>g_bor[m]: your help was appreciated thank you. <bricewge>str1ngs: I want a binding that isn't exported by it's module. <g_bor[m]>It is actually only a minor edit of the previous one. <janneke>g_bor[m]: when "someone" (you?) move it from drafts into posts/ <janneke>g_bor[m]: ah, i would think OK to push/publish then? <NieDzejkob>OriansJ: Are you referring to "The Memory Sinkhole"? <str1ngs>g_bor[m]: I'm hoping to one day elevate the project to GNU from nongnu. lots of work to do still. but it's fun either way :) <janneke>we have been using drafts/ for when more input is needed <str1ngs>bricewge: ah @@ won't help you there anyways you would need @ instead. I'm guessing @ no longer works either? <str1ngs>bricewge: nvm I have those reversed for some reason. @@ is right <str1ngs>bricewge: maybe you can use save-module-excursion with set-current-module to export the binding. <bricewge>Thanks str1ngs , I didn't read this page. reload-module may be what I'm looking for, I'll give it a try, <str1ngs>bricewge: maybe it's best to ask in #guile. I'm not sure my suggestion will work either :( <bricewge>str1ngs: (module-ref (resolve-module '(gnu system)) 'operating-system-keyboard-layout) do what I want. <vits95>(((((I want to set a keyboard layout))))) i like it :) <vits95>Like in that comic: "your built a ((((((((((horse)))))))))) <str1ngs>after awhile you don't see parentheses. we call that nirvana :) <g_bor[m]>liberdiko: I believe this should be exported. <NieDzejkob>OriansJ: I checked, and The Memory Sinkhole also doesn't let you access I/O from Ring 3 <bricewge>g_bor: I'm also using operating-system-firmware. Should I submit a patch with all operating-system-* exported? <OriansJ>NieDzejkob: interesting, as it allows one to write to priviledged memory to gain root <NieDzejkob>yeah, but you need ring 0 already to carry it out <OriansJ>but given the last few years of hardware vulnerabilities; perhaps consider the possibility that if something untrusted is running on your machine there is a very good chance it can do harm in ways we don't quite know. <OriansJ>It isn't just the things that you don't know that can hurt you in cyber security but also the things you know but are not quite so. <OriansJ>Especially in this world of Benchmarks and power consumption being the basis for most people buying of hardware. <NieDzejkob>aren't all of these hardware vulnerabilities just about data exfiltration? <NieDzejkob>you claimed that there are attacks that gain persistency without any priviledges, though <OriansJ>NieDzejkob: you are absolutely correct <OriansJ>the primary reason for exfiltration is to facilitate access. <OriansJ>and I quote "By default, any users are able to update signed firmware for removable hardware. " ***dustyweb` is now known as dustyweb
***modula is now known as defaultxr
***calher1 is now known as KE0VVT
<vits95>is there any issues with Wayland? I want to install sway as the only WM. <mehlon>vits95: not that I remember, but it's not hard to set it up and rollback if it doesnt work <vits95>BTW: current version of Guix system installation .iso (at least before pull, reconfigure) has booting issue with btrfs and zstd compression. <nckx>vits95: That's long been fixed, unfortunately the installer on the Web site is almost a year old by now. You can build your own (guix system disk-image, see ‘Building the Installation Image’ in the manual) or join in helping to get Guix ready for the next release 🙂 <nckx>You can of course also guix pull after enabling cow-store, even though it's not ‘the official way’ it's what I always do anyway. <Ek3F>I've just installed Guix System with GNOME interface, but I don't know how to launch GNOME from the command line after reboot <NieDzejkob>Ek3F: you could try to get startx (from the xinit package) to work, but I think a login manager such as gdm, slim or sddm is preferred <Ek3F>Thanks, but shouldn't have one been installed already if I selected GNOME as GUI? <bluekeys>Hi guix. What's the guix way of adding to my hosts file <roptat>I'd like to add the possibility of resuming downloads (for substitutes and fixed-output derivations). I'm currently focusing on the second one. From what I see, I can change (guix build download) to add a Range header and fetch only missing bytes, the issue is that at that point, the old attempt is already removed from the store (although failed attempts are kept in the sotre, so I guess the guix daemon removes failed derivation before retrying them) <roptat>bluekeys, there's a hosts field in operating-system <bluekeys>roptat. Thank-you. And I was going to ask for documentation, but ... awesome <NieDzejkob>Ek3F: oh, if you used the installer it should probably work. Maybe you need to wait a minute? I recall that the boot can be a bit slow <roptat>hm... the description is a bit short though <NieDzejkob>Ek3F: can you verify that the /etc/config.scm is using %desktop-services? <roptat>I thought I took it from the manual, but maybe not... <Ek3F>NieDzejkob: No, grep could only find (use-service-modules desktop ...) <Ek3F>And instead of %desktop-services, I have %base-services, don't know why <alextee[m]>i keep getting this on guix pull: (exception misc-error (value #f) (value "no code for module ~S") (value ((sphinx))) (value #f)) <alextee[m]>i removed all occurences of "sphinx" from my channel <alextee[m]>maybe i have a bad package installed from before? <alextee[m]>oh i removed my channel and now i get this: (value "Unbound variable: ~S") (value (ghc-hspec-discover)) (value #f)) <alextee[m]>i think it's looking to update stuff that's not found in the channel <mwette>alextee[m]: I'm just getting the same thing! no code for module. My repo is named packages.git and in there I have file nyacc-next which defines module (packages nyacc-next). Hmm ... <mwette>s/file nyacc-next/file nyacc-next.scm/ ***sturm is now known as Guest90765
<alextee[m]>so it's aproblem with current guix? i've had this issue for weeks now <alextee[m]>my guix installation is getting older and older lol <nckx>sirgazil, alextee[m]: Hm, I thought it was related to a very recent commit. Testing… <alextee[m]>well the error i was getting a couple of weeks ago was about "sphinx". the ghc-hspec-discover is a new one, im not sure if they're related <sirgazil>nckx: Yeah, I just saw the "05/05: gnu: Add ghc-hspec-discover" in guile-devel <nckx>Which was then reverted. <nckx>sirgazil, alextee[m]: Could you pull & try again? <vinceleg>Hello, I need to use the perl module from the rrdtool package and can't find the way, the path to its .pm file should be added to perl include list... any pointer to something similar ? *nckx hopes they didn't make a typo in their ‘fix typo’ commit, that would be embarrasing. Unable to test… <nckx>vinceleg: Would setting PERL5LIB in the environment of the running executable (by creating a wrapper) solve this? See clusterssh for an example of that (in gnu/packages/admin.scm). <mwette>ah: I fixed "no code for module nyacc-next" and now getting the "Unbound variable: ghc-hspec-discover"; let me pull again <commanderkeen>i wrote a udev rule in my config.scm file. how do I check what is actually generated? <NieDzejkob>you could reconfigure and check, uhh, /etc/udev.d I think? <nckx>alextee[m], sirgazil, mwette: Thanks for testing! <pkill9>udev.d doesn't exist for me but i have working udev rules <nckx>pkill9: Isn't it udev/rules.d? <nckx>It exists here (/run/current-system/profile/lib/udev/rules.d). <nckx>Filled with udevvy goodness. <pkill9>i don't see my added rule in there, i think they might be bundled with udev <pkill9>yea, a bunch are from the eudev package <pkill9>i can't find my rule in /run/current-system <nckx>pkill9: sudo herd rules udev. I resorted to reading the source, of course it turns out to be documented in the manual 😛 <nckx>Funny how that's usually how it goes. <NieDzejkob>mwette: try (native-inputs `(("pkg-config" ,pkg-config)), perhaps? <sirgazil>It's amazing how simple it is to create a Guix channel. <mwette>NieDzejkob: that did get me further, I'm guessing the dependency comes from guile.m4; not to deal with the next set of issue: "failed to create path for auto-compiled file ..." <mwette> I get "no code for module (bytestructures guile)" *sirgazil failed to install its first package from his channel though (it seems guile-build-system is not enough) <Ek3F>NieDzejkob: my bad, I thought I selected GNOME during the installation process, but actually it didn't get selected by pressing enter. I had to press space than enter :-) <Ek3F>How does one find all the packages installed in their Guix System instance and get the sources for them? <sirgazil>I'm very ignorant about packaging and the build systems, but, right now, I'd like to be able to tell the guile-build-system: Hey, this is my guile library and here is the texinfo docs, work with that and leave other directories alone. <leoprikler>how do you build the texinfo docs in your setup? <nckx>Ek3F: guix package --profile=/run/current-system/profile -I. I guess you could process the output and pass it to guix build --source with judicious piping and cutting, but won't try to do that off the top of my head. <g_bor[m]>I've pushed a status update on Outreachy a few hours ago to the blog. <leoprikler>In that case you'll need one phase to (invoke "makeinfo" ...) and you'll also have to wrap the build and install phases in directory excursions <leoprikler>at least IIRC and guile-build-system only compiles all of the guile sources <leoprikler>ah, no, you actually do have documentation-file-regexp, but that seems to just copy the files as-is <sirgazil>leoprikler: Thanks, I'll try that for the docs. However, my main issue with the guile-build-system, is that it will compile every scheme file available in the git repo, and my project has some scripts that I'd like to be ignored. <nckx>g_bor[m]: Maybe a listmail? I wonder if/where the blog Atom feed is syndicated to planets GNU and the like. <sirgazil>leoprikler: It copies README files as documentation. <leoprikler>sirgazil: try (replace 'build (lambda args (with-directory-excursion src (apply (assoc-ref %standard-phases 'build) args) )) <leoprikler>of course src being your actual source directory, such as "module" <g_bor[m]>nckx (@freenode_nckx:matrix.org): great! <nckx>g_bor: that matrix.org thing is new. <nckx>g_bor[m]: Thanks for writing this post and collecting all those links… however… I really don't like that we're promoting Twitter.com on guix.gnu.org like this. Have you discussed this with anyone? <g_bor[m]>nckx: we can remove this part. The Outreachy site has links anyways. <mwette>My configure.ac file has "AC_CONFIG_FILES([etc/fixup],[chmod +x etc/fixup])". Do I need something in the package spec for this? The build is saying it can't generate etc/fixup. <nckx>g_bor[m]: I'd prefer that. <g_bor[m]>I intentionally did not include the link, and the text is the name of the event on the Outreachy site, however I did not discuss it. Feel free to remove that, if this is against the policy. <leoprikler>Any weird patterns in that file or is everything normal? <g_bor[m]>nckx: can you take care of that for me? I will not be at my computer before tomorrow evening. <leoprikler>You may want to try --keep-failed to reproduce the build environment <nckx>g_bor[m]: I really appreciate you coordinating this and think you should be entitled to decide how you run things. But reading ‘join our Twitter chat’ on gnu.org is… hm. I don't like it. I'll remove it for now and we can discuss it on the list if you want. Would you be open to using another service? Are you using Twitter mainly because it's what you prefer, or because you think it will attract more volunteers? If the latter, I don't think it r <nckx>eally matters in our case. <mwette>leoprikler: ok, thanks for the help -- gotta go for a bit <g_bor[m]>nckx: I do not like twitter either. This is the official Outreachy organized pre internship discussion that precedes all rounds. I do not have a decision here. <vagrantc>so all profiles seem to produce a manifest file ... was that always the case? <nckx>vagrantc: Yes, but it's an overloaded term: that manifest isn't the same format you write by hand (it's both more complete and less user-friendly). <vagrantc>i'm looking to see what would be reasonable to pass a limited set of things to have guix challenge check <nckx>It's a useful thing. It stores information (like propagated-inputs IIRC) that would be ’lost’ after guix pull. <nckx>But the name is unfortunate in retrospect. <vagrantc>maybe guix challenge --profile-manifest=/path/to/profile/manifest ? <nckx>vagrantc: I don't grok that last bit. ‘Everything’ is both the obvious and apparently incorrect answer 🙂 <vagrantc>nckx: i want to be able to build a set of packages, and then have guix challenge check all the relevent built objects <leoprikler>inb4 we go the Java way and name it detailed-manifest-with-propagated-inputs <vagrantc>including all the build dependencies, recursively <nckx>vagrantc: So the ‘closure’? (Yay, another overloaded term, though at least we use the metaphor consistently in Guix.) <vagrantc>"guix challenge $(guix system build bare-bones.tmpl )/manifest" or something like that would be nice. <g_bor[m]>nckx: I have an idea how to solve this, feel free to remove that part. After the chat is finished I will collect what was said, and write it up. That way we do not have to promote, but we can retain all the information. How does that sound? <vagrantc>i'll just file a bug and see where it goes <nckx>vagrantc: Would something like ‘guix challenge $(guix gc --references foo)’ work? Obviously untested. <nckx>Ah, no, that's not recursive. <nckx>g_bor[m]: Certainly a good compromise. I haven't taken a look around the outreachy site yet, I'll try to replace it with a useful link. <g_bor[m]>The timeline has a direct embedded link iirc. <vagrantc>guix challenge basically seems to either check against all local builds, or a specified build <nckx>g_bor[m]: Sorry to be so difficult. I'd just rather deal with this now than later. Apart from me, there are less friendly folks… *nckx can officially no longer type ‘git pull’. Tried twice. Fingers say ‘have some guix instead’. <vagrantc>cut and paste is really useful sometimes <nckx>NieDzejkob: Very slowly and deliberately. 🙂 <NieDzejkob>I've got `alias gpu="git pull"` set up, so I'm immune from this problem <nckx>The shorter ‘gp’ being ‘guix pull’ obviously. <g_bor[m]>I can't tell how many times did I try guix push... <g_bor[m]>Well, to add to the confusion I use git deploy on some nodes... *nckx fights to resist the commit message ‘Remove bird shit’ :-/ <mwette>leoprikler: rechecked config of etc/fixit; the file is generated, but it's not being compiled by guile, so need to deal with the separate issue <sirgazil>leoprikler: replacing the build phase with your code solved my problem. But now I have another problem: no code for module (glab i18n), where "glab" is my library. So it seems I need to update GUILE_LOAD_PATH in the build phase to find "glab"? But I don't know how... <sirgazil>Oh, I think I found an example in Guix packages... *kmicu reads guano via rss on nitter; no proprietary js required to read it. <nckx>Nothing so productive, just the above blog post. <nckx>kmicu: But that doesn't allow posting, or does it? <nckx>Well, no matter how you post, you're still affected by their EULA. <kmicu>I only read it via rss; have no desire to participate. <kmicu>Alas not everyone is on fediverse. <shtwzrd>hi guix :) I'm trying to submit my first patch but i'm a little confused and a bit of a scrub. I read Submitting Patches in Info, but I'm not sure about the procedure -- I want to send a patch for a bug I opened myself, using git send-mail <shtwzrd>It's just a small, one-off patch. It's good enough to just --annotate and put [PATCH] in front of the subject line, right? I give a link to the bug it closes in the commit message <shtwzrd>and the to: should be <issuenr.>@debbugs.gnu.org or is that only for patch series? <nckx>kmicu: Sure, and I only post shit memes, but using it for productive internship discussion would be problematic. <nckx>shtwzrd: A single patch can be sent to guix-patches@ directly. Just make sure it's really a single patch. No need for a cover letter; you can include a blurb (that won't show up in the commit message) after the ‘---’. <nckx>guix send-mail -1 --to=guix-patches@gnu.org <kmicu>(If yes, then I’m surprised they use Twitter but maybe that’s the price for reaching to others.) <nckx>Unless you're worried about accidentally spamming the list, I guess, in which case don't. <nckx>kmicu: It is, so I also find that a strange choice on their part. I too guess it's to ‘reach people’. <nckx>It's a strange ‘chat’ format to begin with, unless your real purpose is to spam a hash tag. <vagrantc>kmicu: conservancy is just a host organization, they don't prescribe too many requirements upon their member projects <vagrantc>(well, they're more than *just* a host organization, but you get the idea hopefully) <g_bor[m]>Ok, the changes are effective as of now. Good night. <kmicu>nckx: Not my circus; not my moral dilemmas 😺 (Personally I think Guix space should not point anyone to places requiring proprietary code. So a good call IMO.) <kmicu>I guess promoting libre requires spamming hashtags. <shtwzrd>thanks nckx and NieDzejkob for the help. Patch submitted :) *shtwzrd does the first-patch-dance *NieDzejkob is meanwhile trying to get vim-full to build <NieDzejkob>you know it's bad when you're fetching the source for binutils <vagrantc>NieDzejkob: huh, i do that all the time... ***weber.freenode.net sets mode: +o ChanServ
<NieDzejkob>anybody got any idea how to use the "resume" feature on savannah? I can't find the "save" button for "Do you want your resume to be activated? Yes/No" <nckx>NieDzejkob: ‘Update Profile’ under ‘Resume - Description of Experience’, no? <pep7>To the developers and supporters of Guix, thank you <nckx>It's been ages since I've disabled mine. <pep7>Additionally, I had a stupid question, I saw someone send me a screenshot showing Guix with the Hurd Kernel <pep7>Is there a special url for this, or is it default with guix? <pep7>When I visted the guix website I only saw the source and basic images <pep7>nckx, seriously, I appreciate FOSS developers <pep7>If I can get my shit str8 I'll donate, still in startup phase of LLC atm <nckx>pep7: It's certainly not default, and AFAIK still a work in progress. I'm not even sure it's currently working. It's not trivial, unfortunately. <pep7>nckx, how can I attain a copy, working or not <nckx>pep7: Consider mailing help-guix at gnu.org. Not everyone is on IRC. <pep7>["<3" for each in guix[::] ] <pep7>Mailed em, thanks nckx. If you do find the answer later please do pm me or highlight me <vinceleg>pep7, maybe the reverse chronological order will be more helpful <nckx>I know it was also a topic of discussion at the Guix Days in Brussels last month, but don't actually know what was said. <pep7>I do appreciate the finger pointing in the right direction vinceleg <commanderkeen>is there a good tutorial on utilizing the REPL and building packages? I'm not really that familiar with guile or scheme but I feel like the repl experience would be so much better. <commanderkeen>i select switch to repl and enter module from geiser but Im not really sure where to go from here <commanderkeen>im not sure what module and function call to run on a package def <commanderkeen>i feel like if i got it set up right it would be fun and way faster to write packages. <pep7>yea, I enjoy using ipython for debugging and writing tests before I put it in a text file <pep7>Wish there was an ipython for ruby and perl <commanderkeen>also, what does a hash on a git-reference source really mean? how do I get the base32 hash of something like that to put in the package def? <vinceleg>commanderkeen, dl the tarball then run guix hash on it <vagrantc>ok, guix build branch failed due to a a certificate error in a remote site it was attempting to contact ... at least i could understand this one! <vinceleg>oh, did not see you were refering to a gitref <commanderkeen>vinceleg: yeah i was using guix download URL to get the hash, but there was an example i was looking at where a git ref with a specific commit being used <vagrantc>git get the hash for a git checkout, git a clean checkout of the exact commit, and: guix hash -rx /path/to/clean/checkout