Commit graph

1628 commits

Author SHA1 Message Date
Vincent Ambo
dd9d8af25b feat(nixos): Make helm "dmenu alternatives" work similar to i3 2017-11-18 23:19:30 +01:00
Vincent Ambo
06cf685a88 feat(nixos): Configure pulseaudio volume keys 2017-11-18 23:19:15 +01:00
Vincent Ambo
f18e578c4b feat(nixos): Add key binding for starting i3lock 2017-11-17 18:24:27 +01:00
Vincent Ambo
051c111646 feat(nixos): Map brightness keys to light command 2017-11-17 16:12:40 +01:00
Vincent Ambo
78f65fbc18 fix(settings): Make ace-window behave sanely 2017-11-17 10:32:56 +01:00
Vincent Ambo
5ee1e9387d feat(image): Install git in kontemplate image 2017-11-16 15:10:31 +01:00
Vincent Ambo
a564cd4112 fix(nixos): Let buffers move between workspaces 2017-11-15 21:00:59 +01:00
Vincent Ambo
a260bf9e8d fix(settings): Show time in 24h format 2017-11-15 21:00:38 +01:00
Vincent Ambo
87a385557e feat(modes): Enable company-mode for elisp by default 2017-11-15 20:59:51 +01:00
Vincent Ambo
586148bd52 feat(nixos): Show time in the mode line 2017-11-15 20:46:56 +01:00
Vincent Ambo
eb67c739b2 feat: Use ace-window for jumping between windows 2017-11-15 18:56:23 +01:00
Vincent Ambo
b7a5dd0c1b feat(nixos): Enable EXWM compositor 2017-11-15 18:56:01 +01:00
Vincent Ambo
7ca55c3fd5 feat(desktop): Move from i3 to exwm
Emacs just controls everything now. Why not!

Rather than using the builtin NixOS support for EXWM I've added a
custom snippet that takes care of the launching. This assumes that the
user launching the session has my emacs configuration installed, which
I, in practice, always do.

* remove setup of i3wm (until I'm comfortable using exwm I will keep
  the i3 configuration files around)
* disable compton (exwm brings its own compositor)
* disable auto-starting of emacs user service
* enable & configure exwm (also see correlating commits in my emacs.d
  repository)
2017-11-15 18:37:22 +01:00
Vincent Ambo
84601a3978 fix(nixos): Improve key bindings in X11 applications
I don't actually use all that many emacs navication keys in X11
applications - but being able to copy & paste is nice.

Overrides the default set of input simulation keys for EXWM with
slightly fewer and more sane bindings.
2017-11-15 18:30:33 +01:00
Vincent Ambo
f06401d493 fix(nixos): Finetune some minor EXWM parameters 2017-11-15 18:30:22 +01:00
Vincent Ambo
29d4413f16 feat: Install & globally enable which-key 2017-11-15 18:29:01 +01:00
Vincent Ambo
4e1661604d feat(nixos): Add initial NixOS & EXWM configuration
Adds configuratio for using Emacs as a window manager, because clear
that is an extremely sane thing to do.
2017-11-15 17:35:17 +01:00
Vincent Ambo
6225c18914 fix(custom): Fix Helm window splitting behaviour
The default Helm window splitting behaviour is ridiculous. This fixes
it!
2017-11-15 17:07:27 +01:00
Vincent Ambo
d79b7f45e7 feat(pkgs): Install gopass-bin 2017-11-15 15:27:32 +01:00
Vincent Ambo
05bdeba853 feat(blog): Let users extend/customize elblog routes
The default elblog route (/{article-name}) can now be extended with
user-supplied routes by overriding the elblog-additional-routes
customize variable.

This variable takes the same format as the alist supplied to
elnode-hostpath-dispatcher.

The prefix `/en` has been dropped from the default handler because
that only existed to be compatible with my old blog, which is no
longer required as it can now be handled with a custom legacy route in
my personal blog configuration.
2017-11-13 22:45:30 +01:00
Vincent Ambo
2ba11f5c03 feat(blog): Register blog articles in hash-table
* adds a hash-table stored in a variable called `elblog-articles` that
  defines a map of article names (used as URI fragments) to file names
  of org-mode files
* adds a custom variable `elblog-article-directory` which must be set
  to the base path of the org-mode files representing elblog articles
* refactors the article-rendering functions to look up articles in the
  articles hash-table and renders them from there

