- Emacs Lisp 66.8%
- Vim Script 17.9%
- Lua 13.1%
- Makefile 1.3%
- Shell 0.9%
| .config | ||
| .idea | ||
| .intellimacs | ||
| .local/share/nvim/site/pack/core/opt/LuaSnip/deps | ||
| wallpaper | ||
| .gitignore | ||
| .ideavimrc | ||
| .wezterm.lua | ||
| .zshrc | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| rose-pine-dawn-wallpaper.jpeg | ||
| rose-pine-moon-wallpaper.jpeg | ||
| sketychbar_readme.md | ||
| workspace.iml | ||
Workspace
This repository contains my personal dotfiles and editor configurations for Doom Emacs, Neovim, and Zed. It is managed by a Makefile that automates the process of backing up existing files and symlinking the new ones into $HOME.
Features
- Dotfile Management: Easily sync configurations for
.zshrc,.aerospace.toml, and more. - Editor Configurations: Pre-configured setups for:
- Doom Emacs: A custom configuration focused on performance and extensibility.
- Neovim: A modern setup powered by AstroNvim.
- Zed: A lightweight and fast editor configuration.
- Cross-Platform: Designed to work on macOS and Linux.
- Makefile Automation: Simple commands to set up a new machine, update dotfiles, and manage changes.
Prerequisites
git: For cloning the repository.make: For running the installation and management commands.1Password CLI (op): For injecting secrets into.zshrc.
Installation
-
Clone the repository:
git clone https://github.com/your-username/workspace.git ~/.workspace cd ~/.workspace -
Review the
Makefile: Before running any commands, inspect theMakefileto see which files will be copied and what tasks will be executed. Adjust theDOTFILESandOPTIONAL_DOTFILESvariables to match your setup. -
Run the
makecommand: This will back up your existing dotfiles to*.backup.YYYYMMDD_HHMMSSand copy the new ones into your home directory.make
Usage
The Makefile provides several targets for managing your dotfiles:
makeormake dotfiles: Copies the dotfiles to your$HOMEdirectory, creating timestamped backups of any existing files.make list: Shows a preview of the files and directories that will be copied.make push: Commits and pushes all local changes to the Git repository.make pull: Pulls the latest changes from the Git repository.make clean: Removes backup files older than 7 days from your home directory.make help: Displays a list of all available targets.
Customization
To add or remove files from the sync process, simply edit the DOTFILES or OPTIONAL_DOTFILES variables in the Makefile.
DOTFILES: A list of files and directories that are required and will be synced.OPTIONAL_DOTFILES: A list of files that will be synced if they exist, but will not raise an error if they are missing.