This avoids setting those variables in Emacs 29.x, which is still supported by this
configuration (it won't hurt much to set those variables in this case as well, though).
To this end, do not use :custom in use-package declaration, because
according to the documentation[1], `:custom` declarations can conflict
with settings done via `customize-option`. However, values set directly
in the configuration files should always be allowed to be overwritten by
custom settings done by the user – at least that's the general approach
of this Emacs configuration.
[1]: https://www.gnu.org/software/emacs/manual/html_mono/use-package.html#User-options
Give buffers running ephemeral `eshell` or `shell` sessions a name that
is different from the default name chosen by these commands, and only
restrict those ephemeral shell buffers to be displayed at the side.
This way, running the commands `eshell` and `shell` will yield windows
can be handled like any others and can be used for long-running
sessions.
This is mostly copied from the current implementation in `bookmark.el`,
adapted to non-filename bookmarks.
Note that we are now using the `location` slot in bookmarks to store the
URLs, and relocating bookmarks will set the `filename` slot to `nil`.
I keep a tree of Git repositories organized as submodules in my home
directories and want each of those repositories to be considered a
separated project. The repositories that are indeed a proper part of a
superproject I can ignore.
Shrink fist column, because my repositories are usually not that long.
Version information is also less important than upstream divergence to
me, so let's move this behind.
I haven't really used `company` in the recent past, so removing this
package does not hurt much. Maybe `corfu` will be more practical for
me, as it also only relies on builtin in-buffer completion and does not
require additional magic. However, I usually do not use popup
completion dialogs much, because I find them obstructive.
`projectile` is nice, but I rarely use a fraction of its functionality
and not having to use an external package for project management feels
more robust.
Seeing active minor modes directly might be informative. Try to reduce
the list of shown minor modes to only interesting ones using the (still
existing) diminish configuration. Remove now obsolete configuration of
the minions package.
`globel-company-mode` has not been used since quite some time, and
completion in the individual programming modes should be handeled by
LSP. Disabling `company-mode` also allows to use standard completion
features, which is nice.