about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2019-12-17 r/176 feat(emacs.d): Add function to insert TODO commentsVincent Ambo2-0/+15
2019-12-17 r/175 chore(emacs.d): Include all git repos under ~/ in magitVincent Ambo1-1/+1
2019-12-17 r/174 fix(emacs.d): Fix regex passing in counsel-rgVincent Ambo1-1/+4
2019-12-17 r/173 refactor(emacs.d): Move ivy configuration to use-packageVincent Ambo3-21/+31
2019-12-17 r/172 fix(emacs.d): Disable C-x C-cVincent Ambo1-0/+1
2019-12-17 r/171 fix(emacs.d): Change binding for ivy-browse-repositoriesVincent Ambo1-1/+1
This avoids a conflict with some work tooling.
2019-12-17 r/170 fix(emacs): `withLocalEmacs` now loads packages via $EMACSLOADPATHVincent Ambo1-2/+4
For some reason setting the initial load-path via `--directory` does not work and leads to an Emacs without any packages.
2019-12-17 r/169 merge(PR#16): Add override function to run Nix-built Emacs configuration ↵Vincent Ambo1-0/+13
with external Emacs Say you're on a non-NixOS system and need to run this Emacs configuration, but without using an Emacs from Nix, building ... ```nix tools.emacs.withLocalEmacs "/usr/bin/emacs" ``` ... will create a derivation that does exactly that.
2019-12-16 feat(emacs): Add 'withLocalEmacs' override functionVincent Ambo1-0/+12
This function makes it possible to build an Emacs instance that, instead of launching an Emacs built by Nix, configures an Emacs already present on the system to use the packages built by Nix. This **requires** that the versions of the two Emacsen (i.e. the one used by Nix to build and the one used to run the packages) are kept in sync, otherwise byte-code incompatibilities may lead to undefined behaviour.
2019-12-16 feat(emacs): Install 'request.el', an HTTP clientVincent Ambo1-0/+1
2019-12-16 r/168 docs: fix typoWilliam Carroll1-1/+1
Prefer "Platform" to "Platofrm".
2019-12-16 r/167 feat(emacs): Add `withLocalConfig` override functionVincent Ambo2-8/+17
This function makes it possible to pass in a folder with additional local configuration from somewhere downstream.
2019-12-16 r/166 feat: Expose readTree for downstream consumersVincent Ambo1-0/+6
Exposes readTree from the package set but with a twist: It's exposed as a functor that references the `.config` field from itself to get at the configuration to be passed to packages. This makes it possible for downstream users to make use of `readTree` but with their own configuration.
2019-12-16 r/165 feat(emacs): Make list of packages overridableVincent Ambo1-5/+6
Exposes an `overrideEmacs` which can take a package function that receives the current package list and can make arbitrary modifications to it. This makes it possible for me to maintain a private overlay for e.g. work purposes with packages that should not be visible in my public repos.
2019-12-16 r/164 feat(emacs.d): Install refineVincent Ambo1-3/+2
2019-12-16 r/163 fix(emacs.d): Set correct magit-repository-directories pathVincent Ambo1-1/+2
This was set to my old home directory name from a different machine and I had low-key been wondering why it didn't work, but not enough to go do something about it.
2019-12-16 r/162 fix(term-switcher): Add dependency on vtermVincent Ambo2-2/+3
2019-12-16 r/161 fix(emacs.d): Only highlight current line in prog-modesVincent Ambo2-3/+1
This is extremely annoying in vterms, so now it's gone!
2019-12-16 r/160 merge(PR#12): Switch Emacs terminals over to libvtermVincent Ambo3-39/+36
This moves the terminals inside of my Emacs from being `gnome-terminal` instances under EXWM over to [emacs-libvterm](https://github.com/akermu/emacs-libvterm). This incredible package embeds a fully featured terminal emulator (based on `libvterm`) into Emacs with the killer feature of being able to switch a terminal buffer to read-only text mode and use normal Emacs selection commands. This is something I've wanted for a long time and that `ansi-term` etc. just weren't good enough for!
2019-12-16 feat(term-switcher): Use emacs-libvterm instead of launching X-termsVincent Ambo1-39/+22
2019-12-16 feat(emacs.d): Install and configure emacs-libvtermVincent Ambo2-0/+14
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 r/159 chore(third_party): Bump naerskVincent Ambo3-5/+7
2019-12-16 r/158 feat(aoc2019): Add solutions for day4Vincent Ambo1-0/+73
Finally an excuse to use some cl-defstruct magic in Elisp!
2019-12-16 r/157 feat(aoc2019): Add solution for day3/2Vincent Ambo1-17/+23
2019-12-15 r/156 merge(PR#11): Move bits of Emacs configuration into local packagesVincent Ambo11-87/+192
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 chore(emacs.d): Use local term-switcher packageVincent Ambo3-3/+3
2019-12-15 refactor(emacs-pkgs): Extract term-switcher into separate emacs pkgVincent Ambo3-36/+86
2019-12-15 chore(emacs.d): Remove smartparensVincent Ambo3-4/+1
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 fix(emacs.d): Fix uses use-package's :config instead of :initVincent Ambo1-10/+10
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 refactor(emacs.d): Use dottime from my dottime packageVincent Ambo3-17/+4
Instead of locally advicing format-time-string, use my dottime package.
2019-12-15 feat(emacs-pkgs): Check in separate dottime packageVincent Ambo2-0/+66
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 chore(emacs): Move carp-mode to third-partyVincent Ambo2-20/+25
2019-12-15 r/155 feat(emacs.d): Introduce custom mc/mark-dwim cursor markerVincent Ambo2-0/+28
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 r/154 chore(emacs.d): Comment out not-currently-used email bindingsVincent Ambo1-3/+3
2019-12-15 r/153 chore(overrides): Bump buildGo.nixVincent Ambo1-1/+1
The new version correctly builds external binaries at package roots.
2019-12-15 fix(external): Correctly determine binary name if locator is emptyVincent Ambo1-1/+1
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-14 r/152 chore(tools): Add 'rink'Vincent Ambo3-0/+5
2019-12-14 r/151 refactor(tools): __dispatch.sh now uses relative pathsVincent Ambo3-3/+4
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 r/150 fix(emacs.d): Fix loading of custom.elVincent Ambo1-3/+2
2019-12-14 r/149 feat(emacs.d): Add function to open depot in magitVincent Ambo1-3/+3
2019-12-14 r/148 chore(build): Build tools.emacs in CIVincent Ambo1-2/+3
2019-12-14 r/147 chore(emacs.d): Clean up <tab> bindingsVincent Ambo2-20/+9
One simple rule to rule them all: In prog-mode, <tab> tries to invoke company.
2019-12-14 r/146 fix(emacs.d): Let emacs write to customize configurationVincent Ambo1-3/+10
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 r/145 feat(tools/emacs): Build fully pre-configured EmacsVincent Ambo1-13/+12
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 r/144 chore(emacs.d): Move init/* to config/*Vincent Ambo11-23/+17
2019-12-14 r/143 chore: Remove some configuration from a previous lifeVincent Ambo5-50/+6
2019-12-14 r/142 feat(emacs.d): Load local Emacs configuration if presentVincent Ambo1-0/+6
This allows me to have local Emacs configuration that is tracked separately from the rest.
2019-12-14 r/141 chore(emacs.d): Import several months of privately tracked changesVincent Ambo7-232/+274
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 r/140 feat(emacs.d): Display modeline time in dottimeVincent Ambo1-0/+14
See dotti.me for more information about dottime. <3 edef
2019-12-14 r/139 feat(emacs.d): Generalise counsel terminal selectorVincent Ambo1-23/+22
This makes it possible to use my terminal selector with any X11 terminal, configurable via two simple variables.