Symlinking CLI tool for dotfiles (or any other configuration files organized in a directory).
In the directory from where the app is started, the install.sdl
manifest file is required: there should be specified
folder installation details:
# the "install" section is mandatory
install {
# executes specified commands, unless requirements below met
exec "git submodule -q update --init" {
# requirements:
// file should be created in $PWD
creates:file `LS_COLORS/.git`
creates:file `zsh-completions/.git`
creates:file `zsh-syntax-highlighting/.git`
}
ln "bashrc", "~/.bashrc"
ln "bash_profile", "~/.bash_profile"
}
Without arguments - shows current state:
me@host:~/doftiles$ myrc
/home/me/dotfiles:
+ /home/me/dotfiles/bashrc -> /home/me/.bashrc
- /home/me/dotfiles/bash_profile # no such file or directory (need -> /home/me/.bash_profile)
The install
sub-command issues the install process:
me@host:~/doftiles$ myrc
/home/me/dotfiles install:
/home/me/dotfiles/bashrc -> /home/me/.bashrc
/home/me/dotfiles/bash_profile -> /home/me/.bash_profile
Operating system | Link |
---|---|
Ubuntu 22.04 (Jammy Jellyfish) | |
Ubuntu 20.04 (Focal Fossa) | |
macOS |
Install D compiler, cd
into directory and run dub
:
dub build --build=release