Vincent Ambo
20ef6710e0
fix(emacs.d): Only highlight current line in prog-modes
...
This is extremely annoying in vterms, so now it's gone!
2019-12-16 03:56:12 +00:00
Vincent Ambo
d63996c3cb
feat(term-switcher): Use emacs-libvterm instead of launching X-terms
2019-12-16 03:51:28 +00:00
Vincent Ambo
e991834275
feat(emacs.d): Install and configure emacs-libvterm
...
This incredible package provides a fully functional, libvterm based
terminal emulator inside of Emacs.
Killer feature: It's possible to switch the buffer into a full Emacs
text mode (read-only) for selections and such.
2019-12-16 03:51:28 +00:00
Vincent Ambo
6b72c45ad3
feat(aoc2019): Add solutions for day4
...
Finally an excuse to use some cl-defstruct magic in Elisp!
2019-12-16 01:42:29 +00:00
Vincent Ambo
cc51fb6ce7
feat(aoc2019): Add solution for day3/2
2019-12-16 00:45:25 +00:00
Vincent Ambo
458163910b
chore(emacs.d): Use local term-switcher package
2019-12-15 22:55:43 +00:00
Vincent Ambo
f34c82f765
refactor(emacs-pkgs): Extract term-switcher into separate emacs pkg
2019-12-15 22:54:58 +00:00
Vincent Ambo
9f8542fe75
chore(emacs.d): Remove smartparens
...
I actually find a lot of its behaviour very annoying, rather than
smart. Good old electric-pair-mode usually does what I want.
2019-12-15 22:54:58 +00:00
Vincent Ambo
97555884e2
fix(emacs.d): Fix uses use-package's :config instead of :init
...
In several places I used `:init` instead of `:config` and things
worked due to lazy loading anyways.
That's no excuse not to fix it though ...
2019-12-15 22:54:58 +00:00
Vincent Ambo
6ee061e205
refactor(emacs.d): Use dottime from my dottime package
...
Instead of locally advicing format-time-string, use my dottime
package.
2019-12-15 22:54:58 +00:00
Vincent Ambo
2bf2567284
feat(emacs-pkgs): Check in separate dottime package
...
This package adds a toggle for displaying modeline time in dottime, as
well as a function for formatting time as dottime generically.
2019-12-15 22:54:58 +00:00
Vincent Ambo
02e2877193
chore(emacs): Move carp-mode to third-party
2019-12-15 20:55:46 +00:00
Vincent Ambo
00c9060c2f
feat(emacs.d): Introduce custom mc/mark-dwim cursor marker
...
Adds a "do what I mean" multiple-cursor selection with the logic that
I find most useful:
* If there is no active region, mark the next line (or lines, based on
prefix argument)
* If there is an active region that spans multiple lines, call
`mc/edit-lines`
* If there is an active region on a single line, trigger a custom
selection hydra with functionality equivalent to
`mc/mark-more-like-this-extended` but a slightly improved user
experience
Hopefully this will make it easier to get into the habit of actually
using multiple-cursors without calling the mc commands via M-x
2019-12-15 17:13:17 +00:00
Vincent Ambo
895deabb3a
chore(emacs.d): Comment out not-currently-used email bindings
2019-12-15 17:09:39 +00:00
Vincent Ambo
c16d9bb9b8
chore(tools): Add 'rink'
2019-12-14 17:53:33 +00:00
Vincent Ambo
cbe7b47a96
refactor(tools): __dispatch.sh now uses relative paths
...
This enables usage of __dispatch.sh from anywhere, even outside of the
depot.
Specifically this means I can add `~/depot/bin` to my $PATH and all
the registered tools work from anywhere.
2019-12-14 17:40:21 +00:00
Vincent Ambo
f69dfbc40e
fix(emacs.d): Fix loading of custom.el
2019-12-14 17:15:47 +00:00
Vincent Ambo
c8bf0f9008
feat(emacs.d): Add function to open depot in magit
2019-12-14 17:07:25 +00:00
Vincent Ambo
7315ca331e
chore(emacs.d): Clean up <tab> bindings
...
One simple rule to rule them all: In prog-mode, <tab> tries to invoke
company.
2019-12-14 15:59:20 +00:00
Vincent Ambo
9df9fafd82
fix(emacs.d): Let emacs write to customize configuration
...
Configures Emacs' `customize` to write directly to my Emacs
configuration. This comes with the caveat that the new config will
only be loaded if my Emacs is rebuilt.
2019-12-14 15:38:03 +00:00
Vincent Ambo
fadf0619eb
feat(tools/emacs): Build fully pre-configured Emacs
...
Builds an Emacs that is not only configured with the required packages
but with the entire Emacs configuration for my personal setup.
This means that `nix-env -iA tools.emacs` will install a
fully-configured Emacs that can be launched as the window manager from
my ~/.xsession.
2019-12-14 15:25:04 +00:00
Vincent Ambo
7d03ab7140
chore(emacs.d): Move init/* to config/*
2019-12-14 15:24:53 +00:00
Vincent Ambo
1584607fb9
chore: Remove some configuration from a previous life
2019-12-14 14:56:13 +00:00
Vincent Ambo
bd7903815d
feat(emacs.d): Load local Emacs configuration if present
...
This allows me to have local Emacs configuration that is tracked
separately from the rest.
2019-12-14 13:35:03 +00:00
Vincent Ambo
c490bbf4b3
chore(emacs.d): Import several months of privately tracked changes
...
These changes were made in a fork of my configuration that is not
publicly available and detailed history will not be included in this
public commit.
2019-12-14 13:23:20 +00:00
Vincent Ambo
1f204f2891
feat(emacs.d): Display modeline time in dottime
...
See dotti.me for more information about dottime.
<3 edef
2019-12-14 13:22:28 +00:00
Vincent Ambo
c1ba41a62d
feat(emacs.d): Generalise counsel terminal selector
...
This makes it possible to use my terminal selector with any X11
terminal, configurable via two simple variables.
2019-12-14 13:21:12 +00:00
Vincent Ambo
2b80265a1f
refactor(emacs): Rewrite derivation to match depot layout
2019-12-14 12:47:07 +00:00
Vincent Ambo
863f5b146d
chore(emacs): Move Nix derivation for building Emacs over from infra
2019-12-14 11:57:11 +00:00
Vincent Ambo
a80ebfb067
docs(emacs): Update README file
2019-12-14 11:32:54 +00:00
Vincent Ambo
b938d716ff
merge(emacs): Merge (unrelated) emacs.d history into tools/emacs
2019-12-14 11:31:25 +00:00
Vincent Ambo
15c61c0bee
chore(emacs): Move emacs config to tools/emacs
2019-12-14 11:30:56 +00:00
Vincent Ambo
fe01b82c5d
refactor(tools/blog_cli): Build with buildGo.nix
...
This is the first Go package properly built with external dependencies
using buildGo.nix
2019-12-13 21:31:01 +00:00
Vincent Ambo
c93130c8c3
feat(aoc2019): Solve day 3 puzzles
...
Now this was quite something.
2019-12-10 14:45:28 +00:00
Vincent Ambo
c81be2f836
feat(aoc2019): Solve day 2 puzzles
2019-12-09 14:43:09 +00:00
Vincent Ambo
85fa12da33
feat(aoc2019): Solve day 1 puzzles
2019-12-09 14:43:01 +00:00
Vincent Ambo
ded10fbd83
feat(tools): Add auto-dispatch for Advent of Code solutions
2019-12-09 12:27:07 +00:00
Vincent Ambo
514c48fdde
feat(tools): Set up Advent of Code 2019 scaffolding
2019-12-09 11:44:21 +00:00
Vincent Ambo
46e5a23937
fix: Amend import paths to use whitelisted nixpkgs
2019-12-09 02:55:22 +00:00
Vincent Ambo
01bad09eed
refactor: Introduce new layout with nixpkgs in third_party
...
This is not the final layout yet, but makes it so that my top-level
attribute set is no longer overlaid into nixpkgs itself.
This is useful for other people who are importing my monorepo.
2019-12-09 02:40:48 +00:00
Vincent Ambo
f1655c5cbb
fix(tools): Enable CI runs for tools.gotest
2019-11-22 16:29:43 +00:00
Vincent Ambo
1619f58d78
feat(tools): Add 'gotest' program to demonstrate pkgs.buildGo
...
This is a tiny program that does nothing but exists to demonstrate
pkgs.buildGo by building a program that depends on a local library as
well as a protobuf definition.
2019-11-22 16:28:22 +00:00
Vincent Ambo
45d63bce17
feat(nix): Filter projects that should be built by CI
...
Instead of specifying CI projects manually, this filters them to move
the CI configuration into the derivations `meta` attributes.
2019-11-15 23:25:41 +00:00
Vincent Ambo
c1c379848a
chore(nix): Move files around to conform to new read-tree layout
...
Broadly speaking, the following things are included:
* there is now a uniform `args` struct that is passed to all
derivations, package headers have been changed appropriately
* overrides are now loaded from a separate `override` folder just
using read-tree.nix
* third-party packages have moved into the `third_party` attribute set
2019-11-15 15:26:08 +00:00
Vincent Ambo
bcd7710be5
feat(tools): Introduce pass-compatible wrapper using Cloud KMS
...
Adds a shell script that supports a subset of the 'pass' interface for
compatibility with kontemplate, and wraps kontemplate in a script that
places this version on the PATH.
This makes it possible to use Cloud KMS encrypted secrets with kontemplate.
2019-09-03 16:12:30 +01:00
Vincent Ambo
f2e0f3ee27
chore(third_party): Remove git-appraise
...
Not actually in use here ...
2019-09-02 20:01:25 +01:00
Vincent Ambo
640b497950
feat(tools): Add stern, a k8s log watcher
2019-09-02 18:18:28 +01:00
Vincent Ambo
6450347bf1
chore(tools): Remove ormolu from tools
...
The Ormolu derivation is too large to be instantiated on-demand. I've
resorted to installing this tool into my profile instead.
2019-08-25 20:17:03 +01:00
Vincent Ambo
4f88851971
fix(blog_cli): Quote JSON output for post dates
2019-08-23 11:24:03 +01:00
Vincent Ambo
57059fec2b
feat(blog_cli): Add flag to set post date and serialise as date only
2019-08-23 10:57:15 +01:00
Vincent Ambo
b856648127
feat(tools): Introduce ormolu for formatting Haskell code
2019-08-20 00:26:54 +01:00
Vincent Ambo
1d5b53abf8
chore(tools/blog_cli): Shorten metadata key names
...
Every character counts because I want to keep metadata below 255
bytes.
2019-08-19 19:11:32 +01:00
Vincent Ambo
d5710db900
refactor(tools/blog_cli): More sensible chunk encoding as records
...
Instead of many rrdatas in one record, make many records!
2019-08-19 17:51:29 +01:00
Vincent Ambo
2a16740445
feat(tools): Add a horrifying tool to write blog posts into DNS
2019-08-19 16:59:55 +01:00
Vincent Ambo
27036e18f5
feat(tools): Add kontemplate
2019-08-16 16:50:50 +01:00
Vincent Ambo
b652ea2f03
feat(tools): Add Terraform 0.12 to local tools
...
This is pre-configured with the GCP provider.
2019-08-15 16:28:42 +01:00
Vincent Ambo
38493b83ea
chore(tools): Remove bazel & ghc
2019-08-15 16:15:59 +01:00
Vincent Ambo
27c3e77d2f
feat(tools): Add custom GHC with dependencies to env
2019-07-04 15:57:12 +01:00
Vincent Ambo
2eb1dc26e4
feat(tools): Add symlinks for bazel & stylish-haskell
2019-07-04 11:17:34 +01:00
Vincent Ambo
b2f40b6ed8
fix(tools): Ensure dispatch script passes arguments correctly
2019-07-04 11:15:15 +01:00
Vincent Ambo
892493a478
feat(tools): Add dispatcher script to transparently access tools
...
Initial version of tool provider via Nix. This requires two separate
steps for adding a new tool:
1. New symlink in tools/bin to point at the dispatch script.
2. Mapping of tool to Nix package set attribute in dispatch script.
2019-07-02 16:40:51 +01:00