1
0
Fork 0
mirror of synced 2024-11-22 08:15:34 -05:00

Add table of contents, fix heading formatting

Eric Carlson 2021-03-31 21:41:51 -06:00
parent 1e197f0896
commit 1328138147

@ -1,14 +1,21 @@
# How can I have different groups of tasks for different hosts with different configurations?
## Table of Contents
## Simple setup
- [How can I have different groups of tasks for different hosts with different configurations?](#how-can-i-have-different-groups-of-tasks-for-different-hosts-with-different-configurations)
- [Automatically install or update dotfiles when ssh'ing into a remote machine (or: let my dotfiles follow me)](#automatically-install-or-update-dotfiles-when-sshing-into-a-remote-machine-or-let-my-dotfiles-follow-me)
- [Bring Your Own Userspace (BYOU)](bring-your-own-userspace-byou)
- [Automatically update your Dotbot config file when you add files in Git](#automatically-update-your-dotbot-config-file-when-you-add-files-in-git)
## How can I have different groups of tasks for different hosts with different configurations?
### Simple setup
See [here](https://github.com/anishathalye/dotbot/pull/11#issuecomment-73082152) for information on using machine-specific configs.
## More advanced setup
### More advanced setup
If you want to install programs independently from a general configuration file, the following setup might be for you. An advanced quickstart can be found at the [ecarlson94/dotbot-template Wiki](https://github.com/ecarlson94/dotbot-template/wiki/Dotfiles-Repository).
### Configurations
#### Configurations
Write a configuration file for each program and put them together in a directory:
```
meta/configs/
@ -19,7 +26,7 @@ meta/configs/
```
Then add a basic configuration file (i.e. for cleaning up) at `meta/base.yaml`.
### Profiles
#### Profiles
Then summarize these configurations in profiles:
```
meta/profiles/
@ -29,10 +36,10 @@ meta/profiles/
```
In a profile you specify the configurations you want to install (one per line, without `.yaml`).
### New `install` scripts
#### New `install` scripts
Then replace the `install` script with the following ones:
#### `install-profile`
##### `install-profile`
```bash
#!/usr/bin/env bash
@ -81,7 +88,7 @@ done
cd "${BASE_DIR}"
```
#### `install-standalone`
##### `install-standalone`
```bash
#!/usr/bin/env bash
@ -144,7 +151,7 @@ If you have any open questions or something is unclear, you can try to take a lo
* [magicmonty/dotfiles_dotbot](https://github.com/magicmonty/dotfiles_dotbot)
* [vbriand/dotfiles](https://github.com/vbriand/dotfiles)
# Automatically install or update dotfiles when ssh'ing into a remote machine (or: let my dotfiles follow me)
## Automatically install or update dotfiles when ssh'ing into a remote machine (or: let my dotfiles follow me)
Original inspiration: http://klaig.blogspot.co.at/2013/04/make-your-dotfiles-follow-you.html
@ -189,7 +196,7 @@ Obviously this `LocalCommand` is executed every time you connect to the remote m
This works best if you use public key authentication (or GSSAPI/Kerberos authentication) so SSH doesn't ask for a password when logging in. If you do use password authentication then you will need to enter your password once for each of the two SSH connections.
# Bring Your Own Userspace (BYOU)
## Bring Your Own Userspace (BYOU)
Want to run your development environment in a docker container? Learn about Bring Your Own Userspace (BYOU) by following this [tutorial](https://github.com/ecarlson94/dotbot-template/wiki/Bring-Your-Own-Userspace-(BYOU))!
@ -201,7 +208,7 @@ Here is a quick explanation of benefits:
- Most of our userspace dependency management is moved to alpine linux
- Except for a few things, we don't need to maintain userspace dependency installation across multiple operating systems
# Automatically update your Dotbot config file when you add files in Git
## Automatically update your Dotbot config file when you add files in Git
You can use this tool (implemented as a Git pre-commit hook) to automatically update Dotbot's config file when adding files in Git: https://github.com/gwerbin/dotbot-autobot.