Code Monkey home page Code Monkey logo

spacemacs-config's Introduction

Practicalli Spacemacs configuration

██████╗ ██████╗  █████╗  ██████╗████████╗██╗ ██████╗ █████╗ ██╗     ██╗     ██╗
██╔══██╗██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██║██╔════╝██╔══██╗██║     ██║     ██║
██████╔╝██████╔╝███████║██║        ██║   ██║██║     ███████║██║     ██║     ██║
██╔═══╝ ██╔══██╗██╔══██║██║        ██║   ██║██║     ██╔══██║██║     ██║     ██║
██║     ██║  ██║██║  ██║╚██████╗   ██║   ██║╚██████╗██║  ██║███████╗███████╗██║
╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝

User configuration to support the Practicalli Spacemacs book.

  • recommended layers for use for enhanced Clojure development experience
  • numerous tweaks for general Spacemacs usage
  • snippets (code and configuration templates) for clojure and markdown languages

Spacemacs Practicalli - Interactive Clojure development with Emacs and CIDER

Requirements

Practicalli Spacemacs - install spacemacs details installation and pre-install requirements.

Feedback & Contributing

Please follow the contributing guide for all Practicalli books and configurations. Thank you.

Configuration Design

dotspacemacs/user-config section includes additional configuration and is defined across several files to make it easier to manage updates to the configuration over time and avoid merging changes with your own customisation.

Loaded configuration files:

  • clojure-config.el - clojure-mode options, evil-cleverparents enable, portal tap> on nrepl & keybindings, custom elisp functions
  • theme-config.el - theme and mode-line configuration
  • org-config.el - notes and task faces and workflow
  • version-control-config.el - git, Magit and Forge configuration (predominantly forge config)
  • user-config.el - general config tweaks

eshell-config.el defines a custom prompt for eshell, although this configuration file is not loaded. Practicalli now uses vterm to use the operating system shell in a terminal popup window.

The load-file function includes the code from each file during startup. Comment the load-file expression if that configuration is not required, or add your own configuration files to easily extend the Practicalli configuration without having to merge changes.

.spacemacs.d/init.el is main Spacemacs configuration file (although a $HOME/.spacemacs) file will supersede this configuration and should therefore be removed.

Getting help

Discuss this guide on #practicalli channel of the Clojurians Slack community

Clojurians community - Getting Help shows other ways to get help with Clojure.

Sponsor Practicalli

Sponsor practicalli-john

The majority of my work is focused on the Practicalli series of books and videos and an advisory role with several communities

Thank you to Cognitect, Nubank and a wide range of other sponsors for your continued support

Thank you

practical.li

spacemacs-config's People

Contributors

practicalli-johnny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spacemacs-config's Issues

limit save history size

Spacemacs can degrade in performance when save history files grow.

Set limits on the size of key history files in the `dotspacemacs/user-config section of the Spacemacs user config

(setq history-length 100)
(put 'minibuffer-history 'history-length 50)
(put 'evil-ex-history 'history-length 50)
(put 'kill-ring 'history-length 25)

It may be valuable to clear the history files in the .cache directory of the Spacemacs configuration, e.g .config/Emacs/.cache or .emacs.d/.cache

Spacemacs issue discussion
syl20bnr/spacemacs#9409 (comment)

Stack exchange question
https://emacs.stackexchange.com/questions/12086/high-cpu-memory-usage-and-abnormally-large-savehist-file

cider-repl-buffer-size-limit of 100 makes even relatively small values impossible to print

The update over here:

c48d5f9#diff-82c647c7e6a8e02d1b94a30268eb483ff5aadf926762a759fcd0f4c5850356bfR66

Introduces a limit of 100 on the REPL buffer size. Whilst (comment ... blocks and pretty printing in regions (, e p f, etc.) works well for many purposes, sometimes it's helpful to be able to print values in the REPL.

With the limit this low, a return value that's even a couple of lines long breaks through the limit and results in CIDER immediately clearing the REPL buffer before the value can print (in my configuration).

Happy to provide more context if this isn't replicable. :)

Refactor Practicalli Spacemacs configuration

Refactor Practicalli Spacemacs configuration

  • remove redundant configuration
  • optimise layer configuration for LSP
  • resolve clash between clojure-mode and LSP
  • separate dotspacemacs/user-config section into clojure, org, version-control, etc. files that can easily be commented to avoid loading
  • reivew Spacemacs documentation for new features
    • vterm
    • git-delta for enhanced diff highlighting in magit

SPC b m opens the *messages* buffer that will show which files have been loaded from the configuration when Emacs started.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.