After this change elblog is almost functional as a blog software, only
missing index generation.
2017-11-13 18:40:59 +01:00
Vincent Ambo
5065f5395b feat: Make blog-title configurable in preamble 2017-11-13 16:49:41 +01:00
Vincent Ambo
3e37d3990d refactor: Load preamble from an HTML file, too. 2017-11-13 16:42:45 +01:00
Vincent Ambo
07583c2b19 style: Allow for slightly wider page bodies 2017-11-13 16:42:09 +01:00
Vincent Ambo
2ba26218ac feat(pkgs): Bump MQ version 2017-11-13 14:45:26 +01:00
Vincent Ambo
6e7386b662 fix(settings): Fix backup folder location 2017-11-13 10:23:52 +01:00
Vincent Ambo
18462a2f28 feat(functions): Add M-x emacs-config helper 2017-11-13 10:21:37 +01:00
Vincent Ambo
b0faa53657 feat: Install magnars' string-edit package
It's very nice.
2017-11-13 00:58:41 +01:00
Vincent Ambo
040c348780 feat(blog): Configure org-mode's HTML export to match blog theme
This gets elblog close, but not quite there, to my previous blog
theme.

Comparison screenshot: http://i.imgur.com/UK49Fhi.png
2017-11-13 00:57:20 +01:00
Vincent Ambo
b4dad1526d feat(blog): Add customization group for configuring elblog settings
Adds a customization group which can currently be used to configure
the host and port that elblog should run on.
2017-11-13 00:16:26 +01:00
Vincent Ambo
ba01528a77 docs: Add initial README 2017-11-12 23:57:51 +01:00
Vincent Ambo
4902e9c26c feat(blog): Add interactive start/stop functions 2017-11-12 23:56:27 +01:00
Vincent Ambo
3d4aba1803 feat(blog): Add initial elblog implementation
Implements a (very) simple "blogging" software in Emacs Lisp using
org-mode and elnode.

Once loaded and started, elblog will serve individual blog posts at
`localhost:8010/en/$post-name`, where "post-name" can be any string.

Elblog will attempt to find a buffer called "$post-name.org" and
render it to HTML.

An index of blog posts is currently not implemented and everything is
completely unthemed, but for a language this old this is ridiculously
productive given the amount of code.
2017-11-12 23:48:21 +01:00
Vincent Ambo
e2c4755426 chore: Initial commit 2017-11-12 23:48:12 +01:00
Vincent Ambo
85207b2598 feat: Add look-and-feel.el with theme & behaviour config 2017-11-12 22:44:31 +01:00
Vincent Ambo
0511e7eb97 fix: Fix warnings & errors detected by elisp compiler
Minor things that came up when byte-compiling the configuration.
2017-11-12 22:44:31 +01:00
Vincent Ambo
0d5bdbd7ce refactor: Remove lots of deprecated/unused settings
* move all look-and-feel related settings into, you guessed it,
  look-and-feel.el
* remove *lots* of old stuff and also re-evaluate what it's actually
  doing.
2017-11-12 22:44:31 +01:00
Vincent Ambo
99d9981dd9 refactor(init): Refactor package installation process
Refactors package installation to be slightly more sane, for example
package-refresh-contents will only be called if packages are missing.

Removes some other old cruft, too, and paves way for a slightly
different initialisation process.
2017-11-12 22:44:31 +01:00
Vincent Ambo
5fcabc204a feat(functions): Add functions to insert nix-store paths
These can be useful - for example - while debugging nix things in eshell.
2017-11-12 19:00:49 +01:00
Vincent Ambo
60d7ccd4a5 feat(adho): Add Cafe Sara network 2017-11-10 09:54:31 +01:00
Vincent Ambo
a43657841b feat(pkgs): Add stern-bin package 2017-11-09 10:40:51 +01:00
Vincent Ambo
2c921e157d feat(adho): Add FSCONS & Hackeriet networks 2017-11-08 15:35:10 +01:00
Vincent Ambo
a67f2d87ee docs(README): Remove dead links
Never got around to writing them and maybe they shouldn't be hanging around.
2017-11-07 23:37:10 +01:00
Vincent Ambo
ac5b34e131 feat: Install modern elisp libraries
Elisp can actually be quite nice with a bunch of modern tooling.
2017-11-07 21:29:20 +01:00
Vincent Ambo
7b67a50fc0 feat(pkgs): Install rustracer 2017-11-07 00:25:29 +01:00
Vincent Ambo
5f5abc05ba fix(rust): Include automatically & set racer path 2017-11-06 22:26:47 +01:00
Vincent Ambo
fc17dfbbfc feat: Set up openssl.dev links in system environment
This makes building stuff without nix-shell somewhat easier.
2017-11-06 22:14:26 +01:00
Vincent Ambo
4851c19543 chore: Disable PostgreSQL 2017-11-06 22:10:59 +01:00
Vincent Ambo
52367acba1 chore: Disable VirtualBox again 2017-11-06 22:10:36 +01:00
Vincent Ambo
8996bceea1 feat(init): Add some useful development packages
Adds packages for interfacing with PostgreSQL and HTTP APIs which can
be very useful during development.
2017-11-06 19:35:53 +01:00