Repository navigation
Expand file tree
/
Copy pathbackup.sh
More file actions
executable file
·155 lines (132 loc) · 5.78 KB
/
Copy pathbackup.sh
File metadata and controls
executable file
·155 lines (132 loc) · 5.78 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#!/usr/bin/env bash
dfolder=$HOME/gitpersonal/dotfiles/home/madhur
# guake is deprecated
#guake --save-preferences ~/github/personal/dotfiles/home/madhur/myguakeprefs
rsync -avh --delete --exclude='.git/' ~/.config/conky $dfolder/.config/
#cp ~/.config/conky/* $dfolder/.config/conky/
cp -r ~/.config/dunst $dfolder/.config/
#cp -r ~/.config/gsimplecal $dfolder/.config/
cp -r ~/.config/gtk-{2,3,4}.0 $dfolder/.config/
#cp -r ~/.config/i3 $dfolder/.config/
#cp -r ~/.config/i3status-rust $dfolder/.config/
cp ~/.config/jgmenu/* $dfolder/.config/jgmenu/
cp ~/.config/cava/* $dfolder/.config/cava/
cp ~/.config/zathura/* $dfolder/.config/zathura/
#cp ~/.config/viewnior/* $dfolder/.config/viewnior/
#cp ~/.config/micro/* $dfolder/.config/micro/
#rsync -avh --delete --exclude='.git/' ~/.config/eg $dfolder/.config/
rsync -avh --delete --exclude='.git/' ~/.config/cheat/cheatsheets/personal $dfolder/.config/cheat/cheatsheets/personal/
cp ~/.config/kafkactl/* $dfolder/.config/kafkactl/
cp ~/.config/kitty/* $dfolder/.config/kitty/
#cp -r ~/.config/neofetch $dfolder/.config/
cp -r ~/.config/picom $dfolder/.config/
rsync -avh --delete --exclude='.git/' ~/.config/awesome $dfolder/.config/
#cp -r ~/.config/qtile $dfolder/.config/
# systemd user units/timers are work/scheduler related and gitignored - not backed up
# do not want rofi subfolder themes
rsync -avh --delete --exclude='.git/' ~/.config/rofi $dfolder/.config/
cp -r ~/.config/sxhkd $dfolder/.config/
rsync -avh --delete --exclude='.git/' ~/.config/eww $dfolder/.config/
cp -r ~/.config/qimgv $dfolder/.config/
cp -r ~/.config/ripgrep $dfolder/.config/
cp -r ~/.config/bat $dfolder/.config/
#cp -r ~/.config/btop $dfolder/.config/
cp -r ~/.config/mpv $dfolder/.config/
#cp -r ~/.config/newsboat $dfolder/.config/
cp -r ~/.config/Thunar $dfolder/.config/
cp -r ~/.config/autorandr $dfolder/.config/
cp -r ~/.config/glow $dfolder/.config/
rsync -avh --delete --exclude='.git/.' ~/.config/nvim $dfolder/.config/
rsync -avh --delete --exclude='.git/.' ~/.config/fontconfig $dfolder/.config/
cp -r ~/.config/starship.toml $dfolder/.config/
cp -r ~/.config/redshift.conf $dfolder/.config/
cp -r ~/.cache/wal $dfolder/.cache/
cp -r ~/.config/mimeapps.list $dfolder/.config/
cp ~/.config/nnn/config $dfolder/.config/nnn/
cp ~/.config/lazygit/config.yml $dfolder/.config/lazygit/
cp -r ~/.config/hypr $dfolder/.config/
cp -r ~/.config/nwg-look $dfolder/.config/
cp -r ~/.config/waybar $dfolder/.config/
cp -r ~/.config/ntfy $dfolder/.config/
cp -r ~/.config/waypaper $dfolder/.config/
cp -r ~/.config/zellij $dfolder/.config/
cp ~/.rednotebook/configuration.cfg $dfolder/.rednotebook/configuration.cfg
cp -r ~/.rednotebook/templates $dfolder/.rednotebook/
# ~/.task contains work tasks and is gitignored - not backed up
#tmux contains company data
#cp -r ~/tmux $dfolder/
# Scripts (incl. scheduler scripts) contain company data and are gitignored - not backed up
cp -r ~/.bashrc $dfolder/
cp -r ~/.zshrc $dfolder/
cp -r ~/.zprofile $dfolder/
cp -r ~/.zlogin $dfolder/
cp -r ~/.xsettingsd $dfolder/
cp -r ~/.nanorc $dfolder/
cp -r ~/.taskrc $dfolder/
cp -r ~/.vimrc $dfolder/
cp -r ~/.Xresources $dfolder/
cp -r ~/.tmux.conf $dfolder/
cp -r ~/.gitconfig $dfolder/
cp -r ~/.gtkrc-2.0 $dfolder/
#cp ~/.stalonetrayrc $dfolder/
cp ~/.dir_colors $dfolder/
cp ~/.aliases $dfolder/
cp ~/.functions $dfolder/
# Backup user-level .desktop files
rsync -avh --delete --exclude='.git/' --exclude='brave-browser-work.desktop' ~/.local/share/applications/ $dfolder/.local/share/applications/
# Backup flatpak user-level .desktop files
rsync -avh --delete --exclude='.git/' ~/.local/share/flatpak/exports/share/applications/ $dfolder/.local/share/flatpak/exports/share/applications/ 2>/dev/null || true
sudo cp /root/.bashrc $HOME/gitpersonal/dotfiles/root/
cp /etc/pacman.conf ./etc/pacman.conf
cp /etc/my.cnf ./etc/my.cnf
cp /etc/fstab ./etc/fstab
cp /etc/hosts ./etc/hosts
cp /etc/rc.local ./etc/rc.local
sudo cp /etc/default/* ./etc/default/
sudo cp /etc/ssh/sshd_config.d/* ./etc/ssh/sshd_config.d/
sudo cp /etc/ssh/sshd_config ./etc/ssh/
sudo cp /etc/ssh/ssh_config ./etc/ssh/
sudo cp /boot/grub/grub.cfg ./boot/grub/grub.cfg
sudo cp /etc/exports.d/* ./etc/exports.d/
sudo cp /etc/grafana.ini ./etc/grafana.ini
sudo cp -r /etc/X11/* ./etc/X11/
sudo cp -r /etc/conf.d/* ./etc/conf.d/
sudo cp -r /etc/lightdm/* ./etc/lightdm/
sudo cp /etc/logrotate.d/* ./etc/logrotate.d/
sudo cp /etc/doas.conf ./etc/doas.conf
#cp /etc/dnsmasq.conf ./etc/dnsmasq.conf
#cp /etc/resolvconf.conf ./etc/resolvconf.conf
#cp /etc/resolv.conf ./etc/resolv.conf
# Custom systemd system services are gitignored (etc/systemd/) - not backed up
# Boot / initramfs
sudo cp /etc/mkinitcpio.conf ./etc/mkinitcpio.conf
sudo cp /etc/mkinitcpio.d/linux.preset ./etc/mkinitcpio.d/
# Firewall
sudo cp /etc/nftables.conf ./etc/nftables.conf
sudo cp /etc/iptables/iptables.rules ./etc/iptables/
# Docker
sudo cp /etc/docker/daemon.json ./etc/docker/
# Package build / mirrors
sudo cp /etc/makepkg.conf ./etc/makepkg.conf
sudo cp /etc/xdg/reflector/reflector.conf ./etc/xdg/reflector/
# System identity / locale
cp /etc/environment ./etc/environment
cp /etc/locale.conf ./etc/locale.conf
cp /etc/locale.gen ./etc/locale.gen
cp /etc/hostname ./etc/hostname
cp /etc/vconsole.conf ./etc/vconsole.conf
# Hardware / network
sudo cp /etc/bluetooth/main.conf ./etc/bluetooth/
cp /etc/NetworkManager/NetworkManager.conf ./etc/NetworkManager/
sudo cp /etc/modprobe.d/*.conf ./etc/modprobe.d/
sudo cp /etc/security/limits.d/*.conf ./etc/security/limits.d/
pacman -Qnqe > packages/pacman.txt
pacman -Qqem > packages/foreignpkglist.txt
snap list > packages/snap.txt
flatpak list > packages/flatpak.txt
dconf dump / > backups/dconf-backup.txt
gsettings list-recursively > backups/gsettings.txt
sudo chown -R madhur:madhur .
# echo "Encrypting sensitive files..."
# git add .gitattributes
# git-crypt lock