about summary refs log tree commit diff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
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
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 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/152 chore(tools): Add 'rink'Vincent Ambo2-0/+4