diff --git a/README.md b/README.md index c100dbe..e6cd17a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,51 @@ -# d +### Languages i've used -My os setup scripts and personal dev .md file \ No newline at end of file +

+ + + + + +

+ +### Databases and message brokers i've worked with + +

+ + + + + + + + +

+ +### Technologies i'm familiar with + +

+ + + + + + + + + + +

+ +--- + +### 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) + +

+ +

diff --git a/ava.jpeg b/ava.jpeg new file mode 100644 index 0000000..d9fe166 Binary files /dev/null and b/ava.jpeg differ diff --git a/cat.gif b/cat.gif new file mode 100644 index 0000000..3497cef Binary files /dev/null and b/cat.gif differ diff --git a/dbs/emqx.png b/dbs/emqx.png new file mode 100644 index 0000000..9c4dd29 Binary files /dev/null and b/dbs/emqx.png differ diff --git a/dbs/kafka.png b/dbs/kafka.png new file mode 100644 index 0000000..c0b4cf6 Binary files /dev/null and b/dbs/kafka.png differ diff --git a/dbs/leveldb.png b/dbs/leveldb.png new file mode 100644 index 0000000..a2c27a9 Binary files /dev/null and b/dbs/leveldb.png differ diff --git a/dbs/mongo.png b/dbs/mongo.png new file mode 100644 index 0000000..a79f305 Binary files /dev/null and b/dbs/mongo.png differ diff --git a/dbs/nats.png b/dbs/nats.png new file mode 100644 index 0000000..de9424d Binary files /dev/null and b/dbs/nats.png differ diff --git a/dbs/postgres.png b/dbs/postgres.png new file mode 100644 index 0000000..9e219ce Binary files /dev/null and b/dbs/postgres.png differ diff --git a/dbs/rabbitmq.png b/dbs/rabbitmq.png new file mode 100644 index 0000000..2b01749 Binary files /dev/null and b/dbs/rabbitmq.png differ diff --git a/dbs/redis.png b/dbs/redis.png new file mode 100644 index 0000000..860a793 Binary files /dev/null and b/dbs/redis.png differ diff --git a/keybindings.json b/keybindings.json new file mode 100644 index 0000000..68f1bbf --- /dev/null +++ b/keybindings.json @@ -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" + } +] \ No newline at end of file diff --git a/langs/bash.png b/langs/bash.png new file mode 100644 index 0000000..c58c144 Binary files /dev/null and b/langs/bash.png differ diff --git a/langs/c.png b/langs/c.png new file mode 100644 index 0000000..778bc81 Binary files /dev/null and b/langs/c.png differ diff --git a/langs/go.png b/langs/go.png new file mode 100644 index 0000000..62f54b9 Binary files /dev/null and b/langs/go.png differ diff --git a/langs/js.png b/langs/js.png new file mode 100644 index 0000000..7088662 Binary files /dev/null and b/langs/js.png differ diff --git a/langs/python.png b/langs/python.png new file mode 100644 index 0000000..4266e54 Binary files /dev/null and b/langs/python.png differ diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..f964750 --- /dev/null +++ b/settings.json @@ -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 +} \ No newline at end of file diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..38db718 --- /dev/null +++ b/setup.sh @@ -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 "['Alt_L']" +gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['Shift_L']" + +gsettings set org.gnome.desktop.wm.keybindings switch-windows "['Tab']" +gsettings set org.gnome.desktop.wm.keybindings switch-applications "['']" +gsettings set org.gnome.desktop.wm.keybindings maximize "['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" diff --git a/tech/docker.png b/tech/docker.png new file mode 100644 index 0000000..59c1be9 Binary files /dev/null and b/tech/docker.png differ diff --git a/tech/flutter.png b/tech/flutter.png new file mode 100644 index 0000000..3874c58 Binary files /dev/null and b/tech/flutter.png differ diff --git a/tech/git.png b/tech/git.png new file mode 100644 index 0000000..dc998d2 Binary files /dev/null and b/tech/git.png differ diff --git a/tech/gitea.png b/tech/gitea.png new file mode 100644 index 0000000..dec7a97 Binary files /dev/null and b/tech/gitea.png differ diff --git a/tech/gitlab.png b/tech/gitlab.png new file mode 100644 index 0000000..422d2e4 Binary files /dev/null and b/tech/gitlab.png differ diff --git a/tech/grpc.png b/tech/grpc.png new file mode 100644 index 0000000..45213bc Binary files /dev/null and b/tech/grpc.png differ diff --git a/tech/http.png b/tech/http.png new file mode 100644 index 0000000..145a769 Binary files /dev/null and b/tech/http.png differ diff --git a/tech/linux.png b/tech/linux.png new file mode 100644 index 0000000..29e764d Binary files /dev/null and b/tech/linux.png differ diff --git a/tech/svelte.png b/tech/svelte.png new file mode 100644 index 0000000..9ad30c6 Binary files /dev/null and b/tech/svelte.png differ diff --git a/tech/vue.png b/tech/vue.png new file mode 100644 index 0000000..cd797d9 Binary files /dev/null and b/tech/vue.png differ diff --git a/wallpaper.jpg b/wallpaper.jpg new file mode 100644 index 0000000..03232c1 Binary files /dev/null and b/wallpaper.jpg differ