<zacchae[m]>So, a normal system config does not have git commit strings, so the versions are ambiguous. Is there a way to export a system to a `config.scm` file that specifies the commit stings? The use-case being to archive
<nckx>zacchae[m]: You mean the Guix version to be used to instantiate it?
<zacchae[m]>nckx: Yeah probably that. I'm pretty new to this
<zacchae[m]>I'm assuming that would be the best way to archive a machine
<nckx>Look into inferiors in the manual, and see if it describes what you want. Locking to a particular revision of Guix locks all the package versions too, whilst the opposite (specifiying the commit for each package) would be both impractical and wildly underspecified at the same time.
<nckx>dstolfa: Heh :) Thank the lord for turning an old IRC network into shitpost central I guess.
<zacchae[m]>drakonis: so that gave me the right shell, but it didn't generate a default `.zshrc` file. `/etc/bashrc` looks pretty important, so I'm a bit worried. Is there a way to generate the default config or something?
<Guest37>I am thinking about trying guix but I am concerned I am going to run into problems if I need to install software that isn’t in the repos. Can guix be a pain when a package isn’t in the repos?
<zacchae[m]>In the GUIX guided installer, it asks if we would like the installer to use cached/precompiled binaries from trusted sources. Is this a persistent setting that gets stored somewhere?
<zacchae[m]>Guest37: If you aren't up to the task of trying to write a few package definitions, you might want to wait a bit for GUIX. However, guix is made to make it easy to define packages, so it's actually doable
<zacchae[m]>Well, you still have other configs in /etc as well as user configs in your home directory that might be worthy of snapshotting
<zacchae[m]>but yeah, this is a question I also have. I try to wrap up any important configs in a master org file that tangles my various configs. Certainly, I can think of other things that should be snapshotted, but I'm thinking it's not so important for the root file system as any system breakage can be addressed by booting a previous (working) configuration.
<zacchae[m]>though if someone can think of something I'm missing, do tell
<Guest37>Hmm I’m not sure what I should do. Maybe make a separate btrfs partition with subvolumes for say etc and some firs in /home?
<Guest37>It would seem wasteful to do this if I am not even gonna snapshot it
<zacchae[m]>But then you don't have to split up your drive, i.e. no guessing how much each partition will take. Just one partition with multiple subvolumes
<Guest37>I usually do the opposite where I have an ext4 partition for directories holding databases and other stuff that btrfs is bad with
<zacchae[m]>Hmm. Databases is what I would want snapshotted. I haven't had that problem, but I'd hate to tell you "btrfs is fine for that" only for you to get some data loss
<zacchae[m]>Ideally I just have one partition with btrfs for everything, including a UEFI bootloader in the true root directory
<Guest37>I’m just gonna try what I was thinking with a separate btrfs partition, hope for the best, and deal with consequences later
<Gooberpatrol66>Guest37: you can put "nocow" on database files so you don't need to have an ext4 partition
<zacchae[m]>I'm making a package definition for `vimium`, and it requires a hash of the code. However, I would like it to install the most up-to-date version if possible. Is it possible to make a lax package definition without a hash?
<marusich>zacchae[m], it is theoretically possible, at the cost of making the code which creates the package record non-reproducible, which is dubious
<marusich>You would likely be better off using a specific version in the package definition, and then using something like the "--with-latest" option instead to try out the latest version.
<zacchae[m]>I see the guix repos have some matrix clients, but don't have element. Element is developed by the matrix team and always has the most up-to-date features. Is there a reason it isn't included the repo?
<zacchae[m]>SeerLite nckx: Oh wow, it doesn't seem like any of the clients already packaged support VoIP. Not searching encrypted rooms seems like a small price by comparison. I think I'll just use app.element.io, unless someone has a better reason not to.
<lispmacs>I am rebuilding my system from source. I got 6 rust compilers built today. Only 16 more to go!
<yoctocell>MysteriousSilver: so you are on nixos or something?
<nckx>MysteriousSilver: Guix will totally clobber your current GRUB. You can use the (installer #~(const #t)) trick to disable actual GRUB installation, and and just manually add a ‘configfile /name/of/guixs/grub.cfg’ to your existing grub.cfg. Unfortunately I'm blacking out on how to make Guix install its grub.cfg to anywhere but /boot/grub.
<boeg>What do I need to do to be able to run startx to start my Xorg things up instead of a DE? I have configured my .xinitrc and so on, and installed xinit which packages startx, but it seems that I need to install Xorg or "configure" it some way. Running startx says "xinit: unable to run server": no such file or directory"
<raghavgururajan>> zhu_zihao: oh, I don't know if grub can use this syntax ('configfile')
<raghavgururajan>Yes, it can. I use `configfile /boot/grub/grub.cfg` in my configuration.
<raghavgururajan>MysteriousSilver: What you can do is, not install grub and generating grub.cfg from/by the other distro. Instead, you can install grub and generate grub.cfg from/by guix. That way, you can create menu-entry for the other distro in the bootloader section of config.scm.
<raghavgururajan>MysteriousSilver: Ah that might work, since you explicity mention the partition.
<nathan_>Hello, everyone! I need help installing texlive with GUIX
<nathan_>I just finished my MSc. dissertation, and had a terrible time bc evince broke in the last weeks of my work; I decide to move the software I need the most to GUIX so that I can be more picky about upgrades and rollbacks
<nathan_>is there an equivalent of texlive-most in guix? I installed texlive and it does not have some packages I need
<nathan_>dstolfa: thank you! I am doing some Read The Friendly Manual rn and may come back with further questions
<boeg>Hmm, okay, so GDM looks for session types in /run/current-system/profile/share/xsessions, but since its not a writable location, how do I put a custom .desktop file there so I can choose it in GDM?
<nathan_>OK, I have a question. This is the first time I create a package. Have already played around with Scheme, so that seems OK
<jlicht>boeg: Ah, now I understand your problem; in guix land, there is some integration work for packagers to make this work; for exwm, it has already been done. So to answer your actual question: you are correct, which is why packagers have to make these files at build-time
<boeg>right, im building now and lets see if it appears
<karthik[m]>raghavgururajan: so, stepped into matrix at last 🤓
<jlicht>boeg: the system profile requires a system reconfigure (and perhaps reboot?) for changes to be seen
<zacchae[m]>I was going to just use app.element.io, but it signs me out any time I restart my browser
<apapsch>lvm also has hard borders. that example uses btrfs in the partitions. btrfs subvolumes use available space of whole disk, so using one big btrfs partition with subvolumes has a significant advantage over traditional partitions or lvm
<MysteriousSilver>raghavgururajan: should i use btrfs? i've never used anything other than EXT4
<apapsch>until the precious byte you didn't know was precious is lost to the void ;-)
<zacchae[m]>reza: yes, and it was not good. Wifi card doesn't work (gnu firmware != gnu drivers).
<zacchae[m]>you can get a compatible wifi dongle/card, and use free nvidia drivers, and it will work, but it definitely made me mad when they advertise how "gnu" they are but can't run a gnu OS
<zacchae[m]>oryx pro is what I have. It has an ethernet port, so it can work, I'm just salty. I think I remember having some (probably similarly minor) problem when I tried to run any linux on dell xps, so I'm doubtful it will run.
<zacchae[m]>For the most part, if you are ok with buying a wireless card that explicitly runs on a free OS, you should be good
<zacchae[m]>It's usually pretty easy to replace a wireless card in a laptop (just don't loose too many screws)
<dstolfa>zacchae[m]: i think every dell uses an m.2 card by intel that requires iwl
<dstolfa>what i did is just get an ath9k_htc external card
<zacchae[m]>For the most part, if you run linux fine, you just need to worry about the wireless card and GPU (especially Nvidia) for linux-libre. Obviously, there are exceptions to every rule, but this will get you far. Far enough that you should feel safe to order a laptop with a 90 day return policy and run tests
<tricon>zacchae[m]: That is definitely reassuring and a good point. I'm conflicted in that, on one hand, it'd be nice to have a libre AX Wi-Fi adapter for my desktop (none exist, from what I've heard); and at the same time, I'd rather just run a darn cable. Ethernet is just so rock solid and works.
<tricon>But I am interested in a new, libre laptop as well.
<jackhill>tricon: Some of us, including me, have ordered an MNT Reform <https://mntre.com/reform>. The only required blob is to initialize the memory. I just got mine yesterday though, so haven't gotten Guix on it yet :)
<leoprikler>EMACSLOADPATH is the one most relevant to Emacs, but there are others as well
<leoprikler>what you did is a perfectly legitimate solution :)
<nathan_>leoprikler: thank you! It sure took me some time to understand what was happening
<nathan_>what made me understand that was the issue was that the only emacs instance which was not working was the server that I run at startup
<lispmacs[work]>hi, I was trying to profile and system from source. But I keep crashing from memory exhaustion (collect2 kills ld, to be more precise) when I try to build qtwebkit. Are there any tricks to reduce memory usage during builds?
<lispmacs[work]>I've got an 8GB system with less than half that being used by the rest of the OS and applications
<bdax>Hi everyone, I asked a while ago about using guix to install everything from source. I was told to set substitute-urls to an empty list, as in `(substitute-urls '())`, but where do I put that in the installation script when installing GuixSD?
<roptat>oh, mh I get the same error with guix download actually
<roptat>bdax, if you want to install using only sources, I think you need to install manually
<bdax>ah okay, daunting :| time to read the manual I suppose. thanks roptat
<roptat>another possibility might be to stop the daemon, and restart it manually
<roptat>from another tty, as root, run "herd stop guix-daemon", and guix-daemon --no-substitutes --build-users-group=guixbuild
<roptat>if you configure with (substitute-urls '()), it means you won't use substitutes by default, but any user can override that value to any substitute server that's allowed (ci.guix.gnu.org by default)
<roptat>(and, that takes effect only once you reboot on your new system)
<bdax>hm, well it's a single user system, but how would you do it then?
<roptat>bdax, if it's in the configuration file, that would be what the guix-daemon starts with by default
<roptat>bdax, you would set (use-substitutes? #f) in the guix configuration
<atuin>roptat: indeed, that worked. I guess wget behaves differently than guix download when handling redirections
<roptat>atuin, yeah, it seems so, would you mind sending a bug report?
<bdax>ah brilliant, so that in the installation script, and restart guix-daemon during installation with --no-substitutes, and that will force guix to operate in source-only mode for all users, across reboots?
<nckx>raghavgururajan: s/Path to/File name of/, s/uses it to obtain certificate/will use it to obtain a certificate/, s/using randomly generated private-key/using a randomly-generated private key/, first certificate-configuration-csr indentation is off.
<nckx>LGTM if you've tested both with & without csr set.
<raghavgururajan>Hmm. If I run `./pre-inst-env guix system reconfigure /path/to/config.scm` from bootstrapped guix repo (where my patches are applied), I get `error: %base-file-systems: invalid field specifier`.
<nckx>$ <> matches in slot order, which is a fancy way of saying that it doesn't look at the ‘field’ names, only the order in which they appear in the record definiton. So if I (define-record-type* <kool> … (field-a …) (field-b …)), then create a (kool (a "A") (b "B")) object, (match-lambda (($ <kool> b a) …)) will happily bind "A" to b and "B" to a.
<ixmpp>scheme procedure to delete duplicates from a list, anyone?
<nckx>ixmpp: As a quick hack, (use-modules (ice-9 match) (rnrs lists)) (define (deduplicate list) (match list ((element . tail) (cons element (deduplicate (remove element tail)))) (() '()))) seems to do the trick without having to stoop to imperative programming 😉