Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
This avoids a conflict with some work tooling.
|
|
For some reason setting the initial load-path via `--directory` does
not work and leads to an Emacs without any packages.
|
|
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.
|
|
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.
|
|
|
|
Prefer "Platform" to "Platofrm".
|
|
This function makes it possible to pass in a folder with additional
local configuration from somewhere downstream.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
This is extremely annoying in vterms, so now it's gone!
|
|
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!
|
|
|
|
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.
|
|
|
|
Finally an excuse to use some cl-defstruct magic in Elisp!
|
|
|
|
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.
|
|
|
|
|
|
I actually find a lot of its behaviour very annoying, rather than
smart. Good old electric-pair-mode usually does what I want.
|
|
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 ...
|
|
Instead of locally advicing format-time-string, use my dottime
package.
|
|
This package adds a toggle for displaying modeline time in dottime, as
well as a function for formatting time as dottime generically.
|
|
|
|
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
|
|
|
|
The new version correctly builds external binaries at package roots.
|
|
|
|
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.
|
|
|
|
|
|
|
|
One simple rule to rule them all: In prog-mode, <tab> tries to invoke
company.
|
|
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.
|
|
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.
|
|
|
|
|
|
This allows me to have local Emacs configuration that is tracked
separately from the rest.
|
|
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.
|
|
See dotti.me for more information about dottime.
<3 edef
|
|
This makes it possible to use my terminal selector with any X11
terminal, configurable via two simple variables.
|
|
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.
|
|
|