Welcome
Welcome to the KelpDot documentation!
Installation
From binaries
You can find Binaries in the GitHub releases page, you have just to copy them into /usr/bin or /usr/local/bin!
From source (cargo)
Just run cargo install kelpdot
to install the latest stable release with cargo
From Package Manager
Debian GNU/Linux
Kelpdot is avaible in repo https://apt.woomy.be
installation guide
Arch GNU/Linux
KelpDot is avaible as kelpdot-bin
on the AUR
Getting started with KelpDot
Versioning
Its highly recommended to use a versioning tool like git
in order to version your dotfiles. For git you just need to type git init
in your "Dotfiles" directory.
Initialisating
After installing, you just need kelpdot init
in your Dotfiles directory. The autoconfiguration will be applied. And it's OK! You can use kelpdot save
to backup your dotfiles and all is done!
Configuration guide
Homefiles
The "Homefiles" key contains an array with the informations about the files located at /home/$USER/
Structure
homefiles:
- name: "I3 configuration" # String: The name of the file (optional)
path: .config/i3/config # String: The path to the file / directory relative to /home/$USER
backuponly: false # Use true if you want the file to not be reinstalled with `kelpdot install` (optional) (default: false)
onlyon: gentoo # Specify if the file can only be installed in one distro (optional) (default: None)
Rootfiles
The "Rootfiles" key contains an array with the informations about the files with path relative to /
Structure
rootfiles:
- name: SysCtl configuration # String: The name of the file (optional)
path: /etc/sysctl.conf # String: The path to the file / directory
backuponly: true # Use true if you want the file to not be reinstalled with `kelpdot install` (optional) (default: false)
onlyon: gentoo # Specify if the file can only be installed in one distro (optional) (default: None)
Postsave
The scripts to run AFTER saving the dotfiles
postsave:
- path: "scripts/usefullscript.sh" # The path to the script, relative to the kelp.yaml file
elevated: true # Use true to run the script with eleveted privileges (optional) (default: false)
Prerun
The scripts to run BEFORE installing the dotfiles
postsave:
- path: "scripts/usefullscript.sh" # The path to the script, relative to the kelp.yaml file
elevated: true # Use true to run the script with eleveted privileges (optional) (default: false)
Postrun
The scripts to run AFTER installing the dotfiles
postsave:
- path: "scripts/usefullscript.sh" # The path to the script, relative to the kelp.yaml file
elevated: true # Use true to run the script with eleveted privileges (optional) (default: false)
OS Description files
OS description files are used to detected host os for options such as onlyon
.
Where are these files located?
Bundled OSes are included (by include_str!
) when kelpdot compiles. This YAML list can be found in /src/config/oses.yaml.
You can add custom OSes in /etc/kelpdot/os.yaml
.
Describing an OS
# /etc/kelpdot/os.yaml
- name: "superos" # Name for `onlyon`
file: "/" # if this file exist, we are **sure** the OS is O.K
priority: 0 # If multiple OSes are detected, the higher priority is more important. Use higher for childer distros
prettyname: "My super Gentoo-Based distro" # Pretty name of the OS (for printing)
submatches: [ "gentoo" ] # For exemple, mother distros