cgit on uberspace

So, ihr wollt cgit auf dem Uberspace installieren? Dann macht euch auf ein klein wenig Arbeit gefasst.

Ihr holt euch erst mal cgit und kompiliert es.

git clone https://github.com/zx2c4/cgit.git
cd cgit

Danach müsst ihr in der config erst mal ein paar Einstellungen ändern, weil wir ja Zeugs nicht als root installieren können. $whoami mit eurem uberspace-namen ersetzen. In meinem Fall wäre das also tribly.

vim Makefile
CGIT_SCRIPT_PATH = /home/$whoami/cgi-bin
CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
CGIT_CONFIG = /home/$whoami/etc/cgitrc
CACHE_ROOT = /home/$whoami/cache/cgit

Passende version von git installieren:

make get-git

Und nun cgit kompilieren:

make

cgit ins cgi-bin Verzeichnis verschieben:

mv cgit ~/cgi-bin/

Nachdem wir fertig damit sind, müssen wir uns ein wenig um die Aufteilung kümmern. Mein cgit läuft über git.tribly.de, also eine sub-domain. Also verschiebe ich die cgit.css und cgit.png nach git/static. (ich nehme an, ihr wisst wie man eine sub-domain erstellt)

mkdir ~/git/static
cp ~/cgit/{cgit.css, cgit.png} ~/git/static

Nun noch eine ~/git/.htaccess anlegen:

RewriteEngine on
Options +ExecCGI

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /cgi-bin/cgit.cgi/$1 [PT]

Und noch eine ~/etc/cgitrc:

virtual-root=/
enable-index-links=1
enable-log-filecount=1
enable-log-linecount=1
enable-commit-graph=1
snapshots=tar.gz tar.bz zip

css=/static/cgit.css
logo=/static/cgit.png

So, damit wäre cgit nun unter git.$whoami erreichbar.

Syntax-Highlighting

Falls du nun noch syntax-highlighting willst (ungeschickt gelöst):

toast get http://www.andre-simon.de/zip/highlight-3.18.tar.bz2

cd .toast/pkg/highlight/v3.18/archive
tar -xvf highlight-3.18.tar.bz
rm highlight-3.18.tar.bz

vim highlight-3.18/src/makefile

Da uberspace lua5.1 nutzt, und in highlight lua5.2 eingestellt ist, müssen wir das noch ändern. Also nach der Zeile LUA_CFLAGS=$(shell pkg-config --cflags lua) -DUSE_LUA52 suchen und LUA52 mit LUA51 ersetzen.

Und dann wieder einpacken und armen:

tar -cf highlight-3.18.tar.bz highlight-3.18

toast arm highlight

Nun noch (hab ich so gemacht, könnt ihr machen wie ihr wollt), ~/cgit/filters nach ~/git verschieben und in ~/git/filters/syntax-highlighting.py die shebang von python auf python2.7 umändern, da uberspace default python2.6 nutzt, aber ptyhon2.7 benötigt wird.

Und noch als aller letzten Schritt die highlight-settings in die ~/etc/cgitrc eintragen (muss der absolute Pfad sein):

source-filter=/var/www/virtual/$whoami/git.$whoami.de/filters/syntax-highlighting.py
about-filter=/var/www/virtual/$whoami/git.$whoami.de/filters/about-formatting.sh

Und das wars aber auch nun.

Viel Spaß mit eurem cgit :)

Erstellt mit der Hilfe von:

  • diesem Blog-Eintrag
  • Uberspace support der die Boost Dev-Header installiert und mir gesagt hat, dass man eine andere Lua version braucht
  • Rasi und bl1nk von #archlinux.de

TaskWarrior

Habe vor ein paar Tagen TaskWarrior entdeckt und bin grade am rumprobieren, nachdem mir Any.do ziemlich auf den Sack geht. Wenn man in Any.do eine Erinnerung gesetzt hat und den Any.do Moment startet, wird man gefühlte 20 mal an die Selbe Sache erinnert. Das ist einfach nur mega nervig.

Mal schauen wie sich TaskWarrior schlägt. Bis jetzt bin ich einfach nur erschlagen von den ganzen Einstellungsmöglichkeiten (was natürlich nichts schlechtes ist).

Bin auch grade dabei ein kleines Skript für Notifications zu schreiben.

mosh

Seit ich in meiner neuen WG wohne, muss ich meinen Desktop-Rechner über D-Lan mit Internet versorgen. Ist alles gut und toll, nur leider mag ssh das garnicht.

Da weechat über screen auf meinem Uberspace läuft, baue ich immer eine ssh-Verbindung auf, und dann kann das frohe Chatten beginnen. Da D-Lan aber leider öfters mal kurze oder lange Aussetzer hat, kann man ssh aber leider vergessen. Man wird nicht benachrichtigt wenn die Verbindung abgeschmiert ist, und es verbindet sich nicht wieder.

Da schafft mosh abhilfe. mosh ist schon auf dem Uberspace vorinstalliert. Also einfach nur noch auf dem lokalen Rechner installieren, die super netten Jungs von Uberspace fragen ob sie einen (wichtig!) UDP Port freimachen können, alle aktiven ssh verbindungen kappen, per mosh einloggen, und schon kann der Spaß beginnen.

Keine nerviges killall ssh && ssh <name> mehr. Sehr praktisch. Vor allem, wenn man mit dem Laptop unterwegs ist und immer irgendwie, irgendwo auf einem Server eingeloggt ist.

Und es gibt ein local echo. Beim normalen ssh wird die Eingabe, z.B. ein Tastendruck zum Server gesendet und kommt dann wieder zurück um angezeigt zu werden. Bei einer schlechten Verbindung kann das mal ein Weilchen dauern, und man tippt blind etwas ein. Bei mosh gibt es, wenn man tippt, die Linie unter den Buchstaben, welche, wenn sie verschwindet, anzeigt, dass der Bushstabe mit dem Server gesynced wurde. So gibt es praktisch keinen nervigen Input-Lag.

Page 15 of 20