Re: How to package nyxt plugins?

2022-09-21 Thread Pierre Neidhardt
Hi,

Currently Nyxt 2.2.4 packaged for Guix uses the gnu-build-system, which
does _not_ expose the Nyxt "systems" to ASDF.

To fix this, we should switch to the asdf-build-system, which would
require only a few changes to the recipe.

Then the nx-router recipe could be written like any other SBCL packages,
with `nyxt` as input.

Hope this helps!

Pierre


signature.asc
Description: PGP signature


Re: Help with copy-build-system

2021-03-26 Thread Pierre Neidhardt
You need 2 entries then.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Help with copy-build-system

2021-03-26 Thread Pierre Neidhardt
Hi,

I haven't looked closely at your patch, but here is the rule for
copy-build-system if I'm not mistaken: the files matching #:include
preserve the path relative to the first argument.

For instance with this rule

("/source/aaa/" "/target/bbb/" #:include ("foo"))

the file

/source/aaa/parent/foo

is copied to

/target/bbb/parent/foo

(I haven't tested.)

Does that help?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Booy fails after fresh, successful installation

2021-03-11 Thread Pierre Neidhardt
The installer does not have the same hardware requirements as the booted
OS, in particular when it comes to graphics.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Booy fails after fresh, successful installation

2021-03-10 Thread Pierre Neidhardt
Hi Gabriel,

> i don't think it's lack of drivers since other OSs work just fine (without 
> binary blobs).

How did you this?
Which OS have you tried before?

Note that Guix uses linux-libre, _not_ linux, which may be the
difference here.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How do I access cl-* system packages in sbcl + emacs + slime/sly?

2021-03-06 Thread Pierre Neidhardt
Hi Kurt,

Install cl-csv, then from a SLIME or SLY REPL you can call

--8<---cut here---start->8---
(asdf:load-system :cl-csv)
--8<---cut here---end--->8---

Try also the comma-commands.

If you install a Guix package after starting your REPL, you can refresh
ASDF paths with

--8<---cut here---start->8---
(asdf:clear-configuration)
--8<---cut here---end--->8---

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to flush DNS

2021-02-28 Thread Pierre Neidhardt
Does this work for you?

--8<---cut here---start->8---
  sudo herd invalidate nscd hosts
  sudo herd restart nscd
--8<---cut here---end--->8---

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: cl-asdf: where is its asd file?

2021-02-27 Thread Pierre Neidhardt
Answering your original post, wouldn't it be easier and better to just use 
Guix' SBCL?


signature.asc
Description: PGP signature


Re: cl-asdf: where is its asd file?

2021-02-25 Thread Pierre Neidhardt
Actually I find it normal that ASDF has no .asd file, since it's the
Lisp code that enables support for reading the .asd format!

Had ASDF an .asd, we would have a bootstrap problem!

ASDF is typically loaded with Common Lisp standard `require' function.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: glib-networking not found by Gnome ?

2021-02-21 Thread Pierre Neidhardt
Hi Jérémy,

You need to install glib as well :)
It should add a GIO_EXTRA_MODULES entry in the etc/profile.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Fast `guix environment --container' switch

2021-01-26 Thread Pierre Neidhardt
Hi Ludo!

Just tried `guix run inkscape`: it starts up in a fingersnap!
Impressive!

I tried with IceCat and while it starts, fonts are broken and network
access seems to be missing.

Would you have an idea of what's left to be done?
Shall we send this script to a new bug and iterate from there?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to remove guix

2021-01-21 Thread Pierre Neidhardt
Hi!

Thanks for sharing, this is very helpful.

Shouldn't Guix include an uninstaller then?  Looks like it would be
handy :)

I can't find any instructions in the manual either.  Am I missing
something or should we update the manual?
Providing an uninstaller would hit two birds with one stone ;)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to use elfutils? bash: eu-strip: command not found

2021-01-17 Thread Pierre Neidhardt
Frankly, it's easier to get your program to run if you can compile it
from source.
It's going to be quite tricky to patch the ELF.

The linker is in the "lib" folder of the glibc package.

> "/gnu/store/m9vxvh...-glibc-2.23/lib/ld-linux-x86-64.so.2"

This is correct.

> So, I installed as I can understand glibc:
>
> $ guix install glibc
> ...ok
>
> $ whereis ld-linux
> ld-linux:

I don't use whereis, my guess is that it's not looking in the right
location.
Note that the linker is a .so file in a /lib folder, which is maybe why
whereis cannot find it.

>
> # find / -type d -name "*ld-linux*"
> find: ‘/run/user/1000/gvfs’: Permission denied

You are looking for folder here, this cannot work.  You need to use
`-type f' instead.

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: EXWM: file or program not found, ls

2021-01-03 Thread Pierre Neidhardt
Hi,

You most probably have an issue with your dotfiles.
Some comments below:

Olivier Rojon  writes:

> --8<---cut here---start->8---
>   #!/usr/bin/env bash
> . /etc/profile &
> . ~/.bashrc &
> exec exwm
> --8<---cut here---end--->8---

Remove the trailing `&`.  This syntax is used to start processes in the
background, but here you are sourcing configuration files which should
be done synchronously.

> - I had manually defined PATH in .bashrc, which I believe might have 
> overriden other attempts at defining it (even though it contains :$PATH 
> at the end)

It may have a typo.  Try commenting out any modification done to PATH
and try again.

> - I did what is sometimes advised when you install a package, that you 
> should add the following lines to your shell:
>
> --8<---cut here---start->8---
> GUIX_PROFILE="/home/hapster/.guix-profile"
> . "$GUIX_PROFILE/etc/profile"
> --8<---cut here---end--->8---
>
> However, I had not added an "export" in front of "GUIX_PROFILE", which 
> might be part of the problem.

Nope, it should not matter if the second line was applied properly.

> But as you can see, I am kind of struggling to find the cause of the 
> problem. ;-)

Try creating a new user with no modifications done to the dotfiles.
Then import your dotfiles gradually do see which one triggers the issue.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Anyone using Nix on Guix System?

2021-01-03 Thread Pierre Neidhardt
Hi!

While I haven't used it in a few months, here is what I did to set it
up:

--8<---cut here---start->8---
(operating-system
  (inherit %bababa/os)
  (packages (cons* nix
   ...))
  (services (cons*
 (service nix-service-type)
 ...
 ))
  )
--8<---cut here---end--->8---

Then, as per the manual:

--8<---cut here---start->8---
• Add a Nix channel and update it.  See Nix Package Manager
  Guide (https://nixos.org/nix/manual/).

• Create a symlink to your profile and activate Nix profile:

  $ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
  $ source /run/current-system/profile/etc/profile.d/nix.sh
--8<---cut here---end--->8---

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: EXWM: file or program not found, ls

2021-01-02 Thread Pierre Neidhardt
Hi Olivier,

What's your login shell?  If it's Bash, did you edit ~/.bashrc by any chance?

The default file contains this snippet:

--8<---cut here---start->8---
if [[ $- != *i* ]]
then
# We are being invoked from a non-interactive shell.  If this
# is an SSH session (as in "ssh host command"), source
# /etc/profile so we get PATH and other essential variables.
[[ -n "$SSH_CLIENT" ]] && source /etc/profile

# Don't do anything else.
return
fi

# Source the system-wide file.
source /etc/bashrc
--8<---cut here---end--->8---

You need to source /etc/profile if you want the environment variables
like PATH to be set properly.

You can do this from ~/.bashrc as is done in the snippet, or from other
files such ~/.profile or ~/.xinitrc.

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Fast `guix environment --container' switch

2020-12-29 Thread Pierre Neidhardt
Hi Ludo,

thanks for the snippet, this looks very useful indeed!  I'll check it
out later and report.

Thanks!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Install `guix pull'ed Guix to target partition on system install

2020-12-21 Thread Pierre Neidhardt
zimoun  writes:

> The “guix pull” done by root.  But then you run “guix pull” as user;
> your words. :-)

Yes, this is expected.  The installation media has a root user, none of
the users that are going to end up on the installed system.

On a related topic, if 2 users "guix pull", is the whole checkout cloned
twice?
If so, we could optimize this, since it's a significant waste of resources.


-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Install `guix pull'ed Guix to target partition on system install

