Vincent Ambo
cc51fb6ce7
feat(aoc2019): Add solution for day3/2
2019-12-16 00:45:25 +00:00
Vincent Ambo
e8b184adcc
merge(PR#11): Move bits of Emacs configuration into local packages
...
As requested by @wpcarro, some bits of my Emacs configuration are now in separate local packages (located at `//depot/tools/emacs-pkgs/`).
Specifically this change introduces:
* `tools.emacs-pkgs.dottime`: A package to render time in the modeline as [dottime](https://dotti.me )
* `tools.emacs-pkgs.term-switcher`: A package to quickly switch between and open new terminal instances in EXWM using ivy
My Emacs configuration is updated to accomodate these refactorings.
2019-12-15 22:59:43 +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
431610e420
chore(overrides): Bump buildGo.nix
...
The new version correctly builds external binaries at package roots.
2019-12-15 15:58:15 +00:00
Vincent Ambo
53630e3b15
fix(external): Correctly determine binary name if locator is empty
...
If the root of a project is a binary, the previous logic would
generate invalid names.
This ensure that the last path component of the name is used.
2019-12-15 15:57:10 +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
fea2191d15
chore(build): Build tools.emacs in CI
2019-12-14 16:00:04 +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
bd7c9e4b5a
fix(writeElispBin): Use emacsPackagesNg
...
Ng is used by my Emacs derivation. I don't actually know what they do
differently, but it seems sensible to use the same one in both places.
2019-12-14 12:49:18 +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
b4f835e21c
chore(infra/nixos): Remove deprecated local packages
2019-12-14 11:56:48 +00:00
Vincent Ambo
0a8aa95c73
chore(infra/nixos): Mark folder as "not to be evaluated"
2019-12-14 11:55:31 +00:00
Vincent Ambo
85be796407
fix(build): Import package set correctly for CI builds
2019-12-14 11:52:27 +00:00
Vincent Ambo
74b5054a43
merge(nixos): Merge (unrelated) NixOS config history into infra/
2019-12-14 11:45:21 +00:00
Vincent Ambo
3f199f9650
chore(nixos): Move NixOS config to infra/nixos
2019-12-14 11:44:01 +00:00
Vincent Ambo
3071ffdc8a
chore(third_party): Add derivation for gopkgs/golang/groupcache
2019-12-14 11:37:48 +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
00129e06b2
fix(build): Make repository callable in Nix
...
This is required for some things that expect package sets to be
callable, e.g. Nixery.
2019-12-13 21:32:35 +00:00
Vincent Ambo
dc6e0e86ad
chore(third_party): Bump nixpkgs channel
...
This channel is nixos-unstable on 2019-12-13.
2019-12-13 21:32:02 +00:00
Vincent Ambo
97e25e4dab
chore(overrides): Bump buildGo.nix to add ASM support
...
This is required to build `x/sys`, which is required by the blog_cli
2019-12-13 21:31:37 +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
6220294f94
chore(third_party): Bump gopkgs needed for Google Cloud
2019-12-13 21:30:14 +00:00
Vincent Ambo
7f74980457
feat(external): Compile Go assembly and include it in pkg archive
...
This was the final step required to add support for packages that make
use of Go assembly, such as golang.org/x/sys.
2019-12-13 21:23:41 +00:00
Vincent Ambo
859c429b2f
feat(external): Include *.s (ASM) files in external builds
2019-12-13 15:15:53 +00:00
Vincent Ambo
cfae527cc1
feat(buildGo): Support linking of symabi files for ASM sources
2019-12-13 15:15:22 +00:00
Vincent Ambo
9594203e07
feat(third_party/gopkgs): Import external packages for Google Cloud
...
These packages contain the Cloud SDK for Go. There is currently a
linker issue (presumably due to something in `buildGo.nix`) that means
that projects using them can not actually be built.
2019-12-13 12:12:06 +00:00
Vincent Ambo
8b10c8d0f3
chore(overrides): Upgrade buildGo.nix
2019-12-13 12:11:50 +00:00
Vincent Ambo
5649c75d01
fix(external): Fix "inverted" local dependencies
...
Usually in large packages the root depends on one or more
sub-packages (or there is no root), but some projects (e.g.
golang.org/x/oauth2) do it the other way around.
This fix adds compatibility for both ways.
2019-12-13 12:10:32 +00:00