-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup.fish
More file actions
executable file
·27 lines (22 loc) · 864 Bytes
/
backup.fish
File metadata and controls
executable file
·27 lines (22 loc) · 864 Bytes
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
#!/usr/bin/env fish
set -x
# Define source and destination directories
set dotfiles_dir ~/dotfiles
set config_dir ~/.config
set home_manager_dir $config_dir/home-manager
# Define files to copy as a flat list (source followed by destination)
set files_to_copy \
~/.wezterm.lua $dotfiles_dir/ \
$config_dir/fish/config.fish $dotfiles_dir/.config/fish/config.fish \
$home_manager_dir/home.nix $dotfiles_dir/.config/home-manager/home.nix \
$home_manager_dir/flake.nix $dotfiles_dir/.config/home-manager/flake.nix
# Ensure destination directories exist
mkdir -p $dotfiles_dir/.config/fish
mkdir -p $dotfiles_dir/.config/home-manager
cp -r $config_dir/helix $dotfiles_dir/.config/helix
# Copy files
for i in (seq 1 2 (count $files_to_copy))
set src (echo $files_to_copy[$i])
set dst (echo $files_to_copy[(math $i + 1)])
cp $src $dst
end