2020-12-21 Thread Pierre Neidhardt
zimoun  writes:

> Well, I do not understand what is your issue.  Because I am probably not
> enough familiar with the installation process.

It's actually quite simple: The "guix pull" done when running the
installation media is not persisted on the target disk.

> --8<---cut here---start->8---
> $ cd /tmp/
> $ time git clone https://git.savannah.gnu.org/git/guix.git
> Cloning into 'guix'...
> remote: Counting objects: 417391, done.
> remote: Compressing objects: 100% (89208/89208), done.
> remote: Total 417391 (delta 327950), reused 416613 (delta 327364)
> Receiving objects: 100% (417391/417391), 151.40 MiB | 1.77 MiB/s, done.
> Resolving deltas: 100% (327950/327950), done.
>
> real2m30.963s
> user2m22.166s
> sys 0m6.906s
>
> $ du -sh guix
> 230Mguix
> --8<---cut here---end--->8---
>
>
>> I wouldn't call this a poor network ;)
>> You can go much worse than that, in my case it took around half an hour.
>
> I do not know if 1.8Mbits/s is poor or not but it is less than
> yours. ;-)

Maybe there is something else.  Could it be slow hardware?  I'm not
sure, but it took hell of a long time to fetch check out the repository.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Install `guix pull'ed Guix to target partition on system install

2020-12-21 Thread Pierre Neidhardt
zimoun  writes:

> Therefore, the missing store items from the RAM store could be
> transferred to installation target via ‘guix archive’.

But I don't think `guix pull' looks for a repository in the store.

> But I am
> surprised that after rebooting this /gnu/store misses items that you
> need when you run “guix pull” as root.

This is not surprising: when you run "guix pull" from an installation
media, there is no /gnu/store on the disk since Guix hasn't been
installed to the disk yet.

> What I miss in your problem is:
>
>   # guix pull # writes in memory (1)
>   # guix system init 
>   # reboot   
>   # guix pull # writes in disk   (2)
>   $ guix pull # writes in disk   (3)

No need for 3.

> (1) is slow,  (2) should not clone.  Is (2) cloning?

1: yes.
2: It would be nice if it could reuse the checkout from 1.

> What you are proposing is to improve (3), right?

No, 2.

> Instead of cloning
> from Savannah and so populate ~/.cache/guix/checkouts, you are proposing
> that between (1) and (3), «something» creates a store item with the full
> clone from Savannah, then (3) copies from this store item to
> ~/.cache/guix/checkouts if it does not exist, and run “git pull”
> there.

Correct but with (2) instead of (3).

> But I do not think the “cloning” part is the consuming one here; even if
> it obviously depends on the network.

On a 6 Mbit/s connection and a modest laptop, this took about 30
minutes!
The Guix checkout is huge.

Maybe a shallow clone could fix this, but since we've added the
introduction commit I don't think it's possible.

> And it is does only once in life. ;-)

Do you mean installation is something done only once?
I beg to differ, I've been using Guix for 2.5 years and already
installed it a dozen of times.

> Example with a poor network via my smartphone:
>
> --8<---cut here---start->8---

> [...]

> $ rm -fr 
> ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq 
> $ time guix pull
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> Building from this channel:
>   guix  https://git.savannah.gnu.org/git/guix.git 5ecc0b1
> Computing Guix derivation for 'x86_64-linux'... -
> nothing to be done
>
> hint: After setting `PATH', run `hash guix' to make sure your shell refers to 
> `/home/simon/.config//guix/current/bin/guix'.
>
>
> real  4m15.202s
> user  3m8.522s
> sys   0m5.010s
> --8<---cut here---end--->8---

I wouldn't call this a poor network ;)
You can go much worse than that, in my case it took around half an hour.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Install `guix pull'ed Guix to target partition on system install

2020-12-21 Thread Pierre Neidhardt
zimoun  writes:

> Therefore, since the 2 profiles could be seen as independent, I do not
> know if it is possible to really improve here; by design.
>
> The first pull could be long and resource hungry but the second one
> should be a bit quicker.  Well, it depends on how many commits are done
> in the meantime (between the 2 pulls).

Maybe there is a misunderstanding: the first pull happens on the
installation media, thus it disappears when I reboot on the installed
system.

What I think we should do is that when we run `guix system init`, we
would copy the checkout to the store, and then when `guix pull` is run
the first time on the newly installed system, it would get the git repo
from the store and optionally fetch the remaining git commits if there
is any.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Install `guix pull'ed Guix to target partition on system install

2020-12-21 Thread Pierre Neidhardt
zimoun  writes:

> On Sun, 20 Dec 2020 at 10:12, Pierre Neidhardt  wrote:
>
>> I just installed Guix System on a new machine:
>>
>> - guix pull -C my-channels.scm
>> - guix system init ... /mnt 
>> - reboot
>
> This is done as root, right?

Yes, since the install media has no other user.

>> Now on my fresh system, the only Guix available is the one from the USB
>> stick, namely 1.2, and not the one from my channels.  So the first thing
>> I've got to do on reboot it rerun
>>
>> --8<---cut here---start->8---
>> guix pull -C my-channels.scm
>> --8<---cut here---end--->8---
>
> This is done as user, right?  Even maybe for all the users?

As user, indeed.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: NAS hardware recommendations

2020-12-19 Thread Pierre Neidhardt
Hi!

Thanks for the details about RAM power consumption, very useful!

>> For the rest, I'll just get a second hand computer for 30-50€ that has a
>> 4GB of RAM, so I can get the whole thing to run on 130-150€.  In that
>> sense, it's cheaper than any NAS I can find on the market! :)
> This calculation is valid if you don't factor in the electricity prices. 
> In most places the electricity is relatively expensive.
> 0,3 kWatts (i.e. 300 Watt system) * 12 hours (1/2 day) = 3,6 kWh

Maybe there is a misunderstanding, I'm precisely trying to save on
electricity (and thus costs).

Maybe I'm misunderstood about how power supplies work, but isn't 300W
the capacity?  It should not consume as much as 300W on idle, or does
it?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Behaviour change when closing laptop lid: it no longer suspends

2020-12-18 Thread Pierre Neidhardt
Since I've reconfigured my system some weeks ago, I've noticed a change
with my laptop: when the power cable is in, closing the lid no longer
suspends the machine.

I'd like to get the old behaviour back.  Any idea?

I'm on cebfb29abb151ede95696181d2446c63504593d7
with Linux 5.9.12.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: A weird thing about network connections in Icecat (and Firefox) on Guix

2020-12-14 Thread Pierre Neidhardt
Hi Chris,

Unsure if it's related, but I can reproduce this recipe on my Guix
System with the Nyxt browser.

- Enable Tor service.
- Start Nyxt.
- Enable proxy-mode over Tor.
- Go to https://check.torproject.org/ to confirm it's working.
- Put system to sleep for a while.
- Wake up the the system and browse something from _an existing buffer_:
  most of the time it fails to load.

Restarting the Tor service and/or opening a new buffer fixes it.

Any idea?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Fast `guix environment --container' switch

2020-12-09 Thread Pierre Neidhardt
`guix environment` incurs an overhead:

--8<---cut here---start->8---
time /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10/bin/hello
Hello, world!

real0m0.002s
user0m0.002s
sys 0m0.000s
--8<---cut here---end--->8---

--8<---cut here---start->8---
$ time guix environment --ad-hoc hello -- hello
Hello, world!

real0m0.921s
user0m1.003s
sys 0m0.091s
--8<---cut here---end--->8---

It's possible to bypass this overhead by using --root:

--8<---cut here---start->8---
$ guix environment --ad-hoc hello --root=foo
[env]$ exit

$ source foo/etc/profile && time hello
Hello, world!

real0m0.003s
user0m0.003s
sys 0m0.000s
--8<---cut here---end--->8---

The above `source' is of course not containerized.

So is it possible to use a similar trick to run something containerized
"instantly", i.e.  with less than, say, 100ms overhead?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Fast `guix environment --container' switch

2020-12-09 Thread Pierre Neidhardt
Hi Simon,

Maybe a misunderstanding, the question is not about --pure.  I'd like a
`containerized hello' to start about as fast as non-containerized
`hello', without the 1 s overhead.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Fast `guix environment --container' switch

