-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupdate_local_functions.sh
executable file
·85 lines (71 loc) · 1.98 KB
/
update_local_functions.sh
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
#!/bin/zsh
DOTFILES_PATH=~/.dotfiles
BACKUP_FOLDER=$DOTFILES_PATH-bak
ZSH_SRC_PATH=$DOTFILES_PATH/zsh
# Utility functions
function log_info() {
echo "[INFO] $1"
}
function log_error() {
echo "[ERROR] $1" >&2
}
function create_backup_folder() {
mkdir -p $BACKUP_FOLDER
}
function update_zsh_configs() {
mv -f ~/.zshrc "$BACKUP_FOLDER"/.zshrc 2>/dev/null
mv -f ~/.zsh_custom_cfg $BACKUP_FOLDER/ 2>/dev/null
mv -f ~/.zshenv $BACKUP_FOLDER/ 2>/dev/null
copy_from_dotfiles_quietly "$ZSH_SRC_PATH"/.zshrc ~/.zshrc
copy_from_dotfiles_quietly "$ZSH_SRC_PATH"/.zsh_custom_cfg ~/.zsh_custom_cfg
copy_from_dotfiles_quietly "$ZSH_SRC_PATH"/.zshenv ~/.zshenv
}
function update_powerlevel10k_theme() {
mv -f ~/.p10k.zsh $BACKUP_FOLDER/ 2>/dev/null
copy_from_dotfiles_quietly "$ZSH_SRC_PATH"/.p10k.zsh ~/.p10k.zsh
}
function update_aliases() {
mv -f ~/.aliases $BACKUP_FOLDER/ 2>/dev/null
copy_from_dotfiles_quietly "$ZSH_SRC_PATH"/.aliases ~/.aliases
}
function update_common_configs() {
log_info "Backing up your config files to $BACKUP_FOLDER"
update_vim_configs
update_zsh_configs
update_powerlevel10k_theme
update_aliases
}
function update_tilix_configs() {
mv -f ~/.tilix $BACKUP_FOLDER/ 2>/dev/null
copy_from_dotfiles_quietly /tilix/.tilix ~/.tilix
copy_from_dotfiles_quietly /profile-config ~/profile-config
dconf load /com/gexperts/Tilix/ < $DOTFILES_PATH/tilix/tilix.dconf
}
function update_macos_configs() {
update_common_configs
}
function update_linux_configs() {
update_common_configs
update_tilix_configs
}
function update_configs() {
local os_name=$(uname)
case $os_name in
"Linux")
update_linux_configs
;;
"Darwin")
update_macos_configs
;;
*)
log_error "Unknown system: $os_name"
return 1
;;
esac
}
function main() {
create_backup_folder
update_configs
}
# Execute main function
main