Skip to content

hyperupcall-projects/setup.sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

setup.sh

setup.sh simplifies installing software for Linux.

To use it, write a file named, say, ~/scripts/setup/vscode.sh, with contents like the following:

#!/usr/bin/env bash
source ~/.dotfiles/vendor/setup.sh/setup.sh

declare -g g_name='VSCode and VSCode Insiders'

install.debian() {
	local gpg_file="/etc/apt/keyrings/microsoft.asc"

	pkg.add_apt_key \
		'https://packages.microsoft.com/keys/microsoft.asc' \
		"$gpg_file"

	pkg.add_apt_repository \
		'/etc/apt/sources.list.d/vscode.sources' "
			Types: deb
			URIs: https://packages.microsoft.com/repos/code
			Suites: stable
			Components: main
			Architectures: $(dpkg --print-architecture)
			signed-by: $gpg_file"

	sudo apt-get -y update
	sudo apt-get -y install code code-insiders
}

install.ubuntu() {
	install.debian "$@"
}

install.fedora() {
	sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
	printf "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc\n" \
		| sudo tee '/etc/yum.repos.d/vscode.repo' >/dev/null

	sudo dnf -y update
	sudo dnf -y install code code-insiders
}

install.opensuse() {
	sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
	printf "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc\n" \
		| sudo tee '/etc/zypp/repos.d/vscode.repo' >/dev/null

	sudo zypper refresh
	sudo zypper -n install code code-insiders
}

install.arch() {
	yay -S visual-studio-code-bin visual-studio-code-insiders-bin
}

install.installed() {
	command -v code &>/dev/null && command -v code-insiders &>/dev/null
}

util.if_file_sourced || _setup "$@"

Some APIs are more experimental:

install.configure() {
	util.write_shellfile 'dircolors' \
		--bash 'eval "$(dircolors -b "$XDG_CONFIG_HOME/dircolors/dir_colors")"' \
		--zsh 'eval "$(dircolors -b "$XDG_CONFIG_HOME/dircolors/dir_colors")"' \
		--tcsh 'eval "$(dircolors -c "$XDG_CONFIG_HOME/dircolors/dir_colors")"'
}

install.caveats() {
	cat <<"EOF"
To  fix the scollbar, write to `~/.config/gtk-4.0/settings.ini`:

gtk-overlay-scrolling=false
gtk-primary-button-warps-slider = false

More information: https://github.com/dbeaver/dbeaver/issues/10950
EOF
}

See more examples here, here, and here.

Both bash-core (v0.12.0+dev) and bash-term (v0.6.3+dev) have been vendored into this repository. They're sourced automatically.

About

Install Linux software easily.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors

Languages