diff --git a/Config/settings.json b/Config/settings.json deleted file mode 100644 index 97cb9c4..0000000 --- a/Config/settings.json +++ /dev/null @@ -1,340 +0,0 @@ -{ - "$help": "https://aka.ms/terminal-documentation", - "$schema": "https://aka.ms/terminal-profiles-schema", - "actions": [ - { - "command": { - "action": "copy", - "singleLine": false - }, - "keys": "ctrl+c" - }, - { - "command": "paste", - "keys": "ctrl+v" - }, - { - "command": { - "action": "splitPane", - "split": "auto", - "splitMode": "duplicate" - }, - "keys": "alt+shift+d" - }, - { - "command": "find", - "keys": "ctrl+shift+f" - } - ], - "copyFormatting": "none", - "copyOnSelect": false, - "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", - "newTabMenu": [ - { - "type": "remainingProfiles" - } - ], - "profiles": { - "defaults": { - "colorScheme": "Dracula", - "font": { - "face": "Cascadia Code PL", - "size": 12.0 - }, - "opacity": 75, - "suppressApplicationTitle": true, - "useAcrylic": true - }, - "list": [ - { - "commandline": "pwsh.exe -NoLogo", - "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", - "hidden": false, - "name": "PowerShell", - "source": "Windows.Terminal.PowershellCore", - "startingDirectory": "C:\\Projects" - }, - { - "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", - "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", - "hidden": false, - "name": "Windows PowerShell" - }, - { - "commandline": "%SystemRoot%\\System32\\cmd.exe", - "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", - "hidden": false, - "name": "Prompt de comando" - }, - { - "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", - "hidden": false, - "name": "Azure Cloud Shell", - "source": "Windows.Terminal.Azure" - }, - { - "guid": "{d8d6bac2-e987-5cd3-a60b-ca8c33acf7f5}", - "hidden": false, - "name": "Developer Command Prompt for VS 2022", - "source": "Windows.Terminal.VisualStudio" - }, - { - "guid": "{0cc6a5dd-fd98-5681-8764-8fc5329c4e49}", - "hidden": false, - "name": "Developer PowerShell for VS 2022", - "source": "Windows.Terminal.VisualStudio" - }, - { - "guid": "{16208362-94fc-5b1f-a491-5b2624d5ab56}", - "hidden": true, - "name": "Visual Studio Debug Console", - "source": "VSDebugConsole" - }, - { - "guid": "{570478bc-4126-5534-8406-3146a71b3e5e}", - "hidden": true, - "name": "Developer Command Prompt for VS 2019", - "source": "Windows.Terminal.VisualStudio" - }, - { - "guid": "{6b6ff133-867f-5646-8df7-85faf04f4d63}", - "hidden": true, - "name": "Developer PowerShell for VS 2019", - "source": "Windows.Terminal.VisualStudio" - } - ] - }, - "schemes": [ - { - "background": "#0C0C0C", - "black": "#0C0C0C", - "blue": "#0037DA", - "brightBlack": "#767676", - "brightBlue": "#3B78FF", - "brightCyan": "#61D6D6", - "brightGreen": "#16C60C", - "brightPurple": "#B4009E", - "brightRed": "#E74856", - "brightWhite": "#F2F2F2", - "brightYellow": "#F9F1A5", - "cursorColor": "#FFFFFF", - "cyan": "#3A96DD", - "foreground": "#CCCCCC", - "green": "#13A10E", - "name": "Campbell", - "purple": "#881798", - "red": "#C50F1F", - "selectionBackground": "#FFFFFF", - "white": "#CCCCCC", - "yellow": "#C19C00" - }, - { - "background": "#012456", - "black": "#0C0C0C", - "blue": "#0037DA", - "brightBlack": "#767676", - "brightBlue": "#3B78FF", - "brightCyan": "#61D6D6", - "brightGreen": "#16C60C", - "brightPurple": "#B4009E", - "brightRed": "#E74856", - "brightWhite": "#F2F2F2", - "brightYellow": "#F9F1A5", - "cursorColor": "#FFFFFF", - "cyan": "#3A96DD", - "foreground": "#CCCCCC", - "green": "#13A10E", - "name": "Campbell Powershell", - "purple": "#881798", - "red": "#C50F1F", - "selectionBackground": "#FFFFFF", - "white": "#CCCCCC", - "yellow": "#C19C00" - }, - { - "background": "#1E1E1E", - "black": "#21222C", - "blue": "#BD93F9", - "brightBlack": "#6272A4", - "brightBlue": "#D6ACFF", - "brightCyan": "#A4FFFF", - "brightGreen": "#69FF94", - "brightPurple": "#FF92DF", - "brightRed": "#FF6E6E", - "brightWhite": "#FFFFFF", - "brightYellow": "#FFFFA5", - "cursorColor": "#F8F8F2", - "cyan": "#8BE9FD", - "foreground": "#F8F8F2", - "green": "#50FA7B", - "name": "Dracula", - "purple": "#FF79C6", - "red": "#FF5555", - "selectionBackground": "#FFFFFF", - "white": "#F8F8F2", - "yellow": "#F1FA8C" - }, - { - "background": "#282C34", - "black": "#282C34", - "blue": "#61AFEF", - "brightBlack": "#5A6374", - "brightBlue": "#61AFEF", - "brightCyan": "#56B6C2", - "brightGreen": "#98C379", - "brightPurple": "#C678DD", - "brightRed": "#E06C75", - "brightWhite": "#DCDFE4", - "brightYellow": "#E5C07B", - "cursorColor": "#FFFFFF", - "cyan": "#56B6C2", - "foreground": "#DCDFE4", - "green": "#98C379", - "name": "One Half Dark", - "purple": "#C678DD", - "red": "#E06C75", - "selectionBackground": "#FFFFFF", - "white": "#DCDFE4", - "yellow": "#E5C07B" - }, - { - "background": "#FAFAFA", - "black": "#383A42", - "blue": "#0184BC", - "brightBlack": "#4F525D", - "brightBlue": "#61AFEF", - "brightCyan": "#56B5C1", - "brightGreen": "#98C379", - "brightPurple": "#C577DD", - "brightRed": "#DF6C75", - "brightWhite": "#FFFFFF", - "brightYellow": "#E4C07A", - "cursorColor": "#4F525D", - "cyan": "#0997B3", - "foreground": "#383A42", - "green": "#50A14F", - "name": "One Half Light", - "purple": "#A626A4", - "red": "#E45649", - "selectionBackground": "#FFFFFF", - "white": "#FAFAFA", - "yellow": "#C18301" - }, - { - "background": "#002B36", - "black": "#002B36", - "blue": "#268BD2", - "brightBlack": "#073642", - "brightBlue": "#839496", - "brightCyan": "#93A1A1", - "brightGreen": "#586E75", - "brightPurple": "#6C71C4", - "brightRed": "#CB4B16", - "brightWhite": "#FDF6E3", - "brightYellow": "#657B83", - "cursorColor": "#FFFFFF", - "cyan": "#2AA198", - "foreground": "#839496", - "green": "#859900", - "name": "Solarized Dark", - "purple": "#D33682", - "red": "#DC322F", - "selectionBackground": "#FFFFFF", - "white": "#EEE8D5", - "yellow": "#B58900" - }, - { - "background": "#FDF6E3", - "black": "#002B36", - "blue": "#268BD2", - "brightBlack": "#073642", - "brightBlue": "#839496", - "brightCyan": "#93A1A1", - "brightGreen": "#586E75", - "brightPurple": "#6C71C4", - "brightRed": "#CB4B16", - "brightWhite": "#FDF6E3", - "brightYellow": "#657B83", - "cursorColor": "#002B36", - "cyan": "#2AA198", - "foreground": "#657B83", - "green": "#859900", - "name": "Solarized Light", - "purple": "#D33682", - "red": "#DC322F", - "selectionBackground": "#FFFFFF", - "white": "#EEE8D5", - "yellow": "#B58900" - }, - { - "background": "#000000", - "black": "#000000", - "blue": "#3465A4", - "brightBlack": "#555753", - "brightBlue": "#729FCF", - "brightCyan": "#34E2E2", - "brightGreen": "#8AE234", - "brightPurple": "#AD7FA8", - "brightRed": "#EF2929", - "brightWhite": "#EEEEEC", - "brightYellow": "#FCE94F", - "cursorColor": "#FFFFFF", - "cyan": "#06989A", - "foreground": "#D3D7CF", - "green": "#4E9A06", - "name": "Tango Dark", - "purple": "#75507B", - "red": "#CC0000", - "selectionBackground": "#FFFFFF", - "white": "#D3D7CF", - "yellow": "#C4A000" - }, - { - "background": "#FFFFFF", - "black": "#000000", - "blue": "#3465A4", - "brightBlack": "#555753", - "brightBlue": "#729FCF", - "brightCyan": "#34E2E2", - "brightGreen": "#8AE234", - "brightPurple": "#AD7FA8", - "brightRed": "#EF2929", - "brightWhite": "#EEEEEC", - "brightYellow": "#FCE94F", - "cursorColor": "#000000", - "cyan": "#06989A", - "foreground": "#555753", - "green": "#4E9A06", - "name": "Tango Light", - "purple": "#75507B", - "red": "#CC0000", - "selectionBackground": "#FFFFFF", - "white": "#D3D7CF", - "yellow": "#C4A000" - }, - { - "background": "#000000", - "black": "#000000", - "blue": "#000080", - "brightBlack": "#808080", - "brightBlue": "#0000FF", - "brightCyan": "#00FFFF", - "brightGreen": "#00FF00", - "brightPurple": "#FF00FF", - "brightRed": "#FF0000", - "brightWhite": "#FFFFFF", - "brightYellow": "#FFFF00", - "cursorColor": "#FFFFFF", - "cyan": "#008080", - "foreground": "#C0C0C0", - "green": "#008000", - "name": "Vintage", - "purple": "#800080", - "red": "#800000", - "selectionBackground": "#FFFFFF", - "white": "#C0C0C0", - "yellow": "#808000" - } - ], - "themes": [] -} diff --git a/Scripts/ArchWSL.sh b/Scripts/ArchWSL.sh deleted file mode 100644 index beb6cd0..0000000 --- a/Scripts/ArchWSL.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env sh - -# Change Password - -passwd - -# Add User - -echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel -useradd -m -G wheel -s /bin/bash guilherme -passwd guilherme - -# Initialize Keyring - -sudo pacman-key --init -sudo pacman-key --populate -sudo pacman -Sy archlinux-keyring -sudo pacman -Su - -# Dependencies - -sudo pacman -S \ - autoconf \ - automake \ - clang \ - cmake \ - curl \ - ffmpeg \ - gcc \ - git \ - github-cli \ - gzip \ - htop \ - llvm \ - make \ - mono \ - nano \ - neofetch \ - nginx \ - ninja \ - python \ - tar \ - unzip \ - wget \ - zsh - -# Git - -cp ./Config/.gitconfig ~/.gitconfig - -# SSH - -mkdir ~/.ssh -cp ./Config/.ssh/config ~/.ssh/config - -# ZSH - -cp ./Config/.zshrc ~/.zshrc -xir 1.14.2-otp-25 - -# Shell - -chsh -s /usr/bin/zsh -mkdir ~/.config -cp ./Config/starship.toml ~/.config/starship.toml -git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions -source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh -curl -sS https://starship.rs/install.sh | sh - -# Rust - -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -rustup toolchain install nightly -rustup +nightly component add rust-src - -# Tools - -git clone https://github.com/asdf-vm/asdf ~/.asdf - -cargo install --force \ - bandwhich \ - bat \ - cbindgen \ - du-dust \ - fd-find \ - grex \ - hyperfine \ - naga-cli \ - procs \ - ripgrep \ - rmesg \ - sd \ - tokei \ - wasm-bindgen-cli \ - ytop diff --git a/Scripts/Asdf.sh b/Scripts/Asdf.sh deleted file mode 100644 index b330526..0000000 --- a/Scripts/Asdf.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env sh - -# Plugins - -asdf plugin add dotnet https://github.com/hensou/asdf-dotnet -asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir -asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang -asdf plugin add golang https://github.com/kennyp/asdf-golang -asdf plugin add gradle https://github.com/rfrancis/asdf-gradle -asdf plugin add groovy https://github.com/weibemoura/asdf-groovy -asdf plugin add haskell https://github.com/vic/asdf-haskell -asdf plugin add java https://github.com/halcyon/asdf-java -asdf plugin add kotlin https://github.com/asdf-community/asdf-kotlin -asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs -asdf plugin add php https://github.com/asdf-community/asdf-php -asdf plugin add python https://github.com/danhper/asdf-python -asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby -asdf plugin add scala https://github.com/asdf-community/asdf-scala - -# Go - -asdf install golang 1.22.1 -asdf global golang 1.22.1 - -# NodeJS - -asdf install nodejs 20.11.1 -asdf global nodejs 20.11.1 - -# .NET - -asdf install dotnet 7.0.100 -asdf global dotnet 7.0.100 - -# Java - -asdf install java temurin-21.0.2+13.0.LTS -asdf global java temurin-21.0.2+13.0.LTS - -# Erlang - -asdf install erlang 27.0.1 -asdf global erlang 27.0.1 - -# Elixir - -asdf install elixir 1.17.2-otp-27 -asdf global elixir 1.17.2-otp-27 diff --git a/Scripts/Databases.sh b/Scripts/Databases.sh deleted file mode 100644 index 1492cef..0000000 --- a/Scripts/Databases.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env sh - -export MYSQL_PASSWORD="" -export MONGO_PASSWORD="" -export REDIS_PASSWORD="" -export RABBITMQ_PASSWORD="" -export MARIADB_PASSWORD="" -export POSTGRES_PASSWORD="" -export SQLSERVER_PASSWORD="" -export FIREBIRD_PASSWORD="" -export MEILISEARCH_PASSWORD="" - -# Mongo -p 27017:27017 -docker run -d \ - --name "mongo" \ - --restart unless-stopped \ - -p 27017:27017 \ - -e MONGO_INITDB_ROOT_USERNAME=root \ - -e MONGO_INITDB_ROOT_PASSWORD=$MONGO_PASSWORD \ - -v /tbf/mongo/config:/data/configdb \ - -v /tbf/mongo/data:/data/db \ - mongo:4.4.19-focal - -# Redis -p 6379:6379 -docker run -d \ - --name "redis" \ - --restart unless-stopped \ - p 6379:6379 \ - -v /tbf/redis:/data \ - redis:7.0.10-alpine - -# RabbitMQ -p 5672:5672 -p 15672:15672 -docker run -d \ - --name "rabbitmq" \ - --restart unless-stopped \ - -p 5672:5672 \ - -p 15672:15672 \ - -e RABBITMQ_DEFAULT_USER=root \ - -e RABBITMQ_DEFAULT_PASS=$RABBITMQ_PASSWORD \ - -v /tbf/rabbitmq:/var/lib/rabbitmq \ - rabbitmq:3.11.11-management - -# MariaDB -p 3306:3306 -docker run -d \ - --name "mariadb" \ - --restart unless-stopped \ - -p 3306:3306 \ - -e MARIADB_ROOT_PASSWORD=$MARIADB_PASSWORD \ - -v /tbf/mariadb/etc:/etc/mysql/conf.d \ - -v /tbf/mariadb/lib:/var/lib/mysql \ - -v /tbf/mariadb/log:/var/log/mysql \ - mariadb:10.9.3 - -# Postgres -p 5432:5432 -docker run -d \ - --name "postgres" \ - --restart unless-stopped \ - -p 5432:5432 \ - -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \ - -v /tbf/postgres:/var/lib/postgresql/data \ - postgres:latest - -# SQLServer -p 1433:1433 -docker run -d \ - --name "sqlserver" \ - --restart unless-stopped \ - -p 1433:1433 \ - -e ACCEPT_EULA="Y" \ - -e MSSQL_SA_PASSWORD=$SQLSERVER_PASSWORD \ - mcr.microsoft.com/mssql/server:2022-latest - -# Firebird -p 3050:3050 -docker run -d \ - --name "firebird" \ - --restart unless-stopped \ - -p 3050:3050 \ - -e FIREBIRD_DATABASE=firebird \ - -e ISC_PASSWORD=$FIREBIRD_PASSWORD \ - -v /tbf/firebird:/firebird \ - jacobalberty/firebird - -# MeiliSearch -p 7700:7700 -docker run -d \ - --name "meilisearch" \ - --restart unless-stopped \ - -p 7700:7700 \ - -e MEILI_MASTER_KEY=$MEILISEARCH_PASSWORD \ - -v /tbf/meilisearch:/meili_data \ - getmeili/meilisearch:v1.0 diff --git a/Scripts/Hyper-V.ps1 b/Scripts/Hyper-V.ps1 deleted file mode 100644 index b316591..0000000 --- a/Scripts/Hyper-V.ps1 +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env pwsh - -Set-VMVideo -VMName "Ubuntu" -HorizontalResolution 1920 -VerticalResolution 1080 -ResolutionType Single diff --git a/Scripts/Hyper-V.sh b/Scripts/Hyper-V.sh deleted file mode 100644 index 3cd8096..0000000 --- a/Scripts/Hyper-V.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -sudo nano /etc/default/grub -GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080" -sudo apt install linux-image-extra-virtual diff --git a/Scripts/Mac.command b/Scripts/Mac.command deleted file mode 100644 index 870ef90..0000000 --- a/Scripts/Mac.command +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env zsh - -touch ~/.hushlogin diff --git a/Scripts/Manjaro.sh b/Scripts/Manjaro.sh deleted file mode 100644 index db2f13b..0000000 --- a/Scripts/Manjaro.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env sh - -# Initialize Keyring - -sudo pacman-key --init -sudo pacman-key --populate -sudo pacman -Sy archlinux-keyring -sudo pacman -Su - -# Dependencies - -sudo pacman -S \ - autoconf \ - automake \ - clang \ - cmake \ - curl \ - ffmpeg \ - gcc \ - git \ - github-cli \ - gzip \ - htop \ - llvm \ - make \ - mono \ - nano \ - neofetch \ - nginx \ - ninja \ - python \ - tar \ - unzip \ - wget \ - youtube-dl \ - zsh - -# Rust - -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -rustup toolchain install nightly -rustup +nightly component add rust-src - -# Tools - -git clone https://github.com/asdf-vm/asdf ~/.asdf - -cargo install --force \ - bandwhich \ - bat \ - cbindgen \ - du-dust \ - fd-find \ - grex \ - hyperfine \ - naga-cli \ - procs \ - ripgrep \ - rmesg \ - sd \ - tokei \ - wasm-bindgen-cli \ - ytop - -# Git - -cp ./Config/.gitconfig ~/.gitconfig - -# SSH - -mkdir ~/.ssh -cp ./Config/.ssh/config ~/.ssh/config - -# ZSH - -cp ./Config/.zshrc ~/.zshrc -xir 1.14.2-otp-25 - -# Shell - -mkdir ~/.config -cp ./Config/starship.toml ~/.config/starship.toml -git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions -source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh -curl -sS https://starship.rs/install.sh | sh -chsh -s /usr/bin/zsh diff --git a/Scripts/Ubuntu.sh b/Scripts/Ubuntu.sh deleted file mode 100644 index a85681e..0000000 --- a/Scripts/Ubuntu.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/usr/bin/env sh - -touch ~/.hushlogin - -# Create User - -sudo adduser guilherme -sudo usermod -aG sudo guilherme - -# Update - -export DEBIAN_FRONTEND=noninteractive - -sudo DEBIAN_FRONTEND=noninteractive apt update && sudo apt upgrade -y - -# Dependencies - -sudo DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \ - bash \ - ca-certificates \ - curl \ - file \ - gh \ - git \ - gnupg \ - gzip \ - htop \ - iputils-ping \ - lsb-release \ - nano \ - neofetch \ - python3 \ - samba \ - tar \ - unzip \ - wget \ - xz-utils \ - zsh - -sudo DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \ - autoconf \ - automake \ - clang \ - cmake \ - ffmpeg \ - g++ \ - gcc \ - libc6-dev \ - libluajit-5.1-dev \ - libncurses5-dev \ - libssl-dev \ - libudev-dev \ - llvm \ - make \ - mono-complete \ - ninja-build \ - youtube-dl - -# PowerShell - -sudo snap install powershell --classic - -# Git - -cp ./Config/.gitconfig ~/.gitconfig - -# SSH - -mkdir ~/.ssh -cp ./Config/.ssh/config ~/.ssh/config - -# ZSH - -cp ./Config/.zshrc ~/.zshrc - -# Shell - -mkdir ~/.config -cp ./Config/starship.toml ~/.config/starship.toml -git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions -chsh -s $(which zsh) -curl -sS https://starship.rs/install.sh | sh -source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh - -# Rust - -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -rustup toolchain install nightly -rustup +nightly component add rust-src - -# Tools - -git clone https://github.com/asdf-vm/asdf ~/.asdf - -cargo install --force \ - bandwhich \ - bat \ - cbindgen \ - du-dust \ - fd-find \ - grex \ - hyperfine \ - naga-cli \ - procs \ - ripgrep \ - rmesg \ - sd \ - tokei \ - wasm-bindgen-cli \ - ytop - -# Docker - -sudo mkdir -p /etc/apt/keyrings -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg -echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -sudo DEBIAN_FRONTEND=noninteractive apt update -sudo DEBIAN_FRONTEND=noninteractive apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -sudo usermod -aG docker $USER -newgrp docker -docker version diff --git a/bootstrap.bat b/bootstrap.bat new file mode 100644 index 0000000..c50d3da --- /dev/null +++ b/bootstrap.bat @@ -0,0 +1,5 @@ +@echo off + +powershell.exe -ExecutionPolicy Bypass -File "bootstrap.ps1" + +exit /B diff --git a/bootstrap.command b/bootstrap.command new file mode 100644 index 0000000..65f2f5a --- /dev/null +++ b/bootstrap.command @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +cp ./shared/* ~ diff --git a/Scripts/Windows.ps1 b/bootstrap.ps1 similarity index 100% rename from Scripts/Windows.ps1 rename to bootstrap.ps1 diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..78d90f1 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,145 @@ +#!/usr/bin/env bash + +detect_distro() { + if [[ -f /etc/os-release ]]; then + . /etc/os-release + if [[ "$ID" == "ubuntu" ]]; then + echo "Ubuntu" + elif [[ "$ID" == "arch" ]]; then + echo "Arch" + else + echo "Unknown" + fi + else + echo "Unknown" + fi +} + +is_wsl() { + if grep -qi "Microsoft" /proc/version; then + return 1 + else + return 0 + fi +} + +install_shared() { + echo "Installing shared packages..." + + sudo groupadd wireshark + sudo usermod -aG wireshark $USER + newgrp wireshark + + cp ./shared/* ~ + cp ./linux/* ~ + + git clone https://github.com/asdf-vm/asdf ~/.asdf + git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions + chsh -s $(which zsh) + curl -sS https://starship.rs/install.sh | sh + source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh + + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + source "$HOME/.cargo/env" + rustup toolchain install nightly + rustup +nightly component add rust-src + + asdf plugin add dotnet https://github.com/hensou/asdf-dotnet + asdf plugin add golang https://github.com/kennyp/asdf-golang + asdf plugin add java https://github.com/halcyon/asdf-java + asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejsn + + asdf install dotnet 8.0.403 + asdf install golang 1.23.2 + asdf install java temurin-21.0.5+11.0.LTS + asdf install nodejs 20.18.0 + + asdf global dotnet 8.0.403 + asdf global golang 1.23.2 + asdf global java temurin-21.0.5+11.0.LTS + asdf global nodejs 20.18.0 +} + +install_ubuntu() { + echo "Installing Ubuntu packages..." + + touch ~/.hushlogin + + sudo apt update -y && sudo apt upgrade -y + sudo add-apt-repository ppa:zhangsongcui3371/fastfetch + + sudo apt install -y --no-install-recommends \ + autoconf \ + automake \ + bash \ + ca-certificates \ + clang \ + cmake \ + curl \ + dnsutils \ + fastfetch \ + ffmpeg \ + file \ + g++ \ + gcc \ + gh \ + git \ + gnupg \ + gzip \ + htop \ + iputils-ping \ + libc6-dev \ + libluajit-5.1-dev \ + libncurses5-dev \ + libssl-dev \ + libudev-dev \ + llvm \ + lsb-release \ + make \ + nano \ + ninja-build \ + python3 \ + python3-pip \ + samba \ + tar \ + tshark \ + unzip \ + wget \ + whois \ + xz-utils \ + yt-dlp \ + zsh + + if grep -vq "microsoft" /proc/version; then + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt update + sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin + sudo usermod -aG docker $USER + newgrp docker + docker version + fi +} + +install_arch() { + echo "Installing Arch packages..." +} + +main() { + distro=$(detect_distro) + + if [[ "$distro" == "Ubuntu" ]]; then + install_ubuntu + install_shared + elif [[ "$distro" == "Arch" ]]; then + install_arch + install_shared + else + echo "Unsupported distro." + fi +} + +main diff --git a/Config/.zshrc b/linux/.zshrc similarity index 100% rename from Config/.zshrc rename to linux/.zshrc diff --git a/Config/starship.toml b/shared/.config/starship.toml similarity index 100% rename from Config/starship.toml rename to shared/.config/starship.toml diff --git a/Config/.gitconfig b/shared/.gitconfig similarity index 100% rename from Config/.gitconfig rename to shared/.gitconfig diff --git a/Config/.ssh/config b/shared/.ssh/config similarity index 100% rename from Config/.ssh/config rename to shared/.ssh/config diff --git a/Config/Microsoft.PowerShell_profile.ps1 b/windows/.config/Microsoft.PowerShell_profile.ps1 similarity index 100% rename from Config/Microsoft.PowerShell_profile.ps1 rename to windows/.config/Microsoft.PowerShell_profile.ps1 diff --git a/Config/.wslconfig b/windows/.wslconfig similarity index 100% rename from Config/.wslconfig rename to windows/.wslconfig