Commit graph

1870 commits

Author SHA1 Message Date
Vincent Ambo
44820827d1 feat(buildLisp): Initial implementation of foreign library loading
Adds a new 'native' parameter to the buildLisp functions in which
libraries can be passed in.

This does not yet work with CFFI packages.
2020-01-09 02:57:02 +00:00
Vincent Ambo
fd9fb7730a feat(third_party/lisp): Add derivation for CL+SSL 2020-01-09 01:55:42 +00:00
Vincent Ambo
11e0bf4958 feat(third_party/lisp): Add dummy package for sb-posix 2020-01-09 01:55:31 +00:00
Vincent Ambo
3940b2e1a8 feat(third_party/lisp): Add derivation for flexi-streams 2020-01-09 01:15:31 +00:00
Vincent Ambo
815574ad5f feat(third_party/lisp): Add derivation for trivial-gray-streams 2020-01-09 01:13:14 +00:00
Vincent Ambo
67170024d2 feat(third_party/lisp): Add derivation for trivial-garbage 2020-01-09 01:10:28 +00:00
Vincent Ambo
7edbcf9c04 feat(third_party/lisp): Add derivation for bordeaux-threads 2020-01-09 01:07:12 +00:00
Vincent Ambo
f8519aefef feat(third_party/lisp): Add derivation for cffi 2020-01-09 01:00:11 +00:00
Vincent Ambo
e8d0488367 feat(third_party/lisp): Add dummy packages for ASDF & UIOP
These both ship with SBCL, but need to be forced to load.
2020-01-09 00:59:45 +00:00
Vincent Ambo
2a170f1ed7 fix(buildLisp): Perform a topological sort of dependencies
This ensures that dependencies are loaded in the correct order in
larger dependency graphs.
2020-01-09 00:46:20 +00:00
Vincent Ambo
06362a812e feat(third_party/lisp): Add derivation for trivial-features 2020-01-09 00:17:44 +00:00
Vincent Ambo
07ee256932 feat(third_party/lisp): Add derivation for babel 2020-01-09 00:17:39 +00:00
Vincent Ambo
d9e1075e28 feat(third_party/lisp): Add derivation for Alexandria 2020-01-09 00:04:52 +00:00
Vincent Ambo
e3a8dc9500 fix(buildLisp): Cursed code to fix load ordering
It's not enough to compile in the right order - turns out you also
have to load the compiled objects in the right order.

To achieve this some cursed code has been added that changes the Lisp
generated by Nix to compile the other Lisp so that it also generates
some bash, which Nix can then use to concatenate the FASLs in the
right order to feed them to Lisp again.

It works but I'll replace it with a more elegant solution once one is
needed.
2020-01-08 23:57:34 +00:00
Vincent Ambo
7bc10eb9b7 feat(buildLisp): Add initial, tiny example program 2020-01-08 21:41:43 +00:00
Vincent Ambo
bdad8f6642 feat(buildLisp): Implement buildLisp.program to dump executables
Dumps the executable image from SBCL to $out/bin/$name.

Image compression is disabled.
2020-01-08 21:39:26 +00:00
Vincent Ambo
2bfe073eb2 refactor(buildLisp): Inline dependency loading in genCompileLisp 2020-01-08 21:39:06 +00:00
Vincent Ambo
b5e1e81a3d feat(buildLisp): Add function to wrap SBCL with dependencies
Adds `buildLisp.sbclWith` which creates an SBCL wrapper the contains
all the requested dependencies.
2020-01-08 19:38:29 +00:00
Vincent Ambo
ca199a57d9 feat(buildLisp): Implement dependency loading & propagation
Similar to buildGo.nix, the library derivations carry information
about their dependencies which is merged when a load file is
instantiated.

The load files are created when compiling libraries, but will in the
future also be created when wrapping SBCL and dumping images.
2020-01-08 18:40:53 +00:00
Vincent Ambo
1297afec4b fix(buildLisp): Fail the build on compilation errors
This needs to be handled explicitly in the COMPILE-FILE form.
2020-01-08 17:53:06 +00:00
Vincent Ambo
894c23510b fix(third_party/git): Update dottime patch for git
Updates the commit message & fixes whitespace error before submitting
this.
2020-01-08 13:02:11 +00:00
Vincent Ambo
a954bd8d5e feat(nix/buildLisp): Add initial sketch including buildLisp.library
Adds a Nix function to build a Lisp library out of a specified set of
Nix files. All files are combined into a single FASL.