2020-12-09 Thread Pierre Neidhardt
Hi Guix!

`guix environment --container ... -- my-foo-program` is great but a bit
slow to start.

Is there a way to speed this up?

I know that without --container, one can use --root to create a link and
source the etc/profile from there.

Is it possible to switch to such a root in a container?

Alternatively, how do you load a etc/profile purely, i.e. without
inheriting from the parent environment, just like --pure does?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


NAS hardware recommendations

2020-12-08 Thread Pierre Neidhardt
Hi Guix!

Has anyone had luck installing Guix on a NAS?
If so, which one?

If not, which NAS hardware would you recommend?
I'm looking for

- something as open as possible;
- 3-4 bays;
- lowest consumption possible;
- Btrfs support.

Any tips?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: ebook reader recommendations?

2020-12-04 Thread Pierre Neidhardt
Thanks for the feedback, I'll take a look!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: ebook reader recommendations?

2020-12-03 Thread Pierre Neidhardt
Hi Timotej, thanks for the suggestion, I'll look into it.

I'm realizing that my question was ambiguous: I'm looking for hardware
indeed, not software :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


ebook reader recommendations?

2020-12-03 Thread Pierre Neidhardt
Hi Guixers!

I'm looking for an open ebook reader, at least something that runs free
software.

I found this fascinating project, although for now you have to assemble
it yourself:

https://github.com/joeycastillo/The-Open-Book

More conventionally, I found this one, although it seems to be hard to
find on the market:

https://github.com/bq/cervantes

Any recommendations, anyone?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Workflow with mu4e + magit for sending patchsets to guix?

2020-12-01 Thread Pierre Neidhardt
Ah!  That's good to know!

So here is my final, hopefully fully-functioning version then:

--8<---cut here---start->8---
(defvar ambrevar/known-mailing-list-archives
  '(("help-guix@gnu.org" . "guix")
("guix-de...@gnu.org" . "guix")
("debbugs.gnu.org" . "guix"))
  "Alist of mail adresses and their Yhetil name.
Alternatively the key may just be a host name against which a
recipient will be matched.")

