Commit Graph

299 Commits

Author SHA1 Message Date
0cb31d178a chore(elpaca): switch to later custom branch with additional features
Use the native-compilation branch from my fork. This branch is on top of the other lock-file related changes, so all my enhancements are available.
2026-01-05 17:33:26 +00:00
ec25a4edfa feat(elpaca): add async native compilation support during package build 2026-01-05 08:28:41 +00:00
95d723f311 chore(packages): switch to custom fork of elpaca
I have a pending PR with a few enhancements to Elpaca around lock file usage. Hence I'm switching to the PR branch here for now.
2026-01-05 07:55:27 +00:00
e63120b478 feat(package)!: migrate from straight.el to elpaca package manager (#30) 2026-01-02 07:46:55 +00:00
fe6a4e7ce5 fix(elisp): add lexical-binding comment to all files to suppress new Emacs 31 warnings
I've set `lexical-binding` to `nil` in all Emacs Lisp files to suppress
the warnings introduced in Emacs 31 requiring all elisp files to have a
`lexical-binding` comment.

This retains the default behavior of dynamic binding when no
`lexical-binding` comment is present. With it set to `t` across the
board, various things break, and fixing those is a task for another day.
2025-06-29 12:23:03 +01:00
Jim Myhrberg
cb799f31e0 feat(workspaces): replace desktop.el with easysession
It seems easysession is a more modern take on session management, and
most importantly, it is much faster than desktop.el. So far this seems
to work fine, so I'll give it a proper try.
2024-12-16 18:37:30 +00:00
Jim Myhrberg
5009bf681e chore(core/compile): add disabled setup for compile-angel
Once kinks have been worked out, we can re-enable it again.
2024-11-21 01:29:08 +00:00
Jim Myhrberg
bd6c2439f0 chore(keybinds): replace nearly all global-set-key with general 2024-11-21 01:24:10 +00:00
Jim Myhrberg
623973802b perf(lsp): use plists to improve lsp-mode performance 2024-11-21 00:18:28 +00:00
243e2e17b1 chore(treesit): add and use treesit helpers for easier custom font-lock queries 2024-10-23 02:07:27 +01:00
c6ef45ffbe chore(package): remove override of refine package
Relevant PRs are merged.
2024-10-18 03:05:30 +01:00
2b4c3a2d7a feat(core): add siren list manipulation helper functions 2024-10-18 03:04:08 +01:00
32dfd4dd16 chore(package/vertico): remove definition override that fixed build
Upstream package definition no correctly includes the various
extensions, so this override is no longer needed.
2024-09-13 08:27:57 +01:00
e0376e6830 chore(package/dirvish): switch to another fork with more fixes 2024-09-13 08:23:06 +01:00
dec45868d3 fix(package/refine): use fork of refine with fixes 2024-09-13 08:22:47 +01:00
6e9307d616 feat(editor/env): switch from direnv package to envrc and mise
envrc.el should be less invasive overall, and mise does the same thing,
but for mise instead of direnv.
2024-05-09 02:31:34 +01:00
ed2c051ea1 feat(core/linux): maximize window after finished loading 2024-02-19 01:12:24 +00:00
434d13dd0e fix(nativation/dirvish): use fork with fix for issue with Emacs 30.x 2024-02-01 23:03:32 +01:00
e918ef57c2 chore(env): don't load go and goenv env vars into Emacs 2023-11-20 20:10:23 +00:00
c6d5682037 feat(misc): add helper command to display list of available fonts 2023-11-20 19:40:54 +00:00
de1fd38481 fix(language/typescript): ensure it loads correctly 2023-08-01 01:35:36 +01:00
539d063403 chore(editor): change from snap-indent to yank-indent package
yank-indent is more focused on specifically indenting after yank, and
the PR to enhance snap-indent with some similar features has been open
for some time now with no movement.
2023-06-13 00:59:55 +01:00
763955452c chore(deps): use built-in use-package if available
use-package was recently added to Emacs itself. Hence if it is
available, do not separately install the package from a package source.
2023-05-23 23:07:53 +01:00
08787800a3 fix(macos): hide all child frames when toggling non-native fullscreen
For a couple of years now, there's been a bug on macOS with the
non-native fullscreen implementation. When enabling fullscreen, any
child-frames created by packages like lsp-ui, company-box, posframe,
etc. all re-appear on top of the fullscreened frame, and stay there
until you re-trigger whatever package/command that created the
childframe originally.

This works around this issue by simply closing all child frames when
toggling non-native fullscreen.
2023-05-23 23:04:52 +01:00
431692af1a feat(language/csv): add setup for csv-mode 2023-05-17 13:46:15 +01:00
f5ce193239 feat(core): update font selection preferring Nerd Font Mono 2023-05-15 22:36:14 +01:00
1729317cd8 feat(navigation): add dirvish and have it override/enhance dired 2023-05-15 22:36:14 +01:00
4654ea5e80 fix(completion/marginalia): improve issues with project-buffer annotations
Show project relative file paths even when project root and file paths
start with a mixure of "~/" and absolute path.

Also handle buffers not backed by a file on disk by falling back onto
marginalia--buffer-file.
2023-05-11 01:19:05 +01:00
146d2311a9 chore(treesit): tweak setup of built-in treesit modes 2023-05-09 01:30:18 +01:00
3bd155cb79 feat(editor): try snap-indent as a replacement for yank-indent
Currently trying via my own fork of snap-indent, which has a PR pending.
2023-05-01 00:01:45 +01:00
a78e417e6f feat(icons): use nerd-fonts to display icons in terminals
Uses the new nerd-icons package to display icons in various places
similar to all-the-icons. But it works in a terminal too as long as the
terminal is using a Nerd Font.
2023-04-30 23:47:38 +01:00
35695a7455 chore(editor): remove diminish package
Since we're using the doom-modeline, diminish has no visible effect.
2023-04-25 02:02:56 +01:00
0308067065 refactor(ui): move transparency related things to a module 2023-04-25 02:00:27 +01:00
d0d604bbc7 feat(ai/chatgpt): all per-model API key configuration in shared setup 2023-04-17 01:15:06 +01:00
4f32191983 feat(ai/chatgpt): improvements with a focus on gptel and chatgpt-shell packages 2023-04-16 18:13:58 +01:00
0eedc37603 feat(editor): add custom yank-indent package
When yank-indent-mode is enabled, yanked (pasted) text is indented based
on the indent rules of the current major mode. It has a
global-yank-indent-mode too which by default excludes a long list of
known indentation sensitive modes with which this approach does not work
very well.

It is based on some random hacky snippets elisp I've been using for over
a decade. Said snippets are themselves based on some random snippets I
found online, and since morphed into the weird monster they had become.
2023-04-16 03:13:14 +01:00
f058bee1df feat(core/macos): add C-s-<return> alternative binding for fullscreen toggle 2023-03-23 01:35:54 +00:00
9207050c23 feat(misc/chatgpt): add unofficial package for interacting with ChatGPT 2023-03-07 23:35:03 +00:00
cead803781 feat(language/typescript): switch to new typescript-ts-mode
As typescript-mode has effectively been deprecated, let's switch to the
new typescript-ts-mode in Emacs 29.x.
2023-02-08 22:43:46 +00:00
f27702dda2 chore(core): simplify startup message 2023-01-20 20:58:23 +00:00
ce0a9bfc5c feat(core/straight.el): use version specific build dir
This makes switching between Emacs 29.x and 30.x much easier, as
straight doesn't need to re-build all packages from scratch when the
Emacs version changes.
2023-01-15 20:57:29 +00:00
7e29a78b05 feat(language/rust): major improvements to Rust dev experience 2023-01-15 20:57:29 +00:00
23d6664609 feat(language/nix): add nix-mode for editing *.nix files 2023-01-09 10:49:23 +00:00
d6457f26de feat(editor): add direnv-mode to set env vars via direnv 2023-01-09 10:48:26 +00:00
53763d7112 chore(deps): update go-playground after fix-upload PR was merged 2022-12-04 22:17:13 +00:00
dad465c90a chore(text-editing/smartparens): move setup to a central list of hooks 2022-12-04 01:55:43 +00:00
9654403bee feat(editor): enable subword-word globally in all buffers 2022-12-04 01:14:57 +00:00
63d0345b21 chore(editor/origami): move setup to a central list of hooks 2022-12-04 00:27:38 +00:00
5e47cd9a46 chore(formatting/prettier-js): move setup to a central list of hooks 2022-12-03 23:38:39 +00:00
044c67d379 chore(tree-sitter): move setup to a central list of hooks 2022-12-03 23:34:52 +00:00