about summary refs log tree commit diff
path: root/tools/emacs
AgeCommit message (Collapse)AuthorFilesLines
2019-12-24 r/298 fix(emacs.d): Pick new buffers *into* the active windowVincent Ambo1-4/+4
Instead of splitting below and moving the target buffer into the new split, split and move the buffer into the active window. The other way around does (for some reason I don't fully understand) not work because `split-window-below` may return invalid windows.
2019-12-24 r/297 feat(emacs.d): Advise split-window-below to call edwina-arrangeVincent Ambo1-1/+3
2019-12-24 r/296 feat(emacs.d): Enable edwina package for window managementVincent Ambo1-0/+21
Configures edwina using `s-w` as the key prefix (in line with my other EXWM-related commands). An additional function is added that switches to a buffer (borrowing the implementation from `ivy-switch-buffer`) but splitting it into a new window instead.
2019-12-23 r/295 feat(emacs.d): Bind 's-g m' to notmuch UIVincent Ambo1-0/+3
2019-12-22 r/290 feat(emacs): Install edwina packageVincent Ambo1-0/+1
No configuration for this yet, I just want to try it out. It seems like an interesting way of managing Emacs windows!
2019-12-20 r/208 fix(emacs.d): Correctly restore default font size in randr-singleVincent Ambo1-1/+1
2019-12-19 r/200 feat(emacs.d): Add key binding for opening telegaVincent Ambo1-1/+5
2019-12-19 r/199 feat(emacs): Add telega.el supportVincent Ambo2-0/+7
Packages the telega-server binary and adds the required mode into Emacs. Unread message count is displayed in the modeline, which is neat. Probably need to figure out some key bindings for this.
2019-12-19 r/198 fix(nix-util): Correctly enable lexical scope in this libraryVincent Ambo1-0/+1
2019-12-19 r/197 feat(emacs-pkgs): Introduce nix-util helper libraryVincent Ambo1-2/+6
Adds an Emacs library with so far a grand total of one helper function that can prefetch and insert a git repository at point. This is very useful for the various Go repo imports I am doing at the moment.
2019-12-17 r/179 feat(emacs.d): Set screen-specific default text scalesVincent Ambo1-3/+5
2019-12-17 r/178 feat(emacs.d): Add functions & bindings to manage global font sizeVincent Ambo2-4/+33
This makes it possible to quickly adjust the size of text in all frames using one keyboard shortcut. Each of these functions understands a prefix argument to mean "please only operate on the current buffer", hence the following bindings and effects: Global: * `C-=`: Increase the global font size (chosen because `+` lies on the `=` key) * `C--`: Decrease the global font size * `C-x C-0`: Restore the global default font size Local: * `C-u C-=`: Increase the local font size * `C-u C--`: Decrease the local font size * `C-u C-x C-0`: Restore the local default font size
2019-12-17 r/177 chore(emacs.d): Clean up unused functionsVincent Ambo1-23/+0
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-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/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/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/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 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-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 Ambo1-36/+0
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 chore(emacs): Move carp-mode to third-partyVincent Ambo1-20/+2
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-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/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 Ambo1-10/+2
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.
2019-12-14 r/137 refactor(emacs): Rewrite derivation to match depot layoutVincent Ambo1-74/+49
2019-12-14 r/136 chore(emacs): Move Nix derivation for building Emacs over from infraVincent Ambo1-0/+138
2019-12-14 r/130 docs(emacs): Update README fileVincent Ambo1-4/+5