-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·130 lines (107 loc) · 3.61 KB
/
install.sh
File metadata and controls
executable file
·130 lines (107 loc) · 3.61 KB
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/usr/bin/env bash
# Installation for my configs
# variables
programs_flatpak="app.zen_browser.zen"
SYSTEM_CONF="$HOME/just_enough_shell/configuration.nix"
BACKUP_DIR="$HOME/Your_old_configs"
SYS_CONF_FILES="$BACKUP_DIR/configuration.nix"
FLAKE="$HOME/just_enough_shell/flake.nix"
LOCK="$HOME/just_enough_shell/flake.lock"
CONF="$HOME/just_enough_shell/.config"
CONFIG_DIR="$HOME/.config/"
# installation script
# warnings
ru_warning() {
echo "ВНИМАНИЕ: дальше будут СОХРАНЕНЫ И ПЕРЕЗАПИСАНЫ ваши конфигурации!! Вы уверены?"
read -p " Прошу укажите ваше решение [да|yes|нет|no]: " shure
shure=$(echo "$shure" | tr '[:upper:]' '[:lower:]')
case $shure in
да|д|yes|y)
echo ""
echo "Принято, сейчас будут созданы сохранения и перезаписаны нынешние"
sleep 3
;;
нет|н|no|n)
echo ""
echo "Принято, остановка скрипта, доброго дня вам)"
exit 0
;;
esac
}
en_warning() {
echo "WARNING: Your configurations will be SAVED and OVERWRITTEN!! Are you sure?"
read -p " Please specify your decision [yes|no]: " shure
shure=$(echo "$shure" | tr '[:upper:]' '[:lower:]')
case $shure in
yes|ye|y)
echo ""
echo "Accepted, now creating backups and overwriting current configurations"
sleep 3
;;
no|n)
echo ""
echo "Accepted, stopping script. Have a nice day)"
exit 0
;;
esac
}
# creating backups
ru_back() {
echo ""
echo "Создание сохранений, требуется sudo права"
if ! mkdir -p "$BACKUP_DIR"; then
echo "ОШИБКА: не удалось создать директорию бэкапов"
exit 1
fi
echo " Создание сохранения конфигурации NixOS"
sudo cp -r /etc/nixos "$BACKUP_DIR/nixos-$(date +%Y.%m.%d-%H:%M:%S)"
echo " Создание сохранения директории конфигураций пользователя"
cp -r "$CONFIG_DIR" "$BACKUP_DIR/configs-$(date +%Y.%m.%d-%H:%M:%S)"
echo " Создание сохранения конфигурации bash"
cp "$HOME/.bashrc" "$HOME/.bash_profile" "$BACKUP_DIR/bash-$(date +%Y.%m.%d-%H:%M:%S)"
}
en_back() {
echo ""
echo "Creating backups, sudo privileges required"
if ! mkdir -p "$BACKUP_DIR"; then
echo "ERROR: can't create backup directory"
exit 1
fi
echo " Creating NixOS configuration backup"
sudo cp -r /etc/nixos "$BACKUP_DIR/nixos-$(date +%Y.%m.%d-%H:%M:%S)"
echo " Creating user configs directory backup"
cp -r "$CONFIG_DIR" "$BACKUP_DIR/configs-$(date +%Y.%m.%d-%H:%M:%S)"
echo " Creating bash configuration backup"
cp "$HOME/.bashrc" "$HOME/.bash_profile" "$BACKUP_DIR/bash-$(date +%Y.%m.%d-%H:%M:%S)"
}
# rewrite configs
# start
echo "Hello, this script for installation JES (Just Enough Shell)!"
echo ""
sleep 0.2
# set language
read -p "You use russian or english? Please write your language [eng|rus]: " lang
lang=$(echo "$lang" | tr '[:upper:]' '[:lower:]')
case $lang in
eng|en|e|english)
echo "Using English localization"
echo ""
LOCALE="en_US.UTF-8"
en_warning
en_back
;;
rus|ru|r|russian|русский|ру)
echo "Использование русской локализации"
echo ""
LOCALE="ru_RU.UTF-8"
ru_warning
ru_back
;;
*)
echo "ERROR: Unknown language, using English localization!!!"
echo ""
LOCALE="en_US.UTF-8"
en_warning
en_back
;;
esac