Vincent Ambo
15b871806b
feat(web/blog): Add Nix-based static blog generator
...
This introduces a derivation which builds an instance of nginx
statically serving my blog posts, though as of now no indexes are
being generated and no XML feed is available.
This is just the initial draft of this setup and not yet what shall be
yielded in the end.
2020-02-08 13:33:13 +00:00
Vincent Ambo
1d7b1334fd
feat(ops/nixos/nugget): Install i3lock
2020-02-08 13:32:25 +00:00
Vincent Ambo
27a40eed7e
chore(third_party): Expose pandoc
2020-02-08 13:32:15 +00:00
Vincent Ambo
ddc9ee4dcd
docs(nix/yants): Fix screenshot URLs
...
The URLs served on the /about page are relative to the path's dirname,
which is tree/nix not tree/nix/yants.
2020-02-07 19:11:55 +00:00
Vincent Ambo
df5cdf02a8
chore: Exclude //third_party from ripgrep searches
2020-02-07 12:45:25 +00:00
Vincent Ambo
ec42a67569
feat(tools/emacs): Bump EXWM to recent master
...
This version of EXWM fixes some issues with binding keys in EXWM as
well as other minor annoyances.
2020-02-07 12:41:43 +00:00
Vincent Ambo
ba20ee65f6
feat(ops/nixos/nugget): Enable pcscd & install Yubikey tools
2020-02-07 12:14:37 +00:00
Vincent Ambo
c56968a767
feat(tools/emacs): Install ace-link
...
It now has vterm-mode support, which has finally convinced me to try it.
2020-02-05 11:58:57 +00:00
Vincent Ambo
76f7ace273
feat(ops/nixos/nugget): Enable U2F hardware support
2020-02-04 23:41:52 +00:00
Vincent Ambo
10e2e56b67
refactor(fun/wcl): Use portable unix-opts library
...
unix-opts, imported into buildLisp.nix in the previous commit,
provides an implementation independent way of parsing command line
arguments.
2020-01-29 10:12:07 +00:00
Vincent Ambo
6f728f33a6
feat(third_party/lisp): Add derivation for unix-opts
2020-01-29 10:12:07 +00:00
Vincent Ambo
8e8bbbca04
fix(nix/buildLisp): Ensure SBCL uses UTF-8 encoding
2020-01-29 10:12:07 +00:00
Vincent Ambo
b0b52255bd
fix(fun/wcl): Use 'eql' for byte comparisons
...
The fact that this works is just an implementation-specific detail. In
theory, 'eq' will only compare object instance equality and not value.
Thanks to /u/patrec from HN for pointing this out.
2020-01-29 00:03:50 +00:00
Vincent Ambo
0001dfd7f6
docs(nix/buildLisp): Update the README with actual docs
2020-01-29 00:03:24 +00:00
Vincent Ambo
39b0176026
fix(fun/wcl): Count words correctly if file starts with whitespace
2020-01-28 21:24:51 +00:00
Vincent Ambo
1ba3d1cf97
feat(fun/wcl): Add a simple 'wc' clone in Lisp
...
Prompted by this thread:
https://lobste.rs/s/zntyeq/wc_d_712_characters_without_single_branch
2020-01-28 21:07:13 +00:00
Vincent Ambo
176b3458b0
feat(web/tazblog_lisp): Implement retrieval of blog posts from DNS
...
This is mostly equivalent to the Haskell implementation, with the
primary difference that the Lisp DNS library does not support caching
yet.
2020-01-27 02:11:55 +00:00
Vincent Ambo
dba2e5426e
fix(emacs-pkgs/nix-util): Don't leave sly build out-links around
2020-01-27 02:11:04 +00:00
Vincent Ambo
253a166bbc
refactor(lisp/dns): Return dns-answer from query functions
2020-01-27 02:10:39 +00:00
Vincent Ambo
ca1217655d
docs(lisp/dns): Add initial README file
2020-01-27 00:49:34 +00:00
Vincent Ambo
90dd824606
feat(lisp/dns): Support CNAME & NS record RDATAs
2020-01-27 00:47:53 +00:00
Vincent Ambo
a8c9058a58
refactor(lisp/dns): Refactor structure of lookup-generic calls
2020-01-27 00:15:58 +00:00
Vincent Ambo
a41b8c70a6
refactor(third_party/lisp): Use buildLisp.bundled for built-in libs
...
Deprecates derivations for:
* sb-bsd-sockets
* sb-posix
* sb-rotate-byte
* uiop
2020-01-26 23:59:07 +00:00
Vincent Ambo
ca60eafa80
feat(nix/buildLisp): Add 'bundled' function for built-in libraries
...
Makes it possible to add virtual dependencies on built-in libraries,
e.g. `buildLisp.bundled "sb-posix"`.
2020-01-26 23:58:31 +00:00
Vincent Ambo
479510005b
chore(lisp/dns): Remove unused dependencies
2020-01-26 21:06:59 +00:00
Vincent Ambo
24c2fc8ae1
Merge branch 'feat/dns-lisp'
2020-01-26 21:06:17 +00:00
Vincent Ambo
3f9546197e
feat(lisp/dns): Export struct fields
2020-01-26 20:34:03 +00:00
Vincent Ambo
4c109f66b6
feat(lisp/dns): Introduce enum for DNS types & decode RDATA
...
Adds some of the most common DNS types in the enum (others TBD), and
starts decoding RDATA for TXT and A.
2020-01-26 20:29:30 +00:00
Vincent Ambo
72abb43577
chore(lisp/dns): Add 'message.lisp' to build instructions
2020-01-26 20:00:22 +00:00
Vincent Ambo
8f805a29d1
feat(lisp/dns): Use new DNS deserialiser in dns:lookup-generic
...
This enables arbitrary DNS lookups (with the caveat that RRDATAs are
currently not deserialised into a record-type-specific format).
An error condition has been defined for error-responses from the HTTP
server which provides interactive restarts for attempting a new call
with different parameters.
2020-01-26 19:58:52 +00:00
Vincent Ambo
a2d0b7f399
feat(emacs.d): Add interactive 'scrot-select' screenshot function
2020-01-26 19:13:59 +00:00
Vincent Ambo
1440fc0dd7
feat(lisp/dns): Implement qname compression parsing
...
Implements support for the compresion scheme used in binary DNS
messages.
This makes it possible to decode messages entirely, but not yet
actually resolve the labels to their "real" values.
All qnames are stored with file-offsets pointing at the position at
which their reading started, which enables the implementation of a
function to resolve pointers internally.
2020-01-26 18:27:35 +00:00
Vincent Ambo
cefb60f20c
refactor(lisp/dns): Introduce structured QNAME representation
...
Adds a struct that represents QNAMEs, tracks the stream offset at
which the QNAME parsing began and makes it possible to resolve
pointers inside of the QNAME.
Note that resolving pointers needs to happen *after* the call to
lisp-binary currently. It might be possible to implement this inside
of lisp-binary in the future by switching on the top two bits of the
qname field, but since this is happening *inside* of a reader function
I'm not currently sure how to implement it.
2020-01-26 02:51:29 +00:00
Vincent Ambo
7ef14db936
feat(lisp/dns): Check in initial DNS message implementation
...
This uses lisp-binary to define serialisation types for the DNS
messages defined by RFC 1035.
Currently the compression scheme used for QNAMEs is not supported,
hence deserialisation of even simple records fails after the header
and question sections are read.
2020-01-26 01:20:45 +00:00
Vincent Ambo
09621f5371
refactor(lisp/dns): Split package into multiple files
...
Adds a package definition file and moves the current client into
client.lisp
Note that the client is not working at all at this commit as this is a
work-in-progress snapshot.
2020-01-26 01:20:45 +00:00
Vincent Ambo
29e1de2fd2
feat(fun): Add copy of my avatar
...
Handy to keep this around somewhere!
Thanks Kitty <3
2020-01-26 01:20:23 +00:00
Vincent Ambo
264a55e2e0
feat(ops/nixos/nugget): Install unzip
2020-01-25 20:39:54 +00:00
edef
30286d5454
chore(buildLisp): use lib.optionalString where applicable
2020-01-24 22:18:19 +00:00
edef
ccbac831d3
chore(buildGo): use lib.optionalString where applicable
2020-01-24 22:18:19 +00:00
Vincent Ambo
fb5f26e548
feat(emacs.d): Add notmuch-depot-apply-patch helper function
...
This function lets me interactively apply a patch from the currently
opened notmuch message to the depot.
2020-01-24 18:51:13 +00:00
Vincent Ambo
2fa7bf7bb0
feat(third_party/lisp): Add 'lisp-binary' package and dependencies
2020-01-22 21:40:37 +00:00
Vincent Ambo
d6e473068e
feat(third_party/lisp): Add 'iterate' and 'quasiquote-2.0' packages
2020-01-22 21:40:14 +00:00
Vincent Ambo
ce989529ba
Merge commit '47f60d0996ed57d3a3c00b25ddbd8fea04096f90' as 'third_party/lisp/quasiquote_2'
2020-01-22 21:38:16 +00:00
Vincent Ambo
47f60d0996
Squashed 'third_party/lisp/quasiquote_2/' content from commit cac90875d1
...
git-subtree-dir: third_party/lisp/quasiquote_2
git-subtree-split: cac90875d1f66e9385e559bfebafe6b7808b0930
2020-01-22 21:38:16 +00:00
Vincent Ambo
64b8e9381c
chore(build): Build Lisp DNS library in CI
2020-01-22 18:05:14 +00:00
Vincent Ambo
e50c362244
feat(lisp/dns): Check in very early DNS-over-HTTPS client
...
This includes very barebones support for querying TXT and MX records
right now. The returned structure is not turned into a more convenient
format and error handling is, well, NIL.
2020-01-22 18:04:26 +00:00
Vincent Ambo
98cc5f9fac
feat(emacs.d): Add key binding for counsel-notmuch
2020-01-22 17:26:11 +00:00
Vincent Ambo
ec30e0edf1
fix(fun/gemma): Give Hunchentoot the trailing slash it desires
2020-01-22 11:56:33 +00:00
Vincent Ambo
6fdc5b562d
refactor(fun/gemma): Make acceptor available in a variable
...
This makes it possible to *stop* the server again in a REPL, which is
useful :)
2020-01-22 11:56:13 +00:00
Vincent Ambo
a1d624057c
fix(third_party/lisp/bordeaux-threads): Use native condvars on SBCL
...
This underlines that I should probably have a thing that imports these
automatically.
2020-01-22 11:47:00 +00:00