-
Notifications
You must be signed in to change notification settings - Fork 3
/
example.yaml
86 lines (72 loc) · 2.38 KB
/
example.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
.dotfilers:
# Log level for the dotfilers binary
# Must be one of:
# - trace
# - debug
# - info
# - warn
# - error
log_level: debug
# Strategy to use in case of conflict (the file that would be created already exists)
# Must be one of:
# - abort (the program will stop)
# - overwrite (the already existing file/directory will be removed)
# - rename-old (the already existing file/directory will be renamed to NAME.bak, and in case it also exists, .bak1, .bak2...)
conflict_strategy: rename-old
# Shell that will be used for 'run' directives
shell: /bin/bash -c
# Section for zsh files
zsh:
# Create a symlink from zsh/.zshrc to ~/.zshrc
- link_from: zsh/.zshrc
link_to: ~/.zshrc
# Only if the os is linux, create a symlink from zsh/.zshrc.linux to ~/.zshrc.local
- if_os: linux
link_from: zsh/.zshrc.linux
link_to: ~/.zshrc.local
# Only if the os is darwin, create a symlink from zsh/.zshrc.linux to ~/.zshrc.local
- if_os: darwin
link_from: zsh/.zshrc.darwin
link_to: ~/.zshrc.local
# Section for ssh files
ssh:
# Only if the os is linux:
# - use the template on ssh/config.tpl
# - fill it using the vars from ssh/vars_linux
# - store the result at ~/.ssh/config
- if_os: linux
template: ssh/config.tpl
template_to: ~/.ssh/config
vars: ssh/vars_linux
# Only if the os is darwin:
# - use the template on ssh/config.tpl
# - fill it using the vars from ssh/vars_linux
# - store the result at ~/.ssh/config
- if_os: darwin
template: ssh/config.tpl
template_to: ~/.ssh/config
vars: ssh/vars_darwin
# Copy all files that match id_rsa* from the ssh folder into ~/.ssh/
- copy_from: ssh/id_rsa*
copy_to: ~/.ssh/
# Section for nvim files
nvim:
# As this section is too long, run the contents of nvim/deploy.yaml
- include: nvim/deploy.yaml
# Section for mash files
mash:
# This will recursively link all files inside the mash directory into ~/mash
# However, any existing directories will be created rather than symlinked
- link_from: mash
link_to: ~/mash
link_directory_behaviour: create
# Section for extra things
extra:
# Run inline code
- run: echo "abc" > /tmp/abc
# Run multiple commands
- run: |
echo "some_contents" >> /tmp/abc
echo "Other contents" >> /tmp/abc
# You can even invoke other programs/scripts
- run: /usr/bin/python3 -c "print('a' * 127)" > /tmp/lotsofas