Dotfiles in a Workspace
Personalizing a Workspace
You can personalize your workspace environment by using a dotfiles
repository.
Dotfiles are plain text configuration files on Unix like systems (e.g. MacOS, Linux, BSD).
Dotfiles store settings of almost every application, service and tool running on your system.
It is common practice to track dotfiles with a version control system such as Git
to keep track of changes and synchronize dotfiles across various hosts.
You can use the --dotfiles
flag when creating a workspace, so that DevPod will
automatically clone and install your dotfiles in the workspace.
If you only specify the dotfiles repo, DevPod will clone your selected dotfiles repository into the workspace, and will look into one of these locations to find a script to setup the environment.
- install.sh
- install
- bootstrap.sh
- bootstrap
- script/bootstrap
- setup.sh
- setup
- script/setup
If none of the previous location are found, DevPod will just link every hidden file (files starting with .
)
in the $HOME
directory of the container.
It is possible to specify custom install script locations for your special setup. If a custom install script is specified, DevPod will directly run that one instead.
Via DevPod CLI
Run the following command to a workspace with a dotfiles repo:
devpod up https://github.com/example/repo --dotfiles https://github.com/my-user/my-dotfiles-repo
Specifying a custom install script:
devpod up https://github.com/example/repo --dotfiles https://github.com/my-user/my-dotfiles-repo --dotfiles-script custom/location/install.sh
For all Workspaces
You can setup these options on a context wide scope so that you won't have to specify dotfiles ad dotfiles-script for each single workspace:
Example with a real repository:
devpod context set-options -o DOTFILES_URL=https://github.com/89luca89/dotfiles -o DOTFILES_SCRIPT=bin/.local/bin/dotfiles
All new Workspaces will be created with that dotfile repository and install script.