about summary refs log tree commit diff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2019-12-26 r/305 chore(emacs.d): Remove GPG agent warmup from mail sendingVincent Ambo2-17/+0
Fetching credentials is no longer handled by msmtp itself.
2019-12-25 r/302 fix(emacs.d): Slightly more reliable way of setting edwina prefixVincent Ambo2-1/+4
2019-12-25 r/301 fix(emacs.d): Display newest emails first in notmuchVincent Ambo1-1/+3
2019-12-24 r/299 fix(emacs.d): Avoid advising split-window-* functionsVincent Ambo2-5/+12
Advising these functions apparently breaks things internally.
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/291 fix(cheddar): Fix errors if filename does not have an extensionVincent Ambo1-9/+7
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-21 r/288 feat(cheddar): Style pre-elements for better readabilityVincent Ambo1-4/+22
Uses GitHub-like styling for <pre> elements, i.e. slight padding and background colour highlighting.
2019-12-21 r/287 feat(cheddar): Render code blocks in Markdown via syntectVincent Ambo1-26/+82
Implements fully static (i.e. no JavaScript!) highlighting of code blocks when rendering Markdown. This works by walking through the Comrak AST and replacing any code blocks with pre-rendered HTML blocks. Syntaxes are chosen based on the "block info", which is the string users put after the block's opening fence. This can either be a (case-insensitive) name of a syntax, or alternatively a file extension associated with the desired syntax. The theme is set to one that imitates GitHub.
2019-12-21 r/286 docs(cheddar): Mention cgit filter compatibility in READMEVincent Ambo1-0/+11
2019-12-21 r/282 feat(cheddar): Render Markdown via ComrakVincent Ambo1-9/+24
Renders any ".md" file by pushing it through the Comrak rendering pipeline. This does not yet implement syntax highlighting of fenced blocks, but we're getting there.
2019-12-21 r/281 refactor(cheddar): Set up scaffolding for Markdown renderingVincent Ambo3-13/+224
Generalises the two bits of the program that will be required either way (extension parsing and syntax loading). A dependency on Comrak is introduced as I think GitHub-flavoured Markdown (with all its fancy extensions) is desirable!
2019-12-21 r/277 feat(cheddar): Use syntax highlighting assets from batVincent Ambo2-2/+20
This uses Nix to inject the path to the syntax highlighting assets that ship with the bat source code into the cheddar build at compile time, where the Rust compiler then inserts it into the binary via macros. bat has a lot of custom syntax highlighting definitions that they collected from all over the place (including for languages like Nix!) and this makes them accessible to cheddar. Also if you're reading this, can you just take a moment to appreciate how incredible it is that Nix just lets us do something like this?!
2019-12-21 r/276 feat(tools/cheddar): Check in new syntax highlighting toolVincent Ambo7-0/+772
The first step with this tool will be to use it as a source-filter for cgit. The second step is to use it as the Markdown renderer by depending on one of the Markdown libraries, with integration for rendering code snippets directly.
2019-12-20 r/237 chore: Significantly restructure folder layoutVincent Ambo26-2181/+0
This moves the various projects from "type-based" folders (such as "services" or "tools") into more appropriate semantic folders (such as "nix", "ops" or "web"). Deprecated projects (nixcon-demo & gotest) which only existed for testing/demonstration purposes have been removed. (Note: *all* builds are broken with this commit)
2019-12-20 r/235 feat(journaldriver): Add Naersk-based build configurationVincent Ambo1-0/+9
2019-12-20 r/233 merge(journaldriver): Merge journaldriver into tools/journaldriverVincent Ambo7-0/+1758
2019-12-20 chore(tools/journaldriver): Prepare tree for depot mergeVincent Ambo7-0/+1758
2019-12-20 r/209 fix(tools): Correctly resolve kms_pass->passVincent Ambo1-1/+2
The binary name doesn't match the one inside of the derivation, but this is intentional.
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 Ambo2-1/+2
2019-12-19 r/197 feat(emacs-pkgs): Introduce nix-util helper libraryVincent Ambo3-2/+80
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/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 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/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 chore(emacs.d): Use local term-switcher packageVincent Ambo3-3/+3