This is by design only compatible with SBCL (for now).
2020-01-08 02:00:54 +00:00
Vincent Ambo
cd0093d46e fix(emacs): Minor typo fix 2020-01-08 00:32:56 +00:00
Vincent Ambo
9e2f86d65d chore(emacs): Bump emacs-libvterm to a more recent version 2020-01-07 22:28:36 +00:00
Vincent Ambo
efc782fcdc fix(emacs): Disable linking of imagemagick due to vterm crashes
See explanatory comment.
2020-01-07 22:28:17 +00:00
Vincent Ambo
31f66491a9 feat(ops/nixos/nugget): Install SBCL in system packages 2020-01-07 22:26:01 +00:00
Vincent Ambo
33a9dccba1 chore(ops/secrets): Add Google Maps API key 2020-01-05 21:12:08 +00:00
Vincent Ambo
7b77e9986c feat(fun/amsterdump): Add distance matrix lookup for fundu results
This contains a little tool that can make requests to the Google Maps
API for distance matrix lookups from Fundu results to Schiphol Airport
and Amsterdam Centraal.

<3 edef!
2020-01-05 21:10:37 +00:00
Vincent Ambo
b8ca70539b chore(third_party/gopkgs): Add Google Maps API client & deps 2020-01-05 21:08:33 +00:00
Vincent Ambo
1e71b80f6a fix(emacs): Build emacs with imagemagick support 2020-01-05 17:37:01 +00:00
Vincent Ambo
b2af61e576 chore(third_party): Bump channel to nixos-unstable
Turns out it is useful to have builds cached in Hydra, actually.
2020-01-05 16:59:52 +00:00
Vincent Ambo
d66c7a8942 feat(ops/nixos/nugget): Install msmtp & lieer timers 2020-01-05 16:59:52 +00:00
Vincent Ambo
e5608cf079 chore(ops/nixos/nugget): Install various needed packages 2020-01-05 16:59:52 +00:00
Vincent Ambo
b2cd30bfd4 chore(emacs.d): Remove edwina configuration
Sounds good, doesn't work.

(Okay, it does - but not like I want it to and with too many caveats
at the moment - maybe later)
2020-01-05 01:13:00 +00:00
Vincent Ambo
85ee07457c feat(ops/nixos): Add 'rebuilder' helper script
This script rebuilds & activates system configuration based on the
hostname.

Currently since there is only one host this isn't particularly
interesting.
2020-01-04 22:50:34 +00:00
Vincent Ambo
63dc41bcf3 feat(ops/nixos): Check in updated system configuration for 'nugget'
This is the rebrand of the desktop machine, now running a config
straight out of the depot.
2020-01-04 22:50:34 +00:00
Vincent Ambo
496648f237 chore(ops/nixos): Remove deprecated NixOS config files 2020-01-04 22:50:34 +00:00
Vincent Ambo
1d687c5303 chore(ops/nixos): Move NixOS configuration one level up 2020-01-04 22:50:19 +00:00
Vincent Ambo
3638048c9b fix(emacs.d): Use 'fish' from $PATH when launching vterms
This is required because the configuration is used on machines where
fish comes from Nix, and on ones where it does not.
2020-01-04 22:50:19 +00:00
Vincent Ambo
886cf09b95 feat(bin): Add link to 'age' tool from third_party.age 2020-01-01 16:54:07 +01:00
Vincent Ambo
27f5eb5f67 chore(third_party): Bump packages to latest nixpkgs-unstable 2020-01-01 16:53:01 +01:00
Vincent Ambo
59aeebd495 chore: Remove Travis CI integration file
The depot is not built using Travis (but might be built using
SourceHut or something in the future).
2020-01-01 16:36:57 +01:00
Vincent Ambo
41232a1c78 feat(emacs.d): Toggle email signature manually with C-c C-w
The signature itself is read from ~/.signature
2020-01-01 16:28:47 +01:00
Vincent Ambo
39131d9e0f fix(emacs.d): Disable notmuch FCC directories 2019-12-30 22:19:56 +01:00
Vincent Ambo
fd5fd57cc1 docs(kontemplate): Update documentation for depot changes 2019-12-30 17:01:22 +01:00
Vincent Ambo
b34a576c19 chore(cgit-taz): Hide remote branches
With the sync-gcsr changes from the previous commits remote branches
are turned into local branches anyways.
2019-12-30 05:13:54 +01:00
Vincent Ambo
36beb6d43c feat(sync-gcsr): Synchronise all remote branches
Explicitly sets all local branches to all equivalent remote branches
after each update.

Branches deleted on the remote will eventually disappear when the
container is restarted.
2019-12-30 05:06:46 +01:00
Vincent Ambo
7c52a205ee refactor(sync-gcsr): Split clone into separate function
This is in preparation for adding more complex branch-related logic to
both functions.
2019-12-29 04:50:31 +01:00
Vincent Ambo
dce1112842 feat(third_party/git): Support dottime as log date format 2019-12-28 01:39:33 +01:00
Vincent Ambo
1ea6dcabbb feat(third_party/notmuch): Patch notmuch to render time as dottime
This implements support for dotti.me in notmuch by changing the
formatting of relative and absolute times.
2019-12-27 19:18:00 +01:00