(defun ambrevar/guess-yhetil-link (message-id)
  (let* ((all-addresses (mapcar #'second
(mail-extract-address-components
 (mapconcat #'identity
(list
 (notmuch-show-get-header :To)
 (notmuch-show-get-header :Cc))
", ")
 'all)))
 (match-address (lambda (address-or-host)
  (if (string-match "@" address-or-host)
  (member address-or-host all-addresses)
(seq-find (lambda (address)
(string-match address-or-host address))
  all-addresses
 (mailing-list (alist-get
(seq-find match-address
  (mapcar #'car 
ambrevar/known-mailing-list-archives))
ambrevar/known-mailing-list-archives
nil nil #'string=)))
(when mailing-list
  (concat "https://yhetil.org/;
  mailing-list "/" message-id

(add-to-list 'notmuch-show-stash-mlarchive-link-alist
 (cons "Yhetil" #'ambrevar/guess-yhetil-link))

(setq notmuch-show-stash-mlarchive-link-default "Yhetil")
--8<---cut here---end--->8---

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Inject custom search specification into profile

2020-11-27 Thread Pierre Neidhardt
Hi!

The trick is that etc/profile exports environment variables for the
packages that explicitly consume them, not for packages that are
consumed by others.

I don't know about Xfce, so I'll give you an example with pkg-config: if
you install just webkitgtk to a profile, its lib/pkgconfig/*.pc files
won't be detected by a `pkg-config` executable (that comes from a
different profile).  If you include `pkg-config` itself in the profile,
then the profile *.pc files will be found.

I suppose that for Xfce you need to install a component that looks up
XDG_DATA_DIRS.

Hope that helps!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Workflow with mu4e + magit for sending patchsets to guix?

2020-11-26 Thread Pierre Neidhardt
Fixed:

--8<---cut here---start->8---
(defvar ambrevar/known-mailing-list-archives
  '(("help-guix@gnu.org" . "guix-user")
("guix-de...@gnu.org" . "guix-devel")
("debbugs.gnu.org" . "guix-bugs"))
  "Alist of mail adresses and their Yhetil name.
Alternatively the key may just be a host name against which a
recipient will be matched.")

(defun ambrevar/guess-yhetil-link (message-id)
  (let* ((all-addresses
  (mapcar #'second
  (mail-extract-address-components
   (mapconcat #'identity
  (list
   (notmuch-show-get-header :To)
   (notmuch-show-get-header :Cc))
  ", ")
   'all)))
 (mailing-list
  (cdr (seq-find
(lambda (pair)
  (let ((address-or-host (car pair)))
(if (string-match "@" address-or-host)
(member address-or-host all-addresses)
  (seq-find (lambda (address)
  (string-match address-or-host address))
all-addresses
ambrevar/known-mailing-list-archives
(when mailing-list
  (concat "https://yhetil.org/;
  mailing-list "/" message-id

(defun ambrevar/guess-yhetil-link-prefer-patches (message-id)
  (let ((ambrevar/known-mailing-list-archives
 (copy-alist
  ambrevar/known-mailing-list-archives)))
(push '("debbugs.gnu.org" . "guix-patches")
  ambrevar/known-mailing-list-archives)
(ambrevar/guess-yhetil-link message-id)))

(add-to-list 'notmuch-show-stash-mlarchive-link-alist
 (cons "Yhetil" #'ambrevar/guess-yhetil-link))
(add-to-list 'notmuch-show-stash-mlarchive-link-alist
 (cons "Yhetil/patches" 
#'ambrevar/guess-yhetil-link-prefer-patches))

(setq notmuch-show-stash-mlarchive-link-default "Yhetil")
--8<---cut here---end--->8---

The last line should be useful ;)

Note that I've set two entries, one that prefer guix-patches over
guix-bugs because they seem to use the same recipient domain
(debbugs.gnu.org) and I don't know how to differentiate the two.

--
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Workflow with mu4e + magit for sending patchsets to guix?

2020-11-25 Thread Pierre Neidhardt
zimoun  writes:

> And <https://yhetil.org> serves the mapping via public-inbox.
> Concretely, I do ’cl’ (notmuch-show-stash-mlarchive-link) reading your
> message, select the archive and I get:
>
> <https://yhetil.org/guix-user/87pn4ca1c7@ambrevar.xyz>
>
> Select the archive because by default it is linux-kernel related
> archives: LKML, MARC, etc. even if I do not know about Gmane.  My config
> is:
>
> --8<---cut here---start->8---
>   ;; c l stashes a hyperlink using Message-ID instead of numbering, e.g.:
>   ;; 
> https://yhetil.org/guix-user/acba4413-a4ca-d7e5-08f7-24ac9839b...@posteo.de
>   ;; vs https://lists.gnu.org/archive/html/help-guix/2020-10/msg00177.html
>   (mapcar (lambda (what)
> (add-to-list 'notmuch-show-stash-mlarchive-link-alist
>  `(,what . ,(concat "https://yhetil.org/; what "/"
>   (reverse'("guix-devel"
> "guix-user"
> "guix-science"
> "gwl"
> "guix-bugs"
> "guix-patches")))
> --8<---cut here---end--->8---
>
> (Instead of manually selecting the archive, an helper function could
> parse the header fields and do the job but I have not been annoyed
> enough yet. :-))

At your service:

--8<---cut here---start->8---
(defvar ambrevar/known-mailing-list-archives
  '(("help-guix@gnu.org" . "guix-user")
("guix-de...@gnu.org" . "guix-devel")
("guix-bugs" . "guix-bugs")
("guix-patches" . "guix-patches"))
  "Alist of mail adresses and their Yhetil name.")

(defun ambrevar/guess-yhetil-link (message-id)
  (let* ((all-addresses
  (mapcar #'second
  (mail-extract-address-components
   (mapconcat #'identity
  (list
   (notmuch-show-get-header :To)
   (notmuch-show-get-header :Cc))
  ", ")
   'all)))
 (mailing-list
  (cdr (seq-find
(lambda (pair)
  (member (car pair) all-addresses))
ambrevar/known-mailing-list-archives
(when mailing-list
  (concat "https://yhetil.org/;
  mailing-list "/" message-id

(add-to-list 'notmuch-show-stash-mlarchive-link-alist
 (cons "Yhetil" #'ambrevar/guess-yhetil-link))
--8<---cut here---end--->8---

I had to create an alist to map between the address of the mailing list
and the Yhetil name because in the case of guix-user, the address is not
the same (help-guix).  I wonder why.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Workflow with mu4e + magit for sending patchsets to guix?

2020-11-16 Thread Pierre Neidhardt
Kyle Meyer  writes:

> Also, not helpful for mu4e users, but since I know simon uses notmuch...
> notmuch has a really handy notmuch-show-stash-git-send-email.

Notmuch user here, today I learned about
notmuch-show-stash-git-send-email!

Thanks for the tip!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Zoom

2020-11-15 Thread Pierre Neidhardt
Sadly, this issue needs more love:

https://github.com/jitsi/jitsi-meet/issues/4836#issuecomment-727554161

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Getting Jitsi to work with IceCat

2020-11-14 Thread Pierre Neidhardt
Hi Guixers!

Since this has bitten me for a long time and it seems to trip many
IceCat users, I'd like to share a tip to get https://meet.jit.si/ to
work on IceCat:

- Install a user agent switcher extension like this one:
  https://addons.mozilla.org/en-US/firefox/addon/uaswitcher/

- Switch to the latest Firefox user agent.  Make sure to apply the
  change to the right tab.

By the way, this seems to fix more than just Jitsi.
 
Happy Jitsing!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Zoom

2020-11-14 Thread Pierre Neidhardt
raingloom  writes:

> It worked in ungoogled-chromium last time I tried it. I did not need to
> install anything. IceCat was having trouble with WebRTC, even in Jitsi
> Meet.

Turns out IceCat has no trouble with WebRTC, it's only the Jitsi rejects
the user-agent! :p

There is a popular "user agent switcher" extension: install it, set the
user agent to the latest Firefox and you'll be good to go!

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Fetch source in directory via cli command (like apt-src)

2020-11-03 Thread Pierre Neidhardt
Yes there is ;)

  guix build --source PACKAGE


signature.asc
Description: PGP signature


Re: Expanding texlive-iftex to include all sty files

2020-10-27 Thread Pierre Neidhardt
Hi!

> The current texlive-iftex recipe only includes iftex.sty, despite 
> the upstream https://ctan.org/pkg/iftex also including 
> if{e,lua,v,xe}tex.sty files.  Is there a way to expand the recipe 
> to include those additional files?
> 
> I think this should be accomplished just by including the files' 
> paths in the third argument to `simple-texlive-package' in the 
> recipe's definition, but the recipe's version would also need to 
> be bumped and I don't see any examples of how to do so for TeX 
> recipes.

Recently Ricardo was fixing a few texlive packages I believe.

Ricardo, do you know if this has been fixed somehow?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: qutebrowser has no sound

2020-09-10 Thread Pierre Neidhardt
The `qutebrowser' executable is wrapped indeed.  Not sure what to do
with it.

Can anyone else reproduce?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Problems with McCLIM (Common Lisp)

2020-09-06 Thread Pierre Neidhardt
Konrad Hinsen  writes:

> That sounds good, as does getting rid of ADSF bundles. I have more or 
> less given up on numcl, for example, which fails to compile to a bundle 
> in recent versions but seems to work find via fasls (at least it works 
> fine with quicklisp).

It seems that the Common Lisp community is mostly relying on Quicklisp
and thus rarely, if ever, uses asdf:compile-bundle-op.
The latter has been a source of oddities to me: several times a piece of
code would behave differently between compile-bundle-op and compile-op.
Upstream is almost always relying on compile-op and thus not aware of
the compile-bundle-op issues.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Problems with McCLIM (Common Lisp)

2020-09-05 Thread Pierre Neidhardt
Hi Ricardo,

Ricardo Wurmus  writes:

> But shouldn’t it then be propagated?  I had to guess that I might need
> to install it.  I think it should just be installed when installing
> McClim.

I guess so, but I've never used McClim myself.

> So, is this something we need to patch in all the asd files for McClim?
> Or is this something we should change in the build system?

Something to change in our build system.

> I’d like to play with McClim and all its applications to see if it would
> be worth doing something like this for Guile :)

Maybe.  Have you considered using GObject Introspection to build
full-fledged GTK apps in Guile?  I've heard of 2 Guile libraries for GI:
guile-gi and g-golf.

>> The "deliver-asd" operation has been fixed in recent versions of ASDF,
>> so maybe it would be possible to use it instead of our home-made
>> functions to create asd files for the bundles.
>>
>> Another approach could be not to use ASDF bundles at all, and just use
>> the regular compilation operation of ASDF, except the fasl files would
>> be put it "/gnu/store/..." instead of "$HOME/.cache/common-lisp/...",
>> and our asdf-build-system would indicate to ASDF where to search for the
>> files.

Good ideas.

In my opinion, the fasls (pre-built binaries) should go to their
respective package outputs.

Every Common Lisp package would then have its sources in "out", the SBCL
fasls in "sbcl", the ECL libs in "ecl", etc.

After all, the main benefit of compiling the fasls is to make sure our
package loads properly.

> I don’t know enough about Common Lisp to give a valuable comment here,
> but I’d very much like to be able to install Common Lisp things without
> having to do additional work post installation.  Using more “default”
> ways to install ASDF bundles perhaps would get us closer to a default
> experience.

We already have this if you install the cl- packages instead of the
sbcl- ones.  It should provide a smooth user experience.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Problems on startup after install

2020-08-06 Thread Pierre Neidhardt
Andrew Busto  writes:

> I'll try installing another linux-libre distro at a later time, I'm afraid
> I have pre existing commitments today. That said, if it were a kernel
> issue, shouldn't I have had this problem when booting into the install
> medium?

Indeed, it's not very likely, but there are a few differences (such as
your file system configuration) that could matter.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Problems on startup after install

2020-08-05 Thread Pierre Neidhardt
Maybe it's a kernel issue then.
Can you reproduce this issue with a distribution using the same version
of Linux-libre (e.g. Parabola)?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Problems on startup after install

2020-08-05 Thread Pierre Neidhardt
I don't see anything wrong in the trace.  Maybe you can have a look at
/var/log/messages if you can access this file somehow.

You don't have any login manager or desktop service set up, so at the
end of the startup you should be prompted for a login.
Maybe I'm asking the obvious, but have you tried pressing "return" a few
times to see if the prompt appears?

Otherwise, try installing a desktop service.

Good luck!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Jami crashes (dring not available)

2020-07-28 Thread Pierre Neidhardt
How are you starting Jami?


signature.asc
Description: PGP signature


Re: Building packages in REPL

2020-07-27 Thread Pierre Neidhardt
Hi!

Thank you Ludovic for sharing these REPL commands.

I cannot build packages this way in Geiser though, because unless a
substitute is available, the Geiser buffer chokes on the very large
output.

Does anyone know how to work around this limitation?

Does anyone build Guix packages from the Geiser REPL?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Channel authentication: missing keyring branch

2020-07-24 Thread Pierre Neidhardt
Ludovic Courtès  writes:

> No, but I guess you could take the output of ‘git shortlog -s --email’
> and pass it to ‘gpg --export’ & co.

I think it'd be nice to give an example of these commands in the manual :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Channel authentication: missing keyring branch

2020-07-11 Thread Pierre Neidhardt
Hi!

I recently added authentication to a Guix channel.
On Guix pull, guix complained that the remote has no `keyring' branch.
Indeed, creating an orphan `keyring' branch with all the public keys
stored in it worked.

This does not seems to be documented in the manual.
Besides, is there a convenient way to create the keyring branch and
populate it with the public keys of all the committers so far?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Gitlab CI

2020-07-08 Thread Pierre Neidhardt
Jérémy Korwin-Zmijowski  writes:

> I the meantime I would like to try to put a Guix's docker image on
> dockerhub and use it in Framagit/Gitlab if it is possible...

This would be fantastic, please let us know about your progress :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Knowing which services to restart

2020-07-08 Thread Pierre Neidhardt
I too have been wondering about this since ever :)

Couldn't Guix be smarter about this?  Or at least provide a less
puzzling message.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Server mail setup?

2020-07-08 Thread Pierre Neidhardt
Me too! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Guix completion in Emacs

2020-07-06 Thread Pierre Neidhardt
Kyle Andrews  writes:

> Part of the reason it may have been breaking for me was that I was
> placing an additional git checkout of guix on my guile %load-path. I
> don't remember why I thought I might need to do that.

If you want to hack Guix from Geiser, you need to add the checkout to
your %load-path.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Run graphical application in container

2020-07-01 Thread Pierre Neidhardt
For me, Eolie now fails with

--8<---cut here---start->8---
(org.gnome.Eolie:1): GLib-GIO-ERROR **: 20:53:32.105: Settings schema 
'org.gnome.settings-daemon.plugins.color' is not installed
--8<---cut here---end--->8---

This was not the case a few weeks ago when I published the eolie example
in the manual, so I guess this issue was introduced with a recent update.

Installing gnome-settings-daemon to the default profile works when
running eolie outside a container.

About your question:

> Do we generally lack a reproducible way to be able to link in whatever
> xauthority foo?
>
> Docker and flatpack and etc must have already figured this out, right?
> (Or maybe things are easier in wayland?  I'm skeptical though...)

I think not, it's just our Eolie package that's broken :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Guix package manager installation error on Xubuntu 20.04

2020-07-01 Thread Pierre Neidhardt
Tobias Geerinckx-Rice  writes:

> [Sorry for top-posting, I'm trapped in a GUI and can't get out.]
>
> Zelphir,
>
> You're running the script as root, so you need to 'sudo gpg' 
> accordingly.
>
> If that fixes your problem, I'll edit the script to include it.

A friend of mine reported a problem which might be just that, so I think
adding the 'sudo' hint would be more than welcome.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: dotnet

2020-06-25 Thread Pierre Neidhardt
The readme says we need dotnet to build msbuild.

On the other hand, there is this tag:

https://github.com/mono/msbuild/releases/tag/0.08

So maybe it's bootstrappable after all.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: dotnet

2020-06-24 Thread Pierre Neidhardt
Hi!

I did and it's a mssive endeavor indeed!

Last time I checked, Nix fetched the prebuilt binaries from NuGet, so we
should not do that.

Steps (off the top of my head):

- Package Mono 5 and Mono 6.  I've already done it, it just needs a
review.  This is the easy part.

- Package msbuild.  This is possibly hard.  I could not figure out a way
to bootstrap msbuild.  The upstream way to build msbuild is to use
prebuilt packages from NuGet.  If we want to build those, we need
msbuild... :(

- Make a mono-build-system that leverages msbuild.  This should not be
too hard.

- Package dotnet: I I recall correctly, it has manay dependencies, but
  one we have a mono-build-system it should not be too hard.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Doc bug: Postgres account not available

2020-06-10 Thread Pierre Neidhardt
Doc update patch sent here: https://issues.guix.info/issue/41786.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


OpenGL on Guix?

2020-06-09 Thread Pierre Neidhardt
Hi!

I'm trying to make use of OpenCL on Guix System.  My GPU supports it.
I've tried installing 

- mesa-opencl
- mesa-opencl-icd

in my system profile but `clinfo` still returns

--8<---cut here---start->8---
Number of platforms   0
--8<---cut here---end--->8---

Any clue how to set up OpenCL?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: profile symlink structure

2020-05-25 Thread Pierre Neidhardt
vapnik spaknik  writes:

> Could this be due to running "sudo guix pull" or "sudo -i guix pull"?

Did you run `sudo guix pull`?  If so, you should probably not! :)

> Also, what determines which profile symlinks are placed in 
> /var/guix/gcroots/auto? I read elsewhere that these symlinks will be 
> automatically removed as soon as any of them are broken. 
See my other email.   `guix package --profile=...` is one of the
commands that creates auto GC roots.

> In my case that directory only contains symlinks to 
> /var/guix/profiles/per-user/*/current-guix* symlinks, one of which is missing 
> (/var/guix/profiles/per-user/root/current-guix-1-link), and there is another 
> link to ~/.config/guix/current-1-link which itself links directly to a 
> profile in /gnu/store
>
> I suspect that the previously mentioned anomalies are the reason why "guix 
> pull" fails for me with the following error when run as :
>
>> guix pull: error: symlink: File exists: 
>> "/var/guix/profiles/per-user//current-guix-1-link" 
>
> and which may have been caused by interrupting a "guix pull".

The symlinking operations should be atomic, thus this can not happen.
I suspect that your error is due to calling `sudo guix pull`.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: profile symlinks structure

2020-05-25 Thread Pierre Neidhardt
Hi!

It seems that you've got it right so far! :)

You'll find more profiles in /var/guix/gcroots/auto: these are the roots
that are automatically created, e.g. when using the `guix package --profile=...`
among others.


signature.asc
Description: PGP signature


Re: Guix closure size of a system?

2020-05-19 Thread Pierre Neidhardt
1-glibc-2.31.tar.xz.drv 0.0 
0.0   0.1%
/gnu/store/5x3agl7wnwcrap821d63bybswsb82384-make-3.80.tar.gz.drv 0.0 
0.0   0.1%
/gnu/store/igjpy065pm06l75vdz3vjhdli10ydqnn-bash-2.05b.tar.gz.drv 0.0 
0.0   0.1%
/gnu/store/mi8b4h4wv1q2ym77bcqwqg9a3sbanl53-gawk-3.0.0.tar.gz.drv 0.0 
0.0   0.1%
/gnu/store/9hvsa6nc4k44vdkp5dkq6r2kx7fw49l1-gmp-6.2.0.tar.xz.drv 0.0 
0.0   0.1%
/gnu/store/lpwi94xh8s3b9xkaymddf86m0kx2d70q-lzip-1.21.tar.gz.drv 0.0 
0.0   0.1%
/gnu/store/djapp66y7sqsafh18bn6gr5fandymsqb-sed-4.8.tar.gz.drv   0.0 
0.0   0.1%
/gnu/store/z20nmqks9fw1sjpgsw7wbqpcn05aakm2-tar-1.22.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/zrqjn3p0x5gkdnj6qb4b9xxl2dld4fvl-gzip-1.2.4.tar.drv   0.0 
0.0   0.1%
/gnu/store/adh71cdzr13yg00qa19ziv06xfll2f7y-grep-2.0.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/f330idjk321p35dgyhgici6w6yhks5lv-grep-3.4.tar.xz.drv  0.0 
0.0   0.1%
/gnu/store/8yad2zhh91pnf27xkwh0kyx4ggnsn5li-bash-4.4.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/5j4d4n4ri0sqm62klkq7h9rra40pbqjw-tar-1.32.tar.xz.drv  0.0 
0.0   0.1%
/gnu/store/mc4gv2l7m4lck1bfk9gx845mp3pmqhhc-ed-1.16.tar.lz.drv   0.0 
0.0   0.1%
/gnu/store/sp55qbp029d26n5kmcrda3ijx98rv37a-bash-5.0.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/hg1yjrps8jygz2x3shawx1vdy424yqfl-make-4.3.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/lgrlsr3qnxxvic3y472qwybv5wbyabm6-glibc-hidden-visibility-ldconfig.patch
 0.0 0.0   0.1%
/gnu/store/3vmvrh79y8ibipd3m0yy13hqp2sahfz2-sed-1.18.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/28k001nh6h47z6673pzbc4d24h05s35z-mes-0.22.tar.gz.drv  0.0 
0.0   0.1%
/gnu/store/ksry0wagzqm4dhsbrg3ap89qx0nr573l-m4-1.4.18.tar.xz.drv 0.0 
0.0   0.1%
/gnu/store/i85lmbvglkcxlk9mnaj5szyd876891dp-module-import-compiled.drv 0.1  
   0.0   0.1%
/gnu/store/darlyg3zyspyajxdz3m9scv5rsn27glj-readline-link-ncurses.patch 0.0 
0.0   0.1%
/gnu/store/v689vkk94li28pn49cplc8a4rb936mv8-module-import-compiled.drv 1.2  
   0.0   0.1%
/gnu/store/v1h2i4i5xmrs9d4c44w5wshv5zyszb8k-glibc-ldd-x86_64.patch 0.0 
0.0   0.1%
/gnu/store/vwyxp1dq4lb97n6b20w5cqxasy2dai79-content-addressed-mirrors 0.0   
  0.0   0.0%
/gnu/store/fy6z43yd7k8mpk0f7awrrp9g52f37f6l-module-import-compiled.drv 0.2  
   0.0   0.0%
/gnu/store/6jqnhy2hdanq5zn8kcncwqpaia5hpi4x-module-import-compiled.drv 0.1  
   0.0   0.0%
/gnu/store/wbx77k6h7a4ipd36dhfdn1v485bm3adr-module-import-compiled.drv 0.2  
   0.0   0.0%
/gnu/store/553fk36v1nvfsx43aaf20l17kgv6hf9f-module-import-compiled.drv 1.2  
   0.0   0.0%
/gnu/store/4viwfvza0w3rhw7wspkxs9yrf95hmywn-module-import-compiled.drv 1.2  
   0.0   0.0%
/gnu/store/f4mphc6jhbi7zy9f661vn2z0j9kvf9as-grep-timing-sensitive-test.patch
 0.0 0.0   0.0%
/gnu/store/5705r4ajxl8lav1hz9xm19w75zdcz1n2-gcc-5.0-libvtv-runpath.patch 
0.0 0.0   0.0%
/gnu/store/60dd9r1pngvgyb6gkgny9rjiwbijrd8m-findutils-localstatedir.patch 
0.0 0.0   0.0%
/gnu/store/lmfvf4iwkzn4wibvb7ik3cadxq07pjvi-gcc-libvtv-runpath.patch 0.0
 0.0   0.0%
/gnu/store/q62dkpjz9m82m2v5yg9bb7g0jf178bc5-gmp-faulty-test.patch 0.0 
0.0   0.0%
total: 1.5 MiB
--8<---cut here---end--->8---

`guix size` of a derivation does not seem to return what I want :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Guix closure size of a system?

2020-05-19 Thread Pierre Neidhardt
Hi!

Is there a way to calculate the closure size of a system (as generated
by guix system reconfigure config.scm)?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Scanner / SANE driver support

2020-05-15 Thread Pierre Neidhardt
sane-service-type seems to only support the minimal backends package:

--8<---cut here---start->8---
(define sane-service-type
  (service-type
   (name 'sane)
   (description
"This service provides access to scanners @i{via}
@uref{http://www.sane-project.org, SANE} by installing the necessary udev
rules.")
   (default-value sane-backends-minimal)
   (extensions
(list (service-extension udev-service-type list)
  (service-extension account-service-type
 (const %sane-accounts))
--8<---cut here---end--->8---

The value of the service is a single package, not a list of packages.
So how does one add support for other scanner?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-21 Thread Pierre Neidhardt
Thanks for the tip!

I created ~/.config/pulse/client.conf with

--8<---cut here---start->8---
autospawn = no
--8<---cut here---end--->8---

in it.  Then I ran

--8<---cut here---start->8---
pulseaudio -k
--8<---cut here---end--->8---

But pulseaudio keeps restarting.

I've got no programs other than EXWM running in the background.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Help with auto-mounting a specific file-system.

2020-04-20 Thread Pierre Neidhardt
Raghav Gururajan  writes:

> Ah I see. Btw, guix does not use udisks to mount file-systems right?

>
> Like mounting root file-system at "/", guix just uses mount command correct?

Correct.

> Oh. I have to read about types of services then. As a guess, is it the
> difference between service running 'system-wide' and 'as and for that user'?

Correct.  For now Guix does not deal with user services.
>
>> --8<---cut here---start->8---
>> (define auto-mount
>>   (make 
>> #:provides '(auto-mount)
>> #:start (make-system-constructor "udiskie &")
>> #:stop (make-system-destructor "pkill udiskie")
>> #:respawn? #t))
>> --8<---cut here---end--->8---
>
> Thanks so much. Just to double check, should I put this in my config.scm?

No, since Guix does not deal with user services.
You'd put the above snippet in ~/.config/shepherd/init.scm:

--8<---cut here---start->8---
(register-services (list auto-mount))
(action 'shepherd 'daemonize)
(for-each start (append (list auto-mount)))
--8<---cut here---end--->8---

(Untested.)

See my dotfiles of a complete example:

https://gitlab.com/ambrevar/dotfiles

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Help with auto-mounting a specific file-system.

2020-04-20 Thread Pierre Neidhardt
"Raghav Gururajan"  writes:

> Okay, no problem. I can just do git operations by 'cd'ing to /media/foo/bar, 
> which is mounted by udisks/udiskie.

To clarify, you can configure udisks to mount your drives somewhere else
like your home directory.

> Now, I am would like to modify udisks-service-type, to include an
> option like `enable-udiskie? boolean` in udisks-configuration. If it
> is #t, udiskie will run along with udisks service, on every
> start-up. Could you help me with a scheme code to achieve this?

Udiskie is a user service, so I don't think it makes sense to include it
in udisks-service-type.

But you can run shepherd as user.  I have this service:

--8<---cut here---start->8---
(define auto-mount
  (make 
#:provides '(auto-mount)
#:start (make-system-constructor "udiskie &")
#:stop (make-system-destructor "pkill udiskie")
#:respawn? #t))
--8<-------cut here---end--->8---

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-20 Thread Pierre Neidhardt
Thanks for the trick, didn't know about pasuspender! :)

It seems to work with audacity, however the "default" is mute.
Audacity lets me choose the audio device, but programs that do not will
use "default" and have no sound.

Any idea around this?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Scanner / SANE driver support

2020-04-20 Thread Pierre Neidhardt
sirgazil  writes:

> But the scanner works like this only recently. Before, I had to follow these 
> instructions: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38064#11

As far as I understand, we now have a sane-service-type as part of the
%desktop-services, so this should work out of the box.

> Also, check that all cables are plugged properly.

lsusb reports my scanner.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-19 Thread Pierre Neidhardt
Marius Bakke  writes:

> You could try to build the application you want to test without
> Pulseaudio support, and run it after killing the pulseaudio daemon.

But how do you kill the pulseaudio daemon?  It gets restarted instantly.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-19 Thread Pierre Neidhardt
In my case the daemon gets restarted directly, no need to start an audio 
program.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


How to temporarily disable Pulseaudio?

2020-04-19 Thread Pierre Neidhardt
Hi!

I've got a couple of sound issues which I suspect might be linked to
Pulseaudio.

I'd like to temporarily disable Pulseaudio and see if I experience those
issues with ALSA alone.

It seems that Pulseaudio is part of the %desktop-services.
However it's not listed in

--8<---cut here---start->8---
sudo herd status
--8<---cut here---end--->8---

for me.  Any idea why?

Killing the pulseaudio process manually results in it being
automatically started.  I suspect that's expected from shepherd.

Any clue how to kill it for real?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How do you make CD/DVD work?

2020-03-29 Thread Pierre Neidhardt
Pierre Neidhardt  writes:

> "pelzflorian (Florian Pelz)"  writes:
>
>> Yes, after running as root
>>
>> insmod /run/current-system/profile/lib/modules/*/extra/vhba.ko
>> chown florian /dev/vhba_ctl

We should probably provide a service that loads the kernel module and
sets /dev/vhba_ctl to the right group.
Then users in the right group would be able to use it directly.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How do you make CD/DVD work?

2020-03-29 Thread Pierre Neidhardt
"pelzflorian (Florian Pelz)"  writes:

> Yes, after running as root
>
> insmod /run/current-system/profile/lib/modules/*/extra/vhba.ko
> chown florian /dev/vhba_ctl
>
> and as user florian
>
> cdemu-daemon &
> cdemu load 0 path/to/image.iso
> …
> cdemu unload 0
> pkill cdemu-daemon

Excellent, thanks for the tip!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How do you make CD/DVD work?

2020-03-29 Thread Pierre Neidhardt
"pelzflorian (Florian Pelz)"  writes:

> I do not need to change my GNOME desktop configuration to use my real
> DVD drive (only if I want to emulate a drive with cdemu do I need
> vhba-module).

Does cdemu work for you on Guix System?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: OS Guix. Libreoffice does not have dictionaries for spell check

2020-03-29 Thread Pierre Neidhardt
You need to install the appropriate hunspell-dict-* packages I believe.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: [dxvk] How to set RPATH with Meson?

2020-03-26 Thread Pierre Neidhardt
You are right.

I went through all the meson.build in the project, could not find
anything weird.

build-wine32.txt has

--8<---cut here---start->8---
cpp_link_args=['-m32', '-mwindows']
--8<---cut here---end--->8---

so I patched it to

--8<---cut here---start->8---
cpp_link_args=['-m32', '-mwindows', 
'-Wl,-rpath=/gnu/store/lbh22ci6rg780fvxclik5mkgi1z73qfn-dxvk32-1.6/lib']
--8<---cut here---end--->8---

Still no difference.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


[dxvk] How to set RPATH with Meson?

2020-03-25 Thread Pierre Neidhardt
Hi!

I'm trying to update DXVK to 1.6 and it now ships a new d3d10core.dll.so
on which its other libraries depend.
Thus RUNPATH verification fails:

--8<---cut here---start->8---
validating RUNPATH of 6 binaries in 
"/gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib"...
/gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10.dll.so: error: 
depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
"/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
"/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
 
"/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
/gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10_1.dll.so: 
error: depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
"/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
"/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
 
"/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
--8<---cut here---end--->8---

I tried passing the following arguments:

--8<---cut here---start->8---
(string-append "-Dc_link_args=-Wl,-rpath="
   (assoc-ref %outputs "out")
   "/lib")
(string-append "-Dcpp_link_args=-Wl,-rpath="
   (assoc-ref %outputs "out")
   "/lib")
--8<---cut here---end--->8---

Didn't work.

Any idea where to go from here?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Heap space when building SBCL packages

2020-03-23 Thread Pierre Neidhardt
You could also try playing with the
`--dynamic-space-size` command line flag, e.g.

  sbcl --dynamic-space-size 2048 ...

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Heap space when building SBCL packages

2020-03-23 Thread Pierre Neidhardt
Hi Konrad,

> I am trying to figure out why sbcl-numcl fails to build since the update
> to SBCL 2.0.2. See here for a typical build log:
>
>http://ci.guix.gnu.org/build/2339924/details
>
> What happens is that SBCL runs out of heap space and stops. However, I
> can load numcl into SBCL 2.0.2 perfectly well when I load it via ASDF
> under my own user account.
>
> Therefore I suspect one of the following three possible causes:
>
>  1. The build daemon runs with memory restrictions that are too severe
> for building binaries for numcl.

Hmmm, my intuition is that it would be surprising considering we build
very heavy packages.

>  2. Building binaries with SBCL takes more heap space than merely
> loading a system from source via ASDF.

I think probably not.  However there are different ASDF operation.  In the
Guix build system we use "program-op" which does not behave like the
default operation when loading a package.  This could be a factor here.

>  3. Guix' build systems does something that either limits heap space
> or causes SBCL to require more of it.
>
> Does anyone have an idea on how to proceed to fix the problem?

Can you reproduce with SBCL 2.0 or SBCL 1.5?
Maybe report this issue to the SBCL issue tracker, they will probably
know what's going on.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Guix repl load-path confusion

2020-03-22 Thread Pierre Neidhardt
Jelle Licht  writes:

> The reason why I ran into this problem is that that
> building/installing/doing anything cool with emacs-guix consistently
> triggered this bug for me, as they used a repl in the background with
> the appropriate load-path set up.
>
> Should we consider this behavior a bug in guix, or simply a caveat that
> we should document in the manual section on channels?
>
>  - Jelle, who is extremely psyched about finally finding the cause
>of an issue that has been bothering me for 4 years :D

Ha!

I've been experiencing many breakages with emacs-guix for many tasks,
but I haven't taken the time to reproduce any of them reliably.

None of my channels' directories overlap with that of Guix if I'm not
mistaken, so it may be unrelated issues.

It seems to be working fine for me today though :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Guix repl load-path confusion

2020-03-21 Thread Pierre Neidhardt
No clue but for what it's worth, I can't reproduce on Guix
ce226e9d8d52d2530f057f2000d36c0d55380ade :p

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: keyboard layout

2020-03-20 Thread Pierre Neidhardt
Hi!

If you want to set the keyboard layout system-wide, see
"System Configuration -> Keyboard Layout".

For a user session, you can use your desktop manager tools or setxkbmap.

If you want a shepherd user service, I use this one:

(define setxkbmap
  (make 
#:docstring "Set keymap for X."
#:provides '(setxkbmap)
#:start (make-system-constructor
 (string-join '("setxkbmap"
"-layout" "us"
"-variant" "altgr-intl"
"-option" "ctrl:swapcaps,nodeadkeys,nbsp:level3")))
#:one-shot? #t))

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: query for package updates

2020-03-14 Thread Pierre Neidhardt
Hi Reza,

I tried running your script and it never reports updates.
I am not completely sure about the API but I believe that you need to
check the version of the entry of the package, not of the corresponding
package in the manifest, or else you'll always find the same package
version.

The second issue is that you are only comparing version numbers, while
packages can also get updated because the derivation has changed
(e.g. some input has been updated).

I don't know the API for that but my guess is that you could start
inspecting guix/scripts/package.scm.

Good luck!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Service dockerd could not be started. (Kernel module 'overlay' not loaded.)

2020-03-11 Thread Pierre Neidhardt
Hi!

I've just added (service docker-service-type) to my list of services,
then run a `guix system reconfigure`, but dockerd fails to start.

/var/log/docker.log reports:

--8<---cut here---start->8---
time="2020-03-11T11:45:41.325992616+01:00" level=error msg="'overlay' not found 
as a supported filesystem on this host. Please ensure kernel is new enough and 
has overlay support loaded." storage-driver=overlay2
time="2020-03-11T11:45:41.326017293+01:00" level=error msg="[graphdriver] prior 
storage driver overlay2 failed: driver not supported"
--8<---cut here---end--->8---

Turns out that I needed

--8<---cut here---start->8---
sudo modprobe overlay
sudo herd restart dockerd
--8<---cut here---end--->8---

Can't Guix make sure the overlay module is loaded when the dockerd?

Related question: Can we configure Guix to load given modules on
startup?  (Not in the initrd.)

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Build system for raco?

2020-03-09 Thread Pierre Neidhardt
There has been a discussion on this recently on Guix-devel:
https://lists.gnu.org/archive/html/guix-devel/2019-10/msg00051.html

As far as I know, not much has been done.
A Racket build system would be very welcome!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Bluetooth + GNOME issues

2020-03-05 Thread Pierre Neidhardt
Can you connect to your dongle manually?

See
https://wiki.archlinux.org/index.php/Bluetooth
for detailed instructions.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: About "asdf-build-system/source" and dependent packages

2020-03-03 Thread Pierre Neidhardt
Tobias Geerinckx-Rice  writes:

> Pierre Neidhardt 写道:
>> Thanks for bringing this up!
>
> +1
>
>> asdf-build-system/source should turn its inputs into propagated 
>> inputs
>> so that it does what the users want.
>>
>> I guess we just need to fix the build system.
>>
>> What about other build systems?
>>
>> For instance, installing an sbcl package will not drag the 
>> source of its
>> dependents, which could be considered a bug.
>
> …so there's no way to do this in Lisp-land without propagation? 
> Damn.

Actually you are right, I think we can.
We can probably generate a new .asd for the source so as to find the
dependency sources in the store.

We already do this for the SBCL build system, we would just need to copy
this part of the code to the source build system and make sure we point
to the right .asd.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: About "asdf-build-system/source" and dependent packages

2020-03-03 Thread Pierre Neidhardt
Thanks for bringing this up!

asdf-build-system/source should turn its inputs into propagated inputs
so that it does what the users want.

I guess we just need to fix the build system.

What about other build systems?

For instance, installing an sbcl package will not drag the source of its
dependents, which could be considered a bug.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


guix pull error with custom channel news file

2020-02-21 Thread Pierre Neidhardt
Hi!

I tried added a news file to a channel and got this error:

--8<---cut here---start->8---
(repl-version 0 0)
(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value 
(channel-news)) (value #f))
--8<---cut here---end--->8---

I've followed the manual though.
In .guix-channel:

--8<---cut here---start->8---
(channel
 (version 0)
 (news-file "news.scm")
 (dependencies
  (channel
   (name nonguix)
   (url "https://example.org;
--8<---cut here---end--->8---

And in "news.scm" at the channel root:

--8<---cut here---start->8---
(channel-news
 (version 0)
 (entry (commit "25387230a7f99c2b0886488ed061747c9e00434a")
(title (en "Great news!"))
(body (en "This is seriously great news!"
--8<---cut here---end--->8---

Any clue what's wrong?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Client fails to find package (mame) with guix publish

2020-02-18 Thread Pierre Neidhardt
Efraim Flashner  writes:

> On Tue, Feb 18, 2020 at 12:31:39PM +0100, Pierre Neidhardt wrote:
>> Hi!
>> 
>> The 'mame' package is not available on ci.guix.gnu.org for some reason,
>> so I did build it locally on my desktop.
>> 
>> Now I'd like to transfer this build artifact to my laptop.
>> 
>> On my desktop I ran
>> 
>> --8<---cut here---start->8---
>> sudo guix archive --generate-key
>> sudo guix publish 
>> --8<---cut here---end--->8---
>
> did you transfer the public key to your other machine and run 'sudo guix
> archive --import < /path/to/public/key'?

That was it, I had forgotten to import the public key!

By the way, it's

--8<---cut here---start->8---
sudo guix archive --authorize < /path/to/public/key
--8<---cut here---end--->8---

not `--import` :)

> Try giving it a few minutes to "bake" the substitute and then serve it.
> It needs to re-compress it to make transfers (at a large scale) more
> economical.

I didn't enable caching so the compression should happen on the fly.

> Doesn't address the substitute/publish problem, but have you tried using
> guix copy to copy it over?

I haven't but I want to use `guix publish` since it provides a more
automated, smoother experience.

Problem solved, thanks!
-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Client fails to find package (mame) with guix publish

2020-02-18 Thread Pierre Neidhardt
Hi!

The 'mame' package is not available on ci.guix.gnu.org for some reason,
so I did build it locally on my desktop.

Now I'd like to transfer this build artifact to my laptop.

On my desktop I ran

--8<---cut here---start->8---
sudo guix archive --generate-key
sudo guix publish 
--8<---cut here---end--->8---

Then on my laptop I ran

--8<---cut here---start->8---
guix time-machine --commit=a74e231 -- build mame 
--substitute-urls="http://192.168.1.27:8080 https://ci.guix.gnu.org;
--8<---cut here---end--->8---

The desktop then displays a bunch of

--8<---cut here---start->8---
GET /ddjh5vxa692nllffzz92mvyclqv79bkn.narinfo
GET /j8hk0nv8fn5k5i55z85jhs41x2hvcy5n.narinfo
...
--8<---cut here---end--->8---

so I guess this means publishing works.
However my laptop does not fetch the mame substitute and starts building
mame again, which takes hours.

Any idea what's wrong?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to present Guix to a wider audience

2020-02-10 Thread Pierre Neidhardt
Friendly ping!

What do you people think of posting this article on
https://guix.gnu.org?
Either as a blog post or as a dedicated page?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Random domain name resolution errors

2020-02-07 Thread Pierre Neidhardt
Hi!

A strange thing just happened to me: ever since I went to Belgium last
week (don't know if it's relevant) I keep getting domain name resolution
errors.

For instance right now duckduckgo.com fails but guix.gnu.org works.

I'm back home now and the issue persists.

Any clue how to investigate?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Emacs, distro with guix as package manager and guix.d

2020-02-05 Thread Pierre Neidhardt
If I recall correctly, a number of packages had to be updated after the
transition to the new build system.  I suppose that emacs-ess was left aside.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: How to present Guix to a wider audience

2020-01-22 Thread Pierre Neidhardt
Hi ndre,

Thanks, those are  great suggestions!  Some comments below:

> "Applications are /written/ in programming languages, which are specialized 
> human
> languages made up to give instructions to computers. As such, they are 
> usually a
> subset of English language with a special syntax which purports to avoid 
> ambiguity.
> But computers cannot understand these human languages, in fact they can only
> /understand/ machine language, which are series of operating instructions 
> coded
> with numbers.
>
> So, in order to run an application on a computer, someone has to translate it
> from the programming language in which it was written to the target machine
> language which the computer /understands/. This is the work of /compilers/,
> which are specialized software that automate the translation task. The result
> of their translation to machine language is called /compiled code/. The 
> program
> as expressed on a programming language is called /source code/."

Hmmm, maybe a bit too long in my opinion.  While this is educational, I
don't want to drown the fish either :)

The phrasing is good though and I've included half of it into the text.

> "Now while the source code is intelligible to humans and offers a pretty high
> level of transparency of its logic, compiled code is a virtualy unreadable
> sequence of numbers. In order to understand it, a human would have to decode
> the numbers to the appropriate instructions, do the binary arithmetic they
> represent and have intimate knowledge of the hardware. Moreover, one 
> instruction
> on source code translates to several coded instructions on machine language.
> Thus, they are effectively /black boxes/."

Included.

>  compile the source code twice, chances are that you'll get slightly different
>  sequences of numbers. So how can you know that the compiled software you've
>  downloaded is in fact a proper translation of the source code instead of some
>  modified version of it?

Included.

>  Notice that it's enough that merely one 0 or 1 got flipped for the behaviour

Included.

>> It is actually possible: if we go up the chain of compilers far enough, we 
>> reach
>
>  a level where have a trivial "machine level" compiler that can build a simple
>  compiler from source.

Included.

>> This machine-readable file is small enough that it is no longer a black box 
>> and
>
>  can be inspected by humans and it is also the only piece of software which 
> needs
>  the tedious decoding process done.  This simpler compiler can in turn build 
> a more

I'm not sure this part adds much to the explanation.  I haven't included
it because I fear it sounds too complicated.

Thanks!
Updated version attached.

To the maintainers: what do you think of publishing this on guix.gnu.org?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature
#+TITLE: Why GNU Guix matters

Have you ever installed an application on a computer, a smartphone or your
favourite smart device?  Can you trust that it does its job instead of doing the
opposite of what it displays on screen or, worse, compromise your data and your
private life?

How can you know?  You might think "Let's use free and open source software!"
The bad news: it's far, very far from being enough.

This is a hard and yet very real problem that hits our everyday life constantly.
Consider this: the digital pictures of our loved ones, banking operations, the
(political?) news feed that we read, our contacts and the communication with our
friends and colleagues; all of it happens through applications.

How can we protect ourselves from deceit?  How can we guarantee trust in the
machines that we use?

First, we need to understand how applications are made.

* The assembly line of software

Applications are /written/ in the form of /source code/, which are specialized
human languages made up to give instructions to computers.  But the machine
cannot understand this source code directly: it must first be /compiled/ into
/machine code/, which are series of operating instructions coded with numbers.
The program responsible for translating source code into machine code is called
a /compiler/.  The resulting /compiled application/ can then be run by the user.

While the source code is intelligible to humans and offers a pretty high level
of transparency of its logic, compiled code is a virtually unreadable sequence of
numbers.  Moreover, one instruction on source code translates to several coded
instructions on machine language.  Thus, they are effectively /black boxes/.

* Open source is not enough

We might be tempted to think that free open source software gives us
transparency about what's in the application.  While the compiled application we
download from the Internet is a black box, we could just compile

Re: Guix as a package manager for Emacs

2020-01-22 Thread Pierre Neidhardt
Hi!

I'm not sure this is the answer you are looking for, but with Guix you
can simply install the desired "emacs-*" packages.

Should you install them to a non default profile, make sure you source
the relevant etc/profile or export EMACSLOADPATH to

$GUIX_PROFILE/share/emacs/26.3/lisp

(Replace 26.3 with your Emacs version.)

Once this is done, you should be able to call

  (require ...)

from your Emacs initialization file, or

  M-x load-library

interactively.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


  1   2   3   4   5   6   >