No description
- Emacs Lisp 99.2%
- Makefile 0.8%
| .forgejo/workflows | ||
| .gitignore | ||
| config.el | ||
| COPYING | ||
| Makefile | ||
| README | ||
| test-config.el | ||
config.el --- manage and sync your Emacs configuration
A package for visiting, versioning, and syncing your Emacs
configuration across machines using Git.
Available commands:
M-x config-visit
M-x config-visit-early-init
M-x config-list-packages
M-x config-list-non-packages
M-x config-install-package
M-x config-install-all-packages
M-x config-delete-package
M-x config-delete-all-packages
M-x config-visit-package
M-x config-vcs
M-x config-vcs-setup
M-x config-vcs-add-files
M-x config-clone
M-x config-remote
M-x config-diff
M-x config-commit
M-x config-push
M-x config-pull
INSTALLATION
Add the wkzelpa package archive to your Emacs configuration:
(add-to-list 'package-archives
'("wkzelpa" . "https://elpa.wkz-devel.org/packages/") t)
Then refresh the package list:
M-x package-refresh-contents
Install manually:
M-x package-install RET config RET
Install with use-package and the :vc keyword (Emacs 30+):
(use-package config
:vc "https://git.wkz-devel.org/w96k/config.el.git")
WORKFLOW
If you keep your Emacs configuration in a Git repository, config.el
can clone, track, and sync it across machines.
Set up a new machine by cloning your dotfiles repo and linking it
into your Emacs configuration:
1. M-x config-clone
Enter the remote URL (e.g.
https://git.example.com/you/emacs-config.git) and a target
directory (e.g. ~/projects/emacs-config). For private HTTPS
repos you will be prompted for username and password.
2. M-x config-vcs-setup
This creates symlinks from your Emacs directory to the
cloned repository so that Emacs uses the versioned files.
Since the repo already exists, it skips repo initialization.
Start a brand-new config repo on your first machine:
1. M-x config-vcs-setup
Choose a directory (e.g. ~/projects/emacs-config) and a VCS
backend (e.g. Git). This initializes the repo, copies your
existing config files into it, and replaces them with
symlinks.
2. M-x config-remote
Set the remote origin URL so you can push to your Git host.
Add more files to the repo (copies the file and replaces the
original with a symlink):
M-x config-vcs-add-files
Day-to-day:
M-x config-pull Get latest changes from the remote
M-x config-visit Edit your init file
M-x config-commit Stage and commit your changes
M-x config-push Push commits to the remote
REQUIREMENTS
Emacs 27.1 or later
DEVELOPMENT
Byte-compile:
make bytecompile
Run tests:
make test
Byte-compile and test:
make check
Clean compiled files:
make clean
NOTE
VCS operations are built on vc.el and support any backend it
provides (Git, Hg, Bzr, etc.). However, the test suite runs
against Git, so Git support is first-class while other backends
are best-effort.
LICENSE
GNU General Public License v3