Skip to content

Commit ec4be28

Browse files
committed
feat: export and import vscode extensions
1 parent 2d6ddc3 commit ec4be28

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

scripts/package/dump

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ source "$DOTLY_PATH/scripts/package/src/dump.sh"
66
##? Dump all installed packages from:
77
##? * Brew
88
##? * Apt
9+
##? * VSCode
910
##? * Snap
1011
##? * Python
1112
##? * Volta.sh or NPM
@@ -23,6 +24,8 @@ platform::command_exists snap && package::snap_dump && output::answer "Snap apps
2324

2425
platform::command_exists pip3 && package::python_dump && output::answer "Python apps dumped on $PYTHON_DUMP_FILE_PATH"
2526

27+
platform::command_exists code && package::code_dump && output::answer "VSCode extensions dumped on $CODE_DUMP_FILE_PATH"
28+
2629
if platform::command_exists volta; then
2730
package::volta_dump && output::answer "Volta apps dumped on $VOLTA_DUMP_FILE_PATH"
2831
elif platform::command_exists npm; then

scripts/package/import

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ platform::command_exists snap && output::header "Importing Snap apps from $SNAP_
2222

2323
platform::command_exists pip3 && output::header "Importing Python apps from $PYTHON_DUMP_FILE_PATH" && package::python_import
2424

25+
platform::command_exists code && output::header "Importing VSCode extensions from $CODE_DUMP_FILE_PATH" && package::code_import
26+
2527
if platform::command_exists volta; then
2628
output::header "Importing Volta apps from $VOLTA_DUMP_FILE_PATH" && package::volta_import
2729
elif platform::command_exists npm; then

scripts/package/src/dump.sh

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ elif platform::is_linux; then
77
fi
88

99
APT_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/apt/packages.txt"
10-
SNAP_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/snap/packages.txt"
11-
PYTHON_DUMP_FILE_PATH="$DOTFILES_PATH/langs/python/requirements.txt"
10+
CODE_DUMP_FILE_PATH="$DOTFILES_PATH/editors/code/extensions.txt"
1211
NPM_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/global_modules.txt"
12+
PACMAN_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/pacman/packages.txt"
13+
PYTHON_DUMP_FILE_PATH="$DOTFILES_PATH/langs/python/requirements.txt"
14+
SNAP_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/snap/packages.txt"
1315
VOLTA_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/volta_dependencies.txt"
1416
WINGET_DUMP_FILE_PATH="$DOTFILES_PATH/os/windows/winget.output"
15-
PACMAN_DUMP_FILE_PATH="$DOTFILES_PATH/os/linux/pacman/packages.txt"
1617

1718
package::brew_dump() {
1819
if platform::is_macos; then
@@ -43,6 +44,18 @@ package::apt_import() {
4344
fi
4445
}
4546

47+
package::code_dump() {
48+
mkdir -p "$DOTFILES_PATH/editors/code"
49+
50+
code --list-extensions >"$CODE_DUMP_FILE_PATH"
51+
}
52+
53+
package::code_import() {
54+
mkdir -p "$DOTFILES_PATH/editors/code"
55+
56+
xargs -I_ code --install-extension _ --force <"$CODE_DUMP_FILE_PATH"
57+
}
58+
4659
package::snap_dump() {
4760
mkdir -p "$DOTFILES_PATH/os/linux/snap"
4861

0 commit comments

Comments
 (0)