* Unofficial channel 'whispers' with services and packages
@ 2024-10-28 14:36 Runciter via Development of GNU Guix and the GNU System distribution.
0 siblings, 0 replies; only message in thread
From: Runciter via Development of GNU Guix and the GNU System distribution. @ 2024-10-28 14:36 UTC (permalink / raw)
To: guix-devel
Hello Guix users and maintainers!
I've decided to make parts of my personal channel 'whispers' public, in
case it can be helpful to some users, or if the Guix maintainers wish to
pick and choose packages or services from it.
The following channel declaration in the list of your
'~/.config/channels.scm' should enable pulling from the whispers
channel. Let me know if this works for you:
(channel (name 'whispers)
(url "https://git.whispers-vpn.org/whispers.git")
(branch "trunk")
(introduction
(make-channel-introduction
"af5bbe630cb990daf9f29b307572f965ee9fa099"
(openpgp-fingerprint
"F7E9 58D9 7711 36C6 EBCA A908 F0F4 A585 9416 E70E"))))
You should also be able to clone the channel with:
git clone https://git.whispers-vpn.org/whispers.git
In passing I want to thank the guixer sash-kan for guix-forge; I used it
to get an elementary web server with cgit and https working in less than
one evening!
The channel contains both services and packages which may be of interest:
SERVICES
========
Services of the following modules might be of interest to end-user:
* (whispers services ssh-tunneler): ssh port forwarding, dynamic
forwarding and tunnel forwarding as Guix shepherd services. Comes with
facilities to "resurrect" them with mcron jobs after a temporary drop
of connectivity. Can automate a workflow with sshpass, although it is
not recommended. Includes features where ssh connections can be
proxied inside dynamic proxies created by other ssh connections,
sometimes useful for stealth, or to bypass firewall, or to escape
packet scanning.
* (whispers services whispers): Extend a flexible tree of shepherd
processes running as root or a normal user, each of the shepherds in
the tree can have shepherd services. The modules also provides
facilities for other services to extend the start and stop actions of
services within the tree.
** (whispers services whispers ssh): Extend my aforementioned
ssh-tunneler services within the whispers tree instead of the root
shepherd, per-user if needed, and possibly in a somewhat easier to
configure manner; also, the module provides services to automate
ssh-agent and the adding of keys into ssh-agent per-user as shepherd
services.
** (whispers services whispers gpsd): gpsd shepherd service(s) running
inside the whispers tree, running as configurable user(s).
** (whispers services whispers mail): currently, just an hydroxide
service for users to handle mail received by and sent through the
protonmail servers locally, communicating with the proton mail
servers through the hydroxide program.
** (whispers services whispers finance): BTC and XMR nodes per-user
running as shepherd services inside the whispers tree.
** (whispers services whispers vpn): *DO NOT USE* in the wild. A VPN
which uses the facilities of (whispers services ssh-tunneler) to
deploy a VPN network between machines running Guix and
whispers. Merely a proof-of-concept which achieves basic
functionality through horrible spaghetti code included strictly only
for experimental purposes. It may have security vulnerabilities, and
it will almost certainly leave you in an inconsistent state if the
network drops unexpectedly or if the VPN connection fails to
establish. It might be possible to make it workable, my next step
will be to try to re-factor and improve the parts which are
deserving, and rewrite the rest with a better design.
PACKAGES
========
* ssh-tunneler-doc: info manual for the (whispers services ssh-tunneler)
service.
* whispers-doc: info manual for the whispers shepherd tree and the
service types that live inside it.
* ssh-tunneler-tests: shell script for testing the ssh-tunneler
services. Takes insanely long to run.
* whispers-tests: shell script for testing whispers. Includes a script
'whispers-vpn-tests' which you can use to play with the VPN inside a
network of VMs. Takes insanely long to run. Don't press a key on the
terminal where it is running, or it will kill the VMs as soon as it
has finished deploying them. When it finally finished deploying the
VMs and connecting the VPN, it will print instructions on how to ssh
into the VMs from another terminal of the local machine.
* whispers: a simple wrapper around herd to control the actions of
shepherd services running inside the whispers tree.
* sh-pulse: an elementary script 'vlm' to control pulseaudio volume and
cycle output sinks. The script's actions are intended to be used with
keyboard shortcuts configured in whichever way is most agreeable to
the user. Although it was never distributed, many years ago I posted
my little script on a Debian forum and I was surprised to get a
(single) testimonial that "this was the only thing that worked" along
with a request to re-post it a few months later. Indeed it has worked
continuously for me ever since. This may be useful/necessary to have a
script like this if you're using a somewhat minimalist WM and you
don't want to pull along the gazillion dependencies and services of a
monolithic desktop manager just to have keyboard shortcuts for volume
control.
* libmaa: C library from the DICT project, because it is a dependency
for the dictd package. I'm just the packager not an author.
* dictd: the original programs for the DICT protocol. Includes the dict
client and dictd server, which dico and dicod know how to
emulate. Also includes the dictfmt utility, which is useful to express
DICT dictionaries from human-written sources or other dictionary
formats, for which GNU dico has no equivalent to my knowledge. I'm
just the packager not an author.
* freedict-tools: I packaged helper tools to compile the freedict
multilingual dictionaries. I'm just the packager not an author.
* freedict-dictionaries: package containing a subset of the
freedict-dictionaries, intended for a local installation on a Guix
system. I think the subset which I packaged corresponds exactly to the
Freedict bilingual dictionaries which are human-written. The Freedict
project also has a system which copulates 2 bilingual dictionaries
sharing a common language into a third new automatically generated
bilingual dictionary, I don't think my package outputs any of the many
dictionaries which are expressed by this system. I'm just the packager
not an author.
* cc-cedict: Scripts run by the GNU build system, using mostly sed, awk
and the dictfmt utility to convert the community written
chinese/english bilingual dictionary CC-CEDICT into 5 chinese/english
dictionaries in DICT format: one dictionary for simplified characters,
one for traditional characters, and 3 dictionaries in various forms
of pinyin or assimilate.d I'm the author of the (very dirty) scripts
and build system stances which perform this conversion, but I'm not a
contributor or editor of the CC-CEDICT project. CC-CEDICT is published
under CC-BY-SA.
For any useful purposes, here's a snippet that you should be able to
use in order to make the above dictionary-related packages useful with
your local machine's dicod service, along with wordnet and gcide which
Guix proper already provides:
(service dicod-service-type
(dicod-configuration
(handlers (list
(dicod-handler
(name "wordnet")
(module "wordnet")
(options
(list #~(string-append "wnhome="
#$wordnet))))
%dictorg-handler))
(databases (cons*
(dicod-database
(name "wordnet")
(complex? #t)
(handler "wordnet")
(options '("merge-defs")))
%dicod-database:gcide
(append %freedict-dictorg-databases
%cedict-dictorg-databases)))))
* zathura-synctex: just a Zathura pdf reader compiled with synctex
support. The Zathura packaged by Guix cannot do synctex since the
feature is disabled by default at compile-time by upstream. I'm just
the packager not an author.
Enjoy!
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-10-28 14:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-28 14:36 Unofficial channel 'whispers' with services and packages Runciter via Development of GNU Guix and the GNU System distribution.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.