Skip to content

Instantly share code, notes, and snippets.

@riipandi riipandi/README.md
Last active Jul 22, 2019

Embed
What would you like to do?
Personal Development Environment Setup

Personal Development Environment Setup

Don't forget to add %LOCALAPPDATA%\Yarn\bin to your PATH if you are using Yarn instead NPM.

# Git setup
git config --global user.name  "Aris Ripandi"
git config --global user.email "aris@ripandi.id"
git config --global core.autocrlf false
git config --global core.eol lf

# gClud SDK Region
gcloud config set compute/zone asia-east1-b
gcloud config set compute/region asia-east1
gcloud config list
# Composer Packages
composer global require hirak/prestissimo laravel/installer laravel/envoy

# NPM Packages
npm i -g git-upload eslint serve vsce express express-generator parcel-bundler degit create-react-app
npm i -g @adonisjs/cli @vue/cli @nestjs/cli @gridsome/cli gatsby-cli expo-cli firebase-tools now

# Essential extensions
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vscode-remote.remote-wsl
code --install-extension ms-vscode.Go
code --install-extension ms-python.python
code --install-extension redhat.vscode-yaml
code --install-extension redhat.vscode-xml
code --install-extension PKief.material-icon-theme
code --install-extension whizkydee.material-palenight-theme
code --install-extension alefragnani.project-manager
code --install-extension EditorConfig.EditorConfig
code --install-extension formulahendry.auto-close-tag
code --install-extension formulahendry.auto-rename-tag
code --install-extension aaron-bond.better-comments
code --install-extension fabiospampinato.vscode-todo-plus
code --install-extension BriteSnow.vscode-toggle-quotes
code --install-extension CoenraadS.bracket-pair-colorizer-2
code --install-extension vincaslt.highlight-matching-tag
code --install-extension bierner.markdown-preview-github-styles
code --install-extension brenosolutions.sqlformatter
code --install-extension yzhang.markdown-all-in-one
code --install-extension codezombiech.gitignore
code --install-extension deerawan.vscode-faker
code --install-extension mrmlnc.vscode-apache
code --install-extension shanoor.vscode-nginx
code --install-extension mikestead.dotenv
code --install-extension wwm.better-align
code --install-extension quicktype.quicktype
code --install-extension GrapeCity.gc-excelviewer
code --install-extension PeterJausovec.vscode-docker
code --install-extension ms-azure-devops.azure-pipelines
code --install-extension thingalon.pony-ssh
code --install-extension liximomo.sftp
code --install-extension mauve.terraform
code --install-extension coolbear.systemd-unit-file
code --install-extension VisualStudioExptTeam.vscodeintellicode

# PHP + Javascript Development
code --install-extension xabikos.javascriptsnippets
code --install-extension christian-kohler.path-intellisense
code --install-extension christian-kohler.npm-intellisense
code --install-extension wix.vscode-import-cost
code --install-extension eg2.vscode-npm-script
code --install-extension dbaeumer.vscode-eslint
code --install-extension octref.vetur
code --install-extension xabikos.ReactSnippets
code --install-extension xabikos.JavaScriptSnippets
code --install-extension kamikillerto.vscode-colorize
code --install-extension sdras.vue-vscode-snippets
code --install-extension Zignd.html-css-class-completion
code --install-extension pranaygp.vscode-css-peek
code --install-extension jpoissonnier.vscode-styled-components
code --install-extension EQuimper.react-native-react-redux
code --install-extension mgmcdermott.vscode-language-babel
code --install-extension bradlc.vscode-tailwindcss
code --install-extension luongnd.edge
code --install-extension junstyle.php-cs-fixer
code --install-extension onecentlin.laravel5-snippets
code --install-extension ahinkle.laravel-model-snippets
code --install-extension austenc.laravel-blade-spacer
code --install-extension onecentlin.laravel-blade
code --install-extension tiansin.vscode-laravel-assist

# Python Development
code --install-extension cstrap.flask-snippets
code --install-extension njpwerner.autodocstring
code --install-extension shardulm94.trailing-spaces

