Pyxis
Table of Contents
Pyxis is a simple twtxt client.
twtxt is a decentralised, minimalist microblogging service for hackers.
- Website: https://andinus.nand.sh/pyxis
- Source: https://git.tilde.institute/andinus/pyxis
- Mirror: https://github.com/andinus/pyxis
Demo
Screenshots
- timeline
Documentation
The feeds are saved in $XDG_DATA_HOME/pyxis
, if it's not defined then
$HOME/.local/share/pyxis
is used. Feeds are configured in
$XDG_CONFIG_HOME/pyxis.pl
or $HOME/.config/pyxis.pl
.
Commands
fetch
fetch will fetch all the latest feeds from config file. You can use Pyxis without this feature by fetching the files yourself manually to data directory.
timeline
timeline will print your timeline from all the feeds. You can also pass an optional argument to load custom feeds.
For example, you can pass multiple feeds like pyxis timeline f1 f2
,
it'll load both f1
& f2
. If you pass an invalid feed then it prints a
warning & goes to the next one.
Examples
pyxis fetch # fetch all feeds # dispay emacs & perl feeds (if available) pyxis timeline emacs perl pyxis timeline # display all feeds
Configuration
There is an example config file under share/config.pl
, move it to config
directory & rename to pyxis.pl
.
cp share/config.pl $HOME/.config/pyxis.pl
Warning: Pyxis will evaluate the configuration file, which means an attacker can use it to run malicious code.
Note: They could always add malicious code to .profile
& do harm. Just
thought I should put the warning.
#!/usr/bin/perl use strict; use warnings; my %feeds = ( andinus => "https://andinus.nand.sh/static/twtxt", ); sub get_feeds { return %feeds; } 1;
Add your feeds to %feeds
hash like shown above. You can remove those 2
use
lines but it's good if you keep them.
Installation
Install these dependencies from CPAN. Then just clone the repository, copy the config & run pyxis!
Dependencies
- Getopt::Long is required only for options.
- :Tiny is only required if you use
fetch
. - Path::Tiny can be replaced with perl core.
- Term::ANSIColor is just for good looks.
- Time::Moment can be replaced with DateTime or you can just
sort
it directly. Sorting directly will mess up the order a bit but should be okay for most cases.