added my setup script and personal repository
@@ -1,3 +1,51 @@
|
||||
# d
|
||||
### Languages i've used
|
||||
|
||||
My os setup scripts and personal dev .md file
|
||||
<p float="left">
|
||||
<img src="./langs/go.png" width="68" height="68" />
|
||||
<img src="./langs/c.png" width="68" height="68" />
|
||||
<img src="./langs/python.png" width="68" height="68" />
|
||||
<img src="./langs/js.png" width="68" height="68" />
|
||||
<img src="./langs/bash.png" width="68" height="68" />
|
||||
</p>
|
||||
|
||||
### Databases and message brokers i've worked with
|
||||
|
||||
<p float="left">
|
||||
<img src="./dbs/leveldb.png" width="68" height="68" />
|
||||
<img src="./dbs/postgres.png" width="68" height="68" />
|
||||
<img src="./dbs/redis.png" width="68" height="68" />
|
||||
<img src="./dbs/emqx.png" width="68" height="68" />
|
||||
<img src="./dbs/nats.png" width="68" height="68" />
|
||||
<img src="./dbs/kafka.png" width="68" height="68" />
|
||||
<img src="./dbs/mongo.png" width="68" height="68" />
|
||||
<img src="./dbs/rabbitmq.png" width="68" height="68" />
|
||||
</p>
|
||||
|
||||
### Technologies i'm familiar with
|
||||
|
||||
<p float="left">
|
||||
<img src="./tech/git.png" width="68" height="68" />
|
||||
<img src="./tech/linux.png" width="68" height="68" />
|
||||
<img src="./tech/docker.png" width="68" height="68" />
|
||||
<img src="./tech/http.png" width="68" height="68" />
|
||||
<img src="./tech/grpc.png" width="68" height="68" />
|
||||
<img src="./tech/gitlab.png" width="68" height="68" />
|
||||
<img src="./tech/gitea.png" width="68" height="68" />
|
||||
<img src="./tech/svelte.png" width="68" height="68" />
|
||||
<img src="./tech/vue.png" width="68" height="68" />
|
||||
<img src="./tech/flutter.png" width="68" height="68" />
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
### My open-source contributions
|
||||
|
||||
- [Author of grpc-clicker VSCode extension](https://marketplace.visualstudio.com/items?itemName=Dancheg97.grpc-clicker)
|
||||
- [Gitea PR to support arch linux packages (co-authored)](https://github.com/go-gitea/gitea/pull/32692)
|
||||
- [Found and fixed critical gitea vulnerability, allowing one user to occupy an unlimited amount of disk space (i bet hardest was to find it, old gh account - check commit email)](https://github.com/go-gitea/gitea/pull/28007)
|
||||
- [XORM PR to extend a website documentation a bit](https://gitea.com/xorm/website2/pulls/8)
|
||||
- [PR to OIDC to add support for env setting to web clients](https://github.com/zitadel/oidc/pull/693#pullrequestreview-2528704425)
|
||||
|
||||
<p align="center">
|
||||
<img src="./cat.gif" height="150"/>
|
||||
</p>
|
||||
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,177 @@
|
||||
[
|
||||
{
|
||||
"key": "ctrl+shift+n ctrl+shift+f",
|
||||
"command": "explorer.newFile"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+delete",
|
||||
"command": "workbench.action.terminal.kill"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+g",
|
||||
"command": "workbench.view.scm",
|
||||
"when": "workbench.scm.active && !gitlens:disabled && config.gitlens.keymap == 'chorded'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+g g",
|
||||
"command": "-workbench.view.scm",
|
||||
"when": "workbench.scm.active && !gitlens:disabled && config.gitlens.keymap == 'chorded'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+n",
|
||||
"command": "-workbench.action.newWindow"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+alt+down",
|
||||
"command": "editor.action.copyLinesDownAction",
|
||||
"when": "editorTextFocus && !editorReadonly"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+alt+down",
|
||||
"command": "-editor.action.copyLinesDownAction",
|
||||
"when": "editorTextFocus && !editorReadonly"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+alt+up",
|
||||
"command": "editor.action.copyLinesUpAction",
|
||||
"when": "editorTextFocus && !editorReadonly"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+alt+up",
|
||||
"command": "-editor.action.copyLinesUpAction",
|
||||
"when": "editorTextFocus && !editorReadonly"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+n ctrl+shift+d",
|
||||
"command": "explorer.newFolder"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+e",
|
||||
"command": "-workbench.action.quickOpenNavigatePreviousInFilePicker",
|
||||
"when": "inFilesPicker && inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+y",
|
||||
"command": "workbench.action.toggleMaximizedPanel"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+a",
|
||||
"command": "workbench.action.focusActivityBar"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+down",
|
||||
"command": "-scrollLineDown",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+down",
|
||||
"command": "mario.moveDown",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+s",
|
||||
"command": "-mario.moveDown",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+up",
|
||||
"command": "-scrollLineUp",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+up",
|
||||
"command": "mario.moveUp",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+w",
|
||||
"command": "-mario.moveUp",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+1",
|
||||
"command": "workbench.action.openEditorAtIndex1"
|
||||
},
|
||||
{
|
||||
"key": "alt+1",
|
||||
"command": "-workbench.action.openEditorAtIndex1"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+2",
|
||||
"command": "workbench.action.openEditorAtIndex2"
|
||||
},
|
||||
{
|
||||
"key": "alt+2",
|
||||
"command": "-workbench.action.openEditorAtIndex2"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+3",
|
||||
"command": "workbench.action.openEditorAtIndex3"
|
||||
},
|
||||
{
|
||||
"key": "alt+3",
|
||||
"command": "-workbench.action.openEditorAtIndex3"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+4",
|
||||
"command": "workbench.action.openEditorAtIndex4"
|
||||
},
|
||||
{
|
||||
"key": "alt+4",
|
||||
"command": "-workbench.action.openEditorAtIndex4"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+5",
|
||||
"command": "workbench.action.openEditorAtIndex5"
|
||||
},
|
||||
{
|
||||
"key": "alt+5",
|
||||
"command": "-workbench.action.openEditorAtIndex5"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+6",
|
||||
"command": "workbench.action.openEditorAtIndex6"
|
||||
},
|
||||
{
|
||||
"key": "alt+6",
|
||||
"command": "-workbench.action.openEditorAtIndex6"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+7",
|
||||
"command": "workbench.action.openEditorAtIndex7"
|
||||
},
|
||||
{
|
||||
"key": "alt+7",
|
||||
"command": "-workbench.action.openEditorAtIndex7"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+8",
|
||||
"command": "workbench.action.openEditorAtIndex8"
|
||||
},
|
||||
{
|
||||
"key": "alt+8",
|
||||
"command": "-workbench.action.openEditorAtIndex8"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+9",
|
||||
"command": "workbench.action.openEditorAtIndex9"
|
||||
},
|
||||
{
|
||||
"key": "alt+9",
|
||||
"command": "-workbench.action.openEditorAtIndex9"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+q",
|
||||
"command": "runCommands",
|
||||
"args": {
|
||||
"commands": [
|
||||
"cody.chat.newEditorPanel",
|
||||
"workbench.action.editorLayoutSingle"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "alt+l",
|
||||
"command": "claude-dev.SidebarProvider.focus"
|
||||
}
|
||||
]
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"editor.rulers": [
|
||||
80
|
||||
],
|
||||
"workbench.iconTheme": "material-icon-theme",
|
||||
"workbench.startupEditor": "none",
|
||||
"security.workspace.trust.untrustedFiles": "open",
|
||||
"security.workspace.trust.startupPrompt": "never",
|
||||
"security.workspace.trust.enabled": false,
|
||||
"window.titleBarStyle": "custom",
|
||||
"window.newWindowDimensions": "fullscreen",
|
||||
"window.restoreFullscreen": true,
|
||||
"redhat.telemetry.enabled": false,
|
||||
"window.customMenuBarAltFocus": false,
|
||||
"editor.cursorBlinking": "smooth",
|
||||
"extensions.ignoreRecommendations": true,
|
||||
"files.autoSave": "afterDelay",
|
||||
"explorer.confirmDelete": false,
|
||||
"git.enableSmartCommit": true,
|
||||
"git.suggestSmartCommit": false,
|
||||
"git.useEditorAsCommitInput": false,
|
||||
"git.postCommitCommand": "sync",
|
||||
"git.confirmSync": false,
|
||||
"sqltools.autoOpenSessionFiles": false,
|
||||
"window.commandCenter": false,
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "vscode.json-language-features"
|
||||
},
|
||||
"terminal.integrated.defaultProfile.linux": "zsh",
|
||||
"go.toolsManagement.autoUpdate": true,
|
||||
"database-client.autoSync": true,
|
||||
"explorer.confirmDragAndDrop": false,
|
||||
"[sql]": {
|
||||
"editor.defaultFormatter": "mtxr.sqltools"
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
"protoc": {
|
||||
"path": "proto"
|
||||
},
|
||||
"editor.inlineSuggest.suppressSuggestions": true,
|
||||
"docker.extension.enableComposeLanguageServer": false,
|
||||
"terminal.integrated.scrollback": 2000,
|
||||
"terminal.integrated.tabs.enabled": false,
|
||||
"terminal.integrated.fontFamily": "MesloLGS NF",
|
||||
"github.copilot.inlineSuggest.enable": false,
|
||||
"github.copilot.editor.enableAutoCompletions": false,
|
||||
"github.copilot.chat.enabled": false,
|
||||
"chat.disableAIFeatures": true
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
|
||||
# File setup
|
||||
cp ~/os/ava.jpeg ~/.face
|
||||
|
||||
# === VS Code configs ===
|
||||
cp ~/os/settings.json ~/.config/'Code - OSS'/User/settings.json
|
||||
cp ~/os/keybindings.json ~/.config/'Code - OSS'/User/keybindings.json
|
||||
|
||||
# === GNOME keyboard shortcuts ===
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "['']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "['']"
|
||||
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Shift>Alt_L']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Alt>Shift_L']"
|
||||
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['']"
|
||||
gsettings set org.gnome.desktop.wm.keybindings maximize "['<Super>Up']"
|
||||
|
||||
# === Wallpaper ===
|
||||
gsettings set org.gnome.desktop.background picture-uri "file://$HOME/os/wallpaper.jpg"
|
||||
gsettings set org.gnome.desktop.background picture-uri-dark "file://$HOME/os/wallpaper.jpg"
|
||||
gsettings set org.gnome.shell favorite-apps "['org.gnome.Settings.desktop', 'code-oss.desktop', 'chromium.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Console.desktop']"
|
||||
|
||||
# === Gnome folders flattening ===
|
||||
gsettings set org.gnome.desktop.app-folders folder-children "[]"
|
||||
gsettings set org.gnome.desktop.app-folders folder-children "['']" 2>/dev/null || true
|
||||
echo "✅ App grid flattened! All apps will appear in a single alphabetical list."
|
||||
|
||||
# === Git config (no shell issues) ===
|
||||
git config --global user.name "d1nch8g"
|
||||
git config --global user.email "d1nch8g@gmail.com"
|
||||
git config --global credential.helper store
|
||||
echo 'Defaults timestamp_timeout=60,!tty_tickets' | sudo tee /etc/sudoers.d/timeout
|
||||
|
||||
# === Cleanup (no shell issues) ===
|
||||
for pkg in gnome-layout-switcher gnome-user-docs manjaro-application-utility libpamac-flatpak-plugin pamac-gnome-integration gnome-contacts gnome-tour gnome-text-editor gnome-calendar gnome-characters gnome-chess gnome-music gnome-system-monitor gnome-maps gnome-boxes gnome-calculator gnome-weather gnome-font-viewer gnome-mines gnome-logs gnome-clocks gnome-tweaks gnome-connections baobab quadrapassel iagno simple-scan snapshot loupe papers decibels gnome-firmware gnome-disk-utility pamac-gtk pamac-cli libpamac ex-vi-compat vim timeshift-autosnap-manjaro collision endeavour file-roller fragments kvantum-manjaro manjaro-hello micro timeshift gufw malcontent thunderbird firefox gnome-shell-extension-gtk4-desktop-icons-ng webapp-manager showtime; do
|
||||
pacman -Q "$pkg" &>/dev/null && sudo pacman -Rns --noconfirm "$pkg"
|
||||
done
|
||||
|
||||
# === System Updates (safe) ===
|
||||
sudo pacman -Syu
|
||||
sudo pacman -S --needed --noconfirm git go docker docker-compose chromium code base-devel rustup
|
||||
|
||||
# === Environment Setup - SOLUTION 1 ===
|
||||
# Write env vars to file (will apply on next shell)
|
||||
echo 'export GOROOT=/usr/lib/go' >> ~/.zshrc
|
||||
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
|
||||
echo 'export PATH=$PATH:/usr/lib/go/bin' >> ~/.zshrc
|
||||
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc
|
||||
echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.zshrc
|
||||
|
||||
# **CRITICAL: Export them NOW for this script**
|
||||
export GOROOT=/usr/lib/go
|
||||
export GOPATH=$HOME/go
|
||||
export PATH=$PATH:/usr/lib/go/bin
|
||||
export PATH=$PATH:$GOPATH/bin
|
||||
|
||||
# === Go tools (now works because PATH is set) ===
|
||||
go install mvdan.cc/gofumpt@latest
|
||||
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4
|
||||
|
||||
# === VS Code extensions ===
|
||||
code --install-extension PKief.material-icon-theme
|
||||
code --install-extension mhutchie.git-graph
|
||||
code --install-extension jeff-hykin.mario
|
||||
code --install-extension golang.Go
|
||||
code --install-extension rust-lang.rust-analyzer
|
||||
code --install-extension vadimcn.vscode-lldb
|
||||
code --install-extension tamasfe.even-better-toml
|
||||
|
||||
# === Rust setup ===
|
||||
|
||||
rustup default stable
|
||||
cargo install tauri-cli
|
||||
cargo install create-tauri-app
|
||||
|
||||
# === Docker setup ===
|
||||
sudo groupadd docker 2>/dev/null # 2>/dev/null hides "group already exists" error
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
sudo systemctl enable docker
|
||||
sudo systemctl start docker
|
||||
|
||||
# === Chromium setup ===
|
||||
|
||||
[ -f ~/.config/chromium/Default/Preferences ] && sed -i 's/"show_on_all_tabs":true/"show_on_all_tabs":false/' ~/.config/chromium/Default/Preferences || echo "Chromium preferences not found - run Chromium at least once first"
|
||||
sudo rm -f /etc/chromium/master_preferences
|
||||
rm -rf ~/.config/chromium
|
||||
|
||||
# === Final message ===
|
||||
echo ""
|
||||
echo "✅ Script completed!"
|
||||
echo "⚠️ IMPORTANT: Log out and log back in (or reboot) for:"
|
||||
echo " - Docker group permissions to take effect"
|
||||
echo " - New shell environment variables"
|
||||
echo " - Full GNOME session reload"
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 497 KiB |