Installation: Load non-free wifi firmware (iwlwifi)
This was posted before: https://lists.gnu.org/archive/html/help-guix/2017-01/msg00041.html Unfortunately, I'm not able to acquire a wifi dongle at the moment. As far as I understand, linux-libre turns off the ability to load non-free firmware. Why is it so? Is it possible to re-enable the feature? If not, are there other ways around the issue? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Installation: Load non-free wifi firmware (iwlwifi)
An idea crossed my mind: from a foreign distribution with Guix installed, run guix system init /mnt/etc/config.scm /mnt The documentation tells us that's not enough though: > With the target partitions ready and the target root mounted on ‘/mnt’, > we’re ready to go. First, run: > > herd start cow-store /mnt > >This makes ‘/gnu/store’ copy-on-write, such that packages added to it > during the installation phase are written to the target disk on ‘/mnt’ > rather than kept in memory. This is necessary because the first phase > of the ‘guix system init’ command (see below) entails downloads or > builds to ‘/gnu/store’ which, initially, is an in-memory file system. Is there a simple way to do this without `herd'? -- Pierre Neidhardt Do you think that illiterate people get the full effect of alphabet soup? signature.asc Description: PGP signature
guix system disk-image: Could not access KVM kernel module: Permission denied
I'm trying to generate a disk image of Guix. The image creation process goes fine until the start of QEMU: creating raw image of 2607.99 MiB... Formatting '/gnu/store/fwjlpcwc3b81m2s6phwldwyxpd3wzsjm-disk-image', fmt=raw size=2734679872 Could not access KVM kernel module: Permission denied qemu-system-x86_64: failed to initialize KVM: Permission denied file-size: /gnu/store/xsb0k5lrbrc63kardzxa7h4qvland6n2-profile/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem: No such file or directory file-size: /gnu/store/xsb0k5lrbrc63kardzxa7h4qvland6n2-profile/etc/ssl/certs/T??RKTRUST_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??_H5:2.7.0.142.23.254.36.32.129.pem: No such file or directory file-size: /gnu/store/xsb0k5lrbrc63kardzxa7h4qvland6n2-profile/etc/ssl/certs/AC_Ra??z_Certic??mara_S.A.:2.15.7.126.82.147.123.224.21.227.87.240.105.140.203.236.12.pem: No such file or directory file-size: /gnu/store/d48rkmvrbzaabxdldcrdps7cf27rm092-nss-certs-3.35/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem: No such file or directory file-size: /gnu/store/d48rkmvrbzaabxdldcrdps7cf27rm092-nss-certs-3.35/etc/ssl/certs/T??RKTRUST_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??_H5:2.7.0.142.23.254.36.32.129.pem: No such file or directory file-size: /gnu/store/d48rkmvrbzaabxdldcrdps7cf27rm092-nss-certs-3.35/etc/ssl/certs/AC_Ra??z_Certic??mara_S.A.:2.15.7.126.82.147.123.224.21.227.87.240.105.140.203.236.12.pem: No such file or directory Backtrace: 2 (primitive-load "/gnu/store/iyjms00w31p51gz9jfdvrlk7qnd?") In ./gnu/build/vm.scm: 163:4 1 (load-in-linux-vm _ #:output _ #:qemu _ #:memory-size _ ?) In unknown file: 0 (scm-error misc-error #f "~A ~S" ("qemu failed" "qem?") #) ERROR: In procedure scm-error: qemu failed "qemu-system-x86_64" builder for `/gnu/store/qaaf9mr4zwdpfxg0a7gvgl6wyrwrg5dn-disk-image.drv' failed with exit code 1 guix system: error: build failed: build of `/gnu/store/qaaf9mr4zwdpfxg0a7gvgl6wyrwrg5dn-disk-image.drv' failed My host system is Void Linux (which I don't know so well). Permissions for /dev/kvm seem to be correct: > ls -l /dev/kvm crw-rw 1 root kvm 0 2018-03-03 14:56 /dev/kvm My user is part of the kvm group. Also the module seems to be loaded fine: > lsmod | grep kvm kvm_intel 225280 0 kvm 630784 1 kvm_intel irqbypass 16384 1 kvm Not sure what's wrong. I am not very familiar with QEMU / KVM I'm afraid... Any clue? Besides, and maybe unrelated, some certificates seem to be missing. Any idea how that could happen? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Integrate guix-installed Emacs packages with locally compiled Emacs pretest
Is there such a thing as a curated list of unofficial, user-contributed packages for GuixSD? (Anything that cannot be accepted in the official repository, such as development versions.) -- Pierre Neidhardt signature.asc Description: PGP signature
Build image for USB with custom kernel and packages
Starting from /gnu/system/install.scm, I can run > guix system disk-image install.scm and it works. Now if I add a custom kernel and a custom package to install.scm: (define-public my-linux (package (inherit linux-libre) (name "my-linux") (source ... (define-public (package (name "foo") (version version) (source ...) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder ...)) (home-page "") (synopsis "Blah blah") (description "More blah blah") (license #f And in the `operating-system` form: (operating-system (kernel my-linux) ;; Rest is untouched. I have to use more modules for this to work: #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system trivial) This fails to run: > guix system disk-image install.scm guile: warning: failed to install locale warning: failed to install locale: Invalid argument guix system: error: failed to load 'install.scm': No such file or directory Am I missing something or is it a bug? -- Pierre Neidhardt Chemist who falls in acid is absorbed in work. signature.asc Description: PGP signature
Re: Build image for USB with custom kernel and packages
Damn! Been stuck on this issue for days and it's right after sending the last e-mail that I realized that install.scm was not inside GUIX_PACKAGE_PATH... Problem solved. -- Pierre Neidhardt She always believed in the old adage -- leave them while you're looking good. -- Anita Loos, "Gentlemen Prefer Blondes" signature.asc Description: PGP signature
Re: Installation: Load non-free wifi firmware (iwlwifi)
Clément Lassieur writes: > Guix allows one to customize their packages through inheritance. You > could create a custom linux package that inherits Guix's linux-libre, > with, say a differente source. When linux-libre is updated, my-linux > would be updated as well, since it inherits linux-libre. Thus, you > would have no maintainance to do. > > (define-public my-linux > (package > (inherit linux-libre) > (name "my-linux") > (source ...))) > > This custom package's definition needs to be within GUIX_PACKAGE_PATH. > See > https://www.gnu.org/software/guix/manual/html_node/Package-Modules.html#Package-Modules > for more information. Thanks for the tip, it seems to be working perfectly so far! -- Pierre Neidhardt No matter what other nations may say about the United States, immigration is still the sincerest form of flattery. signature.asc Description: PGP signature
Re: Вопрос по опциям монтирования SSD и logrotate
Forgive me if this not an appropriate place to ask. Regarding multilingual e-mails, I'm wondering if it would be possible to have a summary of the matter at hand together with its various solutions once the problem is solved. Similar to what Alex Kost did in the "Modify system behavior after reconfigure" thread. -- Pierre Neidhardt The price one pays for pursuing any profession, or calling, is an intimate knowledge of its ugly side. -- James Baldwin signature.asc Description: PGP signature
Re: Вопрос по опциям монтирования SSD и logrotate
> Regarding multilingual e-mails, I'm wondering if it would be possible to > have a summary of the matter at hand together with its various solutions > once the problem is solved. I mean, a summary in English. -- Pierre Neidhardt Retirement means that when someone says "Have a nice day", you actually have a shot at it. signature.asc Description: PGP signature
Re: Installation: Load non-free wifi firmware (iwlwifi)
> "The trouble with firmware" by Jake Edge, January 5, 2011 > https://lwn.net/Articles/421680/ Interesting article. I share similar views and I believe that making proprietary code hard to proliferate is laudable. See the GPL license. I'm not completely convince how Linux-libre would work towards that end though. That said, I'm now stuck with an iwlwifi card and I have to live with that much backward practices. > As Ludo mentioned elsewhere, using a dongle is one good option. What > prevents you from using a dongle? A nit, really, but I have an rather extreme life-style that pushes me to travel as lightweight as possible. A dongle is not much for sure, but if I can I'd rather avoid it. The other issue is that when I initially wrote this e-mail I could not buy one and could not even order online. Not a problem anymore for now. Being even more picky, dongles have drawbacks: - They occupy a USB port (I have only 2). - They stick out... :p > https://minifree.org/ Thanks for the link, I did not know about it. Very nice initiative. I am now running the ultra-thin laptop Xiaomi Air 13, which, beside the non-free iwlwifi card, is an excellent piece of hardware in my opinion. Way ahead of the offers on minifree. I wish there would be something similar and a 100% free. Anyone aware of such a machine? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Вопрос по опциям монтирования SSD и logrotate
Thank you, Oleg. >>> Как часто следует выполнять команду trim? >> >> У меня GuixSD занимает весь накопитель около года. ‘grep’ работает >> шустро все это время без ‘trim’ :-) Но я бы наверное порекомендовал >> после каждого вызова ‘guix gc’, потому что ‘trim’ выполняется для >> нахождения пустого пространства, которое появляется после сборки мусора. > > The question was about preferable frequency of invoking ‘trim’ command. And what's the answer? :p -- Pierre Neidhardt signature.asc Description: PGP signature
Fail to configure home-directory
I'm hitting issues when setting the home folder. The default home is /home/ambrevar. If I change `home-directory' to "/foo" and run `guix system reconfigure' then "/foo" is created but the home folder is still "/home/ambrevar". Furthermore, I cannot mount a filesystem as /home: ``` (file-system (device "home") (title 'label) (mount-point "/home") (type "ext4")) ``` Running `guix system reconfigure' hangs after the `usermod...' changes. Not sure about how to print more debug details. Did I hit a bug? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Considering the importance of Emacs in this community, I think it would make sense to provide a cutting-edge version. Is anyone willing to accept this? -- Pierre Neidhardt signature.asc Description: PGP signature
Missing pinentry-emacs for gpg-agent?
Somewhat surprisingly, pinentry-emacs does not seem to be in the repo. Is it intentional? I'd love to have it back. On a related topic, is it possible to share a gpg-agent.conf between a Guix-based system and another system? What I mean here is that the following line in gpg-agent.conf: pinentry-program /home/ambrevar/.guix-profile/bin/pinentry won't work on other systems (/usr/bin/pinentry on other systems is somewhat more universal, but hey...). -- Pierre Neidhardt signature.asc Description: PGP signature
Locale error: Falling back to C locale
Some applications complain about the locale: > stow . perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). > emacs (process:7796): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. Both emacs and stow still work properly but I wonder where this comes from. Did I miss something during the install? This could be related to this: https://lists.gnu.org/archive/html/help-guix/2018-02/msg00091.html But no LD_ variable is set in my environment. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Sorry, forgot to mention that I'm running GuixSD, which is why I'm a bit clueless here. -- Pierre Neidhardt signature.asc Description: PGP signature
units_cur
I believe that GNU units ("units" package) needs more patching to function properly: > sudo units_cur Unable to write to output file: [Errno 30] Read-only file system: '/gnu/store/cqvsljfz81xkwfnd4ln2zk4194wjjcgd-units-2.16/share/units/currency.units' On other systems, one is supposed to run `sudo units_cur' to update the exchange rates in the currency.units file. -- Pierre Neidhardt signature.asc Description: PGP signature
Outdated Qutebrowser and missing qtwebengine?
Qutebrowser is out of date: 0.11.0 in GuixSD, upstream is 1.2.1. https://github.com/qutebrowser/qutebrowser/releases Newer versions support qtwebengine, which is not packaged on GuixSD either. I was wondering if this has anything to do with non-free software. If not, I'd be happy to package it. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Oleg Pykhalov writes: > I'm sorry to steal a potential contribution to Guix, but you could try: > > ‘M-x view-emacs-news’: > > * New Modes and Packages in Emacs 25.1 > > ** pinentry.el allows GnuPG passphrase to be prompted through the > minibuffer instead of a graphical dialog, depending on whether the > gpg command is called from Emacs (i.e., INSIDE_EMACS environment > variable is set). This feature requires newer versions of GnuPG > (2.1.5 or later) and Pinentry (0.9.5 or later). To use this > feature, add "allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and > reload the configuration with "gpgconf --reload gpg-agent". Unless I'm mistaken, this won't work without pinentry-emacs when gpg is used to decrypt data, e.g. `gpg -d FILE`. I do not know about a INSIDE_EMACS environment variable. How is it set? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
> guix package -I local glibc-utf8-locales 2.26.105-g0890d5379cout /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c > guix package -I emacs emacs 25.3out /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3 How do I check which glibc Emacs is using? I can think of `ldd emacs` but... Where is ldd? :p A more general question: How do I find to which non-installed package a filename belongs? If Emacs happens to be using glibc 2.25, how could such a sitution occur in the first place? Why is glibc 2.25 needed at all? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Vladimir Sedach writes: > Apparently everyone thinks that Emacs is a "significant security > risk," so no distributions seem to ship it. Well, at least Arch Linux, Gentoo and Void Linux ship it! Not tht uncommon! I agree with all your other points. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Oleg Pykhalov writes: > Then could you add a flag Vladimir talked about and send a patch? ;-) What about a separate package? E.g. (define-public pinentry-emacs (package (inherit pinentry-tty) (name "pinentry-emacs") (inputs `(("emacs" ,emacs) ,@(package-inputs pinentry-tty))) (arguments `(#:configure-flags '("--enable-pinentry-emacs"))) (description "Pinentry provides a console and an Emacs interface that allows users to enter a passphrase when required by @code{gpg} or other software."))) I haven't delved into packaging so far. I have read the manual but I'm unsure about the best practice for local hacking. I have set GUIX_PACKAGE_PATH=~/.guix-packages, then > cp ~/.config/guix/latest/gnu/packages/gnupg.scm ~/.guix-packages/ > chmod +w ~/.guix-packages/ Then add the above the the file, plus a #:use-module (gnu packages emacs) at the beginning. Now if I do > guix package -s pinentry-emacs guix package: warning: failed to load '(gnupg)': no code for module (gnupg) name: pinentry-emacs version: 1.1.0 outputs: out systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux dependencies: emacs-25.3 libassuan-2.5.1 libsecret-0.18.5 ncurses-6.0-20170930 + pkg-config-0.29.2 location: /home/ambrevar/.guix-packages/gnupg.scm:991:2 homepage: https://gnupg.org/aegypten2/ license: GPL 2+ synopsis: GnuPG's interface to passphrase input description: Pinentry provides a console and an Emacs interface that allows users to enter a + passphrase when required by `gpg' or other software. relevance: 4 Notive the error at th beginning: guix package: warning: failed to load '(gnupg)': no code for module (gnupg) I don't understand this. That said, is this the commended way to proceed? Or should I work from a local checkout of guix? What about the value of GUIX_PACKAGE_PATH then? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Thinking more about it, wouldn't it make more sense to use several outputs instead of several packages? Is it possible to specify additional inputs for specific outputs? -- Pierre Neidhardt signature.asc Description: PGP signature
Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
I'm missing the following packages in Guix. If no one has planned to package them yet, I'll give it a go. fortune:The Fortune Cookie Program from BSD games Upstream URL: http://www.shlomifish.org/open-source/projects/fortune-mod/ gifsicle: A powerful command-line program for creating, editing, manipulating and getting information about GIF images and animations Upstream URL: http://www.lcdf.org/gifsicle/ inxi: script to get system information Upstream URL: https://github.com/smxi/inxi uncrustify: A source code beautifier Upstream URL: http://uncrustify.sourceforge.net/ Description:The RAR uncompression program Upstream URL: http://www.rarlab.com/rar_add.htm (Not sure about the licensing of this one: does not look free. Is there any free way to extract RAR?) vsftp: Very Secure FTP daemon Upstream URL: https://security.appspot.com/vsftpd.html (It seems that there is not a single FTP server on Guix. Strange... Can anyone recommend anything better than vsftp for file sharing? Not necessarily FTP.) xss-lock: Use external locker as X screen saver Upstream URL: https://bitbucket.org/raymonad/xss-lock -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package request inxi
Oleg Pykhalov writes: > You could take a package recipe [1]. I don't think it's ready to push > to Guix package collection, because it requires more ‘(substitute* …)’. > > [1] > https://notabug.org/wigust/guix-wigust/src/master/wigust/packages/inxi.scm Nice, thanks! -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Fail to configure home-directory
Ludovic Courtès writes: > Oops, that’s a bug that should be fixed now: > > > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=82b71ac366ef154400653d264b46b7aa3520f393 It works, thanks! >> Furthermore, I cannot mount a filesystem as /home: >> >> ``` >> (file-system >> (device "home") >> (title 'label) >> (mount-point "/home") >> (type "ext4")) >> ``` >> >> Running `guix system reconfigure' hangs after the `usermod...' changes. >> Not sure about how to print more debug details. > > Does /var/log/messages or /var/log/shepherd.log have more info? /var/log/shepherd.log does not log anything from the `guix system reconfigure...`. Reconfiguring with --verbosity=10 fails with the following: | lock released on `/gnu/store/qz82gly176p51n82j60rx9aadqxyrm0k-grub.cfg.lock' | building of `/gnu/store/xhg2rknd3yvhhb5vsalwwz14kf6184v1-grub.cfg.drv': goal destroyed guix system: error: build failed: | | | bind mounting `/dev/full' to `/gnu/store/xhg2rknd3yvhhb5vsalwwz14kf6184v1-grub.cfg.drv.chroot/dev/full' I've managed to work around the issue: - Moving the mount point of "LABEL=home" from /mnt to /foo did not work. - After a failure, all subsequent `guix system reconfigure` fail, even the original, working configuration. - After a fresh system boot, commenting out the filesystem configuration of LABEL=home works. I rebooted after that. From then, I re-added the entry for LABEL=home with the new mount point /home. It worked after a reboot. Something is fishiy... -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Marius Bakke writes: > Pierre Neidhardt writes: > >>> guix package -I local >> glibc-utf8-locales 2.26.105-g0890d5379cout >> /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c >> >>> guix package -I emacs >> emacs25.3out >> /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3 >> >> How do I check which glibc Emacs is using? >> I can think of `ldd emacs` but... Where is ldd? :p > > "ldd" is in "glibc" :-) > > You can also use `guix gc -R /gnu/store/...-emacs-25.3 | grep glibc`. Here: > guix gc -R ${guix build emacs} | grep glibc /gnu/store/4sqaib7c2dfjv62ivrg9b8wa7bh226la-glibc-2.26.105-g0890d5379c >> A more general question: How do I find to which non-installed package a >> filename belongs? > > Guix does not currently know anything about the files inside each > package, I typically do a web search... This is too bad, I believe it's an important feature for any package manager. As far as I can tell, `portage` and `pacman` can both do it. Any plan regarding guix? >> If Emacs happens to be using glibc 2.25, how could such a sitution occur >> in the first place? Why is glibc 2.25 needed at all? > > This situation can occur when you've installed emacs built against glibc > 2.25 (which was the glibc in Guix until ~February), and then later > updated "glibc-utf8-locales" to 2.26 which has incompatible locale data. > > Updating emacs would fix it in that case, since it would be built > against the new glibc. Running `guix package -u emacs` does nothing special, possibly because it's already up to date. Can I force a rebuild? -- Pierre Neidhardt signature.asc Description: PGP signature
updatedb.conf is missing, should it be configurable via ~guix system reconfigure~?
~man updatedb.conf~ shows /gnu/store/d51d0bnpiwmarcjp8kckxb5wvs6kr7dz-mlocate-0.26/etc/updat‐ edb.conf - a configuration file for updatedb(8) Which does not exist. > guix build mlocate /gnu/store/5ry4cnrnfx54mjvh20n4idfv7xqfc95m-mlocate-0.26 > tree -a /gnu/store/5ry4cnrnfx54mjvh20n4idfv7xqfc95m-mlocate-0.26 /gnu/store/5ry4cnrnfx54mjvh20n4idfv7xqfc95m-mlocate-0.26 |-- bin | |-- locate | `-- updatedb |-- share | |-- doc | | `-- mlocate-0.26 | | `-- COPYING | |-- locale | | [...] | `-- man | |-- man1 | | `-- locate.1.gz | |-- man5 | | |-- mlocate.db.5.gz | | `-- updatedb.conf.5.gz | `-- man8 | `-- updatedb.8.gz `-- var `-- mlocate A global search on the filesystem reveals no updatedb.conf. I think we need some rules to configure it from a system configuration with ~guix system reconfigure~. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Oleg Pykhalov writes: >> > cp ~/.config/guix/latest/gnu/packages/gnupg.scm ~/.guix-packages/ >> > chmod +w ~/.guix-packages/gnupg.scm >> [...] >> Then add the above the the file > > Sorry, I don't understand what do you mean. I meant adding the ~(define-public ... (package...))~ I quoted to the new gnupg.scm file. > Do you mean ‘#:use-module (gnu packages gnupg)’? No. For now I just wanted to do some out-of-tree hacking, as a first step towards contributing to Guix. What I had in mind: 1. Copy gnupg.scm. 2. Modify it to add the new recipe plus the new use-module requirements. 3. Build. I understand it's not how Guix is meant to be patched, I'll go on with a proper checkout next. That said, the new ~define-module~ is as follows: (define-module (gnu packages gnupg) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages emacs) ; NEW ... >> Now if I do >> >> > guix package -s pinentry-emacs >> guix package: warning: failed to load '(gnupg)': >> no code for module (gnupg) >> name: pinentry-emacs >> version: 1.1.0 >> outputs: out >> systems: x86_64-linux i686-linux armhf-linux aarch64-linux >> mips64el-linux >> dependencies: emacs-25.3 libassuan-2.5.1 libsecret-0.18.5 >> ncurses-6.0-20170930 >> + pkg-config-0.29.2 >> location: /home/ambrevar/.guix-packages/gnupg.scm:991:2 >> homepage: https://gnupg.org/aegypten2/ >> license: GPL 2+ >> synopsis: GnuPG's interface to passphrase input >> description: Pinentry provides a console and an Emacs interface that >> allows users to enter a >> + passphrase when required by `gpg' or other software. >> relevance: 4 >> >> Notive the error at th beginning: >> >> guix package: warning: failed to load '(gnupg)': >> no code for module (gnupg) >> >> I don't understand this. > > You want to name your Guile module properly [2]. In case of > ‘GUIX_PACKAGE_PATH=$HOME/.guix-packages’: > > (define-module (gnupg) …) So ~(define-module (gnu packages gnupg)...)~ means the package must lie in a "gnu/packages/gnupg.scm" file. Did not know that, I assumed the namespace was detached from > [2] > https://www.gnu.org/software/guile/manual/html_node/Using-the-Guile-Module-System.html The manual you linked shows examples of paths linked to the namespaces. But I can't seem to find where it states that it is a requirement. I always thought this requirement on path-linked namespaces (that we find in many languages) to be redundant. > Local checkout allows you prepare patches and use ‘guix’ without ‘guix > pull’. If you plan to contribute more it's definitely worth to have it. Will do just now. Thanks a lot for your help. -- Pierre Neidhardt signature.asc Description: PGP signature
Package requests: Udisks helpers (udiskie, udevil)
At the moment, Guix does not seem to feature any helper to auto-mount disks managed by udisks (such as external hard drives). Common options include udiskie:Removable disk automounter using udisks Upstream URL: https://pypi.python.org/pypi/udiskie udevil: Mount and unmount without password Upstream URL: http://ignorantguru.github.com/udevil/ I'm willing to package one of them. Does anyone have an opinion on the matter? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
I don't use Nautilus and I just want to automate the ~udisksctl mount~ command whenever a disk is plugged-in. Some udev rules might be enough though. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Marius Bakke writes: > Can you post the output of these commands in a terminal: > > $ locale locale: command not found > $ env | grep LOCPATH GUIX_LOCPATH=/run/current-system/locale > $ ls -l /run/current-system/locale/ total 4 dr-xr-xr-x 36 root root 4096 1970-01-01 1970 2.26 -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Marius Bakke writes: > Pierre Neidhardt writes: > >> Marius Bakke writes: >> >>> Can you post the output of these commands in a terminal: >>> >>> $ locale >> >> locale: command not found > > Try: "$(guix build glibc)/bin/locale" instead. Glibc was not installed, but installing it pulls 3 packages: > guix build glibc /gnu/store/2kjscn5i1zjq2h3j0dcwfnzmc69lajz1-glibc-2.26.105-g0890d5379c-debug /gnu/store/9j55362h2xgndjgy45f6283spjjx5990-glibc-2.26.105-g0890d5379c /gnu/store/zpy7n3jjlgnq55lhzkdixf3dvk25vhlj-glibc-2.26.105-g0890d5379c-static Interestingly, `bin/locale` does not end up in the user PATH. > /gnu/store/9j55362h2xgndjgy45f6283spjjx5990-glibc-2.26.105-g0890d5379c/bin/locale LANG=en_US.utf8 LC_CTYPE="en_US.utf8" LC_NUMERIC="en_US.utf8" LC_TIME="en_US.utf8" LC_COLLATE="en_US.utf8" LC_MONETARY="en_US.utf8" LC_MESSAGES="en_US.utf8" LC_PAPER="en_US.utf8" LC_NAME="en_US.utf8" LC_ADDRESS="en_US.utf8" LC_TELEPHONE="en_US.utf8" LC_MEASUREMENT="en_US.utf8" LC_IDENTIFICATION="en_US.utf8" LC_ALL= > And then `ls -l /run/current-system/locale/2.26/`. > ls -l /run/current-system/locale/2.26/ total 136 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ca_ES.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 cs_CZ.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 da_DK.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 de_DE.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 el_GR.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 en_AU.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 en_CA.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 en_GB.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 en_US.UTF-8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 en_US.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 es_AR.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 es_CL.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 es_ES.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 es_MX.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 fi_FI.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 fr_BE.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 fr_CA.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 fr_CH.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 fr_FR.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ga_IE.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 it_IT.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ja_JP.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ko_KR.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 nb_NO.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 nl_NL.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 pl_PL.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 pt_PT.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ro_RO.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 ru_RU.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 sv_SE.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 tr_TR.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 uk_UA.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 vi_VN.utf8 dr-xr-xr-x 3 root root 4096 1970-01-01 1970 zh_CN.utf8 -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Ricardo Wurmus writes: > Pierre Neidhardt writes: > >> Glibc was not installed, but installing it pulls 3 packages: >> >> > guix build glibc >> >> /gnu/store/2kjscn5i1zjq2h3j0dcwfnzmc69lajz1-glibc-2.26.105-g0890d5379c-debug >> /gnu/store/9j55362h2xgndjgy45f6283spjjx5990-glibc-2.26.105-g0890d5379c >> >> /gnu/store/zpy7n3jjlgnq55lhzkdixf3dvk25vhlj-glibc-2.26.105-g0890d5379c-static >> >> Interestingly, `bin/locale` does not end up in the user PATH. > > That’s expected. “guix build” doesn’t install anything and so the > executables of built packages don’t automatically end up in PATH. > That’s by design. Duh! That was so obvious, I completely forgot I wasn't "installing" :p The problem is gone for Emacs (hurray!) but not for stow. What does it mean? That glibc _must_ be installed on all user profiles? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Chris Marusich writes: >> I don't use Nautilus > > What do you use? If you are using another desktop environment besides > GNOME, and automatic mounting of removable storage devices does not > occur, perhaps it's a bug we need to fix. (And maybe that bug is as > simple as adding the packages you mentioned.) I don't use a desktop environment. More specifically, I use EXWM (Emacs W Window Manager): https://github.com/ch11ng/exwm. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Given a file, find the package that builds it
> Handy way for Emacs users: ‘M-x eww’, then ‘!debfiles bin/hello’. Didn't know about this, it's brilliant! See also http://www.portagefilelist.de/site/query/file/?do#result for the Gentoo equivalent. I don't know if there is a duckduckgo shortcut however. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Oleg, I tried reusing your package snippet from http://lists.gnu.org/archive/html/help-guix/2017-09/msg00074.html by setting (url "git://localhost/~ambrevar/projects/emacs") but it fails for me: > guix build -K emacs @ build-started /gnu/store/f3gbd1y74vw1my0fmzlpz5cxkqqk423l-emacs-25.3-1.752fba9-checkout.drv - x86_64-linux /var/log/guix/drvs/f3//gbd1y74vw1my0fmzlpz5cxkqqk423l-emacs-25.3-1.752fba9-checkout.drv.bz2 Initialized empty Git repository in /gnu/store/xrprmz45mi7njni6ypz4mad0ijf02r32-emacs-25.3-1.752fba9-checkout/.git/ fatal: unable to connect to localhost: localhost[0: 127.0.0.1]: errno=Connection refused fatal: unable to connect to localhost: localhost[0: 127.0.0.1]: errno=Connection refused Backtrace: 4 (primitive-load "/gnu/store/cq0wvv65l9d7zn515dfg07jg3gr?") In ice-9/eval.scm: 293:34 3 (_ #) In ./guix/build/git.scm: 48:10 2 (git-fetch "git://localhost/~ambrevar/projects/emacs" # ?) In ./guix/build/utils.scm: 589:6 1 (invoke _ . _) In unknown file: 0 (scm-error misc-error #f "~A ~S" ("program \"/gnu/s?" ?) ?) I'm not very familiar with the "git" protocol: does it require some special configuration? I also tried specifying a local path: (url "/home/ambrevar/projects/emacs") but it seems that Guix' `git-reference` does not like it: > guix build -K emacs @ build-started /gnu/store/rvadb9sgi9dj0b3hlgpr3l91nbw9vvn0-emacs-25.3-1.752fba9-checkout.drv - x86_64-linux /var/log/guix/drvs/rv//adb9sgi9dj0b3hlgpr3l91nbw9vvn0-emacs-25.3-1.752fba9-checkout.drv.bz2 Initialized empty Git repository in /gnu/store/xrprmz45mi7njni6ypz4mad0ijf02r32-emacs-25.3-1.752fba9-checkout/.git/ fatal: '/home/ambrevar/projects/emacs' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. fatal: '/home/ambrevar/projects/emacs' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Backtrace: 4 (primitive-load "/gnu/store/cq0wvv65l9d7zn515dfg07jg3gr?") In ice-9/eval.scm: 293:34 3 (_ #) In ./guix/build/git.scm: 48:10 2 (git-fetch "/home/ambrevar/projects/emacs" "752fba992b?" ?) In ./guix/build/utils.scm: 589:6 1 (invoke _ . _) In unknown file: 0 (scm-error misc-error #f "~A ~S" ("program \"/gnu/s?" ?) ?) I think this is a bug: if git clone accepts local paths, then so should git-reference. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Ricardo Wurmus writes: > Pierre Neidhardt writes: > >> The problem is gone for Emacs (hurray!) but not for stow. >> >> What does it mean? That glibc _must_ be installed on all user profiles? > > Certainly not. I’ve never installed glibc into any profile. glibc is > linked with programs. So why did it fix it for Emacs? > Have you upgraded stow? If not, it’s possible that it is linked with an > older version of glibc and thus cannot use the glibc-utf8-locales for > glibc 2.26 that you have installed. Upgrading did the trick. If I get it right, updating glibc or the locales does not trigger an upgrade of all packages that were built with older versions, hence the issue. Should Guix packages depend on glibc so that an upgrade of glibc upgrades all glibc-dependent packages? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
Ludovic Courtès writes: > We could build it with --localstatedir=/var, but would the initial > ‘currency.units’ be picked up? Hmm, I don't see how that would work considering currency.units is located at PREFIX/share/units/currency.units Maybe I got you wrong. What we want to do here is move PREFIX/share/units to a writable location. With ./configure it's possible to move "datarootdir", but that also moves the info and the man page. Thus we need to rectify those 2 locations: > ./configure --datarootdir=/var --mandir=/usr/local/share/man --infodir=/usr/local/share/info Disclaimer: I don't know autoconf very well, I think we should use a special syntax for PREFIX instead of /usr/local/. The result should be /var/units/currency.units (and 2 other files) -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Mathieu Lirzin writes: > I think you have to use the ‘local-file’ procedure in place of ‘origin’ > in the ‘source’ field. Unless I'm mistaken, local-file does not work on folders. In the case of a Git repo, that would mean extracting the archive and overwriting the destination on each build. It's not a solution then. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
Ludovic Courtès writes: > Looking more closely, you might be able to add a ~/.units file with: > > include my-updated-currency.units Note that the actual command must start with a `!`, so it would be: !include my-updated-currency.units > Could you check if that works? It does. This would definitely work, but then what about the failing `sudo units_cur`? I think this should be documented. Either by patching the documentation of units_cur itself so that if run with `sudo`, it displays the above hint instead. What do you think? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
I'm also wondering whether an mcron-service would work at the system level. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
Pierre Neidhardt writes: > vsftp:Very Secure FTP daemon > Upstream URL: https://security.appspot.com/vsftpd.html > (It seems that there is not a single FTP server on Guix. Strange... Can > anyone > recommend anything better than vsftp for file sharing? Not necessarily > FTP.) Correction: There is an FTP server in the inetutils package. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
Pierre Neidhardt writes: > I'm also wondering whether an mcron-service would work at the system level. Well, I guess not, that would defeat the integrity of the store. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
Ludovic Courtès writes: > Hmm, dunno. Perhaps we could modify ‘units’ to look for > /var/run/units/currency.units first, and fall back to > /gnu/store/…-units/share/units/currency.units. > > We would also arrange for ‘units_cur’ to update the file in /var/run by > default. > > WDYT? That sounds reasonable to me. What's the purpose of /var/run on GuixSD? How is it used? > I’m not offering to work on the patch, though. :-) I'll give it a shot when I'll more time on my hands. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
Ludovic Courtès writes: >>> Hmm, dunno. Perhaps we could modify ‘units’ to look for >>> /var/run/units/currency.units first, and fall back to >>> /gnu/store/…-units/share/units/currency.units. >>> >>> We would also arrange for ‘units_cur’ to update the file in /var/run by >>> default. >>> >>> WDYT? >> >> That sounds reasonable to me. What's the purpose of /var/run on GuixSD? >> How is it used? > > On GNU/Linux /var/run is the standard location to store “state” files. > See ‘runstatedir’ in > <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>. So how do you get units to use runstatedir instead? Is there some autoconf way to do it are do we have to patch the code directly? I think it would be worth mentioning the issue upstream then. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Ricardo Wurmus writes: > FWIW I don’t use GNOME (but I might start soon) and to enable > automounting I had to add the gvfs package to the global environment. With Nautilus, right? If you don't use Nautilus or any other gvfs-based file browser, how do you get automounting? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Chris Marusich writes: >> Some udev rules might be enough though. > > That could very well be true! I don't know a lot about how the various > desktop environments like GNOME auto-mount removable storage devices, > but I'd be surprised if you couldn't whip something up with udev rules. Thinking about it, I don't think that would work. I haven't tested the following, but let's consider the Udev rule: (define %automount-udev-rule (udev-rule "90-automount.rules" (string-append "KERNEL=\"sd[a-z][0-9]\", ACTION==\"add\", SUBSYSTEM==\"usb\", " "RUN+=\"/run/current-system/profile/bin/udisksctl mount -b /dev/%k\""))) It would mount the drive as root, not for the current user. It's possible to mount the drives for every one though: (define %automount-udev-rule (udev-rule "90-automount.rules" (string-append "KERNEL=\"sd[a-z][0-9]\", ACTION==\"add\", SUBSYSTEM==\"usb\", " "ENV{UDISKS_FILESYSTEM_SHARED}=\"1\"," "RUN+=\"/run/current-system/profile/bin/udisksctl mount -b /dev/%k\""))) Conclusion: a udev rule might solve part of the problem (auto-mounting) but it does not allow for per-user mount points. In the end, udiskie might be the better option. What do you think? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Pierre Neidhardt writes: > It's possible to mount the drives for every one though: > > (define %automount-udev-rule > (udev-rule > "90-automount.rules" > (string-append "KERNEL=\"sd[a-z][0-9]\", ACTION==\"add\", > SUBSYSTEM==\"usb\", " > "ENV{UDISKS_FILESYSTEM_SHARED}=\"1\"," > "RUN+=\"/run/current-system/profile/bin/udisksctl > mount -b /dev/%k\""))) The above rule does not seem to work. When I try to debug it, udevadm fails to see the new 90-automount rule: > udevadm test {udevadm info -q path -n /dev/sda1} calling: test version 3.2.4 This program is for debugging only, it does not run any program specified by a RUN key. It may show incorrect results, because some values may be different, or not available at a simulation run. === trie on-disk === tool version: 3 file size: 7431994 bytes header size 80 bytes strings1901394 bytes nodes 5530520 bytes Load module index timestamp of '/gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/etc/udev/rules.d' changed Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/50-udev-default.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-block.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-cdrom_id.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-drm.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-evdev.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-persistent-alsa.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-persistent-input.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-persistent-storage-tape.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-persistent-storage.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-persistent-v4l.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-sensor.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/60-serial.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/64-btrfs.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/70-mouse.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/70-touchpad.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/75-net-description.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/75-probe_mtd.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/78-sound-card.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/80-drivers.rules Reading rules file: /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4/lib/udev/rules.d/80-net-name-slot.rules rules contain 24576 bytes tokens (2048 * 12 bytes), 8930 bytes strings # ... I guess Guix passes some "path" parameters to udev which are missing above. The proper path for the rules on my system is: > ll /gnu/store/w1f960p754f5vvbv2mnpfsdbp583hfk7-udev-rules/lib/udev/rules.d total 3.7k lrwxrwxrwx 6 root root 86 1970-01-01 1970 10-dm.rules -> /gnu/store/rj2da82v4ii1sy2pzb618x1dyxyz4h33-lvm2-2.02.177/lib/udev/rules.d/10-dm.rules lrwxrwxrwx 6 root root 90 1970-01-01 1970 11-dm-lvm.rules -> /gnu/store/rj2da82v4ii1sy2pzb618x1dyxyz4h33-lvm2-2.02.177/lib/udev/rules.d/11-dm-lvm.rules # ... lrwxrwxrwx 44 root root 99 1970-01-01 1970 90-alsa-restore.rules -> /gnu/store/w004ykh4r8cqdpxb8jp59h8h40ly32g6-alsa-utils-1.1.5/lib/udev/rules.d/90-alsa-restore.rules lrwxrwxrwx 2 root root 98 1970-01-01 1970 90-automount.rules -> /gnu/store/aw9vk500s6zycpr2rb8aih5cjgc8rmw9-90-automount.rules/lib/udev/rules.d/90-automount.rules lrwxrwxrwx 5 root root 98 1970-01-01 1970 90-backlight.r
Re: Package requests: Udisks helpers (udiskie, udevil)
Alternatively, it's also possible to roll out our own 10-line user script: https://wiki.archlinux.org/index.php/Udisks#udevadm_monitor Save it in your PATH as, say, udisks-automount, then add the following to your startup files (e.g. .profile): udisks-automount & -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
Pierre Neidhardt writes: >> vsftp: Very Secure FTP daemon >> Upstream URL:https://security.appspot.com/vsftpd.html >> (It seems that there is not a single FTP server on Guix. Strange... Can >> anyone >> recommend anything better than vsftp for file sharing? Not necessarily >> FTP.) > > Correction: There is an FTP server in the inetutils package. And here is a system configuration to get an FTP server up and running with inetutils: (use-modules (GNU) ; ... (gnu services networking) (gnu packages admin)) (operating-system ; ... (users (cons* (user-account (name "ambrevar") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/ambrevar")) (user-account (name "ftp") (group "nogroup") (home-directory "/home/ftp")) %base-user-accounts)) (services (cons* (service inetd-service-type (inetd-configuration (entries (list (inetd-entry (node "127.0.0.1") (name "ftp") (socket-type 'stream) (protocol "tcp") (wait? #f) (user "root") (program (file-append inetutils "/libexec/ftpd")) (arguments '("ftpd" "--anonymous-only" "-l")) ) %my-services))) I'm now trying to figure out how to declare a service without starting it when booting. In the case of inetd, I want to start it manually: > sudo herd start inetd Anyone? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: units_cur
I want to update whenever the file is older than 1 day (so that it does not do anything on reboot for instance) and every 1 day from then on (so that it keeps updating even if I don't reboot). For that I need mcron with some condition on the mtime of currency.units. Here is my implementation: ;; -*- mode: Lisp; -*- ;; This cannot be let-bound within `job'. (define currency-file (string-append (getenv "HOME") "/.cache/currency.units")) (job (lambda (current-time) (let* ((seconds-in-a-day (* 60 60 24)) (currency-time (stat:mtime (stat currency-file (if (< currency-time (- current-time seconds-in-a-day)) (next-second) ;; TODO: The following does not work while it should. Report upstream. ;; (next-hour-from (next-day) (list (tm:hour (localtime (current-time) (+ (next-second) (- 86400 (- current-time currency-time)) ;; A string is nicer than Scheme code for `mcron --schedule' output. ;; Other we could return '(system* "units_cur" currency-file) (string-append "units_cur " currency-file)) I start ~mcron~ from my ~.profile~: mcron & Comments are welcome :) Note: As mentioned in the "TODO:" above, I think there is a bug in mcron. The following example taken from the Guix manual does not seem to work: (define idutils-job ;; Update the index database as user "charlie" at 12:15PM ;; and 19:15PM. This runs from the user's home directory. #~(job '(next-minute-from (next-hour '(12 19)) '(15)) (string-append #$idutils "/bin/mkid src") #:user "charlie")) Or, at the user level: (job '(next-minute-from (next-hour '(12 19)) '(15)) (string-append (getenv "HOME") "/.guix-profile/bin/mkid src")) > mcron -s 1 mcron: Cannot read files in your ~/.config/cron (or ~/.cron) directory. More specifically, it seems that mcron fails to take a list as second argument to the ~next-*~ functions. Can anyone confirm? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Fail to configure home-directory
Ludovic Courtès writes: >>>> Running `guix system reconfigure' hangs after the `usermod...' changes. >>>> Not sure about how to print more debug details. >>> >>> Does /var/log/messages or /var/log/shepherd.log have more info? >> >> /var/log/shepherd.log does not log anything from the `guix system >> reconfigure...`. > > What about /var/log/messages? Sorry, I forgot about that one. Starting at 18:42:53: Apr 1 18:26:14 localhost -- MARK -- Apr 1 18:42:53 localhost nscd: 329 monitored file `/etc/hosts` was deleted, removing watch Apr 1 18:42:53 localhost nscd: 329 monitored file `/etc/hosts` was created, adding watch Apr 1 18:42:53 localhost nscd: 329 monitored file `/etc/services` was deleted, removing watch Apr 1 18:42:53 localhost nscd: 329 monitored file `/etc/services` was created, adding watch Apr 1 18:42:53 localhost NetworkManager[369]: [1522588373.7196] settings: hostname changed from (none) to "mimimi" Apr 1 18:42:53 localhost shepherd[1]: Removing service 'user-homes'... Apr 1 18:42:53 localhost shepherd[1]: Done. Apr 1 18:42:53 localhost shepherd[1]: Removing service 'term-auto'... Apr 1 18:42:53 localhost shepherd[1]: Done. Apr 1 18:42:53 localhost shepherd[1]: Evaluating user expression (register-services (primitive-load "/gnu/st?") ?). Apr 1 18:42:53 localhost shepherd[1]: GNU Guile 2.2.3 Apr 1 18:42:53 localhost shepherd[1]: Copyright (C) 1995-2017 Free Software Foundation, Inc. Apr 1 18:42:53 localhost shepherd[1]: Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. Apr 1 18:42:53 localhost shepherd[1]: This program is free software, and you are welcome to redistribute it Apr 1 18:42:53 localhost shepherd[1]: under certain conditions; type `,show c' for Apr 1 18:42:53 localhost shepherd[1]: details. Apr 1 18:42:53 localhost shepherd[1]: Enter `,help' for help. Also here is the output: > sudo guix system reconfigure ~/dotfiles/.guix-config/config.scm substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/6p2mf90icfgkgn0pdcb058mwxl5hndn8-system.drv /gnu/store/74s08vh7wk5hg9cd4n2z8irwkznsf0ng-grub.cfg.drv /gnu/store/s4l9g12y5vp36br7w1nrz9a8zkpwx681-shepherd-file-system--foo.scm.drv /gnu/store/s2y5f319phq54lf70qga49kwncn8cyab-shepherd-user-file-systems.scm.drv /gnu/store/dp2ks3cmmikrgbkwjvbgfaak55lkibpc-shepherd-file-systems.scm.drv /gnu/store/vzwqn0w5xxgnnbj4x1awgm3s7qssgiz9-shepherd.conf.drv /gnu/store/r2njdfp6hkljsrnpnxjcj9m602v1c8wb-activate-service.drv /gnu/store/0zr1nagvqrd407z786bfpd482570235j-activate.drv /gnu/store/yswg9qnggnb9x02mffl27aaq6bp4wcxf-boot.drv /gnu/store/ljp98sn46aqi7vsg3fwpxisphwm7psw3-etc.drv /gnu/store/j85yjy5sxjlzkcm64f5knkhm9wpy2hd1-system /gnu/store/sdlvf4aps75cpkjck73iy5c65gm9iby8-grub.cfg /gnu/store/lb5q7l4yfaqwfb2hxi5q73z3p6pnhpm1-grub-efi-2.02 /gnu/store/kh3bl4qrmkr6wfacdd8dkqkw16n3l0bp-bootloader-installer activating system... making '/gnu/store/j85yjy5sxjlzkcm64f5knkhm9wpy2hd1-system' the current system... setting up setuid programs in '/run/setuid-programs'... populating /etc from /gnu/store/mv3hpjkfv4qgid27fx590lmly25rxrad-etc... usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes usermod: no changes guix system: unloading service 'user-homes'... shepherd: Removing service 'user-homes'... shepherd: Done. guix system: unloading service 'term-auto'... shepherd: Removing service 'term-auto'... shepherd: Done. guix system: loading new services: file-system-/foo user-homes term-auto... shepherd: Evaluating user expression (register-services (primitive-load "/gnu/st?") ?). -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Chris Marusich writes: > My only experience here is in using udev rules to mount disks in systems > as a specific unprivileged user. I would install the rule as a > privileged user, and then enjoy the automatic mounting as an > unprivileged user. Can you share those udev rules? Thanks! -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: Udisks helpers (udiskie, udevil)
Pierre Neidhardt writes: > Can you share those udev rules? Thanks! Forget it, just saw your other e-mail in this thread! :p -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Trying to define a package
Arnaud B writes: > The thing is that I can not debug the build process, even though I use the > --keep-failed option : I'm not getting a temp build directory > (/tmp/guix-build-...) as I expect : This is so because it fails too early, that is, before it builds. The error is that when using `-f`, guix build _evaluates_ the target file and builds the _result_. See `guix build --help`. The `define-public` does not return a `package`, hence the error. Simply remove the `define-public` and it should work. Alternatively, you can place your file in a folder pointed by GUIX_PACKAGE_PATH, leave the `define-public` and build with `guix build freefilesync --keep-failed`. Don't forget that the declared module must match the path, so if you stick to (gnu packages freefilesync) place the file in $GUIX_PACKAGE_PATH/gnu/packages/freefilesync.scm. > One thing to add is that the downloaded source file is not tar.gz file > format but zip file, perhaps that's part of the problem ? I think you need (native-inputs `(("unzip" ,unzip))) And add the (gnu packages compression) module. A nit: the package name should be lowercase I think. Love the description, haha! :) -- Pierre Neidhardt signature.asc Description: PGP signature
Pros and cons of Emacs package management through Guix instead of package.el
I am thinking of using Guix to manage all my Emacs packages. I can think of several benefits: - Guix provides (possibly) more stable versions. - Guix can update all packages without hanging Emacs. - Guix can update all packages from the commandline, i.e. it can be scripted. - Guix can rollback Emacs packages. Emacs package updates and system program updates can belong to the same transaction: this enforces the integrity of the software stack at the user level. - Guix allows for sharing package files among several users on a multi-user system. And possible downsides: - package.el provides more up-to-date packages through MELPA but if we really want to be more cutting edge (i.e. for development), we are usually better off cloning the repository anyway. - Guix is basically duplicating the effort of (M)ELPA. What's your take on this? -- Pierre Neidhardt signature.asc Description: PGP signature
chromaprint: fpcalc missing
The chromaprint commandline tool "fpcalc" to compute fingerprints is missing. I believe passing the CMAKE argument -DBUILD_TOOLS=ON would be enough. I guess it would be a nice fit for a separate output. -- Pierre Neidhardt signature.asc Description: PGP signature
Evil bindings for guix.el
I've just release a set of Evil bindings for `guix.el` as part of the [Evil Collection](https://github.com/emacs-evil/evil-collection). Evil users, have a glimpse there: https://github.com/emacs-evil/evil-collection/blob/master/evil-collection-guix.el. Feedback is very welcome of course. Enjoy! -- Pierre Neidhardt signature.asc Description: PGP signature
Re: chromaprint: fpcalc missing
Catonano writes: > which package are you talking about ? > > Anyway, you can submit a patch ☺ The chromaprint package. I'll submit a patch but I wanted to ask, maybe the original author of the recipe has an opinion about it. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: chromaprint: fpcalc missing
Ludovic Courtès writes: > The best way to know that is by sending a patch. ;-) > > A common criterion in deciding whether or not to enable an optional > feature is how widely used it is vs. how much it adds to the size of the > package closure. If you can provide that kind of info in your patch > submission, that’ll make it easier to decide what to do. Done: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31046 -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Trying to define a package
Arnaud B writes: > *"The (...) gnu-build-system represents the familiar GNU Build System, > where packages may be configured, built, and installed with the usual > ./configure && make && make check && make install command sequence."* > I checked that bash, bash-minimal, bash-completion are all found in the > store (actually in 3 differents versions after guix puil I guess). But are they found in your user PATH? If bash-minimal and bash are not installed in your user session and you run ~guix build...~ directly, the failure is to be expected. Two solutions here: - Install all the required tools in your user profile. - Use ~guix environment freefilesync...~. Cf. the manual. -- Pierre Neidhardt signature.asc Description: PGP signature
Disable discrete graphics card (Nvidia)
I run a Xiaomi Air 13 with both an embedded Intel and a discrete Nvidia graphics chipset. I'd like to turn off the Nvidia chipset to save battery power and avoid overheating (I live in a hot place). Blacklisting the "nouveau" kernel module prevents the card from being seen by the OS, but the card keeps draining power: (operating-system ;... (kernel-arguments '("modprobe.blacklist=nouveau")) It seems that neither acpi_call nor bbswitch are packaged with Guix. Is there any other commended way? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Вопрос по опциям монтирования SSD и logrotate
Oleg Pykhalov writes: >>> Хорошо, мы можем выполнять trim по cron (mcron). Этот сервис есть в >>> %desktop-services? >> >> Нет. >> >> Список сервисов ‘%desktop-services’ можно посмотреть в >> ‘gnu/services/desktop.scm’ [2] или вызвав Guile: >> >> guile -e '(@@ (gnu services desktop) %desktop-services)' >> >>> Или я должен явно прописывать это? >> >> Да, примеры есть в документации Guix [3]. > > The question was about how to check what services contains > ‘%desktop-services’ variable. Is there a convenient way to get a pretty print out of the result? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Вопрос по опциям монтирования SSD и logrotate
Ludovic Courtès writes: > Alternately, you can inspect the ‘%desktop-services’ variable at the REPL: > > --8<---cut here---start->8--- > $ guile > GNU Guile 2.2.3 > Copyright (C) 1995-2017 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> ,use(gnu services desktop) > scheme@(guile-user)> ,use(gnu services) > scheme@(guile-user)> (map (compose service-type-name service-kind) > %desktop-services) > $1 = (slim screen-locker screen-locker mtp network-manager wpa-supplicant > avahi udisks upower accountsservice colord geoclue polkit elogind dbus ntp > login console-fonts agetty mingetty mingetty mingetty mingetty mingetty > mingetty static-networking syslog urandom-seed guix nscd udev special-files) > --8<---cut here---end--->8--- This is exactly what I was looking for. Thanks! -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Jorge writes: > In my experience so > far, these pretest versions are reliable enough for daily usage. > > Providing Emacs pretest versions would enable a larger audience to test them, > thus helping the GNU project. Very good points, I think. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Disable discrete graphics card (Nvidia)
On my previous system (Void Linux), bbswitch did not seem to work either, but I remember that I fixed the issue by _uninstalling_ xf86-video-nouveau. Is it possible to do such a thing on Guix? xf86-video-nouveau is in the store, but it does not show up in the list of installed packages for the system profile: > guix package -p /run/current-system/profile -I xterm 331 out /gnu/store/x82n8m8czgg376nhz9x84hzqk6adq7wi-xterm-331 network-manager 1.8.4 out /gnu/store/036xikkqpkvkdwkjfh9ahll1iacac64f-network-manager-1.8.4 wpa-supplicant 2.6 out /gnu/store/xw7fwgdwmgpz75qjgq542l1m4fd8m3by-wpa-supplicant-2.6 avahi 0.7 out /gnu/store/c04gr23da5pxvw4g131va3phmx0fg1xf-avahi-0.7 udisks 2.1.8 out /gnu/store/ylgf4m5caibiv3q4a2xvd8l2wrwdm953-udisks-2.1.8 upower 0.99.4 out /gnu/store/fpcs8hafs1ph6s3m8jf9r42y6h1nsgx4-upower-0.99.4 elogind 232.4 out /gnu/store/16snmg340q85d2mmd950nw1dlhdw65bl-elogind-232.4 guix0.14.0-9.bdf0c64out /gnu/store/fbpk1zjcqd6p4ny8qx48mvlp4v7qfmld-guix-0.14.0-9.bdf0c64 shepherd0.4.0 out /gnu/store/nn46hr2a1qbnycidy935aa9fjrj56l21-shepherd-0.4.0 lzip1.19out /gnu/store/40dwsic8bkw02wrn2pm188gvay2vzxqk-lzip-1.19 xz 5.2.3 out /gnu/store/pj8xqlnkwgjia87jy6i8slglip9k8x6a-xz-5.2.3 bzip2 1.0.6 out /gnu/store/lf5h9hl0yg85dq0qn2pj5aah5wdxz41i-bzip2-1.0.6 gzip1.8 out /gnu/store/dh7al9krw0m77z59vrrv8rjdk2c707hf-gzip-1.8 tar 1.29out /gnu/store/x4qyaj221gml0ha1c3xpgk9q7bl5ihwk-tar-1.29 gawk4.1.4 out /gnu/store/ahxc89r6npzf2bbl8yg5vdjicskzzjf3-gawk-4.1.4 patch 2.7.5 out /gnu/store/mpdpn3cfq6sgf34sglj3ddfl32g9aqhr-patch-2.7.5 diffutils 3.6 out /gnu/store/m3jv69f3gl5yf3kg2vjyw5qqrb3739kp-diffutils-3.6 sed 4.4 out /gnu/store/0hl513mnpkhszm2hjai2w9cxmpxs0vgq-sed-4.4 grep3.1 out /gnu/store/1h44pkgdd7n6s3i2vjh54awsvfmc219j-grep-3.1 findutils 4.6.0 out /gnu/store/k7r2m2wgj8x8jjhccwjsiimp0dlzxb7i-findutils-4.6.0 coreutils 8.28out /gnu/store/kgzvfby2ggi1xawsh5vjh4s93qk2dp9k-coreutils-8.28 bash4.4.12 out /gnu/store/y9ikcs0lcsip95p1914jv355034yjc6i-bash-4.4.12 guile 2.2.3 out /gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3 bash-completion 2.8 out /gnu/store/91jzlq0s1c9fy5b4bg1fhyk4jwh5kyxi-bash-completion-2.8 kbd 2.0.4 out /gnu/store/m0rvq487i0h83znj0a9kxv971cfni5vb-kbd-2.0.4 e2fsprogs 1.43.6 out /gnu/store/nm305rpb2mvridkyj4l3636nc9ql4lf9-e2fsprogs-1.43.6 eudev 3.2.4 out /gnu/store/8ylaz1xxb15iq3x1nvbz9rz2c5clq3d5-eudev-3.2.4 kmod24 out /gnu/store/vxjnlh2s0ipk746ha534fpwyhr4nhanx-kmod-24 sudo1.8.22 out /gnu/store/di91b51fkk2qrnijld9b752x5zffdnqp-sudo-1.8.22 info-reader 6.5 out /gnu/store/g0pfgysh6132afpyfskgfr2vrv8a9qda-info-reader-6.5 man-db 2.8.2 out /gnu/store/90ri538b7zwpc5ypaw0d6wrh6n8ba5wi-man-db-2.8.2 net-tools 1.60-0.479bb4a out /gnu/store/xjv36zfzik2kvzk7x2l1r9i7hdzq3csn-net-tools-1.60-0.479bb4a iproute24.15.0 out /gnu/store/vhl9lqailyx3vljz6bca4m6s63qzgr15-iproute2-4.15.0 wireless-tools 30.pre9 out /gnu/store/207fxlrhy0ab8lxyh1yxyrscbzi50dvl-wireless-tools-30.pre9 iw 4.14out /gnu/store/4q0mkz7m7p0hwb7yx383bhzgh35l9x1r-iw-4.14 shadow 4.5 out /gnu/store/76savs1dmnd02xlyqd2q9ri4jm7bashb-shadow-4.5 isc-dhcp4.3.6-P1out /gnu/store/qmj558s8gdzmlafavk85nfq3k2l39ncn-isc-dhcp-4.3.6-P1 inetutils 1.9.4 out /gnu/store/wzrbvgx53wppdvcbcn51js68hzbmzbm9-inetutils-1.9.4 util-linux 2.31.1 out /gnu/store/y65aqmkn508ppgwdddrk4hsvhk8cndab-util-linux-2.31.1 usbutils009 out /gnu/store/s5bq8z6gkg1z8rpzzgx3c672nvkq1iar-usbutils-009 pciutils3.5.6 out /gnu/store/5xqq87p02f8ibz4pw08w1ir7p5fzcibv-pciutils-3.5.6 nano2.9.4 out /gnu/store/djmyjy1vb8l1gvnj7nwh758p00dij9a0-nano-2.9.4 zile2.4.14 out /gnu/store/fx2lav8bjmy8ali965y7bgclj3mh5wnd-zile-2.4.14 less530 out /gnu/store/dnhms7grnaqhb19saz39clqp0zg7l1bc-less-530 which 2.21out /gnu/store/6k6dfgsxs396rxd36vsbp8k6h5ddhclr-which-2.21 psmisc 22.21 out /gnu/store/h6y98mp3fjsq5wmfi05cw5czv8wfwj6p-psmisc-22.21 procps 3.3.12 out /gnu/store/gb9hkz8asfj76rqqx3217xz5rdcbl55g-procps-3.3.12 nss-scerts 3.36out /gnu/store/lyaj4w53dskvmbgps2nzvangp7nfjfgd-nss-certs-3.36 -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Disable discrete graphics card (Nvidia)
By the way, I wonder how uninstalling the xf86-video-nouveau driver could be different from blacklisting it... Anyone? -- Pierre Neidhardt signature.asc Description: PGP signature
Helm System Packages: New support for Guix
[[https://github.com/emacs-helm/helm-system-packages][Helm System Packages]] is an interface to your system package managers. Highlights: - Helm "live" search of all packages. - Install / Uninstall a bunch of packages at once. - Explore dependencies recursively from the same Helm buffer. - Navigate the package files with Helm. - TRAMP support (it should work over the network). The overlap with guix.el is obvious, but I believe it makes the user experience a little smoother when it comes to common tasks. Besides Guix, it also supports portage, dpkg, pacman, xbps. macOS brew support is on its way. It is possible to manage packages of remote systems via any protocol supported by TRAMP! Simply call ~helm-system-packages~ from a remote buffer (a file, a shell, Dired...) and you'll get the list of packages of the remote system. Because Helm System Packages caches as much as it can on your local system, the interface will remain (mostly) snappy even over slow connections. Don't hesitate to report any issues you might run into and drop a comment if you'd like to see some extra functionalities implemented. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Helm System Packages: New support for Guix
One of the biggest missing features is _reverse dependency_ browsing: does anyone know if it's possible to display them with guix? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Helm System Packages: New support for Guix
Ludovic Courtès writes: > ‘guix refresh --list-dependents’ gives an overview of that. I suppose > you could write code along the same lines to do what you want. Thanks! Note that it is `guix refresh --list-dependent` (no 's'). -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Helm System Packages: New support for Guix
Ludovic Courtès writes: > Does it support the notion of non-root installs, per-user profiles, and > arbitrary profiles for Guix? > > I’m asking because that’s a significant difference between Guix and the > other supported package managers. PackageKit, for instance, provides a > package management abstraction that’s biased towards “traditional” > package managers and is inadequate for Guix. For now it works on the user default profile (non-root install). That said, the abstraction is pretty minimal, so it's totally possible to do anything we want on the Guix side. Could you hint at some use cases and examples around arbitrary profiles? I only use my default profile at the moment, so I'm not sure what to do there. > You chose to interface with the command line. I suppose this creates > less friction for an initial install compared to using Geiser and the > Scheme APIs of Guix, but that’s probably at the expense of expressive > power and control (I really like the rich interface that guix.el is able > to provide with this approach). Absolutely. I chose this approach so I could roll out a first prototype in a few hours. I'm not very familiar with the Guix API yet, but eventually I'm thinking of re-using guix.el when that would be more convenient. Contributions are very welcome! > Anyway, cool stuff! Now you need to make a package for it. :-) Coming soon! -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Disable discrete graphics card (Nvidia)
Thanks! The `system reconfigure` completes successfully but after a reboot I get > xrandr --listproviders Providers: number : 2 Provider 0: id: 0x66 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 4 associated providers: 0 name:modesetting Provider 1: id: 0x3f cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:modesetting I believe that if it weren't loaded, Provider 1 should not be listed. It's what happens when I blacklist the kernel module. Besides battery consumption is still higher than ideal. -- Pierre Neidhardt signature.asc Description: PGP signature
warning: could not locate elisp directory under `/gnu/store/...`
o such file or directory, helm-system-packages Compiling /gnu/store/f23khn2hmkniqp6y2k27df8cynl85xbi-emacs-helm-system-packages-1.9.0-1.9e5805f/share/emacs/site-lisp/guix.d/helm-system-packages-1.9.0-1.9e5805f/helm-system-packages-pacman.el... In toplevel form: helm-system-packages-pacman.el:32:1:Error: Cannot open load file: No such file or directory, helm-system-packages Compiling /gnu/store/f23khn2hmkniqp6y2k27df8cynl85xbi-emacs-helm-system-packages-1.9.0-1.9e5805f/share/emacs/site-lisp/guix.d/helm-system-packages-1.9.0-1.9e5805f/helm-system-packages-portage.el... In toplevel form: helm-system-packages-portage.el:31:1:Error: Cannot open load file: No such file or directory, helm-system-packages Compiling /gnu/store/f23khn2hmkniqp6y2k27df8cynl85xbi-emacs-helm-system-packages-1.9.0-1.9e5805f/share/emacs/site-lisp/guix.d/helm-system-packages-1.9.0-1.9e5805f/helm-system-packages-xbps.el... In toplevel form: helm-system-packages-xbps.el:30:1:Error: Cannot open load file: No such file or directory, helm-system-packages Compiling /gnu/store/f23khn2hmkniqp6y2k27df8cynl85xbi-emacs-helm-system-packages-1.9.0-1.9e5805f/share/emacs/site-lisp/guix.d/helm-system-packages-1.9.0-1.9e5805f/helm-system-packages.el... Done (Total of 1 file compiled, 5 failed, 1 skipped) phase `build' succeeded after 0.4 seconds starting phase `patch-shebangs' phase `patch-shebangs' succeeded after 0.0 seconds starting phase `strip' phase `strip' succeeded after 0.0 seconds starting phase `validate-runpath' phase `validate-runpath' succeeded after 0.0 seconds starting phase `validate-documentation-location' phase `validate-documentation-location' succeeded after 0.0 seconds starting phase `delete-info-dir-file' phase `delete-info-dir-file' succeeded after 0.0 seconds starting phase `patch-dot-desktop-files' phase `patch-dot-desktop-files' succeeded after 0.0 seconds starting phase `install-license-files' installing 0 license files phase `install-license-files' succeeded after 0.0 seconds starting phase `reset-gzip-timestamps' phase `reset-gzip-timestamps' succeeded after 0.0 seconds starting phase `compress-documentation' phase `compress-documentation' succeeded after 0.0 seconds The following package will be installed: emacs-helm-system-packages 1.9.0-1.9e5805f /gnu/store/f23khn2hmkniqp6y2k27df8cynl85xbi-emacs-helm-system-packages-1.9.0-1.9e5805f substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/85rx5w413ja34lwwjw5dksjvcivj843j-profile.drv /gnu/store/y11w9bl8f7zhy4nr8nnqg1kdgwn0w9k2-gtk-icon-themes.drv /gnu/store/qc6i19ncb6hg4s73f1kqq80n9zha6g86-gtk-im-modules.drv /gnu/store/pzpaz87j33l9l3daavv6rcdimiv7cza1-ca-certificate-bundle.drv /gnu/store/izcyfj5ls1j32dkqd9rrlcarjyajfawi-info-dir.drv /gnu/store/fikkk79ggyi5hb82icbg0q06vbamqiph-xdg-mime-database.drv /gnu/store/7l532ch240yi11bda6pzpdx48b661yp3-fonts-dir.drv /gnu/store/2br2r8y9akjh5zi51cs3871vnfx02lk5-xdg-desktop-database.drv /gnu/store/c7944wc7mf7ifrw2ymhnn3h3bp0gsfkn-manual-database.drv Creating manual page database... 1775 entries processed in 2.4 s 113 packages in profile What stands out in the above is > warning: could not locate elisp directory under > `/gnu/store/j8595ig50d29qy3wb20b9gpqxk7w8735-emacs-helm-system-packages-1.9.0-1.9e5805f-checkout' Subsequently EMACSLOADPATH does not contain the path to the above directory, so I guess that explains the byte-compilation errors. What am I missing? -- Pierre Neidhardt signature.asc Description: PGP signature
`guix package -u` upgrades packages to themselves
I can run the following command as much as I want it will keep updating a bunch of packages to themselves. > guix package -u The following packages will be upgraded: guile2.2.3 → 2.2.3 /gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3 git:send-email 2.17.0 → 2.17.0 /gnu/store/7ynrwzxy13hb1ahlz0mzik4apiwccrrw-git-2.17.0-send-email emacs-pdf-tools 0.80 → 0.80 /gnu/store/15n4nmr04x6kmjicmxdjqwnhybgyk1kl-emacs-pdf-tools-0.80 emacs-guix 0.3.4 → 0.3.4 /gnu/store/gyhi3x25kff9js2c10jhk36mcdydgbyl-emacs-guix-0.3.4 libtool 2.4.6 → 2.4.6 /gnu/store/p9rb4r3spr84b0jkd9w50zdw3yhwdaq2-libtool-2.4.6 udisks 2.1.8 → 2.1.8 /gnu/store/ylgf4m5caibiv3q4a2xvd8l2wrwdm953-udisks-2.1.8 mps-youtube 0.2.7.1 → 0.2.7.1 /gnu/store/lccrc12z796bkzds1h935wryhfd9p98k-mps-youtube-0.2.7.1 translate-shell 0.9.6.7 → 0.9.6.7 /gnu/store/1wbdkifqs0c7i9pszan9m22y9xa6wlwg-translate-shell-0.9.6.7 xinit1.4.0 → 1.4.0 /gnu/store/is19yxgc2rr106b9jylja1nlhvzz09j8-xinit-1.4.0 gcc:lib 7.3.0 → 7.3.0 /gnu/store/2g04larw6s6xmn82janyqhcy6q2bi3h5-gcc-7.3.0-lib pulseaudio 11.1 → 11.1 /gnu/store/i3i7mgp2ng93rpp2g7w31j8kbzwr34vn-pulseaudio-11.1 xdg-utils1.1.2 → 1.1.2 /gnu/store/qsf6pyb94iya7c0ac7fi2raqncjpyprm-xdg-utils-1.1.2 go:tests 1.10 → 1.10 /gnu/store/kxpnwp2nryk8rjxq4pmb60brwnvn72m1-go-1.10-tests go:doc 1.10 → 1.10 /gnu/store/nwy6ck339rj6g0jrwdxv09nzlkkm5xyk-go-1.10-doc emacs-helm 2.9.0 → 2.9.0 /gnu/store/6pjxj8k9znmgf7gva2s44r28wwys7zjs-emacs-helm-2.9.0 libx11 1.6.5 → 1.6.5 /gnu/store/a1vqc8xqy3a0jaz4gn77ypgi4nx61xvp-libx11-1.6.5 substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/1xn7sy1jn1iw2ff4kvb7b47vkz51yrzw-profile.drv /gnu/store/ykq44zwxi8vhw1cx50m4spsbfxj98zq5-ca-certificate-bundle.drv /gnu/store/nc8mcyzzqd7syxjv8f9d6bn7mgq3azkg-info-dir.drv /gnu/store/l2b5vxndjwkfsmw26r6pdxhp98bargq0-fonts-dir.drv /gnu/store/k1ar9rz4acrspigdzjwk5fkzn3cdicfv-xdg-mime-database.drv /gnu/store/hpmsmkxv2s1ksfp9lvirwbf93camj7mp-gtk-im-modules.drv /gnu/store/hfqhclgl9hqqvz7l2j96c646b2zq6527-gtk-icon-themes.drv /gnu/store/ap3zl4dybyhbi4xbvhpq57gi124q0r69-xdg-desktop-database.drv /gnu/store/gvv4gag7a61ib6nq158spajzjzgzzv7v-manual-database.drv Creating manual page database... 4018 entries processed in 3.1 s 116 packages in profile Bug? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: `guix package -u` upgrades packages to themselves
Sorry if I was confusing: the output remains the same after upgrade. I can repeat the command indefinitely, it keep "upgrading" the same set of packages as per the output (but it does not actually do anything). -- Pierre Neidhardt This restaurant was advertising breakfast any time. So I ordered french toast in the renaissance. - Steven Wright, comedian signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Mathieu Lirzin writes: > With the ‘#:recursive?’ keyword option set to #t, ‘local-file’ should > work for directories. Indeed, thanks for pointing out. I tried and it failed with starting phase `configure' source directory: "/tmp/guix-build-emacs-dev-26.0.91.drv-0/source" (relative from build: ".") build directory: "/tmp/guix-build-emacs-dev-26.0.91.drv-0/source" configure flags: ("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash" "SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash" "--prefix=/gnu/store/iaipasvi8dys79ms3y0axvwwdfnd31dq-emacs-dev-26.0.91" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu") configure: WARNING: unrecognized options: --enable-fast-install ./configure: line 3350: config.log: Permission denied ./configure: line 3360: config.log: Permission denied phase `configure' failed after 0.1 seconds I inspected the content of "/tmp/guix-build-emacs-dev-26.0.91.drv-0/source": many files are missing, among others "configure". I am very confused... -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Oleg Pykhalov writes: >>> In case of ‘emacs’ package recipe, ‘--with-source’ doesn't work for a >>> snapshot of the ‘master’ branch. >> >> Why? Because you’d need to run ‘autoreconf’ and the like? > > To run everything in ‘(arguments …)’ except ‘#:parallel-build? #t’. > > From http://lists.gnu.org/archive/html/help-guix/2017-09/msg00074.html > --8<---cut here---start->8--- > (arguments >(substitute-keyword-arguments >`(#:parallel-build? #t >#:tests? #f >,@(package-arguments emacs)) > ((#:phases phases) > `(modify-phases ,phases > (add-after 'unpack 'autogen >(lambda _ > (zero? (system* "sh" "autogen.sh" > (delete 'reset-gzip-timestamps) > --8<---cut here---end--->8--- What do you mean? That parallel-build has to be turned off for the master branch? I actually noticed that running `make -j5` locally, the build fails at the `temacs` step. The build succeeds with `make`. That said, I tried running guix build --keep-failed --with-source=ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-26.1-rc1.tar.xz emacs It fails with starting phase `check' make -C lib all make info-real info-dir You do not seem to have the test/ directory. Maybe you are using a release tarfile, rather than a repository checkout. make: *** [Makefile:937: have-tests] Error 1 make: *** Waiting for unfinished jobs Why should it fail if it's a tarball? The error message seems that it understands precisely what we are trying to do. -- Pierre Neidhardt Being overloaded is the sign of a true Debian maintainer. signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Oleg Pykhalov writes: > Pierre Neidhardt writes: > >> I tried reusing your package snippet from >> http://lists.gnu.org/archive/html/help-guix/2017-09/msg00074.html by >> setting >> >>(url "git://localhost/~ambrevar/projects/emacs") > > I'm sorry for probably an obvious question. Does ‘git clone > git://localhost/~ambrevar/projects/emacs’ work? > > […] > >> I'm not very familiar with the "git" protocol: does it require some >> special configuration? > > It does, see > https://www.gnu.org/software/guix/manual/html_node/Version-Control-Services.html > > Be sure ‘user-path’ is setted correctly. > >> I also tried specifying a local path: >> >>(url "/home/ambrevar/projects/emacs") >> >> […] >> >> I think this is a bug: if git clone accepts local paths, then so should >> git-reference. > > It would be a useful feature, but I don't know all pitfalls. > > We can do ‘guix pull --url=$PWD’ in “Guix checkout” though. Thank you for the hint. That said, I really don't want to set up a git server for so little. Is there a good reason not to allow local paths in git URLs? -- Pierre Neidhardt Every solution breeds new problems. signature.asc Description: PGP signature
Re: Package request inxi
I'm trying to package inxi. Does guix support optional dependencies? Or is it that I should just include them in the description? -- Pierre Neidhardt I think that's easier to read. Pardon me. Less difficult to read. -- Larry Wall in <199710120226.taa06...@wall.org> signature.asc Description: PGP signature
Re: Package request inxi
Oleg Pykhalov writes: > Instead you could use ‘(inputs …)’ and ‘(native-inputs …)’ which will > not be installed to a user's profile but available in build phases. But those dependencies won't be used during the build phase: it's unnecessary load for the builder. -- Pierre Neidhardt He is a man capable of turning any colour into grey. -- John LeCarre signature.asc Description: PGP signature
Re: Package request inxi
I'm running into a strange issue: Line 4506: $item =~ s/chipset|components|computing|computer|corporation|communications|electronics|electrical|electric|gmbh|group|incorporation|industrial|international|nee|revision|semiconductor|software|technologies|technology|ltd\.||\bltd\b|inc\.||\binc\b|intl\.|co\.||corp\.||\(tm\)|\(r\)|®|\(rev ..\)|\'|\"|\sinc\s*$|\?//gi; gets replace by $item =~ s/chipset|components|computing|computer|corporation|communications|electronics|electrical|electric|gmbh|group|incorporation|industrial|international|nee|revision|semiconductor|software|technologies|technology|ltd\.||\bltd\b|inc\.||\binc\b|intl\.|co\.||corp\.||\(tm\)|\(r\)|??|\(rev ..\)|\'|\"|\sinc\s*$|\?//gi; More precisely, ® into ?? I use the trivial build system and the only substitute (for now) is (substitute* "inxi" (("/usr/bin/env perl") (string-append (assoc-ref %build-inputs "perl") "/bin/perl"))) -- Pierre Neidhardt There's no real need to do housework -- after four years it doesn't get any worse. signature.asc Description: PGP signature
Re: Package request inxi
Oleg Pykhalov writes: > Yes, unfortunately ‘inxi’ doens't provide like a ‘./configure’ thing to > discover and use inputs. But we could patch paths to input binaries. My point that the dependencies are not _needed_ during the build phase, so getting all the inputs induces extra load for nothing for the builder. -- Pierre Neidhardt My way of joking is to tell the truth. That's the funniest joke in the world. -- Muhammad Ali signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
For now I'll stick to Emacs 26 RC1. I've adapted the package declaration from "emacs" with the following changes: - Disable the scheme patch. - Disable tests. Find the declaration attached. -- Pierre Neidhardt When you get your PH.D. will you get able to work at BURGER KING? emacs.scm Description: Binary data signature.asc Description: PGP signature
Re: Package request inxi
Oleg Pykhalov writes: > Please, could you try to wrap a ‘substitute*’ procedure with: > > (with-fluids ((%default-port-encoding #f)) (substitute* #;…)) It worked. -- Pierre Neidhardt Research is to see what everybody else has seen, and think what nobody else has thought. signature.asc Description: PGP signature
Re: Package request inxi
Going on with the package, I think we only need this patch beside the shabang adjustment: ## System my ($bsd_type,$language,$os) = ('','',''); my ($cpu_sleep,$dl_timeout,$limit,$ps_count,$usb_level) = (0.35,4,10,5,0); -my @paths = qw(/sbin /bin /usr/sbin /usr/bin /usr/X11R6/bin /usr/local/sbin /usr/local/bin); -$ENV{'PATH'} = 'sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin'; +my @paths = qw(/sbin /bin /run/setuid-programs /run/current-system/profile/bin /run/current-system/profile/sbin); +push (@paths, "$ENV{'HOME'}/.guix-profile/bin"); +push (@paths, "$ENV{'HOME'}/.guix-profile/sbin"); +$ENV{'PATH'} = '/sbin:/bin:/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin'; +$ENV{'PATH'} = '$ENV:$ENV{'HOME'}/.guix-profile/bin"; +$ENV{'PATH'} = '$ENV:$ENV{'HOME'}/.guix-profile/sbin"; my $sensors_cpu_nu = 0; Basically inxi sets a 'paths' variable with the usual Unix paths and then forces the environment PATH to the same value. My suggestion instead: set 'paths' to /run/current-system/* and ~/.guix-profile/{sbin,bin}. What do you think? Is this generic enough? Is ~/.guix-profile a guaranteed location for the user profile? Last but not least, what's the better approach between - a patch, - a substitute, - a snippet? I only know very little about Perl so the above code might look very clumsy. -- Pierre Neidhardt There is very little future in being right when your boss is wrong. signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Chris Marusich writes: > Pierre Neidhardt writes: > >> Is there a good reason not to allow local paths in git URLs? > > You might find the "local-file" procedure to be helpful here. You can > pass a local-file as the source of a package, which should allow you to > define packages that use a local file path as the source. See (guix) > G-Expressions in the manual for details. Thank you for this suggestion. Mathieu Lirzin already mentioned it in another branch of this thread and after trying it I ran into strange issues. Do you have experience with local-file? -- Pierre Neidhardt job Placement, n.: Telling your boss what he can do with your job. signature.asc Description: PGP signature
Re: Package request inxi
I was using "optional dependencies" in the sense Arch Linux uses it: they don't impact the build, they are only used at runtime. From a package declaration perspective, they are merely hint for the user. The main advantage over simply adding them to the description is that the package manager can tell about "optional reverse dependencies". When removing a package that is optionally needed by others, it makes it possible to warn the users if they are going to lose some functionnality for some specified packages. None of `inputs`, `native-inputs` or `propagated-inputs` allow us to do that. -- Pierre Neidhardt Flying is the second greatest feeling you can have. The greatest feeling? Landing... Landing is the greatest feeling you can have. signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Chris Marusich writes: > Can you share the package definition? Let's start from the most straight-forward: (define-public emacs-dev (package (inherit emacs) (name "emacs-dev") (version "26.0.91") (source (local-file "/home/ambrevar/projects/emacs-build" #:recursive? #t -- Pierre Neidhardt Must I hold a candle to my shames? -- William Shakespeare, "The Merchant of Venice" signature.asc Description: PGP signature
Re: Package request inxi
See https://github.com/smxi/inxi: it's a Perl script that calls various programs (if it finds them) _at runtime_. Basically inxi makes a number of `system PROGRAM` calls, where PROGRAM is found in the PATH environment variable. Because most of those dependencies are optional, it could be nice not depend on them. Which means no input at build-time. But then we cannot substitute the relative paths by the static full path to the store. Another approach would be to _not_ have optional dependencies are go more Nix-y as you suggest with including all the required programs as input and storing their full path inside the inxi script. This is hard though, because it implies parsing a huge Perl script... We could also go the dead-simple way: leave PATH and paths to their current values: the only downside I see is that inxi could pententially call programs of the same name installed in user-specific folders (e.g. ~/.local/bin). -- Pierre Neidhardt To save a single life is better than to build a seven story pagoda. signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
Ricardo Wurmus writes: > Here’s mine: > > --8<---cut here---start->8--- > (define-public my/emacs > (package (inherit emacs) > (name "my-emacs") > (version "26.0.91") > [...] > --8<---cut here---end--->8--- Note that RC1 is out. > Since I don’t know what the source code looks like, I can only guess > that maybe you need to bootstrap the build system first. No, my local folder has all the files, including the "configure" file. The whole point of working over a directory instead of an archive or a git reference is that all files are re-used as-is. -- Pierre Neidhardt When in doubt, tell the truth. -- Mark Twain signature.asc Description: PGP signature
find-files: /gnu/store/...-xf86-video-*-*/share/X11/xorg.conf.d: No such file or directory
When I update my system with sudo guix pull sudo guix system reconfigure ~/.guix-config/config.scm I get error messages like those --8<---cut here---start->8--- grafting '/gnu/store/kyj009p7hl52w829vvlp51hiwcgbr0w7-xterm-331' -> '/gnu/store/x82n8m8czgg376nhz9x84hzqk6adq7wi-xterm-331'... find-files: /gnu/store/fab9nfx61485r2wi6hsqxyaw09hj9xah-xf86-video-vesa-2.4.0/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/1h0gvcfpxxy48km0vynsh1qwayvxams2-xf86-video-fbdev-0.4.4/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/pas4s82rair60pnsm1gb1pihplfqz6w2-xf86-video-cirrus-1.5.3/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/syw30dy9dbs1hq5v761yjl5ippck2d5b-xf86-video-intel-2.99.917-9-af6d8e9/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/hhqsgmxbbbwnb6kjhvc5qvc2xqrmxpzx-xf86-video-mach64-6.9.5/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/d0fnpj2sn7gjk0ywm6mi407d1w9b7qcm-xf86-video-nouveau-1.0.15/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/sspz0nm7aa6xmmi7q4lcmfiwf382z3gi-xf86-video-nv-2.1.21/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/3qyv7kg9c9byh1xzz73bx6vm5mbkijqb-xf86-video-sis-0.10.9/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/k74qad1mvqbcqhrhjq78h5c9ckz258d7-xf86-input-keyboard-1.9.0/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/jkz0zvrdcvglykzjvwqiwc0z0dsfn96b-xf86-input-mouse-1.9.2/share/X11/xorg.conf.d: No such file or directory --8<---cut here---end--->8--- or --8<---cut here---start->8--- grafting '/gnu/store/3ql1sd3vmq5wpyl536ni4yb265vv3x08-xf86-video-ati-18.0.1' -> '/gnu/store/njld2ib9i9az6q55g3lzblmsnzc0cp2z-xf86-video-ati-18.0.1'... find-files: /gnu/store/fab9nfx61485r2wi6hsqxyaw09hj9xah-xf86-video-vesa-2.4.0/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/1h0gvcfpxxy48km0vynsh1qwayvxams2-xf86-video-fbdev-0.4.4/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/pas4s82rair60pnsm1gb1pihplfqz6w2-xf86-video-cirrus-1.5.3/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/syw30dy9dbs1hq5v761yjl5ippck2d5b-xf86-video-intel-2.99.917-9-af6d8e9/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/hhqsgmxbbbwnb6kjhvc5qvc2xqrmxpzx-xf86-video-mach64-6.9.5/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/d0fnpj2sn7gjk0ywm6mi407d1w9b7qcm-xf86-video-nouveau-1.0.15/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/sspz0nm7aa6xmmi7q4lcmfiwf382z3gi-xf86-video-nv-2.1.21/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/3qyv7kg9c9byh1xzz73bx6vm5mbkijqb-xf86-video-sis-0.10.9/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/k74qad1mvqbcqhrhjq78h5c9ckz258d7-xf86-input-keyboard-1.9.0/share/X11/xorg.conf.d: No such file or directory find-files: /gnu/store/jkz0zvrdcvglykzjvwqiwc0z0dsfn96b-xf86-input-mouse-1.9.2/share/X11/xorg.conf.d: No such file or directory --8<---cut here---end------->8--- Nonetheless the update completes successfully. -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
Clément Lassieur writes: > Pierre Neidhardt writes: > >> vsftp: Very Secure FTP daemon >> Upstream URL:https://security.appspot.com/vsftpd.html >> (It seems that there is not a single FTP server on Guix. Strange... Can >> anyone >> recommend anything better than vsftp for file sharing? Not necessarily >> FTP.) > > There is SFTP, which is secure, and supported by GuixSD. It's not FTP, > and it runs over SSH. My use-case is the following: share files with random people with zero-configuration on their end. Because FTP is supported by most web browsers it is one of the most available options I think. Any other suggestion? There is Samba, but I'm not sure I'd like to dive into that... -- Pierre Neidhardt The brain is a wonderful organ; it starts working the moment you get up in the morning, and does not stop until you get to work. signature.asc Description: PGP signature
Re: inxi and inxi-full
Oleg Pykhalov writes: > Pierre Neidhardt writes: > > What do you think about ‘inxi’ package with inputs, which are only > required to run it, > and another ‘inxi-full’ package, which will inherit ‘inxi’, but with > additional inputs? My first thought is that it sounds like a good alternative to the concept of optional dependencies. I like the idea. It also means that the `inxi` package cannot patch inxi with full store paths. Any suggestion other than making leaving ENV{'PATH'} untouched and setting @paths to it? -- Pierre Neidhardt There is more to life than increasing its speed. -- Mahatma Gandhi signature.asc Description: PGP signature
Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
Marius Bakke writes: > I often start a HTTP server with `guix environment` for quick and dirty > network sharing of the current directory: > > $ guix environment -C -N --ad-hoc python -- python3 -m http.server > > I suppose "wget" would be able to mass-download. This is absolutely fantastic! Thank you so much for this! Bye-bye FTP then :p -- Pierre Neidhardt Finster's Law: A closed mouth gathers no feet. signature.asc Description: PGP signature
Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
Woof seems even better! Thanks for the suggestion! Can't believe I never ran into this before... -- Pierre Neidhardt We are not a clone. signature.asc Description: PGP signature
Re: inxi and inxi-full
Chris Marusich writes: > If we make two package definitions, I would prefer the name > "inxi-minimal" for the version that is statically composed with the bare > minimum of its runtime dependencies. This is similar to how we have > named other "minimal" packages in the past (e.g., qemu-minimal). OK. > I've taken a peek at inxi. I assume it's this: > > https://github.com/smxi/inxi Yes, sorry for not providing the link earlier. > I see that it's a single perl script. It runs various programs via > Perl's "system" function in order to collate information about the > system, and it then reports the results. These programs - the runtime > dependencies - are found via the PATH environment variable. The script > also embeds paths in some places that might need to be fixed. For > example, it looks like the get_gcc_data subroutine searches for gcc > executables in the /usr/bin directory, which will not exist on GuixSD. Thank you for the pointer to get_gcc_data. The runtime dependencies are not exactly found by the PATH environment variable: ENV{'PATH'} is set manually and explicitly in the source. This is what I was discussing before (sorry if this was unclear). Look at the diff I mentioned earlier. (Or look at line ~100 in the source.) > If inxi-minimal can provide genuinely useful information without > requiring the user to install additional packages, then I think it's > reasonable to add a package definition for it. However, if almost > everyone is going to need to install additional packages into their > profile just to get the output from inxi-minimal that they wanted, then > I think we should not add it. inxi-minimal would work. It does provide some information. The crucial part here is that the set of optional dependencies is not bound to stop, it could grow indefinitely. inxi is sort of a platform for hardware information. Tracking them all could be hard. Besides it might make inxi's closure much bigger. This needs testing though. My suggestion: let's give inxi-minimal and inxi a try, compare their closure size. If it's not significant, then let's just have one single package. > In any case, I can think of a few ways to package inxi: > > * Wrap the inxi program with wrap-program, setting its PATH, PERL5LIB, > and so forth appropriately. This seems like the easiest way to me. That would not work, see my comment above. PATH is hardwired in the program. > * Patch the absolute paths in the source with a patch file, a snippet, > or an extra build phase. This would be a lot of hard work: the file is 16k+ lines, `system` calls are all over the place and lots of variable names contain the program names in question (e.g. `my @xdpyinfo`), which prevents global substitutions. > * Ask the maintainer (or submit a patch to them) to provide a mechanism > to explicitly tell inxi where its dependencies live (e.g., some kind > of configure script), and then use that mechanism. This seems like > the hardest way to me, but it is also the most ideal. Or ask the maintainer not to manually set the PATH variable. I'll report the issue on GitHub. -- Pierre Neidhardt Five bicycles make a volkswagen, seven make a truck. -- Adolfo Guzman signature.asc Description: PGP signature
Re: inxi and inxi-full
I've reported the issue upstream: https://github.com/smxi/inxi/issues/143 > * In the meantime, can't we just remove the offending line from the > source? This one: > > $ENV{'PATH'} = > 'sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin'; As I initially suggested, this would work but we also need to change @paths to the Guix PATH values. > None of those paths are guaranteed to exist on GuixSD. If we remove > that line, then won't Perl's "system" function use whatever PATH is set > in the environment? If, in addition to removing that line, we wrap the > script with our wrap-program procedure, then we will have full control > over the PATH, and inxi should work. Why would we need to wrap the program? With the above fix, then we are all good, aren't we? Or is it to ensure that inxi does not see any other binary than the one in its wrapped environment? Then that would prevent inxi-minimal to be "extended" by installing more programs. > The system, and users on the system, may have a lot of these programs > installed already. For example, coreutils is certainly installed > somewhere. It is likely that inxi's closure overlaps with some of those > already-installed tools. Thanks to the functional software deployment > model that Guix follows, such overlap will automatically be > de-duplicated in the store. Take for instance headless systems: those won't need the full mesa stack to get information around their graphics capabilities. -- Pierre Neidhardt I hold it, that a little rebellion, now and then, is a good thing... -- Thomas Jefferson signature.asc Description: PGP signature
Does Linux 4.16.1 blast out battery time? (9h+ -> 3h+)
I just ran a `guix system reconfigure` yesterday and Guix pulled Linux 4.16.1. Upon reboot, my laptop's battery time had changed from 9h+ to 3h+! Quite a dramatic regression indeed... General usage (startup time, etc.) seems to be somewhat slower as well. As a test, I ran another system reconfigure, changing only the kernel version: now on 4.14.33, I'm back to 9h+. Does anyone know something about this or should I reach out for the Linux mailing list? Note that before installing GuixSD, I was running Void Linux with kernel ~4.14.5 (off the top of my head) and battery time was 12h+. This might be due to the discrete Nvidia card which was completely shut off by default, while it's now running with nouveau on GuixSD but I don't know how to turn it off. Insights? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: `guix package -u` upgrades packages to themselves
Chris Marusich writes: > I think this is a bug. I've reported it here: > > https://bugs.gnu.org/31142 Thank you! :) -- Pierre Neidhardt A team effort is a lot of people doing what I say. -- Michael Winner, British film director signature.asc Description: PGP signature