# Optional extensions
code --install-extension idleberg.innosetup
code --install-extension Dart-Code.flutter
module.exports = {
config: {
updateChannel: 'stable',
opacity: 0.88,
fontSize: 14,
fontFamily: 'consolas, "Ubuntu Mono", monospace',
fontWeight: 'normal',
fontWeightBold: 'bold',
cursorColor: 'rgba(248,28,229,0.8)',
cursorAccentColor: '#000',
cursorShape: 'UNDERLINE',
cursorBlink: false,
foregroundColor: 'rgba(141, 208, 6, 0.93)',
backgroundColor: 'rgba(0, 0, 0, .65)',
selectionColor: 'rgba(255, 255, 255,0.3)',
borderColor: 'rgba(255, 255, 255, .15)',
css: "",
termCSS: "",
showHamburgerMenu: true,
showWindowControls: "",
windowSize: [940, 620],
padding: '12px 14px',
bell: 'SOUND',
copyOnSelect: true,
defaultSSHApp: false,
shell: 'C:\\Program Files\\PowerShell\\6\\pwsh.exe',
shellArgs: ['-NoLogo', '-WorkingDirectory', '~'],
},
plugins: [
'hyper-broadcast',
'hyper-opacity',
'hyper-single-instance',
],
};
{
"php-cs-fixer.executablePath": "${extensionPath}\\php-cs-fixer.phar",
"innosetup.pathToIscc": "C:\\Program Files (x86)\\Inno Setup 6\\ISCC.exe",
"terminal.integrated.shell.windows": "C:\\Program Files\\PowerShell\\6\\pwsh.exe",
"terminal.external.windowsExec": "C:\\Program Files\\PowerShell\\6\\pwsh.exe",
"terminal.integrated.windowsEnableConpty": true,
"terminal.integrated.rendererType": "dom",
"terminal.integrated.fontWeight": "100",
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "Palenight Operator",
"workbench.activityBar.visible": true,
"workbench.startupEditor": "newUntitledFile",
"workbench.enableExperiments": false,
"workbench.tips.enabled": false,
"workbench.editor.enablePreview": true,
"workbench.editor.focusRecentEditorAfterClose": true,
"workbench.editor.highlightModifiedTabs": true,
"workbench.sideBar.location": "right",
"workbench.settings.editor": "json",
"workbench.settings.openDefaultSettings": true,
"workbench.settings.useSplitJSON": true,
"workbench.settings.enableNaturalLanguageSearch": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.formatOnSave": false,
"editor.colorDecorators": true,
"editor.cursorBlinking": "solid",
"editor.renderControlCharacters": false,
"editor.renderIndentGuides": false,
"editor.roundedSelection": true,
"editor.scrollBeyondLastLine": false,
"editor.accessibilitySupport": "off",
"editor.snippetSuggestions": "top",
"editor.tabCompletion": "on",
"editor.renderWhitespace": "boundary",
"editor.lineHeight": 0,
"editor.fontWeight": "400",
"editor.fontSize": 15,
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.wordWrap": "off",
"editor.detectIndentation": false,
"editor.autoIndent": false,
"editor.links": false,
"editor.smoothScrolling": false,
"editor.find.autoFindInSelection": false,
"editor.fontFamily": "Hasklig, 'Fira Code', 'SF Mono', 'Roboto Mono', 'Consolas'",
"editor.fontLigatures": true,
"editor.minimap.enabled": false,
"editor.quickSuggestionsDelay": 100,
"editor.parameterHints.enabled": false,
"editor.dragAndDrop": false,
"editor.autoSurround": "never",
"editor.multiCursorModifier": "alt",
"editor.codeActionsOnSave": { "source.fixAll": true },
"zenMode.centerLayout": false,
"zenMode.fullScreen": false,
"zenMode.hideLineNumbers": false,
"zenMode.hideTabs": false,
"breadcrumbs.enabled": false,
"problems.decorations.enabled": false,
"window.newWindowDimensions": "default",
"window.title": "${dirty}${rootName}${separator}${activeFolderLong}",
"window.zoomLevel": 0,
"explorer.sortOrder": "default",
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"files.eol": "\n",
"git.autofetch": true,
"git.confirmSync": false,
"git.enableSmartCommit": true,
"git.ignoreMissingGitWarning": true,
"update.enableWindowsBackgroundUpdates": false,
"update.showReleaseNotes": false,
"extensions.ignoreRecommendations": true,
"explorer.confirmDragAndDrop": false,
"explorer.confirmDelete": false,
"explorer.autoReveal": false,
"explorer.openEditors.visible": 0,
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "underline",
"terminal.integrated.fontSize": 13,
"material-icon-theme.showWelcomeMessage": false,
"material-icon-theme.showUpdateMessage": false,
"markdown.extension.toc.githubCompatibility": true,
"files.autoSave": "off",
"files.associations": {
"*.css": "sass",
"*.erb": "erb",
"*.jsx": "javascriptreact",
"**/ci/*.yml": "azure-pipelines",
".prettierrc": "yaml",
"*.vue": "vue"
},
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/.tmb": true,
"**/.venv": true,
"**/*.pyc": true,
"**/.quarantine": true,
"**/CVS": true,
"**/venv": true,
"**/artisan": true,
"**/__pycache__": true,
"**/composer.lock": true,
"**/package-lock.json": true,
"**/mix-manifest.json": true,
"**/phpunit-log-*.php": true,
"**/yarn.lock": true,
"**/yarn-error.log": true,
"**/docker": true,
"**/node_modules": false,
"**/vendor": false
},
"search.exclude": {
"**/bower_components": true,
"**/node_modules": true,
"**/vendor": true,
"**/docker": true
},
"emmet.triggerExpansionOnTab": false,
"npm-intellisense.packageSubfoldersIntellisense": true,
"npm-intellisense.scanDevDependencies": true,
"javascript.validate.enable": true,
"javascript.referencesCodeLens.enabled": true,
"javascript.implicitProjectConfig.checkJs": false,
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.disableAutomaticTypeAcquisition": false,
"typescript.implementationsCodeLens.enabled": true,
"typescript.referencesCodeLens.enabled": true,
"typescript.check.npmIsInstalled": false,
"typescript.tsserver.log": "verbose",
"typescript.surveys.enabled": false,
"[javascript]": {
"editor.acceptSuggestionOnEnter": "on",
"editor.suggestSelection": "recentlyUsedByPrefix",
},
"auto-rename-tag.activationOnLanguage": [
"html",
"xml",
"php",
"blade",
"edge",
"javascript"
],
"eslint.enable": true,
"eslint.autoFixOnSave": true,
"eslint.validate": [
{
"language": "vue",
"autoFix": true
},
{
"language": "html",
"autoFix": true
},
{
"language": "javascript",
"autoFix": true
}
],
"eslint.packageManager": "npm",
"vetur.format.defaultFormatter.js": "vscode-typescript",
"vetur.format.defaultFormatter.html": "js-beautify-html",
"php.suggest.basic": true,
"php.validate.enable": false,
"php-cs-fixer.onsave": true,
"php-cs-fixer.formatHtml": false,
"php-cs-fixer.rules": "@PSR2",
"php-cs-fixer.exclude": [],
"projectManager.sortList": "Name",
"blade.format.enable": true,
"faker.locale": "id_ID",
"[plaintext]": {
"editor.quickSuggestions": false
},
"[json]": {
"editor.fontWeight": "300",
"editor.formatOnSave": false
},
"[jsonc]": {
"editor.fontWeight": "300",
"editor.formatOnSave": false
},
"[xml]": {
"editor.formatOnSave": false
},
"[blade]": {
"editor.formatOnSave": false,
},
"emmet.includeLanguages": {
"edge": "html"
},
"[php]": {
"editor.defaultFormatter": "junstyle.php-cs-fixer"
}
}
#!/bin/bash
#
# Auto installation, run as root:
#
# bash <(curl -sLo- https://git.io/fjTVJ || wget -qO- https://git.io/fjTVJ)
#
# Exclude this path in Windows Defender:
# %USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
#
perl -pi -e 's#(.*sudo.*ALL=)(.*)#${1}(ALL) NOPASSWD:ALL#' /etc/sudoers
wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
cat > /etc/apt/sources.list <<EOF
deb https://mirror.unpad.ac.id/ubuntu bionic main restricted universe multiverse
deb https://mirror.unpad.ac.id/ubuntu bionic-updates main restricted universe multiverse
deb https://mirror.unpad.ac.id/ubuntu bionic-security main restricted universe multiverse
deb https://mirror.unpad.ac.id/ubuntu bionic-proposed main restricted universe multiverse
deb https://deb.nodesource.com/node_10.x bionic main
EOF
apt update ; apt -y full-upgrade ; apt -y autoremove ; apt -y install git curl perl openssl \
crudini figlet perl elinks pwgen software-properties-common apt-transport-https dirmngr gnupg \
debconf-utils gcc make cmake build-essential perl binutils dnsutils zip unzip bsdtar pv lsof \
whois dh-autoreconf rsync screenfetch jpegoptim optipng ca-certificates s3cmd sqlite3 mcrypt \
jq gettext imagemagick aspell graphviz sshpass xsel ansible python3 python3-dev python3-wheel \
python3-pip python3-setuptools python3-postgresql python3-mysqldb python3-venv python3-psycopg2 \
python3-virtualenv virtualenv libpq-dev apache2-utils php-cli php-common php-curl php-bcmath \
php-gd php-gmp php-imap php-intl php-json php-mbstring php-mysql php-pgsql php-soap php-sqlite3 \
php-readline php-xml php-xmlrpc php-zip php-xdebug php-mongodb php-amqp php-amqplib composer \
nodejs mysql-client
curl -L# https://git.io/fjTKE -o /usr/bin/crudini ; chmod +x /usr/bin/crudini
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 >/dev/null 2>&1
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2 >/dev/null 2>&1
update-alternatives --set python /usr/bin/python3.6 >/dev/null 2>&1 && python -V
crudini --set /etc/mysql/conf.d/mysql.cnf 'mysql' 'host' '127.0.0.1'
USERNAME=`id -nu 1000`
runuser -l $USERNAME -c 'composer global require hirak/prestissimo laravel/installer ; sudo npm i -g git-upload'
mkdir -p /home/$USERNAME/.ssh ; chmod 0700 $_ ; touch /home/$USERNAME/.ssh/{authorized_keys,id_rsa,id_rsa.pub}
chown -R ${USERNAME}: /home/$USERNAME/.ssh ; chmod 0600 /home/$USERNAME/.ssh/*
if ! grep -q 'composer' /home/$USERNAME/.bashrc ; then
echo -e '\nexport PATH=$PATH:$HOME/.config/composer/vendor/bin:$HOME/.yarn/bin' >> /home/$USERNAME/.bashrc
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.