about summary refs log tree commit diff
path: root/users/tazjin/emacs
AgeCommit message (Collapse)AuthorFilesLines
2024-08-31 r/8623 chore(tazjin/emacs): use emacs-pgtkVincent Ambo2-3/+2
I'm doing a wayland experiment, this is necessary for now. This disables some parts of the configuration which are not going to work with wayland. Change-Id: I61d0042fd52f2c7cade2794c0d5b5849ecaf5229 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12399 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-10 r/8472 chore(tazjin/emacs): add tree-sitter grammar for typescriptVincent Ambo1-0/+1
Had to fix some stuff in a typescript project, it's better with highlighting. Change-Id: I984540a791167427acde3494182521b8839aed6d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12069 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-07-22 r/8401 fix(tazjin/emacs): fix Go indentation offset in tree-sitter modeVincent Ambo1-6/+3
Change-Id: Id72ddc6345ee3eb70b7a1d594fe6bcd60d8d0868 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12020 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-06-08 r/8225 chore(3p/sources): Bump channels & overlayssterni1-1/+1
* agenix has not been updated (https://github.com/ryantm/agenix/pull/241). * wasm-bindgen bumped to 0.2.92 in Rust WASM projects * 3p/lisp: port lispPackages from stable channel The Lisp package set we are using (`pkgs.lispPackages`) is the "old old" package set, whereas we were supposed to have been using `pkgs.lispPackages_new` (which is the "old new" package set). Either way we missed that train, and now there's a "new new" package set, but with a twist: Lisp packages in nixpkgs are now tied to their compilers, so the most generic way to access them seems to be from `pkgs.sbclPackages`. Switching to the packages from the "new new" package set doesn't work: Lots of stuff stops building if we just switch the sources over, and not everything is trivially fixable. For now we stay on the lispPackages from the stable channel. We need to look into the migration later. Or rewrite panettone. * tvix: update generated protobuf files * 3p/nixpkgs: pick trunk from stable channel; newer versions try to read files and do network I/O during build, but don't print enough details in error messages to figure out why. * 3p/overlays: remove tdlib override (nixpkgs is currently new enough) * 3p/overlays: override telega.el sources while updates are lagging in nixpkgs * users/flokli/ipu6-softisp: update firmware paths, which NixOS now stores zstd-compressed. Change-Id: I5a7a6c8b5d0688461bca92b9e6d654356d3a1cf1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11711 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2024-06-03 r/8213 fix(tazjin/emacs): fix tab-width & fill-column defaultsVincent Ambo1-0/+3
I keep setting these manually whenever they annoy me too much, but why? Change-Id: I3a12dee51fd567a5f997005b277f099254e7f6d8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11748 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-03-10 r/7668 feat(tazjin/emacs): install treecrumbs packageVincent Ambo2-0/+4
Change-Id: Ia903a38df7258c1528f3d4ac3ca4ae7f82edb3e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11106 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2024-02-18 r/7545 fix(tazjin/emacs): fix new EXWM simulation key configVincent Ambo1-3/+2
The old helper function for setting multiple keys at once has been removed. Change-Id: I5089973bcb42ce1fae4afdd1d27ea22b46b63cbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/10956 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-01-12 r/7378 feat(tazjin/emacs): format Firefox window names in EXWMVincent Ambo1-0/+4
Change-Id: I2f6e662fcfab43f6d7538bb78e666cc86e5ef1ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/10613 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-01-10 r/7368 feat(tazjin/emacs): add M-x-always-same-windowVincent Ambo1-0/+8
Following a discussion on Telegram about window management ... might come in useful! Change-Id: If50741e4281c658bccc55e2f591ef945ef4b3b5d Reviewed-on: https://cl.tvl.fyi/c/depot/+/10592 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-12-30 r/7286 chore(tazjin/emacs): expose full package set usedVincent Ambo1-1/+3
Change-Id: I184a79f18af39338fe9c0c86ed1d80674f065217 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10478 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-12-29 r/7285 fix(tazjin/emacs): set 'x-no-window-managerVincent Ambo1-0/+1
This has some effect on the Emacs 29 hollow cursor bug, though I honestly don't fully understand what this does. Change-Id: I03eaa0a64e81f01a86736ad17b4c1b3a56fe3d5a Reviewed-on: https://cl.tvl.fyi/c/depot/+/10461 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-12-02 r/7109 chore(tazjin/emacs): minor configuration cleanupsVincent Ambo4-35/+23
Deletes some stuff that I think isn't necessary anymore, and consolidates the modes.el content into settings.el. Change-Id: Ib682dbdb4eb89b3a7ee2eca89da4151af806a508 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10187 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-12-02 r/7108 feat(tazjin/emacs): experimentally install eat terminal emulatorVincent Ambo1-0/+1
Change-Id: Ia9cea718631d3a9b5bf06e6bb0a9ed430e83f019 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10186 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-12-01 r/7103 feat(tazjin/emacs): experimentally install orderless & corfuVincent Ambo1-0/+4
Change-Id: Iabf2ad7562e5a9008cbf7aa701716b204e7239f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10182 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-12-01 r/7101 chore(tazjin/emacs): remove company-modeVincent Ambo5-20/+3
I have a suspicion that some strange behaviour I occasionally get is related to company mode. Change-Id: I26f25c31967ae092d15248a806acdf4f28cb4c10 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10176 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-12-01 r/7100 refactor(tazjin/emacs): remove telephone-lineVincent Ambo4-31/+5
I don't really like this package, it's kinda wonky, and now that part of my mode line logic is in the tab-bar, it's no longer needed. Change-Id: I4791a75e5ce2f0c49ef0d239cadf6a4f81c73636 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10171 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-28 r/7079 refactor(tazjin/emacs): move global-mode-line info into tab-barVincent Ambo3-39/+7
This removes the wonky hack with detecting the bottom right window, and gives me saner, unified handling of this display in the tab bar (of which there is only one!) Change-Id: Id21c6b2472d0c89fc4d000a10a9e90d2ddba86b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10165 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-26 r/7072 feat(tazjin/emacs): i3-style jumping back&forth for tab-bar-modeVincent Ambo1-1/+15
Change-Id: I19cab91646241edc38a58bf5546c9dd8161abeb0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10130 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-25 r/7062 chore(tazjin/emacs): remove all workspace related functionalityVincent Ambo2-191/+1
This removes everything related to workspaces, as well as the current RandR configuration, creating a (cleaner) slate for switching to tabs. This was supposed to be committed earlier, but got broken by clbot (see b/333). Change-Id: I2d110bca0d6629a505699210f0aba12882f83d48 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10115 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-25 r/7061 feat(tazjin/emacs): initial tab-bar-mode configurationVincent Ambo2-3/+23
Sets up tab-bar-mode for EXWM, and adds simple initial configuration and shortcuts to make it behave sanely. I had to assign tab switching shortcuts myself, as the EXWM input key stuff doesn't work correctly with the built-in way of setting these shortcuts in tab-bar-mode. Change-Id: Icd96f03ae7bd2bd5f7c2d59f9aca7a1ca2e7f788 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10116 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-11-25 r/7060 feat(tazjin/emacs): dynamically assign EXWM workspaces to monitorsVincent Ambo1-2/+37
Adds an `exwm-assign-workspaces` function that automatically creates and assigns workspaces to each currently connected monitor. The first workspace (index 0) is always on the primary monitor. This function should be idempotent and can be called at any point to synchronise X outputs and what EXWM is displaying on them. This works because tabs are disconnected from workspaces completely, so I don't have to care about what's going on on other workspaces anymore. Still missing: * functions to connect/disconnect outputs * switching to other outputs from within emacs commands (i.e. without the mouse) Change-Id: I7c24aa1b45218fe35de6939e799852b5d11d1272 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10119 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-25 r/7058 feat(tazjin/emacs): add a monitor focus switch shortcutVincent Ambo1-0/+14
This one is a bit stupid because I couldn't figure out a way to determine the active workspace. It's definitely possible (either through some XCB calls, or through state management in screen change hooks), but for now this is fine. Change-Id: I5e4c531b248caa0021664bad9dc196bef60cfbac Reviewed-on: https://cl.tvl.fyi/c/depot/+/10122 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-11-25 r/7057 fix(tazjin/emacs): pick new primary monitor when disabling currentVincent Ambo1-3/+15
By default, this will be the (only) remaining monitor. In N>2 situations, ask the user. Change-Id: Id68fcf60d56d0414d1072b8ffeef72c608678f52 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10121 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-25 r/7056 feat(tazjin/emacs): add interactive commands for configuring screensVincent Ambo1-0/+52
Uses a bunch of weird xrandr invocations and completing reads to configure screens the way I want. Note that this has a known bug where disconnecting a primary screen will *not* make one of the remaining screens primary. Change-Id: Ide5322df446685cc4740d4ddd7b6ca8682375050 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10120 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-11-22 r/7044 fix(3p/exwm): fix EXWM build with depot sourcesVincent Ambo1-1/+1
Something changed in the machinery and broke the overriding. I didn't notice this, as a I was temporarily using an unpatched EXWM. Change-Id: I1a4e8ea63bd116d86a430e680c2b631474e9a0fe Reviewed-on: https://cl.tvl.fyi/c/depot/+/10047 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-10-25 r/6879 fix(tazjin/emacs): always list ttys locallyVincent Ambo1-1/+2
Change-Id: Ic05378013aa327616a822336881d9a76c8a22d58 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9829 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-27 r/6666 feat(tazjin/emacs): add a key binding for telega-chat-withVincent Ambo1-1/+3
Puts this under the prefix command for #'telega itself. Change-Id: I7dc394840ded3f31bf54848e581a0add36da7f3b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9479 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-27 r/6665 fix(tazjin/emacs): set telega's completing read to standardVincent Ambo1-1/+3
Telega tries to use some random completing-read functions, but I just want it to use the default one, which I've configured the way I want. Change-Id: I33da24f257e8ac0cae4a7d25ba6c5e4e656fcad5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9478 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-27 r/6664 feat(tazjin/emacs): add more tree-sitter grammarsVincent Ambo1-0/+6
Change-Id: I8e38445457fe2663572ed9d15cdb1942336247dd Reviewed-on: https://cl.tvl.fyi/c/depot/+/9477 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6587 chore(tazjin/emacs): remove unused or duplicated packagesVincent Ambo3-17/+5
Some of these I don't use, some of these have been replaced with tree-sitter, some of these have moved into core. Change-Id: Id0a8aac4189607a89db861bbc09b95c75c45dc0f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9310 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-12 r/6586 fix(tazjin/emacs): manually hook up tree-sitter grammarsVincent Ambo1-17/+19
The mechanism in nixpkgs does not work, but doing it myself is not that difficult. Change-Id: I91b12e9c1f5d381c9990fd46e02169f5275f88da Reviewed-on: https://cl.tvl.fyi/c/depot/+/9309 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6585 feat(tazjin/emacs): enable a bunch of tree-sitter modesVincent Ambo1-0/+17
Especially interested in the C++ mode, as I am regularly dealing with extremely large C++ files where the existing mode is having trouble. Change-Id: I8c17a35011a23b67043de5de58c4269c636de68b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9308 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6584 feat(tazjin/emacs): add a bunch of tree-sitter grammarsVincent Ambo1-0/+17
I want to experiment with the new tree-sitter modes in Emacs, maybe they're good. Change-Id: I706fc8a889fcfa61d0f11d50ecbc67a2899b5bbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/9307 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-02 r/6541 chore(tazjin/emacs): refine -> inspetorVincent Ambo1-1/+1
refine doesn't work anymore, inspector seems to be a more modern alternative. it's impressive that they managed to write elisp code that broke. Change-Id: I672de68abdc3d780f66769043afefd8d37438548 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9209 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-29 r/6536 chore(tazjin/emacs): remove withLocalEmacsVincent Ambo1-15/+0
I only wrote this as a hack to make my Emacs config run on gLinux, but that isn't relevant anymore. Change-Id: I19c49d500e0ec75bb85644d25a63b0b6c530aa62 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9165 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-29 r/6535 chore(tazjin/emacs): emacs-unstable -> emacs29Vincent Ambo1-1/+1
Instead of staying up-to-date with Emacs master, I'd like to be a bit more laid back and stay with stable releases. Now that native compilation is in this is not a big difference. I tried to use `-pgtk`, but it broke EXWM. Change-Id: I0789a1f73d0149bda912987e726de396545abce1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9164 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-29 r/6534 refactor(tazjin/gio-list-apps): refactor into dynamic Emacs moduleVincent Ambo2-7/+12
Instead of producing a binary that gets called by Emacs, with input/output serialisation, use a dynamic Emacs module that lets Emacs more-or-less directly call the relevant GTK functions. I'm doing this mostly as an experiment. Might be interesting to end up with a dynamic module that I can dump some experimental code into that improves my workflows. To do this, I've exposed the emacs binary used by my Emacs configuration in an additional `passthru` field. This ensures that the module is linked against the right version of Emacs. Change-Id: I1426994fe3455ed1b2a685c5a09705e29fa40950 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9163 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-08-29 r/6533 refactor(tazjin/emacs): refactor LRU workspace list to use ring.elVincent Ambo1-40/+21
This built-in emacs library actually provides a data structure that can work as an LRU list through the existing helper function to move an element to the front of the ring if it already exists. As a result, the code for workspace history moving becomes a lot less brittle and complicated than it was before. No more carefully figuring out when to modify state, just push it in the ring unless it's being rotated already. Change-Id: If354e0618fc5a6d7333776468eec077596cfe9df Reviewed-on: https://cl.tvl.fyi/c/depot/+/9162 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-29 r/6532 chore(tazjin/emacs): remove EXWM gnome-terminal window naming caseVincent Ambo1-8/+0
I haven't used that since ... 2018 or so, time for it to go. Change-Id: I5e1b729bd553940b98335e3d9c7ca5b134fdf692 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9161 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-28 r/6531 feat(tazjin/emacs): add occasionally useful advice-remove-all helperVincent Ambo1-0/+5
Change-Id: I66981e8bec300dff48d7a549f2d2847c637a4557 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9160 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-28 r/6530 chore(tazjin/emacs): remove now builtin packagesVincent Ambo1-2/+0
Change-Id: Ib7bf90a1c1fcd9d4475664f4d68a83967df47bfc Reviewed-on: https://cl.tvl.fyi/c/depot/+/9159 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-26 r/6529 feat(tazjin/emacs): implement run-xdg-app using gio-list-apps toolVincent Ambo3-2/+20
Change-Id: I43111dfc7091c416035be563ca7fc17265667b33 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9158 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-26 r/6527 feat(tazjin/emacs): annotate remote files in reliably-switch-bufferVincent Ambo1-3/+15
Change-Id: I0fa460f2d455114ca9387ad23d5a72bcb5a5d9ea Reviewed-on: https://cl.tvl.fyi/c/depot/+/9156 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-26 r/6526 refactor(tazjin/emacs): ivy,swiper,counsel -> vertico,consultVincent Ambo6-41/+14
vertico and consult are more modern versions of interactive narrowing helpers, as those implemented by ivy and its related packages. The primary differences (and what I care about here) is that they are more focused on integration with the core Emacs primitives, rather than building an ecosystem around them. For example: * vertico enhances `completing-read' and friends, but does not attempt to provide its own ecosystem of functions to *trigger* completions. * vertico integrates with the default `completion-style' system, meaning that I can continue to use things like prescient without extra packages that integrate it with vertico * consult does not rely on vertico or any other specific completion framework (such as counsel/swiper do with ivy), and simply implements its functions using completing-read This reduces the overall amount of code in the dependency closure and leads to a less special setup. Functionality is basically equivalent, except for two things which counsel came with that I will need to substitute: * counsel-notmuch (actually this was a separate package, but I didn't use it much anyways, so just ignoring it for now) * counsel-linux-app (opening desktop shortcuts, this I will need to make) As a side note, consult notes "This package is a part of GNU Emacs", but it doesn't seem to be the case. Change-Id: Ia046b763bf3d401b505e0f6393cfe1ccd6f41293 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9155 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-26 r/6525 chore(tazjin/emacs): remove a bunch of unused codeVincent Ambo5-106/+5
Change-Id: Ife854e83ef97f1e9a26072f2ab2a3b23f5d64840 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9154 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-23 r/6522 fix(tazjin/emacs): suppress incredibly ennoying EPA error bufferVincent Ambo1-1/+3
When entering an incorrect GPG key password, I don't want my whole buffer layout ruined. A small error message in the modeline is enough. Change-Id: I7318d685e74fa4e110a9bff30d0de9f7f18b2be4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9149 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-23 r/6521 chore(tazjin/emacs): disable some nonsensical ivy optionsVincent Ambo1-3/+1
Especially the recursive minibuffers only cause a mess. Change-Id: I6f7f790acd6a2f8cc4cec26c9cf97d5e53e77106 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9148 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-23 r/6520 feat(tazjin/emacs): implement reliably-switch-bufferVincent Ambo2-0/+22
Adds a completing-read function (defaulting to ivy for me, but it doesn't matter) that offers a reliable alternative to standard buffer-switching implementations. In particular, this implementation retains a mapping of buffer names to their buffer *objects*, so that the correct buffer is selected even if some renaming took place during the selection. I tried to account for a bunch of the common behaviours I could think of: * invisible buffers are ... invisible * entering a buffer name manually creates that buffer, if there is no match * ... unless that buffer is an invisible buffer, in which case it is selected and switched to * the first element is always `(other-buffer (current-buffer))`, because of the ordering of #'buffer-list Yet, the entire code of my implementation is less than the *setup* code of ivy-switch-buffers, so it's possible I missed something. Well, I'll find out ... Change-Id: I08be0da0863d06c9a930e5efaf916719655db90e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9147 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-08-08 r/6469 feat(tazjin/emacs): use python-mode for Starlark filesVincent Ambo1-0/+3
Change-Id: I1b86ef7849f0754ba0ff37cb261b38bf9c5aed12 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9016 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-08-08 r/6468 fix(tazjin/emacs): unbind dangerous telega.el shortcutVincent Ambo1-1/+2
The `a` shortcut of telega makes it dangerously easy to accidentally add users whose username starts with `a` to a group. This unbinds the shortcut, and leaves the member-adding function to be called manually and explicitly only. Change-Id: Iedb6291f16a299fc5d4ef824a1be6eb0a449001f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9015 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI