-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap.nu
57 lines (48 loc) · 2.08 KB
/
bootstrap.nu
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
use src/symlinks.nu symlink
use src/utils.nu ask_yes_no
# debian/ubuntu: https://omakub.org/ opinionated setup
export def main [] {
mkdir ~/src/work
mkdir ~/src/oss
let broot_config_dir = match $nu.os-info.name {
"windows" => '~\AppData\Roaming\dystroy\broot' ,
_ => "~/.config/broot" ,
}
if not ($broot_config_dir | path exists) { mkdir $broot_config_dir }
symlink --force ~/src/nushell-config/broot-config $broot_config_dir
let bacon_config_dir = match $nu.os-info.name {
"windows" => '~\AppData\Roaming\dystroy\bacon\config' ,
"macos" => '~/Library/Application Support/org.dystroy.bacon' ,
_ => "~/.config/bacon" ,
}
if not ($bacon_config_dir | path exists) { mkdir $bacon_config_dir }
symlink --force ~/src/nushell-config/bacon-config $bacon_config_dir
let nushell_dir = match $nu.os-info.name {
"windows" => '~\AppData\Roaming\nushell' ,
"macos" => "~/Library/Application Support/nushell" ,
_ => "~/.config/nushell" ,
}
if not ($nushell_dir | path exists) { mkdir $nushell_dir }
symlink --force ~/src/nushell-config/env.nu ($nushell_dir | path join "env.nu")
symlink --force ~/src/nushell-config/config.nu ($nushell_dir | path join "config.nu")
use src/install-basics.nu *
match $nu.os-info.name {
"windows" => {
if (ask_yes_no "Install winget packages?") { install for-windows }
},
"macos" => {
if (ask_yes_no "Install brew packages?") { install for-mac }
},
_ => {
# debian
if ("/etc/debian_version" | path exists) {
if (ask_yes_no "Install custom pkgs (wezterm, localsend)?") { install custom-pkgs for-debian }
if (ask_yes_no "Install apt packages?") { install pkgs for-debian }
}
},
}
# cross platform
if (ask_yes_no "Install python (rye)?") { install python }
if (ask_yes_no "Install rust basics?") { install-or-upgrade rust }
if (ask_yes_no "Install rust dev tools? (might take long)") { install rust-devtools }
}