2024/03/26

systemctl for emacs on Ubuntu and debian

Run systemctl --user enable --now emacs

Which should give in /usr/local/lib/systemd/user/emacs.service:

 [Unit]

Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=simple
ExecStart=/usr/bin/emacs --fg-daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
#Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure

[Install]
WantedBy=default.target


 systemctl --user stop emacs

systemctl --user daemon-reload

 systemctl --user start emacs

2023/07/28

Compiling emacs for Crostini/chromeos

0. Introduction

I read an excellent article called Using Emacs 81 Elfeed Webkit by Mike Zamansky.  The ability to see more content whilst staying within Emacs is a good idea. Spoiler alert: It turned out to be even better than I thought, in fact, it is my favourite way to consume RSS/Atom.

I also wanted to get a newer version of Emacs than is readily available from standard sources, plus I also wanted to try tree-sitter. Note the is a much fuller explanation of compiling emacs with tree-sitter here; more importantly it gives extensive insight into why you will want it!

In summary, it worked, it wasn't too difficult and I found it fun!
I have highlighted what seemed to be Chromeos specifics in red.

1. Setting up the environment

I did the following
  • setup deb-src entries in /etc/apt/sources.lst. This can easily be done in the UI of a normal Linux distribution - and it can be done on Chromeos but it seemed more trouble than it was worth!
  • sudo apt update
  • sudo apt build-dep emacs ; this should install the required dependencies

2. Get extras

In addition to tree-sitter and widgets (for reading RSS) I also wanted to have native compilation
  • tree-sitter (many full distributions have easier ways of getting this)
    • git clone git@github.com:tree-sitter/tree-sitter.git
    • make
    • sudo make install
  • get xwidgets
    • sudo apt-get install libwebkit2gtk-4.0-dev
  • sudo apt install libgccjit-13-dev
  • sudo ldconfig

3. Build emacs

This is standard stuff, with the augmented configure line, which you may wish to vary.
  • git clone -b master git://git.sv.gnu.org/emacs.git
  • OR
    git clone --single-branch --branch=emacs-29 http://git.savannah.gnu.org/r/emacs.git emacs-29
  • OR
           git pull
           git checkout refs/tags/emacs-29.3
  • checkout required version ( I just went with master and so I am on version 30! It works fine for me but you could be more prudent
  • sudo apt-get build-dep emacs
  • export CC="gcc-13" for ubuntu  (or 12 on debian)
  • sh autogen.sh
  • ./configure --without-compress-install --with-native-compilation --with-json --with-mailutils --with-tree-sitter --with-xwidgets

  • make (may need to make bootstrap if there are errors)
  • sudo make install
If there is a config.h error try 'git clean -fdx' then make

systemctl stop --user emacs
systemctl --user daemon-reload
systemctl start --user emacs

4. Conclusion

The above list of commands is quite straightforward and you end up with a nice modern emacs which seemed a bit quicker to me.  In reality, the above list was obtained by a lot of trial and error, hence why I am documenting it!

Let me know if you have any questions or comments.

2022/03/18

Review of Magonomia: a FATE rpg of Renaissance Wizardry

 



Summary:

  • A large ( approx 380 pages) RPG ruleset based on FATE (Core but with Condensed additions)
  • Published by Shewstone , available as a PDF and physical book on Drivethru RPG. There is also a pay-what-you-like intro scenario and a free set of starter rules.
  • This book covers Elizabethan England and all PCs are some form of wizard.
  • I consider this to be a great introduction to FATE with many of the trickier concept of that ruleset explained clearly. As a bonus several aspects of how to play and collaborate are covered including safety tools this is all done is a pragmatic fashion
  • The layout and art are good, and I had no problem reading the text against the manuscript style background - YMMV
  • Bottomline: although I haven't played it yet, I am very glad I got this book.
  • I aim to revisit this initial review as I learn more!

Context:

A few things about me which may help you discern if this review will help you.  I love RPGs but don't get to play them that often.  I prefer story-telling RPG to crunchy ones, and as such I like FATE.  I have many FATE rulesets.

I love the Elizabethan period of history - it was a time of great changes as England emerged from the Middle Ages and started to enter a more modern era. Culture, politics, religion: all were in great flux.  John Dee (astrologer), Francis Wallsingham (spy master), Sir Francis Drake (adventurer) are just some of the larger than life characters of this period. Plus Shakespeare and what did happen to Christopher Marlowe?

Magic:

All the player characters are wizards and there are 5 styles of magic, 5 Sciences: Astrology, Alchemy, Sorcery, Theurgy and Witchcraft. Wizards specialize in just one ( though there are overlaps).

FATE has a wonderful Bronze Rule: you can treat anything as if it were a characters, with its own Aspects, Skills, Consequences etc. There are things called Extras  which are controlled by a character - well, spells are Extras  and follow the Bronze rule. I think this is wonderful; I suspect this is one reason why FATE was chosen to underpin Magonomia.

FATE RPG intoduction:

This ruleset takes the time and space to introduce role playing games, give advice on how to help the group enjoy themselves, but also how to collaborate, run a campaign and may other things which will help groups new to RPGs in general and to FATE in particular. Hence, despite being a big book it is a good introduction. 

In addition, there are chapters for the Games Master including plot hooks.

Other materials:

To round things out there are chapters on the background of the era, the country, a grimoire, and magical Lore

Around the internet:




2022/02/27

Setting up mu4e for gmail for emacs

I am doing this in crostini on my Chromebook
  • Setup your gpg certificate if you don't have one (I used the instructions here)
  • setup pass if not installed
    • pass init <userid>
  • Get an application specific password for gmail here
  • Add this password to pass
    • pass insert Mail/MyGmail
  • Then setup ~/.mbsyncrc as per this link (Thank you SystemCrafters!)
    • Change userid
    • Use pass Mail/MyGMail to retrieve the password
    • I also added MaxMessages to the local channel as the crostini container is small!
    • Check the certificates path for your distribution (it was fine for debian)
  • Initial sync
    • mbsync -a
  • Setup mu4e
    • Note that the instructions in the previous link are now out of date...
    • After installing
    • mu init -m ~/Mail --my-address=userid@gmail.com
    • mu index
  • Then follow these instructions to use mu4e-org

2018/01/26

Keybase

Hopefully this web site is now verified on keybase!

2013/07/20

Test

Test post/publish