-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup
executable file
·116 lines (84 loc) · 2.55 KB
/
setup
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
#!/usr/local/bin/fish
source script/helpers.fish
argparse 's/skip-install' -- $argv
print_heading "Checking for Fisher installation"
if not type -q fisher
print_heading "Fisher is not installed. Installing"
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
else
fisher -v
end
if not set -q _flag_skip_install
print_heading "Installing Fisher packages"
set fisher_packages \
jethrokuan/z \
jethrokuan/fzf \
jhillyerd/plugin-git \
edc/bass \
catppuccin/fish
for i in $fisher_packages
fisher install $i
end
yes | fish_config theme save "Catppuccin Macchiato"
end
print_heading "Checking for Rust/Cargo installation"
if not type -q rustc
print_heading "Rust is not installed. Installing"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
print_heading "Adding cargo binaries to path"
set PATH ~/.cargo/bin $PATH
else
rustc -V
end
if not type -q sccache
cargo install sccache &| condense_cargo_output
else
sccache -V
end
if not set -q _flag_skip_install
print_heading "Installing Cargo packages"
set cargo_packages \
cargo-info \
irust \
bacon \
fd-find \
ripgrep \
bat \
exa \
mise \
bob-nvim \
wiki-tui \
starship \
zellij \
porsmo
for i in $cargo_packages
cargo install $i &| condense_cargo_output
end
end
print_heading "Installing latest stable NeoVim"
bob install stable
bob use stable
print_heading "Symlinking Bat config"
mkdir -p ~/.config/bat/themes
ln -vsfh $PWD/bat/themes/**.tmTheme ~/.config/bat/themes/
ln -vsfh $PWD/bat/config ~/.config/bat/config
print_heading "Symlinking Fish config"
ln -vsfh $PWD/fish/config.fish ~/.config/fish/config.fish
ln -vsfh $PWD/fish/functions/**.fish ~/.config/fish/functions/
print_heading "Symlinking Kitty config"
mkdir -p ~/.config/kitty
ln -vsfh $PWD/kitty/kitty.conf ~/.config/kitty/kitty.conf
print_heading "Symlinking NeoVim config"
mkdir -p ~/.config/nvim/lua/kickstart/plugins
mkdir -p ~/.config/nvim/lua/custom/plugins
mkdir -p ~/.config/nvim/ftplugin/
ln -vsfh $PWD/neovim/init.lua ~/.config/nvim/init.lua
ln -vsfh $PWD/neovim/lua/kickstart/plugins/**.lua ~/.config/nvim/lua/kickstart/plugins/
ln -vsfh $PWD/neovim/lua/custom/plugins/**.lua ~/.config/nvim/lua/custom/plugins/
ln -vsfh $PWD/neovim/lua/custom/ftplugin/**.lua ~/.config/nvim/ftplugin/
print_heading "Symlinking Starship config"
ln -vsfh $PWD/starship/starship.toml ~/.config/starship.toml
print_heading "Symlinking Zellij config"
mkdir -p ~/.config/zellij
ln -vsfh $PWD/zellij/config.kdl ~/.config/zellij/config.kdl
echo -e "\nScript completed successfully 🎉"