The Complete Computer

Emacs Helper Scripts

LifeTechEmacsArcology

When using XMonad it's really easy to set up custom global keybindings declaratively.

home-manager lets me write easy little functions to do this. Previously I had them stuffed away in my report on krohnkite , but they should be hoisted out; I don't define them in the XMonad module because i used these in other tiling WMs too and sometimes in krunner...

nix source: :tangle ~/arroyo-nix/hm/emacs-helpers.nix
{ pkgs, ... }: { home.packages = [ (pkgs.writeScriptBin "meta-x" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(execute-extended-command nil)" '') (pkgs.writeScriptBin "org-journal" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(cce/open-journal)" '') (pkgs.writeScriptBin "org-agenda" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(cce/org-agenda)" '') (pkgs.writeScriptBin "org-todos" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(cce/org-agenda t)" '') (pkgs.writeScriptBin "mastodon-el" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(mastodon)" '') (pkgs.writeScriptBin "ement" '' #!${pkgs.stdenv.shell} emacsclient -c --eval "(call-interactively #'ement-connect)" '') ]; }