diff --git a/.spacemacs b/.spacemacs index 7b93f01..7ab270e 100644 --- a/.spacemacs +++ b/.spacemacs @@ -2,217 +2,6 @@ ;; This file is loaded by Spacemacs at startup. ;; It must be stored in your home directory. -(defun dotspacemacs/layers () - "Layer configuration: -This function should only modify configuration layer settings." - (setq-default - ;; Base distribution to use. This is a layer contained in the directory - ;; `+distribution'. For now available distributions are `spacemacs-base' - ;; or `spacemacs'. (default 'spacemacs) - dotspacemacs-distribution 'spacemacs - - ;; Lazy installation of layers (i.e. layers are installed only when a file - ;; with a supported type is opened). Possible values are `all', `unused' - ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers - ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will - ;; lazy install any layer that support lazy installation even the layers - ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy - ;; installation feature and you have to explicitly list a layer in the - ;; variable `dotspacemacs-configuration-layers' to install it. - ;; (default 'unused) - dotspacemacs-enable-lazy-installation 'unused - - ;; If non-nil then Spacemacs will ask for confirmation before installing - ;; a layer lazily. (default t) - dotspacemacs-ask-for-lazy-installation t - - ;; List of additional paths where to look for configuration layers. - ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') - dotspacemacs-configuration-layer-path '() - - ;; List of configuration layers to load. - dotspacemacs-configuration-layers - '(asm - (auto-completion :variables - auto-completion-complete-with-key-sequence-delay 0.2 - auto-completion-enable-help-tooltip 'manual - auto-completion-enable-snippets-in-popup t - auto-completion-enable-sort-by-usage t - :disabled-for - org - git) - (better-defaults :variables - better-defaults-move-to-beginning-of-code-first t - better-defaults-move-to-end-of-code-first t) - (c-c++ :variables - c-c++-default-mode-for-headers 'c-mode - c-c++-adopt-subprojects t - c-c++-enable-google-style t - c-c++-enable-c++11 t - c-c++-backend 'lsp-ccls - c-c++-lsp-executable "/usr/bin/ccls" - c-c++-lsp-sem-highlight-method 'overlay - c-c++-lsp-sem-highlight-rainbow t - c-c++-adopt-subprojects t - c++-enable-organize-includes-on-save t) - (cmake :variables - cmake-enable-cmake-ide-support t) - conlanging - csv - colors - (dart :variables - dart-server-sdk-path "/opt/flutter/bin/cache/dart-sdk/" - lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/") - dap - dired-phundrak - django - docker - emacs-lisp - epub - ess - git - graphviz - (go :variables - go-backend 'lsp - go-tab-width 2 - go-use-golangci-lint t) - gnus - (helm :variables - helm-no-header t - helm-use-fuzzy 'source) - helpful - (html :variables - web-fmt-tool 'web-beautify - css-enable-lsp t - less-enable-lsp t - scss-enable-lsp t - html-enable-lsp t) - (ibuffer :variables - ibuffer-group-buffers-by 'projects) - imenu-list - (javascript :variables - javascript-backend 'lsp - javascript-lsp-linter nil - javascript-fmt-tool 'web-beautify - javascript-repl 'skewer - node-add-modules-path t) - (json :variables - json-fmt-tool 'web-beautify) - (keyboard-layout :variables - kl-layout 'bepo - kl-disabled-configurations '(magit dired eww)) - (latex :variables - latex-build-command "xelatex" - latex-enable-auto-fill t - latex-enable-folding t - latex-enable-magic t) - lsp - major-modes - (markdown :variables - markdown-live-preview-engine 'vmd - markdown-mmm-auto-modes '("c" - "c++" - "python" - "rust" - ("elisp" "emacs-lisp"))) - nginx - (org :variables - org-enable-reveal-js-support t - org-enable-github-support t - spaceline-org-clock-p t - org-enable-sticky-header t - org-enable-epub-support t - org-projectile-file "TODOs.org" - org-download-image-dir "~/Pictures/org/" - org-enable-org-journal-support t - org-journal-dir "~/org/journal/" - org-journal-file-format "%Y-%m-%d" - org-enable-epub-support t - org-return-follows-link t) - pass - pdf - prettier - prolog - (python :variables - python-backend 'lsp - python-sort-imports-on-save t - python-fill-column 80 - python-test-runner '(pytest nose) - python-formatter 'lsp) - (restclient :variables - restclient-use-org t) - (rust :variables rust-backend 'lsp) - (scheme :variables - geiser-chicken-binary "chicken-csi") - semantic - (shell :variables - shell-default-height 40 - shell-default-position 'bottom - shell-default-shell 'eshell) - shell-scripts - selectric - semantic - (spell-checking :variables - spell-checking-enable-by-default nil - spell-checking-enable-auto-dictionary t - enable-flyspell-auto-completion nil) - (syntax-checking :variables - spell-checking-enable-by-default nil - spell-checking-enable-auto-dictionary t - syntax-checking-enable-tooltips t - syntax-checking-use-original-bitmaps t) - systemd - (treemacs :variables - treemacs-use-follow-mode nil - treemacs-use-filewatch-mode t) - twitter - unicode-fonts - w3m - xkcd - web-beautify - yaml) - - ;; List of additional packages that will be installed without being - ;; wrapped in a layer. If you need some configuration for these - ;; packages, then consider creating a layer. You can also put the - ;; configuration in `dotspacemacs/user-config'. - ;; To use a local version of a package, use the `:location' property: - ;; '(your-package :location "~/path/to/your-package/") - ;; Also include the dependencies as they will not be resolved automatically. - dotspacemacs-additional-packages '(atomic-chrome - dired-du - doom-themes - edit-indirect - elcord - eshell-git-prompt - flycheck-golangci-lint - kaolin-themes - magit-gitflow - meson-mode - modern-cpp-font-lock - multiple-cursors - org-sidebar - outorg - pinentry - visual-fill-column - wttrin - xresources-theme - yasnippet-snippets) - ;; A list of packages that cannot be updated. - dotspacemacs-frozen-packages '() - - ;; A list of packages that will not be installed and loaded. - dotspacemacs-excluded-packages '() - - ;; Defines the behaviour of Spacemacs when installing packages. - ;; Possible values are `used-only', `used-but-keep-unused' and `all'. - ;; `used-only' installs only explicitly used packages and deletes any unused - ;; packages as well as their unused dependencies. `used-but-keep-unused' - ;; installs only the used packages but won't delete unused ones. `all' - ;; installs *all* packages supported by Spacemacs and never uninstalls them. - ;; (default is `used-only') - dotspacemacs-install-packages 'used-only)) - (defun dotspacemacs/init () "Initialization: This function is called at the very beginning of Spacemacs startup, @@ -222,9 +11,11 @@ It should only modify the values of Spacemacs settings." phundrak/gnus-uc (concat (getenv "HOME") "/.gnus.el") phundrak/src (concat (getenv "HOME") "/spacemacs.org") phundrak/si (concat phundrak/src-dir "spacemacs-init.el") + phundrak/sl (concat phundrak/src-dir "spacemacs-layers.el") phundrak/uc (concat phundrak/src-dir "user-config.el") phundrak/ui (concat phundrak/src-dir "user-init.el")) (when (or (file-newer-than-file-p phundrak/src phundrak/si) + (file-newer-than-file-p phundrak/src phundrak/sl) (file-newer-than-file-p phundrak/src phundrak/ui) (file-newer-than-file-p phundrak/src phundrak/uc) (file-newer-than-file-p phundrak/src phundrak/gnus-uc)) @@ -237,6 +28,11 @@ It should only modify the values of Spacemacs settings." (load-file phundrak/si)) +(defun dotspacemacs/layers () + "Layer configuration: +This function should only modify configuration layer settings." + (load-file phundrak/sl)) + (defun dotspacemacs/user-env () "Environment variables setup. This function defines the environment variables for your Emacs session. By @@ -341,12 +137,7 @@ This function is called at the very end of Spacemacs initialization." (quote ((org-confirm-babel-evaluate) (javascript-backend . tern) - (javascript-backend . lsp) - (go-backend . go-mode) - (go-backend . lsp)))) - '(send-mail-function (quote smtpmail-send-it)) - '(smtpmail-smtp-server "mail.phundrak.com") - '(smtpmail-smtp-service 587) + (javascript-backend . lsp)))) '(solaire-mode-auto-swap-bg t) '(vc-annotate-background "#282c34") '(vc-annotate-color-map diff --git a/spacemacs.org b/spacemacs.org index b7e65db..e1aade9 100644 --- a/spacemacs.org +++ b/spacemacs.org @@ -5,6 +5,506 @@ #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: +* Spacemacs layers and packages + :PROPERTIES: + :header-args:emacs-lisp: :comments link :tangle ~/.emacs.d/private/spacemacs-layers.el :exports code + :CUSTOM_ID: h-9d9869e0-4672-419c-bf37-3d3ae1b7c0aa + :END: + Here will be our layer configuration set. Everything here is set with a + ~setq-default~ in the ~dotspacemacs/layers~ function like so: + #+BEGIN_SRC emacs-lisp :tangle no + (defun dotspacemacs/layers () + (setq-default + ;; configuration goes here + )) + #+END_SRC + +** General configuration + :PROPERTIES: + :CUSTOM_ID: h-ecfe1909-18af-451d-b78f-0d7e5a1d45c0 + :END: + First, we need to tell Spacemacs which base distribution we are using. This + is a layer contained in the directory ~+distribution~. For now, available + distributions are ~spacemacs-base~ and ~spacemacs~ (the default one). + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-distribution 'spacemacs) + #+END_SRC + + We can seet a lazy installation of layers —i.e. layers are installed only + when a file with a supported type is opened. Possible values are: + - ~all~ :: will lazy install any layer that support lazy installation even + the layers listed in ~dotspacemacs-configuration-layers~ + - ~unused~ :: will lazy install only unused layers (i.e. layers not listed in + the variable ~dotspacemacs-configuration-layers~) + - ~nil~ :: disables the lazy installation feature and you have to explicitly + list a layer in the variable ~dotspacemacs-configuration-layers~ + to install it. + The default value is ~unused~. + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-enable-lazy-installation 'unused) + #+END_SRC + + If the following variable is non-nil, Spacemacs will ask for confirmation + before installing a layer lazily. The default value is ~t~. + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-ask-for-lazy-installation t) + #+END_SRC + +** Package management + :PROPERTIES: + :CUSTOM_ID: h-587fd3fb-5a99-4c19-af02-b1553c6acfae + :END: + It is possible to indicate to Spacemacs a list of additional paths where to + look for configuration layers. Paths must have a trailing slash, i.e. + =~/.mycontribs/=. As you can see, I added none: + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-configuration-layer-path '()) + #+END_SRC + + However, I do have additional packages I installed either from the Elpa or + the Melpa. These are set in ~dotspacemacs-additional-packages~, a list of + additional packages that will be installed without being wrapped in a layer. + If you need some configuration for these packages, then consider creating a + layer. You can also puth the configuration in ~dotspacemacs/user-config~. To + use a local version of a package, use the ~:location~ property, for instance: + #+BEGIN_SRC emacs-lisp :tangle no + '(your-package :location "~/path/to/your-package/") + #+END_SRC + Alos include the dependencies as they will not be resolved automatically: + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-additional-packages '(atomic-chrome + dired-du + doom-themes + edit-indirect + elcord + eshell-git-prompt + flycheck-golangci-lint + kaolin-themes + magit-gitflow + meson-mode + modern-cpp-font-lock + multiple-cursors + org-sidebar + outorg + pinentry + visual-fill-column + wttrin + xresources-theme + yasnippet-snippets)) + #+END_SRC + + It is possible to also list packages that cannot be updated: + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-frozen-packages '()) + #+END_SRC + + And to list packages which won’t be installed nor loaded: + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-excluded-packages '()) + #+END_SRC + + Finally, it is possible to define the behaviour of Spacemacs when installing + packages. Possible values are: + - ~used-only~ :: installs only explicitly used packages and deletes any + unused packages as well as their unused dependencies + - ~used-but-keep-unused~ :: installs only the used packages but won’t delete + unused ones + - ~all~ :: installs *all* packages supported by Spacemacs and never + uninstalls them. + The default value is ~used-only~. + #+BEGIN_SRC emacs-lisp + (setq-default dotspacemacs-install-packages 'used-only) + #+END_SRC + +** Layers + :PROPERTIES: + :CUSTOM_ID: h-313bf79e-c24c-40a6-8bc0-eb608fda05d9 + :END: + All layers are set one variable: ~dotspacemacs-configuration-layers~. This + variable is a list of layers, some of them will have some custom variables. + Typically, the variable will be set like so: + #+BEGIN_SRC emacs-lisp :tangle no + (setq-default dotspacemacs-configuration-layers + '(emacs-lisp + helm + multiple-cursors + org + (shell :variables shell-default-height + 30 shell-default-position 'bottom) + treemacs)) + #+END_SRC + +# Don’t delete this code block, it wraps the layers +#+BEGIN_SRC emacs-lisp :exports none +(setq-default dotspacemacs-configuration-layers '( +#+END_SRC + +*** Checkers + :PROPERTIES: + :CUSTOM_ID: h-04664b1a-8138-4566-8b63-8050437351a7 + :END: + The two first checkers I use are for spell and syntax checking. + ~spell-checking~ is disabled by default, however it should auto-detect the + dictionary to use. + #+BEGIN_SRC emacs-lisp + (spell-checking :variables + spell-checking-enable-by-default nil + spell-checking-enable-auto-dictionary t) + syntax-checking + #+END_SRC + +*** Completion + :PROPERTIES: + :CUSTOM_ID: h-fc18dd98-1411-4516-a87c-6c1047d2a13c + :END: + ~auto-completion~ is a layer enabled in order to provide auto-completion to + all supported language layers. It is set so that the =RET= key has no + behavior with this layer, however the =TAB= key cycles between candidates + displayed by the auto-completion toolbox. I also want the autocompletion to + include snippets in the popup, and the content of the popup is sorted by + usage. It is also disabled for two modes: magit and Org. + #+BEGIN_SRC emacs-lisp + (auto-completion :variables + auto-completion-complete-with-key-sequence-delay 0.2 + auto-completion-enable-help-tooltip 'manual + auto-completion-enable-snippets-in-popup t + auto-completion-enable-sort-by-usage t + :disabled-for + org + git) + #+END_SRC + + ~helm~ is also enabled, with its header disabled. + #+BEGIN_SRC emacs-lisp + (helm :variables helm-no-header t) + #+END_SRC + +*** Email + :PROPERTIES: + :CUSTOM_ID: h-0db2333c-86bf-4b41-8226-da66885fce36 + :END: + As described below, I use Gnus as my main email client. Therefore, I have + the gnus layer enabled: + #+BEGIN_SRC emacs-lisp + gnus + #+END_SRC + +*** Emacs + :PROPERTIES: + :CUSTOM_ID: h-ad6174a6-4056-420e-9620-3da5f00bd3fc + :END: + The first layer enabled in this category is ~better-defaults~. I also made + it so that when a command equivalent to ~C-a~ or ~C-e~ is pressed, the + cursor will respectively first move to the beginning of code first before + going past the indentation and to the end of the code before going to the + end of the line before going over the end of the comments on the same line. + #+BEGIN_SRC emacs-lisp + (better-defaults :variables + better-defaults-move-to-beginning-of-code-first t + better-defaults-move-to-end-of-code-first t) + #+END_SRC + + I also enabled ~ibuffer~ and made it so that buffers are sorted by projects. + #+BEGIN_SRC emacs-lisp + (ibuffer :variables + ibuffer-group-buffers-by 'projects) + #+END_SRC + + Most important of all, the ~org~ layer is also enabled. I enabled support + for Epub exports, Github, Reveal.JS exports, and sticky headers. Project + support is also enabled through files named ~TODOs.org~. I also set the + org-download folder for images in =~/Pictures/org/=, and I set the =RET= key + to follow org links if the cursor is on one. + #+BEGIN_SRC emacs-lisp + (org :variables + org-enable-epub-support t + org-enable-github-support t + org-enable-reveal-js-support t + org-enable-sticky-header t + org-enable-org-journal-support t + spaceline-org-clock-p t + org-projectile-file "TODOs.org" + org-download-image-dir "~/Pictures/org/" + org-return-follows-link t) + #+END_SRC + + The ~semantic~ layer is also enabled. + #+BEGIN_SRC emacs-lisp + semantic + #+END_SRC + +*** File trees + :PROPERTIES: + :CUSTOM_ID: h-35f135ac-45cd-4e91-a23d-41700dc7495f + :END: + In this category, I only enabled one layer: ~treemacs~. In this layer, I set + is so that treemacs syncs with my current buffer, and it automatically + refreshes its buffer when there is a change in the part of the file system + shown by treemacs. + #+BEGIN_SRC emacs-lisp + (treemacs :variables + treemacs-use-follow-mode t + treemacs-use-filewatch-mode t) + #+END_SRC + +*** Fonts + :PROPERTIES: + :CUSTOM_ID: h-7a0a7d6d-6caa-4504-acf6-f97c25436ef1 + :END: + In this category, again, one layer is enabled: ~unicode-fonts~. This layer + addssupport for the ~unicode-fonts~ package. + #+BEGIN_SRC emacs-lisp + unicode-fonts + #+END_SRC + +*** Fun + :PROPERTIES: + :CUSTOM_ID: h-3aec0cda-50d5-4c31-a57e-4244a254a57f + :END: + In this category, I only enabled two layers: ~selectric~ and ~xkcd~. + #+BEGIN_SRC emacs-lisp + selectric xkcd + #+END_SRC + +*** Internationalization + :PROPERTIES: + :CUSTOM_ID: h-0edb1ff3-15a1-46cd-b980-7fdd124020b6 + :END: + In this category, I enabled the ~keyboard-layout~ layer to enable + compatibility with the bépo layout. This layer, however, is disabled for + magit, Dired and eww. + #+BEGIN_SRC emacs-lisp + (keyboard-layout :variables + kl-layout 'bepo + kl-disabled-configurations '(magit dired eww)) + #+END_SRC + +*** Programming languages + :PROPERTIES: + :CUSTOM_ID: h-9dd88370-a959-4266-a01e-2231f9008a1f + :END: +**** Domain-specific (DSLs) + :PROPERTIES: + :CUSTOM_ID: h-c212d89f-6854-48f3-84a5-8195811bfc4d + :END: + In this category, I enabled support for the R programming language (the + ~ess~ layer), the ~major-modes~ layer for the Arch Linux PKGBUILDs support, + the ~prolog~, ~emacs-lisp~ and ~scheme~ layers, support for the CSV format + with the ~csv~ layer, the ~yaml~ language, shell scripting languages and + support for the ~dot~ tool with the ~graphviz~ layer. + #+BEGIN_SRC emacs-lisp + ess major-modes prolog emacs-lisp scheme graphviz yaml shell-scripts + #+END_SRC + + I also added support for HTML and CSS with the ~html~ layer, with the web + formatting tool set to ~web-beautify~, and the LSP layer compatibility + enabled for CSS, less, SCSS and HTML. + #+BEGIN_SRC emacs-lisp + (html :variables + web-fmt-tool 'web-beautify + css-enable-lsp t + less-enable-lsp t + scss-enable-lsp t + html-enable-lsp t) + #+END_SRC + + The ~json~ layer is also enabled, with the format tool set to + ~web-beautify~. + #+BEGIN_SRC emacs-lisp + (json :variables + json-fmt-tool 'web-beautify) + #+END_SRC + + The LaTeX layer has also been enabled, with its default compiler set to + XeLaTeX. I also enabled the auto-fill feature, the folding capacity and the + “magic” symbols. + #+BEGIN_SRC emacs-lisp + (latex :variables + latex-build-command "xelatex" + latex-enable-auto-fill t + latex-enable-folding t + latex-enable-magic t) + #+END_SRC + + The Markdown layer has been enabled, with support for live preview with + ~vmd~, and and automatic MMM-mode generation for C, C++, Python, Rust and + Emacs Lisp. + #+BEGIN_SRC emacs-lisp + (markdown :variables + markdown-live-preview-engine 'vmd + markdown-mmm-auto-modes '("c" + "c++" + "python" + "rust" + ("elisp" "emacs-lisp"))) + #+END_SRC + +**** Frameworks + :PROPERTIES: + :CUSTOM_ID: h-ac43dd9a-5a2f-4a80-bb35-535ec6e31e72 + :END: + Only one framework support has been enabled so far, and is is for the + Django framework. + #+BEGIN_SRC emacs-lisp + django + #+END_SRC + +**** General-purpose + :PROPERTIES: + :CUSTOM_ID: h-9d41427d-ec93-40c6-8c24-113c5b174fc3 + :END: + Among the layers I activated, the only one without any specific + configuration is the ~asm~ layer for the Assembly language. + #+BEGIN_SRC emacs-lisp + asm + #+END_SRC + + Next, you can find the C/C++ layer for which I set the default language for + ~.h~ files to be C. I also enabled support for the C++11 standard, the + Google coding style for C++, support for subprojects and organization of + the include directives on a file save. I also set a couple of LSP-related + variables, such as the LSP executable for C/C++ for its CCLS backend and + some highlight variables. + #+BEGIN_SRC emacs-lisp + (c-c++ :variables + c-c++-default-mode-for-headers 'c-mode + c-c++-adopt-subprojects t + c-c++-enable-google-style t + c-c++-enable-c++11 t + c-c++-backend 'lsp-ccls + c-c++-lsp-executable "/usr/bin/ccls" + c-c++-lsp-sem-highlight-method 'overlay + c-c++-lsp-sem-highlight-rainbow t + c++-enable-organize-includes-on-save t) + #+END_SRC + + Dart has also been enabled, with a custom path to the SDK of the Dart + server, and to the LSP server of Dart. + #+BEGIN_SRC emacs-lisp + (dart :variables + dart-server-sdk-path "/opt/flutter/bin/cache/dart-sdk/" + lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/") + #+END_SRC + + When it comes to the Python layer, I set its backend and formatter to be + bound to the LSP layer. Its fill columnn was also set to 80 characters, + imports are sorted on save, and the tests can be run using either nose.el + or pytest. + #+BEGIN_SRC emacs-lisp + (python :variables + python-backend 'lsp + python-sort-imports-on-save t + python-fill-column 80 + python-test-runner '(pytest nose) + python-formatter 'lsp) + #+END_SRC + + With the Rust layer, the only custom configuration set is the backend being + bound to the LSP layer. + #+BEGIN_SRC emacs-lisp + (rust :variables rust-backend 'lsp) + #+END_SRC + + As regards the JavaScript layer, I set its backend to the LSP layer, and + bound its format tool to ~web-beautify~ and its REPL is browser-based. I + also want to include ~node_modules/.bin~ to be automatically added to the + buffer local ~exec_path~. + #+BEGIN_SRC emacs-lisp + (javascript :variables + javascript-backend 'lsp + javascript-fmt-tool 'web-beautify + javascript-repl 'skewer + node-add-modules-path t) + #+END_SRC + +*** Readers + :PROPERTIES: + :CUSTOM_ID: h-02099754-7102-4251-9e2e-a3ee33f4b469 + :END: + In this category, only the ~epub~ and ~pdf~ layers are enabled so I can read + these files from Emacs directly. + #+BEGIN_SRC emacs-lisp + epub pdf + #+END_SRC + +*** Version control + :PROPERTIES: + :CUSTOM_ID: h-53ebecc5-53da-4a0c-88f4-b031ff3b1952 + :END: + Only the ~git~ layer is enabled in this category. + #+BEGIN_SRC emacs-lisp + git + #+END_SRC + +*** Themes + :PROPERTIES: + :CUSTOM_ID: h-e593bbe4-d778-4b11-a450-4e6e418109fe + :END: + Here, the ~colors~ layer is the only one enabled. It activates support for + identifiers colorization, and strings representing colors. + #+BEGIN_SRC emacs-lisp + colors + #+END_SRC + +*** Tools + :PROPERTIES: + :CUSTOM_ID: h-51f1d8a6-5f52-486a-a16b-301429cf8313 + :END: + In this category, the first layer to be enabled is the CMake layer for which + I enabled support for the ~cmake-ide~ package. + #+BEGIN_SRC emacs-lisp + (cmake :variables + cmake-enable-cmake-ide-support t) + #+END_SRC + + Next, we have the Docker, Nginx, Pass (the standard Unix password manager), + Prettier, Systemd, Imenu-list, Web-beautify, Dap, Helpful, and LSP layers + enabled. + #+BEGIN_SRC emacs-lisp + docker imenu-list nginx pass prettier systemd web-beautify helpful dap lsp + #+END_SRC + + We also have the RestClient layer enabled for which I enabled the Org + compatibility support. + #+BEGIN_SRC emacs-lisp + (restclient :variables + restclient-use-org t) + #+END_SRC + + And finally, we also have the Shell layer for which I specified its default + height when spawning at the bottom of the screen should be 40 lines high, + and the default shell to invoke is Eshell. + #+BEGIN_SRC emacs-lisp + (shell :variables + shell-default-height 40 + shell-default-position 'bottom + shell-default-shell 'eshell) + #+END_SRC + +*** Web Services + :PROPERTIES: + :CUSTOM_ID: h-6ec58708-518c-44f4-8ad0-3fa3b58117d5 + :END: + In this category, I have only enabled a layer for Twitter support. + #+BEGIN_SRC emacs-lisp + twitter + #+END_SRC + +*** Custom layers + :PROPERTIES: + :CUSTOM_ID: h-f9c6b261-f06b-4fd5-bf4e-161cb8744aeb + :END: + Lastly, three custom layers have been enabled: a w3m layer, and two of my + custom layers for Dired and for conlanging tools. + #+BEGIN_SRC emacs-lisp + conlanging dired-phundrak w3m + #+END_SRC + +# Don’t delete this code block, it wraps the layers +#+BEGIN_SRC emacs-lisp :exports none +)) +#+END_SRC + * Init :PROPERTIES: :CUSTOM_ID: h-3f3c8a0b-56cd-4be6-b019-3ba6f1e24f96 @@ -622,9 +1122,6 @@ (setq-default dotspacemacs-whitespace-cleanup nil) #+END_SRC - #+END_SRC - #+END_SRC - * User Initialization :PROPERTIES: :CUSTOM_ID: h-e297b9be-9b0d-4c2d-bb6e-402f0d00be0d