I want to put my .spacemacs into Github, so I cloned it to a local directory. How to let Emacs use the .spacemacs in that directory instead of from the default ~/.spacemacs?
2 Answers
In much the same way as Emacs loads ~/.emacs.d/init.el
if it can't find a ~/.emacs
file, so does Spacemacs load ~/.spacemacs.d/init.el
if it can't find a ~/.spacemacs
file.
This means you can create a ~/.spacemacs.d
directory and rename the ~/.spacemacs
file to ~/.spacemacs.d/init.el
. Then you put the ~/.spacemacs.d
directory on GitHub, and you're done.
If you have some private layers, you can also move them inside ~/.spacemacs.d/
and manage them in the same repository.
-
spacemacs uses already an
init.el
file - but you can nevertheless append the.spacemacs
file to theinit.el
– toogleyNov 8, 2016 at 4:58 -
If you're talking about
~/.emacs.d/init.el
, that's the entry point for Spacemacs code (technically Spacemacs is a configuration for Emacs). It loads~/.spacemacs
(or~/.spacemacs.d/init.el
), so there's no reason to append.spacemacs
to~/.emacs.d/init.el
– bmagNov 8, 2016 at 20:51 -
the reason to do that is to simplify storing the spacemacs config inside a git repo– toogleyNov 8, 2016 at 21:49
-
I can't see how this answer would work.
emacs
looks for~/.emacs.d/init.el
or~/.emacs
and only then are theSpacemacs
configurations therein loaded.– joharrSep 6, 2022 at 6:57
You can symlink your .spacemacs
file. From a bash prompt:
$ ln -s /path/to/your/spacemacs-directory/.spacemacs ~/.spacemacs
You might find it easier to symlink the entire directory to a "dot directory," i.e. ~/.spacemacs.d
, in which case you would do this:
$ mv /path/to/your/spacemacs-directory/.spacemacs /path/to/your/spacemacs-directory/init.el
$ ln -s /path/to/your/spacemacs-directory ~/.spacemacs.d
-
1
-
3Depending on your version of Windows, you can do the same using the
mklink
command. Create a directory symbolic link usingmklink /D link target
.– glucasFeb 16, 2016 at 14:57
~/.spacemacs
to my version-controlled.spacemacs
file.