Configuration files I use daily. This repo helps synchronize my development environment across different machines. The deployment scripts might be useful to the public to apply in their own repos.
.vimrc
- Vim configuration with my preferred settings.config/helix/config.toml
- Configuration for the Helix editor
- Bash 3.2+
- AWK (for TOML parsing)
- Standard Unix utilities
- Vim, Helix (depending on which configs you use)
- Any Unix-based system (Linux, macOS)
Clone the repo and run the deployment script:
git clone [email protected]:kennyfrc/dotfiles.git
cd dotfiles
chmod +x deploy_dotfiles.sh
./deploy_dotfiles.sh manifest_dotfiles.toml
To deploy to a remote server:
# Copy files and deploy
scp -r ./dotfiles user@remote-server:~/
ssh user@remote-server "cd ~/dotfiles && chmod +x deploy_dotfiles.sh && ./deploy_dotfiles.sh manifest_dotfiles.toml"
# Alternatively, clone directly on the server
ssh user@remote-server "git clone [email protected]:<YOUR-USERNAME>/dotfiles.git ~/dotfiles && \
cd ~/dotfiles && chmod +x deploy_dotfiles.sh && ./deploy_dotfiles.sh manifest_dotfiles.toml"
The manifest_dotfiles.toml
file specifies which files to deploy and where:
[".your_dotfile"]
operation = "symlink"
destination = "relative/path/from/home" # Leave empty for $HOME
Create different manifests for different environments (e.g., manifest_basic.toml
for servers).
If a file already exists at the destination, the script will exit with an error. You'll need to manually remove or rename the existing file before running the script again.