diff --git a/javascript/install.fish b/javascript/install.fish index 3a4e84c..13b30c1 100755 --- a/javascript/install.fish +++ b/javascript/install.fish @@ -8,3 +8,9 @@ source "$DOT/node/node_utils.fish" print_subtitle "Javascript/Typescript" npm_install "gulp CLI" "gulp-cli" + +if [ "$(uname)" = "Darwin" ] + brew_install "WebStorm" "webstorm" "--cask" +else if [ "$(uname)" = "Linux" ] && cmd_exists snap + execute "sudo snap install webstorm --classic" "WebStorm" +end diff --git a/os/apt_utils.fish b/os/apt_utils.fish index 6fb0b76..c2c9279 100644 --- a/os/apt_utils.fish +++ b/os/apt_utils.fish @@ -4,11 +4,11 @@ source "$DOT/script/utils.fish" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -function package_is_installed -a pkg +function apt_package_is_installed -a pkg dpkg -s "$pkg" &>/dev/null end -function install_package -a pkg_readable_name pkg args +function apt_install -a pkg_readable_name pkg args if ! package_is_installed "$pkg" execute \ "sudo apt-get install --allow-authenticated -qqy $args $pkg" "$pkg_readable_name" @@ -21,17 +21,17 @@ end # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -function add_key -a key +function apt_add_key -a key wget -q0 - "$key" | sudo apt-key add - &> /dev/null # │└─ write output to file # └─ don't show output end -function add_ppa -a ppa +function apt_add_ppa -a ppa sudo add-apt-repository -y ppa:"$ppa" &>/dev/null end -function add_to_source_list -a source list +function apt_add_to_source_list -a source list sudo sh -c "printf 'deb $source' >> '/etc/apt/sources.list.d/$list'" end diff --git a/os/install.fish b/os/install.fish index b4da2f4..1adbaf9 100644 --- a/os/install.fish +++ b/os/install.fish @@ -2,6 +2,7 @@ source "$DOT/script/utils.fish" source "$DOT/homebrew/brew_utils.fish" +source "$DOT/os/apt_utils.fish" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -10,22 +11,51 @@ print_subtitle "OS" if [ "$(uname)" = "Darwin" ] brew_install "mas-cli" "mas" + # Window management. brew_install "Rectangle" "rectangle" "--cask" execute "mas install 1563735522" "Charmstone" + # Networking. brew_install "Windscribe" "windscribe" "--cask" brew_install "Firefox" "firefox" "--cask" brew_install "qBittorrent" "qbittorrent" "--cask" + # Social. brew_install "Discord" "discord" "--cask" brew_install "BetterDiscord" "betterdiscord-installer" "--cask" + # Productivity. brew_install "Obsidian" "obsidian" "--cask" brew_install "Fantastical" "fantastical" "--cask" + # Hacking. brew_install "iTerm2" "iterm2" "--cask" - brew_install "Laravel Herd" "herd" "--cask" brew_install "DBngin" "dbngin" "--cask" - brew_install "PhpStorm" "phpstorm" "--cask" - brew_install "WebStorm" "webstorm" "--cask" + + # Utilities. + brew_install "The Unarchiver" "the-unarchiver" "--cask" + +else if [ "$(uname)" = "Linux" ] && cmd_exists snap + apt_install "wget" "wget" + apt_install "curl" "curl" + + # Networking. + if ! cmd_exists windscribe + execute "sudo wget https://github.com/Windscribe/Desktop-App/releases/download/v2.8.6/windscribe_2.8.6_amd64.deb -O /tmp/ws.deb \ + && sudo apt install /tmp/ws.deb" \ + "Windscribe" + end + + execute "sudo snap install firefox" "Firefox" + execute "sudo snap install qbittorrent-arnatious" "qBittorrent" + + # Social. + execute "sudo snap install discord" "Discord" + # TODO: add check for already installed. + execute "sudo wget https://github.com/BetterDiscord/Installer/releases/latest/download/BetterDiscord-Linux.AppImage -O /tmp/bd.AppImage \ + && sudo chmod u+x /tmp/bd.AppImage \ + && /tmp/bd.AppImage" \ + "BetterDiscord" + + execute "sudo snap install obsidian --classic" "Obsidian" end diff --git a/php/install.fish b/php/install.fish index b50106b..041e1b3 100644 --- a/php/install.fish +++ b/php/install.fish @@ -8,4 +8,6 @@ source "$DOT/homebrew/brew_utils.fish" if [ "$(uname)" = "Darwin" ] brew_install "Laravel Herd" "herd" "--cask" brew_install "PhpStorm" "phpstorm" "--cask" +else if [ "$(uname)" = "Linux" ] && cmd_exists snap + execute "sudo snap install phpstorm --classic" "PhpStorm" end