IRC channel logs

2025-09-03.log

back to list of logs

<Tadhgmister>Rutherther if channels don't depend on guix can they define packages using the package record defined in guix?
<Tadhgmister>oh wait, nevermind I misunderstood what you said
<apteryx>unmush: is this what causes the sound to not work e.g. for facebook videos ?
<apteryx>ieure: thanks, I'll see if I can borrow a phase from librewolf
<unmush>apteryx: yes
<unmush>it's specifically some library of ffmpeg that the "security broker" process refuses to allow to be opened
<apteryx>we could probably define some common build procedure for firefoxes to avoid this kind of fragmentation of fixes
<BunniesRCute>Im totally bricked still for months and I still can't find or build a new nonguix iso, only old ones that run into this issue from reddit and installing nss-certs doesn't work because I assume it's too old (i cant run guix pull). https://reddit.com/r/GUIX/comments/pzvt3n/guix_pull_error_git_error_the_ssl_certificate_is/
<apteryx>unmush: thanks, that's useful!
<apteryx>I updated to 140.2 hoping it'd fix that and was dismayed when it didn't :-[0]
<apteryx>:-)
<apteryx>you can try it out from the gnuzilla-updates branch if you want. The parameters page is still borked (icecat changes need adjusting from the gnuzilla's makeicecat script, I reckon)
<apteryx>but other than that it seems to work reliably.
<apteryx>oh, another thing: translations (l10n locales) do not seem to take effect for icedove 140.2
<apteryx>perhaps because I'm no longer using the official branding build switch and some ID changed from thunderbird to something eles
<apteryx>ieure: by the way, both librewolf and icecat retains a reference to GCC, so it seems our neutralise-store-references phase needs an update
<unmush>it was a real pain to debug because it spawned a new process shortly before demonstrating the unintended behavior, but that process didn't open anything directly, instead proxying all filesystem interaction through another long-running already-existing process
<unmush>and gdb doesn't like simultaneously stepping through more than one process
<unmush>also, fun fact, if you build icecat with -ggdb3, gdb will use 8GB of RAM from the moment you attach it
<apteryx>unmush: ^^'
<apteryx>perhaps the rr debugger could help with the multi-processes (threads?) debugging
<apteryx>haven't used it but it's supposed to improve usability in this context
<apteryx>for our debug symbols, I still have in TODO somewhere to add a post-process pass to our debug symbols production through the dwm tool
<apteryx>which dedupes debug symbols, and hopefully could make them much smaller
<apteryx>would probably help to avoid downloading 300 MiB of debug symbols when grafting qtbase for example
<gnutoo123>guix help! im searching for /usr/share/themes and how to apply systemwide themes/fonts/icons on guix
<gnutoo123>i think I found it, but the question is, how to edit it the guix way...? /run/current-system/profile/share$ ls
<gnutoo123>I dont think it's appropriate to edit a configuration file, I just want to copy over themes/icons/fonts I have
<unmush>if it only involves adding new files and not replacing any, you could just add a package to the system profile (the "packages" field of the operating-system record)
<unmush>the way it works is that the system profile is generated by constructing a symlink union of all the store items those packages end up as
<gnutoo123>typically I just cp themes/icons/fonts to /usr/share/themes ect
<unmush>so if you have a package that ends up containing /gnu/store/...-something/share/foo and you add that to your system profile, it will end up with a symlink at /run/current-system/profile/share/foo pointing to it
<unmush>if your themes / icons / fonts are already packaged, it should be as simple as adding them to the system packages field
<gnutoo123>well theyre not, theyre just in folders basically...
<gnutoo123>i usually just copy them over when I install a new system
<gnutoo123>im still learning guix... it's sort of hard because it's totally different than everything else there is to learn
<unmush>for this purpose you may want to look at copy-build-system
<gnutoo123>ok
<unmush>if the files you want aren't in some central location to download from, you can use 'local-file' instead of an origin
<gnutoo123>ok
<cancername>Why can't "guix locate -u bzImage" find mybzImage?
<cancername>my bzImage*
<cancername>I have verified that it exists in the store
<unmush>could be that you need to pass --method=store when updating the database
<unmush>the --help output doesn't say whether "manifests" or "store" is the default
<cancername>oh god that's extremely slow
<cancername>I'd rather not right now, but thanks for the suggestion, I will try eventually
<gnutoo123>cant we just hack the guix
<gnutoo123>im trying to follow the docs, and write a package definition, and it just keeps becoming more and more convoluted and complex as I keep reading
<ieure>This is generally how learning works.
<gnutoo123>its telling me to make a channel, and then to make a git repository
<gnutoo123>I just want to copy 2 folders, and a bunch of font files, to /usr/share/themes ect..
<gnutoo123>and ive been reading these docs for an hour
<gnutoo123>(file-name (string-append "myfilename/")
<gnutoo123>thats as far as Ive gotten
<ieure>lol
<gnutoo123>(method local-file)
<gnutoo123>(name "mytheme")
<ieure>gnutoo123, Have you noticed that Guix doesn't have /usr/share/themes yet?
<gnutoo123>(build-system copy-build-system)
<ieure>Or indeed /usr/share
<gnutoo123>yes it's in /run
<gnutoo123>i found it
<ieure>Kinda-sorta
<gnutoo123>its all in here /run/current-system/profile/share
<ieure>gnutoo123, You cannot write to that location, though.
<gnutoo123>i just want my fonts : D
<gnutoo123>I dont care what it takes!
<gnutoo123>+
<ieure>Have you looked at font-build-system?
<gnutoo123>hell no
<gnutoo123>I just want to copy the fonts
<ieure>What are the fonts? What are the other folders?
<gnutoo123>thats all I want
<ieure>You don't need a channel to do tis.
<ieure>*this
<gnutoo123>I have themes, I have icons, and I have fonts
<gnutoo123>I dont want a channel or a github repo
<ieure>As I said, you don't need a channel.
<gnutoo123>I just want to install them systemwide, like I would typically... sudo cp mytheme/ /usr/share/themes/.
<ieure>gnutoo123, Guix doesn't really work like that.
<gnutoo123>well I have a package definition for it
<ieure>gnutoo123, Can you put your package definition in a pastebin?
<gnutoo123>but I have no idea how it's going to work
<ieure>Have you tried building your package?
<gnutoo123>I imagine, I have a folder, Ill put the theme files in the folder, and then, ill write a package definition for them, and guix install mytheme.scm
<gnutoo123>something like that
<gnutoo123>can we even use the home directory normally, like making a .themes folder
<ieure>gnutoo123, Are you looking for help, or just venting?
<gnutoo123>well yes
<ieure>Yes to which?
<gnutoo123>im looking for help...
<gnutoo123>Ive explained what im trying to do
<gnutoo123>I never tried making ~/.fonts maybe that will work
<gnutoo123>but its nicer to install them system wide
<ieure>gnutoo123, I'm trying to help you, but you're ignoring my questions that will allow me to do that and talking instead.
<gnutoo123>ok lemme zoom in and see what your saying
<ieure>gnutoo123, Can you put your package definition in a pastebin?
<gnutoo123>I cant try building the package
<ieure>And paste the link to that here.
<gnutoo123>because I have no idea how to write one, or how it will be parsed
<gnutoo123>im trying to create the utmost simplest package definition
<gnutoo123>like I have a folder, and I want to have guix install it into /run/current-system/profile/share/themes/
<gnutoo123>or even better, to skip guix entirely
<gnutoo123>and copy it over as root
<gnutoo123>which is how you take care of business on every other linux distro
<ieure>gnutoo123, You are laboring under fundamental misapprehensions about how Guix works which are difficult to correct unless you take a breath and cooperate.
<ieure>Guix is not every other Linux distro.
<gnutoo123>i just want my fonts : ' (
<ieure>That's fine. But unless you chill and let people help, you won't get them.
<ieure>gnutoo123, Here is an example of a font package from my channel: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/fonts.scm
<gnutoo123>ok
<ieure>gnutoo123, You can also look in gnu/packages/fonts.scm in the Guix repo, which has many working examples of font packages.
<gnutoo123>i dont really want a package though
<ieure>Why not?
<gnutoo123>I just want to move the files to where they go
<ieure>Packages do that.
<gnutoo123>its literally one command for me
<gnutoo123>not a two hour adventure through the jungle of guix documentation
<ieure>gnutoo123, As I said, Guix does not work that way. There is no /usr/share. You don't just copy files around. That is not the Guix way of doing things.
<mange>If you're asking Guix to manage your system, then you have to tell Guix how to do what you want.
<gnutoo123>i dont need guixes help, I am the guix
<ieure>gnutoo123, You should probably consider whether those constraints are ones you're happy with. You don't seem happy with them.
<mange>Otherwise, you should be able to use ~/.fonts or whatever.
<mange>If you don't want Guix to manage your system, then I'd suggest not using a Guix system. :)
<FuncProgLinux>gnutoo123: If you need fonts you can install them at $HOME/.local/share/fonts if you want the userland usr/ experience
<gnutoo123>I just like installing them systemwide
<gnutoo123>because then the themes/icons/fonts will work everywhere
<gnutoo123>so typically I just sudo cp them into /usr/share/fonts ect
<ieure>gnutoo123, This is one of those misapprehensions I mentioned.
<ieure>gnutoo123, Almost nothing in Guix is ever installed systemwide.
<mange>If you're asking Guix to manage your system then you're implicitly ceding that low-level control to Guix. Again: Guix is not like other Linux distributions.
<gnutoo123>i dont want guix to manage it
<gnutoo123>I dont let any of the distros manage it
<gnutoo123>they break everything
<mange>What is "it"?
<gnutoo123>theyre awful
<mange>As in, when you say "it" there, what do you mean?
<gnutoo123>the only way to have a good system is to take complete control over it
<gnutoo123>its not a mystery
<gnutoo123>its a computer
<mange>Right, so then why are you using Guix, if you don't want Guix to help you manage your computer?
<FuncProgLinux>gnutoo123: Guix lets me control things pretty good. More than Gen/Fun-too ever let me even with USE flags
<gnutoo123>im trying to download your https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/fonts.scm from the command line
<gnutoo123>but wget returns a crazy html file
<gnutoo123>well according to the documentation guix and the guix build daemon are supposed to work for me
<FuncProgLinux>gnutoo123: If you don't want a package, and there's no /usr in Guix you can hack your way into /etc/X11/xorg.conf.d/ and create a new configuration rule and tell the X-server to search for fonts in another non /usr directory
<gnutoo123>well ya know what there is a /usr
<FuncProgLinux>Mind you, this is not the ideal way though :/
<gnutoo123>so maybe I can just make a /usr/share/themes
<gnutoo123>I know guix will overwrite my /etc/fstab
<ieure>You cannot. It doesn't work that way.
<ieure>I mean, you can. But I don't think it'll work.
<gnutoo123>well im going to do that right now
<ieure>Good luck!
<ieure>gnutoo123, Honest question: what did you expect to get out of this conversation?
<ieure>Like what was the outcome you envisaged when you came in here to ask for help?
<gnutoo123>well someone was helping me earlier and I was following his advice
<gnutoo123>but after an hour of reading the docs im nowhere closer to my goal
<ieure>So the outcome you wanted was what?
<gnutoo123>fonts...
<gnutoo123>all I want is the fonts~!
<ieure>gnutoo123, You've been given three options: 1. make a package, or 2. put them in ~/.fonts; or 3. don't use guix. You seem to be rejecting all of them.
<gnutoo123>it seems silly, because to do more complex operations, it is going to be extremely complex
<ieure>gnutoo123, So I honestly have no idea how to help you. You are asking for help, then refusing the help you're given.
<FuncProgLinux> btw, is it possible to set extra environment variables into the 'wrap phase? I know now how to fix #1616 but it requires two env vars being set. This would fix a 3 year old bug
<gnutoo123>ok the fonts have been moved to /user/share/fonts
<ieure>FuncProgLinux, `wrap-program' lets you specify arbitrary variables to set in the wrapper.
<gnutoo123>maybe a relog will fix it
<FuncProgLinux>ieure: Thanks for that :) I'm looking at gnome.scm for some examples but this is a "reversed-dependency" scenario. Would it be a bad practice to set these variables to /run/current-system? For more context, these variables are needed by the MATE panel to find the missing applets I reported
<FuncProgLinux>I can see, load and use correctly these applets if I kill my current panel and reload it like this: MATE_PANEL_EXTRA_MODULES=/run/current-system/profile/lib/mate-applets/ MATE_PANEL_APPLETS_DIR=/run/current-system/profile/share/mate-panel/applets/ nohup mate-panel --replace &
<ieure>FuncProgLinux, I'm by no means an expert on this particular subject, but I think the expected behavior is that MATE should automatically pick up any applets installed in the same profile. I think what you're suggesting is a reasonable way to do that.
<ieure>FuncProgLinux, Seems like a good question for guix-devel.
<FuncProgLinux>ieure: Got it, thank you! :)
<ieure>FuncProgLinux, No problem!
<gnutoo123>it doesnt work
<gnutoo123>nothing works in guix
<gnutoo123>everything is different
<gnutoo123>I cant stand it!
<gnutoo123>even using systems ive used for years, are suddenly totally different
<gnutoo123>I found the section of the docs I need
<gnutoo123>("foo/bar" "share/my-app/"): Install bar to share/my-app/bar.
<gnutoo123>Variable: copy-build-system
<gnutoo123>it deleted my package!
<FuncProgLinux>gnutoo123: Guix is very very different from a typical Gnu/Linux distribution, the same is true for the distribution Guix is based upon. It does not follow the FHS and thus, programs need modifications for things to work
<gnutoo123>omg I rebooted
<gnutoo123>why would you guys copy nix
<gnutoo123>omg
<gnutoo123>guess your not familiar with complex systems, systematically, breaking technology
<gnutoo123>or systems with a lot of hype on the internet, being misleading
<awth13>gnutoo123: I wonder how you ended up here
<gnutoo123>i go where Im needed
<gnutoo123>now i must go outside ill brb
<FuncProgLinux>gnutoo123: I don't think guix is misleading. People hyping systems sometimes make statements that could be easily misunderstood or that make users take systems for granted :( but this, I don't think is Guix's fault.
<gnutoo123>what kind of music do you think is fitting for guix
<gnutoo123>I tried upbeat happy music then I started reading the docs
<gnutoo123>maybe classical? jazz?
<gnutoo123>perhaps gangsta rap
<gnutoo123>opera.. pavoratti
<gnutoo123>sad music
<gnutoo123>maybe drum and bass
<gnutoo123>I get the impression reading about these systems, like nix, guix, that we should be listening to drum and bass
<gnutoo123>hyperactively programming, and running all sorts of programs
<gnutoo123>and its super cool and fun
<gnutoo123>but in practice thats not how it works at all
<gnutoo123>once you have to stop and wonder, what's the proper syntax for tab spacing in a guile package script
<gnutoo123>the parties over
<FuncProgLinux>When in doubt, guix style -f path-to-your-scheme-file.scm
<gnutoo123>cant u just write it without spaces at all?
<gnutoo123>it would be so much faster
<gnutoo123>I dont like all this "declarative" business
<gnutoo123>I dont want to "declare" anything
<gnutoo123>I want guix to stop modifying my home at least
<gnutoo123>I enjoy simple systems, and using the standard utilities..
<gnutoo123>which are complicated enough
<gnutoo123>I want to build things with guix, but it's super annoying just to configure the base system
<gnutoo123>I cant sit here with a default system, I have to break into every single thing
<gnutoo123>oh my package reappeared in my home
<gnutoo123>idk what happened, I used guix when it was 1.4 awhile ago, and I remember the base system was sitting at 400mb of ram, now I have current installed and it's 3.5 gb and things are weird and slow
<gnutoo123>I have to wait for things to pop up, like the internet, and folders apparently
<gnutoo123>oh I guess its 1.5
<gnutoo123>i read top wrong
<gnutoo123>Can anyone tell me, what's the simplest package definition? with like the copy-build-system
<gnutoo123>like can I just write basic guild commands, and tell guix to install it
<gnutoo123>guile*
<gnutoo123>or do I need to pour through 1000 pages of documentation first
<gnutoo123>so like (define package) #:install-plan (source target) (source target) ... guix install mypackage.scm
<gnutoo123> (build-system gnu-build-system)
<gnutoo123>i dont need anything else... except for the bare naked elements, and the right syntax
<gnutoo123>no versioning, or modules, or anything
<gnutoo123>i dont need tabs either that's superfluous
<gnutoo123>like a bash script wouldnt bother with that
<gnutoo123>or a compiler...
<gnutoo123>they just erase the white spaces...
<gnutoo123>ya know the secret to learning this stuff is just to use a happy sing song voice, two tabs, one nested function!
<gnutoo123>simulate that your committing it to memory, like your singing the abc's
<gnutoo123>"Without being a Scheme expert, the reader may have guessed the meaning of the various fields here."
<gnutoo123>"Once a package definition is in place, the package may actually be built using the guix build command-line tool "
<ieure>gnutoo123, raspberry-pi-firmware and shell-startup (both in my channel I linked previously) are about as simple as they get.
<gnutoo123>ok I definitely do not have the right syntax
<ieure>gnutoo123, Not sure if you saw my message, as it was right when you were signing off, but: raspberry-pi-firmware and shell-startup (both in my channel I linked previously) are about as simple as they get.
<gnutoo123>ok
<gnutoo123>i just cant read it because im on icecat and javascript is off
<gnutoo123>i think I almost have it
<gnutoo123>but ofc im totally wrong
<gnutoo123>im going to try to install 1 folder!
<gnutoo123>although
<gnutoo123>I cant install it
<gnutoo123>because I want to install it systemwide
<gnutoo123>so then I have to install it as sudo?
<gnutoo123>sudo guix?
<ieure>Why can't you install it?
<gnutoo123>you cant tell me guix doesnt do systemwide..
<gnutoo123>I want to modify the entire system
<ieure>gnutoo123, You have been told that repeatedly.
<gnutoo123>well I want to install it systemwide, like to the /run directory
<gnutoo123>so do I have to do so, with sudo guix build ?
<ieure>gnutoo123, Hey so checkpoint here: If you actually want help? You gotta lose the attitude.
<ieure>Are you willing to stop typing and listen?
<ieure>If so: I will help you.
<gnutoo123>im just asking questions
<gnutoo123>and making observations
<ieure>False.
<ieure>You are being argumentative and insulting.
<ieure>And not listening.
<gnutoo123>well im being honest
<ieure>You can be honest without being a dick.
<gnutoo123>I want to install the themes ect systemwide
<gnutoo123>there must be a way
<ieure>This is not the Guix Way.
<gnutoo123>: D
<ieure>Your fundamental misapprehensions about how Guix works is leading you this place. You can sit down and learn, or insult the project and get ignored. Which will it be?
<gnutoo123>im just trying to do simple tasks
<gnutoo123>before diving into the docs
<mange>gnutoo123: I'm curious, why are you using Guix?
<gnutoo123>like modifying /etc/default/grub
<gnutoo123>or fstab
<gnutoo123>i thought this would be the place to learn how
<ieure>gnutoo123, We can only help those willing to be helped.
<gnutoo123>well you can count me amongst the willing
<gnutoo123>ive been here for two hours
<ieure>During which you ignored 100% of advice given to you, spammed dozens of messages into the channel, and insulted the project.
<gnutoo123>no im following all the advice..
<gnutoo123>but its not easy
<gnutoo123>because it leads to more questions
<gnutoo123>so now I have a basic package definition
<ieure>Great, does it build?
<gnutoo123>but the question is, how do I install it, if it requires a root privelege
<ieure>It does not require root
<gnutoo123>my monitor just turned off..
<ieure>One of the major selling points of Guix is that you can manage packages per-user, without needing root or affecting the broader system.
<gnutoo123>yes in this case I want to take full control of the entire system
<gnutoo123>no big deal
<mange>So, gnutoo123, why are you using Guix? It doesn't sound like you want its features, and it sounds like you want the exact opposite?
<ieure>gnutoo123, That's fine. What we're telling you is that the control mechanisms are different. Guix is best thought of as a totally different OS, not a Linux.
<gnutoo123>im just trying to install a theme, icons, and fonts
<ieure>Why?
<ieure>Why Guix?
<gnutoo123>because I like to customize the way the system looks..
<gnutoo123>it makes it easier for me to read text
<ieure>Why Guix
<gnutoo123>if I can use my special fonts
<ieure>You have a low opinion of it, don't like how it does anything, insulted it. Why are you using it at all?
<gnutoo123>so its frustrating for me
<gnutoo123>its hard to read, if I cant change the fonts
<ieure>Okay, I'm done
<ieure>You are talking and not listening.
<gnutoo123>well I dont know why youre mad
<gnutoo123>Im the one who cant change the fonts here
<ieure>I'm not mad, just cutting my losses.
<ieure>Bye.
<gnutoo123>well now im having hardware issues..
<gnutoo123>just sitting here in the guix system is too much for it bear apparently
<gnutoo123>my computer monitor just shut off by itself
<gnutoo123>maybe guix shouldnt be the one "declaring" our system configuration...
<gnutoo123>so anyways
<gnutoo123>im pretty sure the whole point of guix, isn't to stick you in an isolated container, separated from your own operating system as you guys are suggesting, but to allow us to configure the entire system
<gnutoo123>I dont think your "anger" is genuine either
<mange>Oh, it sounds like you're pretty familiar with Guix. How long have you been using it for?
<gnutoo123>awhile..
<gnutoo123>thats its first primary selling point actually
<gnutoo123>and now your saying, that's not how it works
<gnutoo123>i literally found the exact directory, I need to modify
<gnutoo123>I understand I need root priveleges
<gnutoo123>and your saying no, you shouldnt do that, thats not how it's done
<gnutoo123>thats exactly how its done on every single linux system
<mange>Sorry, I assume given your confidence that you've been using Guix longer than me, and understand it better than I do. I don't think I'm going to be able to help you.
<gnutoo123>you find what u need to modify, some strangers in irc or the web forums, tell you dont do that! then you get root priveleges and do it anyways
<gnutoo123>finally, your system actually works
<gnutoo123>ok wish me luck sudo guix build mytheme.scm
<mange>Good luck! Let me know if/when you want me to explain why that won't do what you want. :)
<gnutoo123>guix build: error: mytheme.scm: unknown package
<gnutoo123>i think it needs my gpg key
<mange>That'll be it.
<gnutoo123>(define-public mytheme (package (name "mytheme") (source (origin (method local-file) #:install-plan (~/my-channel-/mytheme_package/BlackAndWhite /run/current-system/profile/share/themes/))) (build-system copy-build-system)
<gnutoo123>my first guile program package arent you guys proud of me
<gnutoo123>hmm
<gnutoo123>maybe instead of origin I type local-file
<gnutoo123>but its not a file
<gnutoo123>its a directory
<gnutoo123>!
<gnutoo123>ok I see your build script on codeberg
<gnutoo123>but I dont understand, how permissions will work, for modifying the systemwide directories under /run
<gnutoo123>or the absolute least amount of parameters I need to supply to guix build
<gnutoo123>do I need to make a module, for my package, to install it?
<gnutoo123>the only command I need is cp -r
<gnutoo123>so I dont even think I should have to define "use-module" for guix build
<gnutoo123>hmm
<gnutoo123>i think this error must be really basic
<gnutoo123>guix build: error: mytheme.scm: unknown package
<mange>Does "guix build --help" say anything helpful?
<gnutoo123>my thinking is, it cant be an unknown package, because according to the docs, guix is very simple, and takes inputs, and processes them
<gnutoo123>not so far : D
<gnutoo123>for instance, im running guix build in the exact same directory as the package definition
<mange>guix build --help says " -f, --file=FILE build the package or derivation that the code within FILE evaluates to". Could that help?
<gnutoo123>maybe but I thought I did that
<gnutoo123>yay progress mytheme.scm:9:1: missing closing parenthesis
<gnutoo123>omg this always happens to me in guix
<gnutoo123>the damn paranthesis make no sense : D
<gnutoo123>mytheme.scm:9:2: missing closing parenthesis
<gnutoo123>it just keeps saying the same thing it never ends : D
<gnutoo123>mytheme.scm:2:3: error: package: unbound variable hint: Did you forget `(use-modules (guix packages))'?
<gnutoo123>im getting closer...
<gnutoo123>ill see you guys later
<mghackerlady>with the GNOME 49 beta releasing soon, have we started working on getting it packaged? Guix is still on 46 and almost 2 versions EOL
<apteryx>efraim: hello! does 'qemu' build for aarch64 for you?
<apteryx>someone reported a problem with the migration tests
<Deltafire>mghackerlady: looks like work is underway: https://codeberg.org/guix/guix/commits/branch/gnome-team
<Deltafire>just one person though, could probably use some help
<efraim>apteryx: I haven't gotten a chance to test it yet, I'll build it now
<efraim>apteryx: I'
<efraim>apteryx: I'm being offered a substitute for qemu
<efraim>and for qemu-minimal
<efraim>that's on commit c7efa748fab53d2ffcdcd71f3938036a9dd99e38
<apteryx>efraim: I was asking in the context of https://codeberg.org/guix/guix/issues/2447#issuecomment-6870535
<efraim>apteryx: I saw that too, that's why I mentioned the commit I was on
<apteryx>I did 'guix pull', then 'guix weather qemu --system=aarch64-linux' says no substitutes
<efraim>it's showing as substitutable to me from bordeaux
<efraim>right now I'm trying to find the commit that broke qtwebengine
<apteryx>oh, indeed, I now see it from bordeaux as well.
<apteryx>is it broken for aarch64-linux only?
<apteryx>hm, no substitutes on x86_64 at least
<apteryx>(about qtwebengine)
<efraim>I think I found the group of commits
<efraim>7af4a57c302237199decba5d27c0ec77c2cdba30 (ruby-3.3) is bad, ecfbeb3e68a1bc38a9c66b7e0b8a961a63bd58d6 (add radicle) is good. that leaves 16 commits or so for that grouping
<abrenon>hi
<abrenon>I updated my system from 3eb03534 to 2495ba4 yesterday and I'm having problems with fcitx5
<abrenon>switching between groups doesn't seem to be working anymore, and manually selecting anthy with the mouse doesn't activate the conversion into hiragana then possible selection of corresponding kanjis
<abrenon>I noticed many version upgrades on fcitx5-* packages in guix' git log over the summer, is there a migration step I might be missing?
<abrenon>hako: you signed commit f6a87b76 upgrading fcitx5-anthy, would you know anything about that? Do you by any chance use fcitx5-anthy or at least fcitx5 personnally? Would you know the author's nick here?
<PotentialUser-49>Hello, Guix!
<PotentialUser-49>I was looking at the documentation of `home-xdg-configuration-files-service-type', and I had a question
<PotentialUser-49>Can you specify directories to symlink to ~/.guix-home/files/.config ?
<PotentialUser-49>Or does it ONLY accept files?
<PotentialUser-49>And if it's the latter, then how would I symlink directories with Guix Home?
<identity>PotentialUser-49: i would expect it to accept any file-like object, so directories should be good
<PotentialUser-49>identity: I assume that directories must end with a / to differentiate them from files?
<identity>what do you mean?
<identity>how could ambiguity arise between files and directories, at least in this situation?
<PotentialUser-49>identity: e.g., if I want to symlink something to $XDG_CONFIG_DIR/nano/, wouldn't Guix get confused whether nano is a file or a directory?
<identity>why would guix get confused about that? if you point it to a directory, it will know that it is a directory because it is a directory (duh), and if you symlink something to point to a directory… why would guix need to care about that at all?
<PotentialUser-25>identity: whoops, got disconnected
<identity>if you missed my previous message, look at the logs (link in the topic)
<Tadhgmister>there isn't a way to lock a process into only accessing one folder but still being able to read files that are symlinks to /gnu/store is there?
<Tadhgmister>chroot breaks those links, theoretically I could mount /gnu/store within that folder but it would necessarily allow access to my entire store
<Tadhgmister>oh I could probably make... what is it called softlinks? the one where it makes use of the same disk space but modifying one breaks the connection
<Deltafire>sounds like hardlink
<Tadhgmister>reflinks is what I was thinking, but I'm realizing guix is good about hardlinking files that are both in the store so hardlinks is what I'm gonna want
<Tadhgmister>hardlinks don't work between a potentially editable file outside the store and a absolutely-must-not-be-modified-in-place file in the store
<gnumoo93>hello guix, i'm trying to make a very simple package to install a local theme file system wide, can anyone tell me what I'm doing wrong? https://paste.debian.net/1394694/
<Tadhgmister>that isn't how you use local file
<gnumoo93>the latest error message after running guix build -f for an hour is that there's an invalid license
<gnumoo93>and I assume I'm not editing a system wide directory in /run properly because I have no idea what I'm doing
<Rutherther>gnumoo93: yes, don't put none string to fields you do not want to set, use #f
<Tadhgmister>oh what? not that 'method' is not defined
<gnumoo93>so could I write (license #f) I dont understand
<gnumoo93>because Im just running the guix build -f over and over and following it's complaints
<gnumoo93>it tells me I need a license field so I added something
<Rutherther>gnumoo93: no, you are not going to edit anything in /run with making a package, as was said already, you do that by putting a package to packages field of operating-system that you use for your system configuratjon
<Tadhgmister>`(source (local-file "~/my-channel-/mytheme_package/BlackAndWhite"))` would be the way, assuming that folder exists and has the content you want under share/themes/ sub folder
<Rutherther>gnumoo93: yes exactly, you understood right that you put in (license #f)
<gnumoo93>ok
<gnumoo93>so I should be modifying config.scm I gather
<gnumoo93>im sorry i've never used nix or guix before but Im familiar with ... all the other *nix systems
<Tadhgmister>inserting that in the packages field of your operating-system would install it to /run/current-system/profile
<identity>gnumoo93: like really all of them?
<gnumoo93>i have lots of notes from the last time I used guix so Im slowly becoming more successful with it
<Tadhgmister>if you just do `guix install -f` on that file it will show up under ~/.guix-profile/
<gnumoo93>should I be using .guix-profile/share ?
<gnumoo93>I guess that is meant for my user, thats nice, but I have started installing themes/fonts system wide and it's much nicer
<gnumoo93>so if I open up a program as root it will match my theme, and fonts, everything works nicely
<Tadhgmister>if the program that reads it is making use of XDG_DATA_DIRS that should contain a reference to both /run/current-system/profile/share and ~/.guix-profile/share
<Tadhgmister>*XDG_DATA_DIRS
<gnumoo93>right thank you
<gnumoo93>I always try it the user mode way, and use for example ~/.themes
<gnumoo93>but system wide always works better in e.g. /usr/share/themes
<Tadhgmister>I mean getting guix home to symlink ~/.themes to a folder with the themes you want would not be hard
<gnumoo93>I guess im looking at it all right now maybe I can figure it out quickly
<gnumoo93>but searching the docs for so long my coffee has gone cold already
<Tadhgmister>something like this in the home services: (simple-service 'dotfiles home-files-service-type `((".themes" ,(local-file "~/my-channel-/mytheme_package/BlackAndWhite" #:recursive? #t)))) to get the contents of that specific folder to show up in ~/.themes
<Tadhgmister>#:recursive? #t may be important with the way you are doing it now, think local-file complains if it is pointed at a folder
<gnumoo93>okay so I was able to make ~/.themes copy my theme and it was instantly recognized by my desktop environment
<gnumoo93>but it's imperfect, if I get it to install systemwide then it is perfect
<gnumoo93>okay ive never done this before either but creating ~/.fonts worked as well
<gnumoo93>and turning off sub pixel rendering actually stops fonts from turning to rainbow colors which is evident in my desktop environment (xfce) where I can zoom in on the fonts to see the culprit directly
<Tadhgmister>I'd try adding this directly in the list of packages in the operating-system: `(file-union "themes" `(("share/themes" ,(local-file "~/my-channel-/mytheme_package/BlackAndWhite" #:recursive? #t))))` if it complains that isn't a package you can try putting that as the source of your trivial copy package but i suspect it will accept it directly as a valid gexp compilable object
<brainbomb>Hi. Are the guix substitute servers available now? During the instalation I get an IP, can resolve, but get "Selected network does not provide access to the Internet and the GUIS subsitute server, please try again"
<gnumoo93>you might try the current installation iso, I had that error with the 1.4 iso
<gnumoo93>and like some ssl errors after the install, I could connect to the internet (through the web browser)
<gnumoo93>couldn't*
<gnumoo93>Can you explain to me the method for modifying system files, like /etc/fstab /etc/default/grub ?
<gnumoo93>maybe there's a page in the docs about it...
<gnumoo93>so it's all in config.scm
<brainbomb>So did the substitute servers change from 1.4 to current?
<gnumoo93>I dont know there is some sort of networking issue mr brain
<Rutherther>brainbomb: I was getting the same yesterday, yeah. I don't think the substitute server has changed. In fact, when you do manual installation you get everything substituted even without changing anything...
<gnumoo93>guix is so confusing to me... do we run guix system reconfigure /etc/config.scm as user or root?
<gnumoo93>I remember in the past being told, that we mainly don't use the root account
<Rutherther>I am not sure why the installation identifies that the substitute server is not available. Let me check the source
<Rutherther>gnumoo93: you reconfigure as root, it's changing the whole system, only root can change the whole system. If users could reconfigure, that would be a huge security threat
<gnumoo93>well I just did it as user
<gnumoo93>now im downloading all this stuff
<gnumoo93>I forgot the command to edit config.scm
<Rutherther>no, you didn't. You started to reconfigure, and it started building. Users can build. Once you get to the actual reconfiguration part, it will fail
<Rutherther>there is no single command to edit config.scm, just use what editor you prefer and edit the file normally
<gnumoo93>omg it's downloading everything
<gnumoo93>i think I should edit my notes
<Rutherther>but note to reconfigure with sudo, not actually logging in as root
<gnumoo93>i feel really bad for the gnu servers, with all this downloading
<Rutherther>(that is if you don't want to care about root's guix version, pulling regularly)
<gnumoo93>guix system: error: symlink: Permission denied: "/var/guix/profiles/system-2-link.new"
<Rutherther>exactly, you can't reconfigure as user
<gnumoo93>there's no command to open up config.scm in nano ?
<gnumoo93>I dont even remember where it is
<Rutherther>it can be wherever... there is no fixed location for config.scm
<Rutherther>just put it somewhere you remember where it is
<gnumoo93>so everything is within the .guix-profile tree I understand
<gnumoo93>or maybe it's in the store
<Rutherther>your config is definitely in the store as well, but that is not the primary source, it's just copied there to make sure you can still find configs for your old system generations even if you lose the confi
<gnumoo93>right I use guix system
<gnumoo93>oh it's in /etc
<gnumoo93>I just ran that command
<gnumoo93>so I understand I have to use guix system somehow to modify /etc/config.scm and create a new generation of guix
<gnumoo93>but it seems like quite a lot to merely edit grub and fstab
<Rutherther>no, guix system doesn't edit /etc/config.scm, you edit it
<gnumoo93>ok, I tried to edit fstab, and it overwrote my changes
<gnumoo93>so I can edit some files in /etc then
<Rutherther>yes, guix system is declarative and what is in /etc/fstab is declared in the config
<gnumoo93>can I take it out of the config
<gnumoo93>so I can just modify it locally outside of guix system
<brainbomb>ci.guix.gnu.org gives me 504 right now. I will try later. thanks!
<gnumoo93>Maybe I would rather have guix system manage some components, and then I can manually manage others, that's typically how I enjoy to configure these systems
<Rutherther>gnumoo93: not really. Also... why are you using guix system if you don't want to declare your system, I really don't get it
<gnumoo93>idk I try using all the different systems, and learning from their experience...
<gnumoo93>I like taking pieces of different projects and combining them
<gnumoo93>it makes sense to me, if for example, I remove the fstab field from config.scm
<gnumoo93>but perhaps it's a nominal dependency for guix system
<Rutherther>brainbomb: yes, the main page gives 504, but that is not actually the relevant part for substitution
<gnumoo93>so for instance I tried disabling wpa-supplicant with herd, but discovered networkmanager is dependent on it
<gnumoo93>a nominal dependency, not a real one
<Rutherther>brainbomb: but you're on the right track - it is actually how the installer checks it, quite unfortunate. Especially that there is no way of skipping this step...
<gnumoo93>well thank you for your patience, I just like to attempt to modify every part of the system
<gnumoo93>and eventually they do break
<gnumoo93>but I enjoy the modularity of gnu/linux most of all, so that doesnt stop me
<levenson>Hi Guix!
<Tadhgmister>hi levenson!
<gnumoo93>you know what I read the other day, in a description of the fhs /usr is called the secondary hierarchy, so now I think /gnu/store is like the third hiearchy
<Rutherther>gnumoo93: the thing is that /etc/fstab is not really what determines what gets mounted, so it's not like if you removed that file from management of guix, you would end up with getting mounted what you specify there. Changing how guix system mounts files would be much harder than that
<gnumoo93>so im looking at my lsblk right now... /gnu/store is moounted on /dev/sda3
<Tadhgmister>fstab still gets used if you `umount /boot/efi && mount /boot/efi` right? it makes use of fstab to determine the default options and device to mount if specifying just the folder
<gnumoo93>what the hell is this, /
<Rutherther>Tadhgmister: yeah, I suppose that is the case
<gnumoo93>my root / is just mounted in space according to lsblk
<Rutherther>I just assumed gnumoo93 wants to mount something on startup, maybe wrong assumption on my part
<gnumoo93>I want to modify everything ; d
<Rutherther>also I don't think that on umount it would be used, kernel knows the device mounted to that folder, so it checks that I presume
<gnumoo93>after themes icons and fonts, we must rebuild the kernel...
<Tadhgmister>yes but was kind of necessary for the example to make sense :P.
<Tadhgmister>guess I could have just said `mount /mnt2` would look up /mnt2 in fstab
<Rutherther>Tadhgmister: I see, makes sense
<gnumoo93>several programs rely on /etc/fstab actually
<gnumoo93>it's fundamental
<gnumoo93>like mount
<Tadhgmister>just not guix early boot scripts that get shoved into the initrd
<Tadhgmister>nor the /run/current-system/boot script that I believe mounts filesystems not necessary to load /gnu/store
<gnumoo93>this is really hilarious, fstab shows / mounted on /dev/sda3 lsblk shows / mounted in space /
<Tadhgmister>the space is because it shows multiple mount points seperated by newlines
<Tadhgmister>both / and /gnu/store are mount points for /dev/sda3
<gnumoo93>so the kernel attempts to load /dev/sda3 as the root, and then guix scripts mount the store?
<gnumoo93>let's see the docs...
<Tadhgmister>not kernel, is still the early init guile script
<Tadhgmister>or wait... no I think you are right
<Tadhgmister>if the disk is encrypted it is the guile script that asks for decrypting it and then it shows up under /dev/mapper and the root kernel argument can see that device, I don't remember if the kernel mounts the root or guix code does
<gnumoo93>well the kernel has to be told where the root is
<gnumoo93>and thats mainly what it requires to boot
<gnumoo93>sudo cat /proc/cmdline Password: BOOT_IMAGE=/gnu/store/w5idy5ylvyddd9w1241s95lm7yjmqb2f-linux-libre-6.15.5/bzImage root=2353110d-1088-4fb5-9d64-be76f7095492 gnu.system=/gnu/store/186vkrmnyb2jxs57l1vi5kzdk7p9fgiy-system gnu.load=/gnu/store/186vkrmnyb2jxs57l1vi5kzdk7p9fgiy-system/boot modprobe.blacklist=usbmouse,usbkbd quiet
<gnumoo93>there she is!
<Rutherther>no, the initrd looks at the arguments, not kernel
<gnumoo93>yes it can be configured in different ways
<Tadhgmister>well it is both isn't it? `quiet` or `earlyprintk` definitely gets used by the kernel
<gnumoo93>you can build it into the kernel, have grub deliver it, or the initrd can point to it
<Tadhgmister>and gnu.load is obviously interpreted specifically by the guix script
<Rutherther>I don't know how it can be, but in guix system the initrd mounts root
<gnumoo93>see the root is on the command line
<gnumoo93>root=2353110d-1088-4fb5-9d64-be76f7095492
<Rutherther>yes, read by initrd
<gnumoo93>and gnu.system that's like init
<Tadhgmister>gnu/build/linux-boot.scm would have the definitive answer me thinks
<gnumoo93>or gnu.load
<Rutherther>Tadhgmister: yes, that is the file I am reading to say so
<gnumoo93>or one of those brings up shepherd
<gnumoo93>sudo pstree shepherd─┬─.accounts-daemo───3*[{.accounts-daemo}] ├─.at-spi-bus-lau─┬─dbus-daemon │ └─4*[{.at-spi-bus-lau}] ├─.at-spi2-regist───3*[{.at-spi2-regist}] ├─.colord-real───3*[{.colord-real}]
<gnumoo93>so the actualy bootup process is transparent to the users
<gnumoo93>im just happy we have mousepad by default
<gnumoo93>we didnt use to have it
<gnumoo93>gnu.load=boot Tell the initial RAM disk to load boot, a file containing a Scheme program, once it has mounted the root file system. Guix uses this option to yield control to a boot program that runs the service activation programs and then spawns the GNU Shepherd, the initialization system.
<gnumoo93>gnu.system=system Have /run/booted-system and /run/current-system point to system.
<gnumoo93>When volatile-root? is true, the root file system is writable but any changes to it are lost.
<gnumoo93>bingo
<gnumoo93>thats the best setting ; D
<Rutherther>that's for isos mostly
<Tadhgmister>volatile-root is how the installer lets you build packages no problem (before enabling cow-store) but can't corrupt itself
<Tadhgmister>is isos a shorthand I am not familiar with or a typo?
<Rutherther>it's meant to be a plural of 'iso'
<Tadhgmister>ah makes sense
<gnumoo93>I have half a terabyte of upbeat music, you cant stop me guix
<gnumoo93>im going to configure scm until the end of time!
<gnumoo93>I was wondering if anyone had example config.scm to help us learn how it can be altered correctly without so much trial and error
<bdju>My whole machine froze again, it didn't take two months this time. I got the same BUG line in dmesg as before and sway got stuck. I had written down to try the sysrq key so I ended up rebooting before seeing if I could get another compositor to work.
<gnumoo93>does anyone know if we can apply grub configuration options within the bootloader field in config.scm such as would be within /etc/default/grub typically?
<gnumoo93>like for example GRUB_BACKGROUND:""
<gnumoo93>or the default command line
<gnumoo93>GRUB_CMDLINE_LINUX_DEFAULT=""
<Rutherther>the background image is changed by theme field in bootloader-configuration
<Rutherther>cmdline is changed by kernel-arguments field in operating system
<gnumoo93>ok
<gnumoo93>like this under (operating-system ? (kernel-arguments "cpufreq.default_governor=performance")
<gnumoo93>or now with the latest kernels we can do intel_pstate=active
<Rutherther>gnumoo93: almost, it should be a list, not a string. Also note that this way you're removing the default argument including two blacklisted modules and quiet argument, if you want to add it, you can use %default-kernel-arguments from (gnu system)
<gnumoo93>or rather I should append somehow
<gnumoo93>oh that's not so bad then..
<gnumoo93>so I made three simple additions to config.scm
<gnumoo93>now I run sudo guix system reconfigure /etc/config.scm or? is that too much
<gnumoo93>I dont want to download a bunch of stuff I just want to update configuration files
<gnumoo93>reconfigure Build the operating system described in file, activate it, and switch to it38.
<gnumoo93>I dont want to "build" the whole operating system again, I just want to update configuration files..
<FuncProgLinux>What happens with circular dependencies on packages? :?
<Rutherther>gnumoo93: that's how guix operating system works. It always builds the system, you cannot just update configuration files. That's how declarative works. The builder doesn't even know what your previous system was
<gnumoo93>well it's worth it to put the cpu's in performance mode at least
<Rutherther>FuncProgLinux: simply, they don't. You cannot have circular dependencies in packages. The cycle always has to be broken somewhere, the packages bootstrapped without the dependency and then you can build the final package with the bootstrapped dependency
<FuncProgLinux>Rutherther: Then that's a problem :/ I was discussing an issue with a package yesterday, but doing the change I wanted (pointing some env vars to /run/current-system/profile) creates an indirect circular dependency.
<FuncProgLinux>(A problem I have, not a problem with guix)
<FuncProgLinux>mate-applets depends on mate-panel. But an environment variable in mate-panel should be set for the applets to show. If mate-panel is installed but the mate-applets package is not, then not even the built-in applets will show, thus breaking the package. Unless one makes mate-panel depend on mate-applets which creates this scenario :/
<Rutherther>FuncProgLinux: every circle has to be breakable, because it couldn't come into place without first there being no circle
<Rutherther>FuncProgLinux: so why does mate-applets depend on mate-panel - what does it use from mate-panel specifically?
<Rutherther>from what you describe, making a new mate-panel, depending on both the original mate-panel and mate-applets, making a wrapper script with env var, calling the old mate-panel should work
<Rutherther>if the answer to why mate-applets depends on mate-panel were to be that it uses the so libraries, then another option would be to split mate-panel to two packages - one for library, other for binaries. The one with binaries would depend on both the mate-panel-libs and mate-applets
<gnumoo93>Where do we discover all the potential field values, and parameters in general?
<gnumoo93>or rather... absolutely, all of them
<Rutherther>gnumoo93: usually in the manual. To be sure, in the source
<gnumoo93>well the manual doesnt do it ; D
<gnumoo93>there's every single possible configuration, for example in /etc/default/grub
<gnumoo93>which actually has different configuration options as we update it's version
<Rutherther>sorry, I don't really get what you're saying
<gnumoo93>there's no way for guix system to know about them? or can we tell it do accomplish what we desire
<gnumoo93>just talking about basic administrative tasks like configuring files
<luca>Hi, does guix have "a location that is cleared during a reboot"? Looking in fstab on my own computer it's not particularely obvious. Ideally would need it for https://git.sr.ht/~kennylevinsen/greetd/tree/master/item/man/greetd-5.scd#L64 (which uses /run/greetd.run by default which is not cleared on reboot)
<Rutherther>luca: no, I don't think so. For that you add your own file system mounting as tmp, like what the %elogind-file-systems does
<Rutherther>gnumoo93: why would it have to know about them, I don't understand
<gnumoo93>well that's what it complains about when it says "invalid field identifier"
<gnumoo93>i'd like to for example append to /etc/default/grub whereever it lives in guix
<gnumoo93>i figured out, even though the manual doesnt specificy it, under file-systems we can add (options "defaults,noatime")
<gnumoo93>thats totally guess work
<gnumoo93>so there must be a way to discover the valid field identifiers and parameters, in every case ideally
<gnumoo93>obviously guix knows about them
<Rutherther>gnumoo93: the manual definitely does mention options and even links to the libc manual th` should cover what options are available...
<Rutherther>s/th`/that
<gnumoo93>well idk there are different manuals
<gnumoo93>oops I broke it
<gnumoo93> Wrong type argument in position 1 (expecting empty list): "cpufreq.default_governor=performance"
<Rutherther>there is just one manual for Guix itself
<gnumoo93>I waited 30 minutes to figure out that was wrong syntax
<Rutherther>gnumoo93: you cannot append arbitrary stuff to grub-bootloader's grub.cfg. You could make a custom bootloader though
<gnumoo93>well if guix can do it, I should be able to!
<gnumoo93>this is honestly bizarre
<gnumoo93>if we read the manual on grub or where it describes it's configuration, it describes editing /etc/default/grub
<Rutherther>that the coded modules don't open up every option under the sun? That's why you can make your own ones...
<Rutherther>it doesn't explain any editing /etc/default/grub, there is no /etc/default/grub
<gnumoo93>it makes sense therefore, that we can tell guix, to modify the configuration, according to the documented method
<Rutherther>of course, as I am saying, you make your own bootloader
<gnumoo93>so if some field that guix understands, relates to /etc/default/grub, we could rapidly configure it
<Rutherther>you can do whatever you want
<gnumoo93>and the documentation for it, would be valid
<gnumoo93>im not arguing with you, I'm just trying to edit a configuration file...
<Rutherther>there cannot be documentation for it as it is not supported use case of what guix does, you would have to code it yourself
<gnumoo93>thinking out loud...
<gnumoo93>so for example the manual states
<Rutherther>at that point, the documentation for Guile, Scheme and GRUB become the relevant documentations, not Guix
<gnumoo93>we can use gfxmode within the grub field
<gnumoo93>but that's all it shows
<gnumoo93>for modifying it's theme
<gnumoo93>so if I want to modify the background image, im totally in the dark as to how to go about doing that
<gnumoo93>whereas it's a straightforward procedure in every other system with GRUB_BACKGROUND=""
<Rutherther>I am not sure we are reading the same manual, but the one I am reading clearly states gffxmode is field of grub-theme and that grub-theme goes to theme field in bootloader-configuration...
<gnumoo93>theres no way to understand what the syntax is for every kind of configuration option either
<gnumoo93>the manual obviously isn't comprehensive
<gnumoo93>right that doesnt help me
<Rutherther>the manual even shows an example with gfxmode
<gnumoo93>because it has nothing to do, with the underlying system that is clearly documented
<Rutherther>oh sorry I misread what you were saying, you said it's only the gfxmode that is documented, that is right
<Rutherther>as I said, the one and only definitive source for information is the source code. It cannot lie nor omit anything
<gnumoo93>fun : D
<gnumoo93>ya know what's funny I try to configure systems from top to bottom all the time
<gnumoo93>it's super complex, it's very easy to get things wrong
<Rutherther>yes, guix is complex, it builds on top of all different kinds of other software's configurations
<gnumoo93>it's annoying, mainly, moving into a new system, and having to learn new things, then nothing you've learned before, or understand applies
<gnumoo93>it would be easier if we understood, what guix system had to do exactly
<gnumoo93>but info such as the location of /etc/default/grub is an esoteric mystery
<Rutherther>because there is no such thing
<Rutherther>that's how other distros are solving grub configuration
<gnumoo93>yes its just one example
<gnumoo93>im talking about configuring everything
<gnumoo93>thats supposed to be the whole point of this system
<Rutherther>most stuff that can be configured using what is in guix channel, is documented in the manual
<Rutherther>if it's not there, chances are it's not supported and you would have to write your own code for it to make it declarative
<gnumoo93>so I supposed we edit /boot/grub/grub.cfg manually then
<gnumoo93># This file was generated from your Guix configuration. Any changes # will be lost upon reconfiguration.
<gnumoo93>it's lost upon reconfiguration, but we can actually modify grub, with the documented methods for doing so that way
<gnumoo93>in fact, that's a really quick fix, and will make the system twice as fast
<gnumoo93>not so bad... we have to hack all these systems to make them work in reality
<gnumoo93>simple edit.../boot/grub/grub.cfg gnu.system=/gnu/store/186vkrmnyb2jxs57l1vi5kzdk7p9fgiy-system gnu.load=/gnu/store/186vkrmnyb2jxs57l1vi5kzdk7p9fgiy-system/boot modprobe.blacklist=usbmouse,usbkbd quiet cpufreq.default_governor=performance
<FuncProgLinux>Rutherther: mate-applets depend on mate-panel since that package provides libmatepanel which is needed to create new applets.
<Rutherther>FuncProgLinux: I thought so. Then it seems to me making separate libmatepanel package and mate-panel with the executables would be the best way to go
<FuncProgLinux>On the other hand that breakage would only affect users configuring their guix system with mate from scratch (?) but, by the time one does that someone will have almost all the packages present in the metapackage
<gnumoo212>okay so cpufreq.default_governor=performance doesnt work correctly on guix
<gnumoo212>but it did apply to the kernel command line modifying grub
<gnumoo212>next we'll see how the kernel is configured for guix and whether or not intel_pstate=active will work with it's most recent 6.15 kernel
<gnumoo202>okay neither are working... so the kernel is inappropriately configured
<FuncProgLinux>Rutherther: I was afraid of that. I'll have to read the gnu/packages source tree to see if some package has been fragmented like that and attempt to replicate this.
<gnumoo202>I assume as root I have access to all the typical gnu commands?
<gnumoo202># gcc --version bash: gcc: command not found
<gnumoo202>oof
<gnumoo202>is there a development package I can install as user?
<gnumoo202>i forget what it's called
<FuncProgLinux>gnumoo202: you could try with guix shell -D linux-libre gcc-toolchain -CPW
<gnumoo202>well im just manually gathering the source and guixes kernel config
<gnumoo202>so I want to get the typical gnu packages to work with now
<gnumoo202>and dependencies for building the kernel
<gnumoo202>I understand they are in a module
<gnumoo202>but I havent loaded it yet I guess
<gnumoo202>or I can install them as a user
<gnumoo202>can I load modules arbitrarily?
<gnumoo202>ok so I got gcc-toolchain and ncurses...
<gnumoo202>now make autoconf bc... pahole/dwarves... and away we go!
<gnumoo202>$ guix install make autoconf bc dwarves libelf
<gnumoo202>one more.. ssl something something
<FuncProgLinux>I've been bitten by this in the past but I suggest not to mix declarative & imperative package management. Maybe a manifest file could help
<gnumoo202>its too late now, I always manage my kernel and drivers outside of the hosts system
<gnumoo202>its simply the best
<gnumoo202>missing one package to manually build the libre-kernel... libssl
<gnumoo202>guix install gcc-toolchain ncurses bison flex libelf dwarves flex autoconf bc make gawk
<gnumoo202>then we have this r-openssl package... that might work? last piece of the puzzle?
<gnumoo202>oh and tar... and gzip
<gnumoo202>and probably other things that are typically available
<identity>why would an R package help with building the kernel
<gnumoo202>it says it provides the bindings for libssl
<gnumoo202>its the closest match, im going for it
<FuncProgLinux>gnumoo202: The R bindings for such lib
<identity>and not with the ‘openssl’ package?
<vagrantc>guile-fibers seems to be failing to build on aarch64-linux ...
<Rutherther>gnumoo202: provides R bindings to openssl... the R being quite important here
<jfred>vagrantc: heh yep, I was just opening an issue for that https://codeberg.org/guix/guix/issues/2472
<gnumoo202>idk how open it is
<gnumoo202>its always called libssl
<vagrantc>jfred: thanks!
<jfred>np :)
<gnumoo202>now if I install stuff as user, root can use it?
<identity>no
<jfred>I'm glad there are a couple of us using guix on aarch64 these days haha
<gnumoo202>so ill build the package and let root take ownership...
<identity>you have to either install stuff as root (inadvisable), or put them in the system profile
<gnumoo202>oh I need binutils
<gnumoo202>this is going to be a disaster
<gnumoo202>and I think I have everything..
<identity>you know you can just do “guix shell --development linux-libre”, right?
<gnumoo202>no I think thats wasteful
<identity>why?
<gnumoo202>I dont want to hurt the servers downloading things all the time
<Rutherther>it would download the same things you just downloaded
<gnumoo202>I can use my own PC to hold the dependencies
<identity>oh no, you are using a server for its intended purpose!
<gnumoo202>i have my own harddrive and ram and cpu..
<gnumoo202>why would I use theirs
<identity>guix shell caches the downloads, like everything guix
<Rutherther>gnumoo202: what do you think guix shell -D linux-libre does?
<gnumoo202>i think it temporarily downloads the dependencies
<gnumoo202>for working with a program
<identity>and caches them
<identity>in the store, where everything is
<gnumoo202>could I do guix install -D linux-libre ?
<Rutherther>it doesn't do it 'temporarily'. Also it doesn't have to download them, if they are already available, why would it download them
<gnumoo202>idk it's pretty simple I just manually downloaded all the dependencies
<gnumoo202>thats what you typically do
<identity>not with guix
<FuncProgLinux>This is a GNUway of doing things ;-)
<gnumoo202>here she comes! $ tar -xf linux-libre-6.15.5-gnu.tar.xz
<gnumoo202>idk what guix wants with my tar, but now I have my own
<gnumoo202>damnit perl
<identity>if you really have to, you could dump the development manifest of linux-libre to a file and then install that in your user profile; this is also not the intended way to use guix
<gnumoo202>no im going to do what I always do
<gnumoo202>in every distro
<gnumoo202>take away the hosts kernel, and manage my own
<identity>what is the point, then?
<gnumoo202>to have a system that never breaks because of upstream..
<gnumoo202>scripts/kconfig/mconf: error while loading shared libraries: libncursesw.so.6: cannot open shared object file: No such file or directory
<gnumoo202>getting closer
<gnumoo202>i think guix is missing this library
<gnumoo202>or a compatible one
<Rutherther>think about it... how could Guix miss a library that is necessary for a package it already has packaged
<gnumoo202>it doesnt require ncurses to build the kernel, humans do
<gnumoo202>so I have personally discovered this malfunction in the guix system
<Rutherther>okay
<gnumoo202>thats okay the kernel can deal with it... $ make xconfig
<gnumoo202>omg thats qt?
<gnumoo202>make help!
<gnumoo202>there make nconfig works
<gnumoo202>with guix install ncurses
<gnumoo202>[ ] Mitigate Straight-Line-Speculation
<gnumoo202>[ ] Enable call thunks and call depth tracking debugging
<gnumoo202>well youve got support for chinese processors... that ought to go over well with the boss x [*] Support Hygon processors x x [*] Support Centaur processors x x [*] Support Zhaoxin processors
<gnumoo202>[ ] AMD Secure Memory Encryption (SME) support
<gnumoo202>[ ] X86 userspace shadow stack
<gnumoo202>oof Timer frequency (250 HZ) --->
<gnumoo202>Preemption Model (Voluntary Kernel Preemption (Desktop)
<gnumoo202>thats weird
<gnumoo202>since its designed like a server system, server option is typically default also
<FuncProgLinux>Did you import your current kernel configuration first?
<gnumoo202>im just reading the guix default configuration from /proc/config.gz
<gnumoo202> Cputime accounting (Simple tick based cputime accounting) ---> thats good
<gnucode>heyo guix! Are you supposed to be able to install glibc & glibc-locals in guix on a foreign distro ?
<gnucode>I'm getting an odd guix error when I try to run "guix install glibc"
<gnucode>actually I'm getting an error
<gnucode>guix/build/syscalls.scm:2423:8: In procedure terminal-window-size: Inappropriate ioctl for device
<vagrantc>gnumoo202: your verbose quest at understanding how to manually install everything instead of doing it the guix way ... might not need a detailed play by play reporting in #guix
<gnumoo202>well in a few short moments I got all the dependencies for creating my own libre-linux package for guix
<gnumoo202>so anyone else can, that is the guix way
<vagrantc>the guix way would have probably either been packaging it or using "guix shell --development linux-libre" ...
<gnumoo202>yes im going to package it...
<gnumoo202>as soon as I rebuild it
<vagrantc>but ... packaging it is building it ...
<vagrantc>or are you talking about building it an "packaging" the manually built artifacts?
<gnumoo202>well the kernel deserves a lot of manual control actually
<gnumoo202>its very easy to work with
<vagrantc>you don't have to explain that ... been building linux kernels for at least 26 years now ...
<gnumoo202>im going to manually build it, typically how it's done, with some minor modifications, and package it ideally, for my local guix system
<gnumoo202>thats my current plan
<gnumoo202>cant figure out how to modify the command line in config.scm for the kernel, but that's the plan
<gnucode>gnumoo202: I don't know if you know...but I think that vagrantc has been the main person responsible for updating guix's linux's kernels for a few years now...or am I mis-remembering that?
<gnumoo202>[ ] Enable smaller-sized data structures for core
<vagrantc>no, that's someone else, though i have done a bit
<vagrantc>gnumoo202: could you please not report every configuration option menu selection to the irc channel?
<gnumoo202>mainly when I use linux now I just attempt to modify the kernel and workaround the unique distro's considerations
<vagrantc>gnumoo202: maybe when you're done, you can write it up somewhere and post a link?
<gnumoo202>well I think it's mainly default
<gnumoo202>which is bad news
<jfred>guix is an interesting distro to attempt to ignore distro-specific considerations on
<gnumoo202>+ certain components are malfunctioning like cpu frequency scaling, which are essential
<identity>gnumoo202: does (operating-system … (kernel-arguments '("myarghere"))) not work?
<gnumoo202>thats like saying, your car is running with a restrictive governor activated, so you cant actually get the most from your gas pedal
<gnumoo202>no idk the syntax and it takes sudo guix reconfigure 30 minutes to make me aware of it
<gnumoo202>thats like the worst possible news for your car btw
<identity>if i did not know the syntax of the config file my first solution to that definitely would not be to build a custom kernel
<gnumoo202>actually you can modify the command line within the config
<gnumoo202>so since I'm familiar with it, it's perfect
<gnumoo202>probably is fixed by either using upstream libre-linux or, by updating the kernel to a different version
<User-44>Anyone able to update udev rules in system config without a reboot? After I reconfigure system I've tried udevadm reloading and trigger but still nothing. USing hard to restart udev will take my session down. I read there was a patch years ago that it should be automatically changed by inotify?
<User-44>herd*
<Rutherther>User-44: do you really need the udev role to take effect though? Usually udev rules just do something like chmod/chown or run a script ... so you can just do it manually until you get time to reboot. Not sure about actual answer to your question at the moment, though
<vagrantc>eesh. is guile-fibers somehow sneakily a dependency for everything? i cannot seem to build anything without guile-fibers getting pulled in
<jfred>vagrantc: it's a dependency of shepherd, notably
<jfred>so if you're e.g. using `guix home`, it's installed implicitly
<vagrantc>jfred: and shepherd has a single dependent package, that i do not use
<vagrantc>i mean, yeah, my system configuration, sure
<vagrantc>but building vcmi? librewolf? ... it needs to build guile-fibers ?
<jfred>hmm, that does seem odd
<User-44>Rutherther: It'd make things easier. I can do it manually though.
<Rutherther>vagrantc: it would seem librewolf actually depends on shepherd however absurd that might seem
<Rutherther> https://paste.debian.net/1394718/
<dariqq>vagrantc: elogind depends on the previous shepherd
<vagrantc>Rutherther: and yet ... guix refresh --list-dependents shepherd ... does not list it
<jfred>TIL `guix graph --path`, that's useful
<Rutherther>vagrantc: because that's different shepherd version than you're searching dependens for
<vagrantc>guix graph --path vcmi guile-fibers
<vagrantc>guix graph: error: no path from 'vcmi@1.6.8' to 'guile-fibers@1.4.0'
<Rutherther>vagrantc: you're searching dependents for the latest version - 1.0.6. The dependency is on 0.10.5, so it would be guix refresh --list-dependents shepherd@0.10.5
<vagrantc>and yet, when i try to build it, it still builds guile-fibers
<vagrantc>Rutherther: fair.
<vagrantc>well, tries to build, and fails ...
<vagrantc>hopefully i can at least test-build the kernel without guile-fibers... as that is what i was working on...
<Rutherther>vagrantc: again could you be looking at wrong version of guile-fibers? I am not on latest guix, but I get path from vcmi to guile-fibers@1.3.1, again through shepherd. Maybe the version of guile-fibers that shepherd depends on got held back even though 1.4.0 is now available?
<vagrantc>could be versioned, sure
<Rutherther>see the version being built in the error for failed derivation
<vagrantc>guile-fibers@1.1
<Rutherther>so it's not surprising you don't get anything for path to guile-fibers@1.4
<vagrantc>just one of those classic guix confusing issues that even folks using this for a few years still gets tripped up on now and again
<FuncProgLinux>is it possible to see which emacs packages depend on lsp-mode? It got installed after I discovered some new packages in the repos (i use eglot). My fault for getting hyped installing many shiny new things at once lol
<Rutherther>FuncProgLinux: yes, definitely. Do you want to see all packages in the channels you use that depend on it? Then it would be "guix refresh -l emacs-lsp-mode"
<jfred>even without this recent bug trying to build guile-fibers on aarch64 will fail most of the time in my experience... need to open an issue for that one too, it's a bug that's fixed in upstream guile but isn't in guix yet: https://codeberg.org/fibers/fibers/issues/83
<Rutherther>FuncProgLinux: if you want to see only for your profile, it would be (one of the ways) 1. Build the profile, 2. guix graph --type=references path/to/the/profile, then looking for emacs-lsp-mode here, I am afraid there is not a good filter for this for multiple packages... there is the --path option, but you wouldn't get all packages in your profile that epend on it, only one
<vagrantc>jfred: as it it non-deterministically fails? ... so building in a loop m*might* work?
<FuncProgLinux>Rutherther: I see, I'll give it a try, the previous command told me some packages I didn't have were dependent on lsp-mode but my main suspect is consult now. thank you!
<vagrantc>looks like i can at least try building linux-libre-arm64-mnt-reform@6.16 without building guile-fibers :)
<jfred>vagrantc: yes, though I haven't gotten close to a successful build this time around. for the packages in my profile that depend on it I've defined a variant that skips tests for now
<vagrantc>--cores=1 does not seem to help either
<vagrantc>tried, based on the bug report you mentioned on guile ...
<jfred>the behavior I've seen on that one is slightly different, rather than failing immediately it hangs during the check phase
<vagrantc>well, have it in a loop of 100 tries and --cores=1 ... we'll see...
<vagrantc>ooooh... hanging is no fun.
<gabber>efraim: no, i have manifests defined programmatically in my own channel (not sure if that's a very good idea). think: command-line-base-packages, network-utilities, wayland-utils, multimedia-tools, etc. that i can mix and match for different use-cases. currently updating my guix home fails due to some conflicting entries and i try to figure out which manifests conflict with each other..
<gabber>and `guix shell -m foo.scm` expects foo.scm to evaluate to a manifest, whereas my modules contain multiple manifests per file and `guix shell -e '(@ (gabber manifests applications) complete-wayland)'` does not do the trick since `-e` expects a list of packages
<gabber>soooo, i'm looking for a procedure that takes a manifest and returns a list of packages
<FuncProgLinux>Sorry for nagging so much about different issues. I'm trying to get used to how things are done here. I've opened #1222 a month ago not knowing changing perl would need 35334 rebuilds. Now that I'm a little more experienced, would creating an inherited package called "perl-next" be a good idea?
<FuncProgLinux>I have no particular rush or need for this package but after many years v5.40 finally has been bleessed with the try/catch curse.
<Rutherther>FuncProgLinux: especially since the current version EOL it would seem to me that a better idea is to just upgrade ASAP
<jfred>gabber: manifest->packages exists in (guix scripts refresh) but isn't exported. you could probably yoink the code into one of your own modules though, it looks pretty small and self-contained
<gabber>jfred: thanks!
<Rutherther>FuncProgLinux: that it needs so many packages to build just means it has to go on a separate branch than master to first be built with CI/QA
<Rutherther>but if you just want to use this perl, sure
<gabber>FuncProgLinux: a `perl-next` attemt would make this current perl version available faster on master
<gabber>jfred: does @@ not work in this context?
<gabber>by `yoink' you mean copy/paste?
<jfred>yeah, copy/paste into your own module (which does then mean you'd need to import it before using it which I know isn't the most ergonomic...)
<jfred>ACTION looks up what @@ does :)
<gabber>yeah, so neither `guix shell -e '(@@ (guix scripts refresh) manifest->packages)' nor entering the module in the REPL makes manifest->packages available. am i doing it wrong?
<gabber>jfred: @@ looks up variables in a module that are not exported
<jfred>TIL you can do that
<gabber>TIL i can't (for whatever reason ;)
<FuncProgLinux>gabber: Ideally, I would like to help since I do use perl on my own channel and would like to benefit from such version as well. Would it be better to use inheritance for the "next" variation? I've seen this in some packages