f5a9608 introduces a bug which prevents the font from being applied if
Emacs is started as a server through systemd, since it does not start
in GUI mode. This commit fixes this behavior by applying the
user-defined font when a new frame is created since the new frame
might be in GUI mode.
`SPC e' is now dedicated to flyspell and errors-related functions.
Email keybinds move from `SPC e' to `SPC a e', and elfeed moves from
`SPC a e' to `SPC a E'
For some reason, Emacs stopped picking up org-ref at some point,
giving me the error
Symbol's value as variable is void: org-ref
This commit hopefully fixes that.
`shell-command-and-echo' now takes an additional argument that will
prefix the output of its ECHO argument.
Also add documentation for the function
This commit removes keybind `SPC m P' in favor of only `SPC m p' which
toggles the state of MPD between play and pause.
Filters for the inbox and other bookmarks will now work better.
A new bookmark for my association, Supran, is now added.
The `eshell-info-banner' bookmark is now replaced by the `Github'
bookmark which will be the place where I can see all emails sent by
Github related to new comments or actions on issues and PRs.
By default, org-mode will add two spaces before code lines in the org
file itself. This does not change how code is edited when editing a
code block through `org-edit-special' but when copy/pasting code or
editing it directly from the org file, it can be troublesome.
Setting `org-src-preserve-indentation' to `t' prevents org from adding
these two spaces.
Better `org-macro' face to make it more visible.
For some reason, Emacs doesn’t like copying files over the `rsync'
protocol anymore, but the `ssh' protocol is fine ¯\_(ツ)_/¯
Loading org-mode will now also load org-ref by default.
For some reason, some keybinds in mu4e weren’t getting undefined
anymore, this is now fixed.
Add automatic vertical split if the screen is considered wide
enough (120 characters for the headers mode and 80 characters for the
message view mode). If the screen or the headers mode window are not
wide enough, the window will split horizontally instead of vertically.
This commit also adds a function to quickly insert a response to
spammers to get them trapped in an infinite loop of emails. See the
new links in this commit.
Better exporters, better support of org-babel
Exporters added:
- ox-ssh
- ox-epub
- ox-gfm
Better HTML and LaTeX export
org live HTML preview
Add org-ref
- org-tree-slide : presentation mode for org-mode
- git-gutter-fringe : show edited zones in files since last commit
- archwki : navigate local archwiki pages with Emacs
- keycast : show which keys are pressed
- sicp : read the sicp in Emacs
- ytplay : read YouTube videos from Emacs in mpv
- toml-mode
- better info-colors
Better formatting for `eshell-info-banner' bookmark
Unbind some keys for some keymaps
Better face for replied to emails
Remove useless `progn'
Go from `:general' to `general-define-key'. For some reason, the
former seems to not perform correctly.
Reformat some Elisp code
Activate auto-revert-mode so buffers are reloaded on external file
change
gnus-dired-mode activated by default in dired
Remove `C-x m' keybining for mu4e-compose-new
There no longer is a big code block at the beginning of the basic
configuration paragraph. It is now all documented.
Dired is also much more customized, with its configuration fully
documented.
Parinfer and Evil-surround were also added to the list
Custom PATH was removed since it caused some serious issues with Emacs
not finding required binaries. It seems this was only needed at a
certain point in my Spacemacs config, and it is no longer needed in
either Spacemacs nor my current config.
Some preliminary work with EXWM has been done, though I am still not
sure if I’ll ever use it as my main WM (I’m currently also taking a
look at StumpWM).
Bufler was added to my packages for managing my buffers.
Org-mode moved `org-plus-contrib' out of the main repo, and it is now
a separate package, `org-contrib'. I now also follow the git version
of org-mode (it is no longer managed by my system’s package manager).
This commit rebases my Emacs PKGBUILD on the one used by
`emacs-git'. By default, my compiler will now use the gold linker,
native-compilation, and ahead of time elisp native compilation. It
stills include PDF documentation and xwidgets browser, but removes the
HTML docs.
Recently, the `contrib/' directory of org moved to a different
repository. This broke the previous `emacs-org-mode-git' package. This
commit adds a new PKGBUILD for `emacs-org-mode-git' and adds a
configuration snippet for `org-contrib' in my vanilla Emacs
configuration.
Rename `installation.org' to `bootstrap.org' since it better describes
what it is for.
Rename `emacs.org' to `spacemacs.org', preparing for the new
`emacs.org' dedicated to my vanilla config.
Chemacs2 is a utility for Emacs to switch between various profiles and
configurations of Emacs without a hassle.
It thus helps me run my fully configured Spacemacss alongside my new
attempt at configuring some vanilla Emacs after years of using
Spacemacs.
I also added Doom-Emacs for reference.
Shortcut `SPC o '' now launches `eshell-new' instead of just plain
`eshell', a new shortcut invokes `vterm', and the shortcut for
`helm-man-woman' is removed in favor of the default one in Spacemacs
This commit fixes an issue with the macro `phundrak-var-or-if-nil' by
removing it entirely. For some reason, it was broken in a previous
commit, and the path did not show up in the prompt unless in a git
repository.
Now, `phundrak-var-or-if-nil' is removed entirely.
Previously, some code relied on dash.el to generate some code when
tangling my Emacs config, but if Emacs was to be launched without an
up to date tangled configuration, it would attempt to automatically
tangle it. However, due to dash.el not being loaded, it could not find
some of the required functions.
This commit replaces these functions with handmade functions that can
be loaded at tangle-time, and tangling always works.
Mu4e:
- Set a better date format for mu4e than the American format
- Remove mu4e relying on w3m
Org:
- change the size of fixed font
- change variable-pitch font
Add function `phundrak/file-to-string' which reads the content of a
file to a string.
Eshell banner makes one less shell command and makes it a bit more
distro-agnostic, although still very Linux-centered.
Turns out isync didn’t sync my /Junk directory in which were a lot of
emails I would have liked to read. Now bookmarks referring to /Inbox
also display content from /Junk
Also, emails are automatically signed with PGP/MIME now.
org-block background color was too light and had too little contrast
with the selection face. Similarly, `mu4e-highlight-face' was empty.
This commit fixes that by giving org-block a darker background and
`mu4e-highlight-face' a background and foreground color.
Having a project located in a remote host in
`projectile-ignored-projects' made Emacs often connect to Tilo for no
apparent reasons. This commit should fix it.
I use now the official nord theme found on Articices Studio’s Github.
Faces broke partly due to two different calls to
`custom-theme-set-faces'. This can be fixed by putting all faces
editions together. However, this commit also removes custom faces for
mu4e since colors are no longer broken.
The code for faces is now generated from the org tables in the
related subheadings.
Between Emacs 28.0.50.145785 and Emacs 28.0.50.146000, a commit broke my
face config, and inheriting from `fixed-pitch' no longer made my faces
fixed-pitched. This commit therefore sets directly the font of the faces
than need to be fixed-pitched instead of relying on the `fixed-pitch'
face.
When Emacs starts up, it verifies twice the state of its .el and .elc
configuration files that come from emacs.org. If any of the .el file is
older than emacs.org, the latter is tangled again.
Then, if it detects any of the .elc file is older than its .el
counterpart, it will byte-compile the latter.
Tangling now happens within the launched Emacs instance and not in a
separate instance.
Nom all the orgmode configuration is done using noweb, and only one
block is tangled.
Some parts of the org configuration were reorganised to make the TOC
a bit lighter.
All exported `.el' files now have a lexical-binding header. This should
make parsing these files faster.
Custom variables such as the Nord colors are now declared with `defvar'
rather than with `setq' directly to avoid using free variables.
The package `info-colors' is now added, making info pages much more
pleasing to the eye.
Some headers in the Org chapter are renamed and organized alphabetically
Additional org variables to make it more usable
Variable `phundrak//eshell-banner--max-length' is renamed to
`phundrak//eshell-banner--max-length-part' in order to make its usage
more obvious from its name.
The w3m layer is now removed as I did not use it at all.
The conlanging layer is moved to ~/fromGIT/emacs-packages and now a
symlink points to its new location. This is done in order to prevent
Emacs from compiling its .el files when recompiling its configuration
files.
Configuration files are now compiled when emacs.org is tangled by Emacs
itself or if the .el files are newer than the .elc files.
TODO: find a way to natively compile and load these files instead of
just byte-compile them if native compilation is available
Banner broke with memory filled by only a couple hundreds megabytes of
memory, the amount displayed was too large for what was reserved. More
space is now dedicated to displaying such numbers, and the ramp is thus
a bit shorter.
Mu4e header is now only 80 chars wide by default, regardless on the
width of the current frame.
Some code is now also better aligned, some whitespace was left from
earlier configuration that did not make it into the git repository
This commit makes font face for replied to emails and unread emails more
distinguishable. The difference between the two were just the text being
bold or not, now replied to emails have a Nord15 foreground text color.
This package often caused my configuration to break due to Emacs not
finding `eshell-syntax-highlight-global-mode' despite the package being
installed. More troublesome than it’s worth, I’m uninstalling it.
Many Eshell functions do not need to be declared as such and can do just
fine as Eshell aliases. This commit moves all these functions to the
'eshell-alias' file
This commit removes the banner displayed on Eshell launch. I will
maybe do something with it one day similar to my fish_greeting
function for the fish shell.
The git prompt now also separates the current path in half if we are
in a git repository: the path up to the repository, the git prompt,
and then the relative path to the repo is are shown in that order.
To achieve that, `phundrak/is-dir-a-git-repo' has been modified to
return either the path to the git repo or `nil'.
This commit adds to my configuration the Swift layer from Spacemacs, as
well as ob-swift for evaluating Swift code in org-mode –because
apparently it is not part of the layer itself.
The keybinding to `wttrin' is also modified to `SPC o a W', with its
original keybinding `SPC o a w' set to `helm-man-woman', a helm
interface to Emacs’ `woman'.
`if's that had one branch are replaced with `when', and `if's which only
actual branch is the else branch are replaced by `unless'.
`phundrak/eshell-git-status' no longer verifies whether its `$path'
argument points to a git repository, that is now the role of the callee.
`phundrak/eshell-prompt' now makes use of more variables to make the
code more readable.
Some documentation is now formatted correctly
This commit fixes the removal of the `~' character (it needed to be
escaped), add commas and backslashes to the list of characters to be
removed, and updates some `CUSTOM_ID' heading properties accordingly
This commit renames `eshell/my-prompt' to `phundrak/eshell-prompt'.
`phundrak/abbr-pwd' is now simplified, and it is no longer responsible
for fetching the current path which must now be passed as its first
argument. It will also reject any argument which is neither a string
(should be the only type to be passed for public use) nor a list (for
internal usage).
A bug was introduced in b97bbf8 with the fix for Eshell, where the
abbreviated path was not used anymore. This commit fixes it.
This commit also introduces the new macro `phundrak/var-or-if-nil'
which is documented in the code. It has replaced some code already.
The coding style of some recent functions have been updated too,
arguments names now begin with a dollar `$' sign. This is just stylistic
and it has no influence on the code whatsoever.
Finally, some nested `if's in `phundrak/abbr-pwd' were converted in a
single `cond', which led to renaming two variables in order to avoid a
collision between the variable and the function `push' – `pull' has been
renamed accordingly.
This commit adds the connection method for Docker containers through
Tramp and stores it under the newly created Tramp heading under which
the implementation of the Yadm connection method is implemented.
The list of languages supported with org-babel is now presented as an
org table.
Common variable values in org projects are now shared through one
variable each instead of having the value repeated.