[tor-project] Tor Browser Bundle on Guix

Jim Newsome jnewsome at torproject.org
Sat Dec 17 00:06:46 UTC 2022


Possibly of interest to browser and/or guix folks -

I was experimenting with the [Guix System Distro] on my laptop, and 
managed to get Tor Browser Bundle running with a relatively new feature 
`--emulate-fhs`. Details below. I haven't messed with it too much yet, 
so I wouldn't be surprised if the runtime dependency list below is 
missing some, which may result in runtime errors.

It'd be nice to get it packaged properly, but probably not high priority 
in terms of wide user reach. It's essentially an OS for people who think 
[NixOS] is too mainstream ;P

Maybe I'll get around to poking at it sometime; they have other firefox 
variants in there (icecat), so that might be a reasonable starting point.

[Guix System Distro]: https://guix.gnu.org/
[NixOS]: https://nixos.org/

-------- Forwarded Message --------
Subject: re: Drafting a Guix blog post on the FHS container
Date: Fri, 16 Dec 2022 17:39:21 -0600
From: Jim Newsome <jim at sporksmith.net>
To: john.kehayias at protonmail.com, help-guix at gnu.org, guix-devel at gnu.org

Sorry for (presumably) breaking threading; I came across this online and 
don't see a way to set my in-reply-to-email header properly.

Anyways just thought I'd mention that I recently learned about this 
feature, and was able to use it to get a downloaded [Tor Browser Bundle] 
running with:


```
guix shell \
   --container \
   --network \
   --emulate-fhs \
   --preserve='^DISPLAY$'
   --share=/run/user/$(id -u)/gdm \
   openssl at 1 \
   libevent \
   pciutils \
   dbus-glib \
   bash \
   libgccjit \
   libcxx \
   gtk+ \
   coreutils \
   grep \
   sed \
   file \
   alsa-lib \
   -- \
   ./start-tor-browser.desktop -v
```

`--preserve='^DISPLAY$'` and `--share=/run/user/$(id -u)/gdm` are to get 
access to the display. I'm not sure the second parameter is universally 
correct; I reverse-engineered it via roughly `ps aux | grep -- -auth`.

The `-v` parameter to the browser script keeps it from trying to 
background itself, which otherwise causes the container and browser to 
terminate.

It'd ultimately be nice to package the Tor Browser Bundle properly for 
guix, but it's nice to be able to use it this way in the meantime.

-Jim

[Tor Browser Bundle]: https://www.torproject.org/download/


More information about the tor-project mailing list