- Install Emacs from GNU mirror (for ARM64 devices, if you have an older version of Windows, you might need to use the i686 MSI version)
- From the command line, setup your preferred location for
environment variable %HOME%; this will be many times referenced
in Emacs via `~` in paths like `~/.emacs.d/init.el`, etc.
- you can do this in cmd line via `setx HOME {YOUR HOME DIRECTORY}`
- Once this is done, restart Emacs, and then create your init.el
configuration file:
- in Emacs, use C-x C-f and then type `~/.emacs.d/init.el` RET RET
This should create a new file
- In the top menu, you will find a menu called Options. Take a look at what is avaialble
- Here are some interesting customizations to consider:
- Highlight matching parentheses (super useful to track multiple nested parens - LISP has that)
- Use CUA keys: use same Windows commands for Copy, Paste, etc.
- Blink cursor (disable)
- Show/Hide:
- Tool-bar (disabled)
- Tool-tips (disabled)
- Scroll-bar -> No vertical scroll-bar
- Battery-mode
- Save the configuration via Options -> Save Options
- Restart Emacs (C-x c to close Emacs)
- Check that the configuration has been preserved
- Set default font: I used Segoe UI (popular on Windows)
- Let’s setup a nice theme
- Options -> Customize Emacs -> Custom Themes
- click through the themes and find something that you like
- once you found a good theme, click on `Save Theme Changes`
- Onced you saved your changes, open `~/.emacs.d/init.el` and notice the changes that were added by Emacs customization
- To make it easier to jump to frequently used files we should
enable recentf-mode
- Go to your init.el file and add the following (recentf-mode t)
- This will remember what files you recently used and give you and option to load them via M-x `recentf-open-files`
Learn more about Emacs customization
- Add the following lines to your .init.el (.emacs in my case) “` (setq custom-file “~/.config/emacs-custom.el”) (load custom-file) “`
- Move `custom-set-variables` and `custom-set-faces` to the newly created emacs-custom.el
- Restart Emacs
- you should see no difference, and moving forward all UI customizations will be saved in `emacs-custom.el` keeping your init.el configuration clean and tidy
- Add this to your `init.el`: “` (require ‘package) (add-to-list ‘package-archives ‘(“melpa” . “https://melpa.org/packages/”)) “`
- Save and restart emacs
- Go to Options -> Manage Emacs Packages
- If prompted, select `always accept (a)`
- Notice there is a Package menu option
- Select Package -> Refresh Package list (r) This will ask yor for certificates, select `always option (a)`
- Type the following and accept all certificates when prompted `M-x package-install RET dashboard`
Learn more about Emacs dashboard (GitHub)
- Go to Options -> Manage Emacs Packages
- Make sure you have refreshed the list of packages via Package -> Refresh Package List (r)
- Search for `dashboard` package and click on it to install it
- Add this to your `init.el` file “` (require ‘dashboard) (dashboard-setup-startup-hook) “`
- Restart Emacs
- Learn more about all-the-icons
- Dashboard has nice integration with `all-the-icons` package where it displays icons for file names and for the main dashboard icons.
- Here are the steps to install it:
- M-x package-install RET all-the-icons RET
- Add `( require ‘all-the-icons)` to your `.init.el`
- M-x all-the-icons-install-fonts RET
- select the location where you want to download the fonts required for this package and download them (follow instructions)
- In Windows Explorer, navigate to the downloaded fonts folder and opean each `.tff` file individually
- click on install, and repeat the process for each one of them
- Once installed, you would want to enable support in dashboard for
the new package.
- Add the following:
“` (setq dashboard-set-heading-icons t) (setq dashboard-set-file-icons t) “`
- Restart Emacs
You can add other packages for showing icons in different kind of buffers, for example I added one for dired functionality: `all-the-icons-dired`.
- add support for custom navigation buttons via `dashboard-navigator-buttons`
- Git for Windows
- GH CLI -> this was needed in order to reliably get Github clone to work on my Surface Pro X
- run
gh auth setup-git
to enable GH auth for git commands
- run
- install DejaVu Fonts
- install
jq
from GitHub - jqlang/jq: Command-line JSON processor - install
java
using wingetwinget install --id Oracle.JavaRuntimeEnvironment