<polyex>anyone have guixSD project stats and graphs? or know where to look to see the data? i wanna see how the guix project is doing and hopefully growing, like number of active contributors, number of weekly commits over time, number of downloads of the installer, stuff like that
<polyex>i tried looking at distrowatch trend but that's not a great metric and looked sorta flat
<polyex>which cant be possible because guix is best implementation of best system CM style (fully declarative) so it has to be growing
<tschilptschilp23>how would I set JAVA_HOME on guix? I've skipped my above attempts, and now try to bootstrap bazel itself. For that I started a shell using 'guix shell openjdk@11 gcc-toolchain zip unzip bash python', which should satisfy the prerequisites. I've searched the store to set it to what sounds most like it, but receive the error 'ERROR: JAVA_HOME (/gnu/store/6h5909qwpasmk67mn72gj1j0gsl9l8ld-openjdk-11.0.15/) is not a path to a working
<tschilptschilp23>Also, the contents of the store-directory don't really look like, what it searches for (quite a bunch of .jar-file, which are under something like /usr/share/java on a FHS-distro). Where do we have these?
<Aurora_v_kosmose>It builds with very few dependencies, but its installation part is a bit weird as by default it produces a self-extracting installer (the build.xml also supports just generating a tarball or the requirements for the tarball)
<Aurora_v_kosmose>The Debian path patches would make it reasonably easy to patch with the right paths, I suppose.
<seerlite>Hi! What would be the best way to have a command run once every boot? I'd like to delete all contents of a directory as root (I want the specific directory to behave as a tmpfs without mounting it as tmpfs).
<zamfofex>Maybe investigate setting up your own custom service. I don’t have much experience declaring services, though.
<xelxebar>seerlite: Check out any of the "one shot" service definitions, e.g. host-name, sysctl, etc. gnu/services/sysctl.scm is particularly straightforward.
<zamfofex>Interesting. I wonder what leads GNU to contradict the usual definitions people use like that. Normally they at least give a rationale for it, but here it is just told “do this, not that” without an actual explanation for it.
<zamfofex>Good question, and fair argument. Though I think I still defend that people should prefer using the most common nomenclature (regardless of which is the original) in order to avoid confusing others, specially when it’s more common by far, as long as it’s consistent and doesn’t infringe ethics.
<vivien>Also what’s said to be wrong with UNIX is that they use “pathname”, something that I guess is very rare nowadays
<zamfofex>(Also: Note that I say “prefer” intentionally, rather than “definitely use”.)
<vivien>In any case, now you know 1 person prefers to reserve the term “path” to an order list of file or directory names :)
<vivien>Even if all the boomers of that early holy war died
<vivien>(not to offend anyone that remember those days)
<vivien>(the sentence above was not neutral, please pardon me, I should have thought a bit more)
<zamfofex>It is fine, I feel, don’t worry. 🙂 Though I think that nomenclature usage at least warrants a written rationale in that document, given that it’s really uncommon nowadays.
<lilyp>On the PATH issue: Having ambiguities in something as common as file names and paths is not that great for non-native speakers (some of whom are translators), and I think that weighs into the reason to avoid "path" for file names.
<Cairn>Am I reading the channel news correctly? Is native compilation enabled by default with Emacs now?
<Cairn>I'm using the `emacs-next` package. Do I need to do anything to use it?
<zamfofex>Ribby: libera.ems.host is the Matrix bridge’s domain. It shows up whenever a Matrix user sends a multiline message.
<vivien>Why the missing ']' in the spammer’s name?
<zamfofex>lilyp: I suppose so, though it’s not like GNU is abolishing the usage of the word “path”, it’s just using it for something different to the current usual.
<zamfofex>Which I feel like ought to be more confusing than just adopting the current norm.
<lilyp>Cairn: emacs has native-compilation by default now; the rest of the news entry just details how you get some of the pre-compiled binaries that it stores in your user-emacs-directory into the gnu store
<zamfofex>If it preferred and recommended to avoid the word “path” altogether (since it’s jargon, and people unused to it might have a hard time understanding/translating it), I feel like your argument would make more sense.
<zamfofex>And that wouldn’t be an unreasonable recommendation, I feel.
<Cairn>lilyp: That's really cool. I've been a little OOTL, but I remember when this first started being talked about. The amount of work some of these great people put in makes me so happy :D
<lilyp>zamfofex: GNU is not known for simply adopting problematic wordings. Also, with consistent use of "file name" and "search path", there is no confusion, there's just the weird "pathname" that never made much sense.
<zamfofex>That is fair enough. Though I feel like “search path” is clear, whereas just “path” (to refer to a list of file names) might not be.
<lilyp>IIRC the GNU recommendation is to use "search path", and Guix also does that.
<zamfofex>How would you collectively refer to something that can be either a directory name or a file name under GNU’s recommendation?
<lilyp>note the "file-is-directory" predicates in both Guile and Emacs
<zamfofex>Ought I to say “relative file name” and “absolute file name” too? And how to refer to a single component thereof? (E.g. “dev” and “null” in “/dev/null”)
<lilyp>p sure relative and absolute work as adjectives as always
<lilyp>as for the components, I think "part" might fit, e.g. the non-directory part
<zamfofex>Normally, at least the way I’d think about it, a “file’s name” (its “file name”) is just one component, not the whole absolute thing.
<lilyp>A file name can be many things, right? (absolute, relative, truncated, ...)
<zamfofex>Yeah, it was mostly a note about my own cognition, rather than an actual argument.
<zamfofex>Though I will say: I don’t immediately mentally shun using “file/directory name” and “search path” the way you describe as much as using plain “path” as it was described before.
<lilyp>but sure "dev" is just as much a file name as "null" is, but it might not be a valid file name depending on your current working directory and the operation you might want to perform
<zamfofex>Though I do dislike that there is no good way to refer to the last part of a file name succicntly (other than having to say “the last part of the filename”), e.g. the “image.png” in “/home/zamfofex/images/image.png”, since I feel like that’s a fairly common thing to want to refer to.
<zamfofex>Though now that I sent that, I suppose “base” or “base name” doesn’t sound inappropriate, though I’m unsure if it is recommended.
<zamfofex>Something like “the file’s base name” or “the directory’s base name” sounds clear enough, I feel.
<vivien>I’ve always called that a base name as opposed to the directory name and the file name extension
<lechner>vivien zamfofex lilyp: thank you for your extensive discussion (and sorry about provoking it). my issue was more that file-append does not act on file contents, which i believe is the most common reading.
<unmatched-paren>i think raghavgururajan is working on reviewing aerc anyway, so i don't need to pester the channel about that one anymore :P
<lechner>jpoiret: no, i do not have a collision, but with Guix's absolute paths into the store i find it easy to envision one, particularly if one were to work with different versions of the same software
<unmatched-paren>it seems rather unlikely that you'd have two versions of a thing in the same inputs list
<unmatched-paren>anyway, i think where that could happen the developers would namespace paths appropriately
<GNUtoo>unmatched-paren: right, but at least it makes linux usable: userspace applications can rely on it not breaking older applications. The caveat with that is that to get that compatibility you may need to recompile your kernel.
<unmatched-paren>time would be better spent on making a better language (which would not be hard :P)
<GNUtoo>In the case of Linux it's a mixed bag, in one hand it prevented to have a GNU kernel, but in the other hand it's not that bad and it also prevents to have nonfree kernels for OS like Android for instance
<unmatched-paren>well i think if linux didn't exist we'd all be using freebsd, not hurd
<ulfvonbelow>hmm, does xorg.conf allow multiple "Option" directives on a single line? When a keyboard variant is specified, xorg-configuration->file puts the 'Option "XkbVariant" "<variant>"' on the same line as 'Option "XkbLayout" "us"'
<pkill9>does anyoen run guix on a framework laptop?
<ulfvonbelow>Reventlov: if foo.scm is in the guile module search path, just add (use-modules (foo)) to your manifest and then add the package to the manifest's package list. If it's not in the guile module search path, use (load "/path/to/foo.scm"). If foo.scm doesn't define a variable to hold the package in it, but just returns it as the last expression in foo.scm, then 'load' will return it too.
<flypaper-ultimat>Reventlov: either specifiy the path to directory containing foo.scm to -L of the guix package command, or better, create a channel (a git repo) with that file, and add that to your channels.scm
<ulfvonbelow>if you were told that one argument to symlink was named "source" and the other was named "target", which would you think names the file that gets newly-created?
<tschilptschilp23>I just changed a bit of code, and changing to that syntax seems to actually prevent guix from issueing a warning about 'multiple imports of zlib' (from guix licenses and gnu packages compression), when using zlib as an input. neat. I'm pretty sure I saw this every time when spawning that environment until right now.
<dirtcastle>i chrooted into guix from arch linux just like how it was instructed in troubleshooting tips in guix manual. I can't use ls , nano or cat tho. I can use only guix system , guix home so far. is this normal
<Luk6655>Does anyone know how to specify a version of a package in another package inputs? Normally we have (inputs (list bash python-pytorch)), however there are two versions of pytorch and there are both in guix. This (inputs (list email@example.com)) doesn't work btw.
<rekado>dirtcastle: check the value of the PATH environment variable
<rekado>dirtcastle: inside the chroot you may need to set up the PATH to point to a location providing coreutils and nano, and whatever else you may need
<jonsger>Luk6655: I guess one of them is named python-pytorch and the other maybe python-pytorch-1.11
<Luk6655>jonsger: both are named python-pytorch, just different version
<jonsger>its the name behind "(define-public" you should use, have a look in the source code
<rekado>Luk6655: you can only specify a package variable as an input.
<rekado>the module (gnu packages machine-learning) contains the definitions of Pytorch
<rekado>python-pytorch is at version 1.12.0, and python-pytorch-for-r-torch currently is at 1.11.0
<rekado>these are the variable names you would use in a package definition
<Luk6655>yes it does, indeed despite having the same name python-pytorch 11 uses define-public python-pytorch-for-r-torch
<jonsger>two[m]: I would assume that the guix binary from /usr/bin/guix will be removed and everything else in the .deb package. But if you at least run `guix pull` once I think you wont remove the guix you are actually using :)
<zamfofex>I’ve been working on the npm importer thingie, and the script I have failed after nearly five hours with ‘HTTP download failed: 300 ("Multiple Choices")’ because an npm package <https://github.com/vega/vega> has both a branch and a tag with the same name. (v5.22.0) 🙃 😭
<two[m]>just had to change /usr to /var/guix/profiles/per-user/user/current-guix in the daemon service
<two[m]><jonsger> "what does `which guix` says?" <- /home/user/.config/guix/current/bin/guix
<unmatched-paren>andrezejku: the roots of every channel, along with gnu/packages/patches, are searched for patches
<unmatched-paren>so just uncompress the patch, put it in one of those locations, and do ``(origin ... (patches (search-patches "my-patch.patch")))''
<awefawefawef>where is the install script for guix? I want to find what it does so I can manually replicate it. I only installed the EXWM wm but now want to enable more...
<awefawefawef>also when I'm running `sudo guix system reconfigure config.scm` it gets stuck (maybe?) and I'm not sure why or if it's stuck (after installing bootloader)
<tschilptschilp23>when I use inherit in a package definition, how can tell the inheriting package to use another version than the parent? The newest python-cython, which is needed for the newest python-numpy builds nicely, but python-numpy does not pick it up. I'm trying with this definition: http://paste.debian.net/1254209, but the backtrace tells me that python-numpy fails because it still tries to pick the python-cython from guix (well,
<tschilptschilp23>python-numpy-next and python-cython ARE pretty new, I'm just playing around). Sorry for my rude scheme, it's the first time I try 'inherit'.
<mbakke>tschilptschilp23: you probably need (native-inputs (modify-inputs (package-native-inputs python-numpy) (replace "python-cython" python-cython-newest)))
<tschilptschilp23>awefawefawef: it can happen that after 'guix pull' your computer will start building certain packages from source, if those are not readily available as substitutes. This can feel pretty much like 'stuck'. eg my laptop dies if big packages like ungoogled-chromium are not ready when I reconfigure. gimp will also take about 2h until things are finished. Clearly I can not tell, if that's the case with your config, but it's somethin
<awefawefawef>because if I choose to install or not install something based on an abstracted process (that generates code), I'd like to know how to reverse or apply that process afterward based on what I do in the graphical install
<antipode>Would you like to know how to uninstall Guix System?
<awefawefawef>I use xinit normally and it seems way more straight forward...
<antipode>IIUC, you already have Guix system installed. I must recommend against running the installer again, that's sheer inefficiency. Instead, I recommend just modifying your configuration (replacing gdm by something else) and doing "guix system reconfigure".
<awefawefawef>yeah, I wouldn't want to run it again, I would want to see 'this part adds this code', etc. so I can go through optionally doing the stuff it does
<antipode>If with "go through", you mean: "look at the source code for how things are done", see most of the gnu/ subdirectory (except gnu/packages), and guix/scripts/system.scm and guix/scripts/system/reconfigure.scm.
<antipode>However, it might be easier to paste the latest output of "sudo guix system reconfigure config.scm" (paste.debian.net), such that someone might recognise what's going on
<awefawefawef>this is so confusing... /gnu/store is the only directory I see starting with /gnu/, and <hash>guix/ has doc or language files only... I never know where to go to find the location of anything...
<antipode>The source code can be downloaded with "git clone", as mentioned somewhere in the manual.
<apteryx>how can I extend polkit-service-type with a rule that isn't part of a package? I tried a computed-file gexp, so far getting: In procedure program-code: Wrong type argument in position 1 (expecting PROGRAM_P): #<<computed-file> [...]
<antipode>Alternatively, if you don't want an additional copy (network IO savings?), then you can look in ~/.config/guix/current/share/guile/site/3.0/ . (With the caveat that that directory is an implementation detail, no guarantees it will be kept in future versions of Guix)
<antipode>You can easily add whatever text editor you like later, the 'nano' is just there to have some default that's relatively small and very easy to learn and use (compares to ed, emacs and vim)
<antipode>You can also remove 'nano' (or even coreutils!) by overriding 'packages' and not making use of %base-packages
<antipode>%base-packages-interactive can be found in gnu/system.scm
<awefawefawef>yeah i gotta figure that stuff out... so if I see a variable how would I find it's definition/value
<antipode>I usually (a) use "git grep -F" or (b) remember where it's located
<antipode>awefawefawef: Beside providing a choice of text editor, should the installer also provide an option of which coreutils-like thing to use (coreutils, busybox, ???, none)?
<antipode>I mean, the same reasoning seems to apply me (except for 'coreutils/busybox/...' being 'mostly' equivalent, while text editors are all quite different ...)
<awefawefawef>maybe if the user selected advanced install? when I see it installed something I'm like 'what else has it installed', when, why, etc.
<antipode>I suppose someone could extend the installer to allow such choices at installation time.
<tom-1>Hello . Please advise matrix client . I care about end-to-end encryption, the ability to use the default tor or i2p. I have used element but it has issues like taking a long time to enter rooms and other issues.
*apteryx got past the earlier problems by wraping the list in a (lambda (config) ...). not sure why that's different from (compose list package)
<zamfofex>pkill9: Hmm, I suppose ‘*-with-c-toolchain’ is mostly used for changing the compiler. Which you’d need anyway, since GCC and Clang are configured to use glibc by default on Guix. But it isn’t immediately straightforward, I suppose.
<jonscoresby>I am struggling with pre-inst-env. Prefacing a guix command with ./pre-inst-env is suppose to cause the guix command to be run with my local checkout right?
<jonscoresby>Then say I change the hello package definition so that the description is different. If I run ./pre-inst-env guix search hello, the description is the same as in the normal repo
<zamfofex>You need to run ‘make’ too. And also pass in ‘--localstatedir=…’ to ‘./configure’
<jonscoresby>Ok, Ill try that. Is there a reason that all of that info is not in the manual? It took me a lot of effort to figure out how to run the bootstrap and configure steps too. The manual just assumes that you have all the needed dependencies and it doesnt mention anything you just did.
<zamfofex>(Without it, trying to type a non‐ASCII character is completely ignored.)
<Kabouik>I am trying to install latest Remind with `guix install remind --with-latest=remind` but it fails because Perl is missing (if I understood correctly), do I need to usesome `guix environment` sorcery? Is that a typical step for --with-latest?
<two[m]><zamfofex> "(Without it, trying to type a..." <- thank you!
<lilyp>Kabouik: no, it's not, you have to actually type out a package description