24 files changed,
145 insertions(+),
640 deletions(-)
jump to
M
README.md
@@ -1,34 +1,24 @@
<h1 align="center">dotfiles</h1> - --------------- - -### System configuration -- `OS` Arch -- `WM` bspwm -- `Terminal` kitty -- `Shell` zsh -- `Editor` nvim, vscode -- `File manager` ranger -- `Browser` chrome +## System info +- `OS` Arch linux +- `DE` Gnome 4 +- `Terminal` Alacritty +- `Editors` nvim, vscode +- `Browser` chrome, firefox - `Font` Jatbrains Mono -- `Icon font` Font Awesome -- `Launcher` rofi -### Install config -Since i use **[rcm](https://github.com/thoughtbot/rcm)** set it: -```bash -yay -S rcm -``` - -Install dependency: +## Install dependencys ```bash -sudo pacman -S git bspwm sxhkd dunst alacritty neovim picom rofi zsh ranger ttf-font-awesome ttf-jetbrains-mono -yay -S polybar +sudo pacman -S git alacritty neovim zsh ttf-jetbrains-mono ``` -And install configs: +## And install deps ```bash git clone --recursive https://github.com/Smirnov-O/dotfiles .dotfiles rcup rcrc && rcup ``` + +## Gonome extensions +- [Freon](https://extensions.gnome.org/extension/841/freon) +- [DDTerm](https://extensions.gnome.org/extension/3780/ddterm)
D
bin/giti
@@ -1,42 +0,0 @@
-#!/bin/sh -function add() { - echo $1 >> .gitignore - echo "[.gitignore] Successful add '$1'." -} - -function del() { - if [ -f '.gitignore' ]; then - if [ "$(cat .gitignore|wc -l)" = "1" ] - then rm .gitignore - else sed -i "/$1/d" .gitignore - fi - else echo "[.gitignore] File not found." - fi - echo "[.gitignore] Successful del '$1'." -} - -function edit() { - sed -in "s|$1|$2|g" .gitignore -} - -function show() { - if [ -f '.gitignore' ]; then - if [ -f '/usr/bin/bat' ] - then bat .gitignore - else cat .gitignore - fi - else echo "[.gitignore] File not found." - fi -} - -case "$1" in - add|a) shift; add "$@" ;; - del|d) shift; del "$@" ;; - mv|m) shift; edit "$@" ;; - show) shift; show ;; - help) echo "add|a - [file name] add to ignore." - echo "del|d - [file name] delete from ignore." - echo "mv|m - [old] [new] file name for rename." - echo "show - show ignore file." ;; - *) echo "Command is not valid. Type 'giti help' for help." ;; -esac
D
bin/gpe
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash -# For working this script set $GPG_KEY with gpg key - -## Functions -encrypt() { - gpg -ea -r $GPG_KEY $@ -} -decrypt() { - local f="$1" - if [ ${f: -4} == ".asc" ] - then gpg -d -o ${f%%.asc} $@ - elif [ ${f: -4} == ".gpg" ] - then gpg -d -o ${f%%.gpg} $@ - fi -} - -## Case's -case "$1" in - enc|e) shift; encrypt $@ ;; - dec|d) shift; decrypt $@ ;; - *) echo "Error." ;; -esac
A
config/alacritty.yml
@@ -0,0 +1,87 @@
+env: + TERM: xterm-256color + +window: + title: Alacritty + dynamic_padding: false + padding: + x: 6 + y: 6 + + class: + instance: Alacritty + general: Alacritty + +scrolling: + history: 5000 + auto_scroll: true + +tabspaces: 4 +live_config_reload: true +alt_send_esc: true +background_opacity: 0.9 +dynamic_title: false +decorations: none +draw_bold_text_with_bright_colors: true + +cursor: + # ▇ Block + # _ Underline + # | Beam + style: Underline + unfocused_hollow: true + +font: + size: 12.0 + normal: + family: JetBrains Mono + style: Regular + bold: + family: JetBrains Mono + style: Bold + italic: + family: JetBrains Mono + style: Italic + bold_italic: + family: JetBrains Mono + style: Bold Italic + offset: + x: 0 + y: 1 + +schemes: + vscode: &vscode + primary: + background: '#1e1e1e' + foreground: '#d4d4d4' + cursor: + text: CellBackground + cursor: '#d4d4d4' + normal: + black: '#1e1e1e' + red: '#f44747' + green: '#608b4e' + yellow: '#dcdcaa' + blue: '#569cd6' + magenta: '#c678dd' + cyan: '#56b6c2' + white: '#d4d4d4' + bright: + black: '#545454' + red: '#f44747' + green: '#608b4e' + yellow: '#dcdcaa' + blue: '#569cd6' + magenta: '#c678dd' + cyan: '#56b6c2' + white: '#d4d4d4' + +colors: *vscode + +key_bindings: + - { key: V, mods: Control|Shift, action: Paste } + - { key: C, mods: Control|Shift, action: Copy } + - { key: Key0, mods: Control, action: ResetFontSize } + - { key: Plus, mods: Control, action: IncreaseFontSize } + - { key: Minus, mods: Control, action: DecreaseFontSize } + - { key: F11, mods: None, action: ToggleFullscreen }
D
config/bspwm/README.md
@@ -1,10 +0,0 @@
-# BSPWM - - --------------- - -### Install -```bash -sudo pacman -S bspwm sxhkd alacritty -yay -S polybar -```
D
config/bspwm/bspwmrc
@@ -1,51 +0,0 @@
-#!/bin/sh -# Smirnov-O <ss2316544@gmail.com> -# BSPWM config file - -###== Functions -A() { # AutoStart - if ! pgrep $1 - then $@& fi -} -C() { # Config - bspc config $@ -} -R() { # Set rule - bspc rule -a $@ -} -#== Autostart -A feh --randomize --bg-scale ~/Pictures/wallp & -xautolock -time 5 -locker "slock" & -A sxhkd -c ~/.config/bspwm/sxhkd & -~/.config/bspwm/polybar/bar.sh & -A picom -b & - -#== BSPWM - -# Workspaces -bspc monitor -d 1 2 3 4 5 6 7 8 9 - -# General -C border_width 2 -C window_gap 2 -C split_ratio 0.50 -C borderless_monocle true -C gapless_monocle true -C single_monocle true -C focus_follows_pointer true - -# Colors -C normal_border_color "#1f2227" -C active_border_color "#e06c75" -C focused_border_color "#61AFEF" -C urgent_border_color "#5c6370" - -#== BSPWM Rules -R Google-chrome desktop='^2' focus=on follow=on -R Code desktop='^3' focus=on follow=on state=fullscreen -R jetbrains-webstorm desktop='^3' focus=on follow=on -R Postman desktop='^4' focus=off follow=off -R discord desktop='^5' focus=on follow=off -R TelegramDesktop desktop='^5' focus=off follow=on -R Nemo desktop='^5' focus=on follow=on -R KeePassXC desktop='^6' focus=on follow=on
D
config/bspwm/polybar/bar.sh
@@ -1,4 +0,0 @@
-#!/bin/bash -killall -q polybar -while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done -polybar -c ~/.config/bspwm/polybar/polybar bar&
D
config/bspwm/polybar/polybar
@@ -1,85 +0,0 @@
-; # vim: ft=dosini -[settings] -enable-ipc = true -format-padding = 1 - -[colors] -background = #1f2227 -foreground = #abb2bf -cyan = #61AFEF -alert = #e06c75 -empty = #5c6370 - - -[bar/bar] -width = 100% -height = 24 -fixed-center = true -background = ${colors.background} -foreground = ${colors.foreground} -wm-restack = bspwm -font-0 = Iosevka Nerd Font:style=Medium:size=8;3 -font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5 -modules-left = bspwm archupd -modules-center = time wifi-signal -modules-right = pulseaudio keyboard -tray-position = right -tray-padding = 0 - -[module/bspwm] -type = internal/bspwm -pin-workspaces = true -enable-click = true -fuzzy-match = true -enable-scroll = true -label-focused = -label-focused-foreground = ${colors.cyan} -label-focused-padding = 2 -label-occupied = -label-occupied-foreground = ${colors.foreground} -label-occupied-padding = 2 -label-urgent = -label-urgent-foreground = ${colors.alert} -label-urgent-padding = 2 -label-empty = -label-empty-foreground = ${colors.empty} -label-empty-padding = 2 - -[module/pulseaudio] -type = internal/pulseaudio -interval = 2 -format-volume = <ramp-volume> <label-volume> -label-volume = %percentage%% -label-volume-foreground = ${root.foreground} -label-muted = -ramp-volume-0 = - -[module/archupd] -type = custom/script -exec = ~/.config/bspwm/polybar/scripts/updates-pacman-aur.sh -click-left = alacritty -e ~/bin/arch-upd -interval = 60 - -[module/wifi-signal] -type = custom/script -label = %output:%% -exec = ~/.config/bspwm/polybar/scripts/wifi-signal.sh -interval = 3 - -[module/keyboard] -type = internal/xkeyboard -label-layout = %layout% -blacklist-0 = num lock -blacklist-1 = scroll lock -blacklist-2= caps lock - -[module/date] -type = internal/date -interval = 600 -date = %d.%m -label = %date% - -[module/time] -type = internal/date -time = %H:%M -label = %time%
D
config/bspwm/polybar/scripts/updates-pacman-aur.sh
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash -if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then - updates_arch=0 -fi - -if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then - updates_aur=0 -fi - -updates=$(("$updates_arch" + "$updates_aur")) -if [ "$updates" -gt 0 ]; then - echo " $updates" -else - echo "" -fi
D
config/bspwm/polybar/scripts/wifi-signal.sh
@@ -1,5 +0,0 @@
-#!/bin/sh -cat /proc/net/wireless \ - | grep "wlp3s0" \ - | awk '{print $4}' \ - | grep -o '[0-9]*'
D
config/bspwm/sxhkd
@@ -1,43 +0,0 @@
-#== Users hotkeys -super + {_, shift} Return - {alacritty, rofi -show drun} - -super + shift + {w, e, f, z, q} - {google-chrome-stable, \ - code, \ - nemo, \ - slock, \ - xkill } - -super + {equal, minus, shift + minus} - amixer sset Master {2%+, 2%-, toggle} - -Print - flameshot gui - -super + Escape - .config/rofi/script/powermenu.sh - -#== BSPWM -super + q - bspc node -c - -alt + f4 - bspc node -c - -super + control + r - bspc wm -r && pkill sxhkd && sxhkd -c ~/.config/bspwm/sxhkd - -super + {_,shift + } {h,j,k,l} - bspc node -{f,s} {west,south,north,east} - -super + ctrl + {h,j,k,l} - bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} - -super + {_,shift + }{1-9} - bspc {desktop -f,node -d} focused:'^{1-9}' - -super + {s, f, d} - bspc node -t {tiled, floating, fullscreen} - -# vim: ft=sxhkdrc
D
config/dunst/dunstrc
@@ -1,53 +0,0 @@
-[global] - monitor = 0 - follow = mouse - geometry = "250x50-5+30" - indicate_hidden = yes - shrink = no - transparency = 0 - notification_height = 0 - separator_height = 4 - padding = 16 - horizontal_padding = 16 - frame_width = 2 - frame_color = "#1F2324" - separator_color = frame - sort = yes - idle_threshold = 120 - font = Roboto 8 - line_height = 4 - markup = full - format = "<b>%s</b>\n%b" - alignment = left - show_age_threshold = 60 - word_wrap = yes - ignore_newline = no - stack_duplicates = false - hide_duplicate_count = false - show_indicators = yes - icon_position = off - always_run_script = true - startup_notification = false - force_xinerama = false - -[shortcuts] - close = - close_all = - history = - context = - -[urgency_low] - background = "#262A2B" - foreground = "#FFFFFF" - timeout = 2 - -[urgency_normal] - background = "#262A2B" - foreground = "#FFFFFF" - timeout = 4 - -[urgency_critical] - background = "#262A2B" - foreground = "#FFFFFF" - frame_color = "#e3788f" - timeout = 0
A
config/gh/config.yml
@@ -0,0 +1,8 @@
+git_protocol: ssh +editor: nvim +prompt: enabled +pager: bat +aliases: + co: pr checkout + il: issues list + clone: repo clone
D
config/ranger/rc.conf
@@ -1,40 +0,0 @@
-#== Appearance -set colorscheme solarized -set confirm_on_delete multiple -set automatically_count_files false - -#== General -set update_tmux_title false -set tilde_in_titlebar true - -#== Git integration -set vcs_aware true -set vcs_backend_git enabled -set vcs_msg_length 30 - -#== Image preview -set preview_images true -set preview_images_method ueberzug - -#== History -set max_console_history_size 20 -set save_console_history false -set scroll_offset 4 - -#== Mappings -map gc cd ~/code -map gd cd ~/Documents -map gw cd ~/Downloads -map g. cd ~/.dotfiles -map gu cd /mnt/usb - -map @ shell $SHELL -map dD delete -map <c-k> tab_shift 1 -map <c-j> tab_shift -1 -map ee shell gpe enc %s -map ed shell gpe dec %s -map sa shell zip -r archive.zip %s -map ss shell tar -czvf archive.tar.gz %s -map sd shell 7z a archive.7z %s -map se shell extract %s
D
config/rofi/config
@@ -1,7 +0,0 @@
-rofi.theme: nten -rofi.font: Jetbarains Mono 12 -rofi.auto-select: false -rofi.hide-scrollbar: true -rofi.drun-display-format: {name} -rofi.display-drun: Run -rofi.display-run: Run
D
config/rofi/themes/nten.rasi
@@ -1,98 +0,0 @@
-configuration { - show-icons: true; - display-drun: ""; - drun-display-format: "{name}"; - disable-history: false; - hide-scrollbar: true; - sidebar-mode: true; -} -* { - bg: #262A2b; - fg: #cfd1dd; - ac: #008dcd; - background-color: @bg; - text-color: @fg; -} - -window { - width: 40%; -} - -prompt { - enabled: true; - padding: 0.3% 1% 0% -0.5%; - margin: 0 0 0 0; - background-color: @bg; - text-color: @fg; - font: "JetBrainsMono Nerd Font 12"; -} - -entry { - background-color: @bg; - text-color: @fg; - placeholder-color: @fg; - expand: true; - horizontal-align: 0; - placeholder: "Type to search"; - padding: 0.1% 0% 0% 0%; - margin: 0.6% 0 0 0; - blink: true; -} - -inputbar { - children: [ prompt, entry ]; - background-color: @bg; - text-color: @bg; - expand: false; - border: 0% 0% 0% 0%; - border-radius: 0px; - border-color: @ac; - margin: 0% 0% 0% 0%; - padding: 1.5%; -} - -listview { - background-color: @al; - padding: 10px; - columns: 4; - lines: 3; - spacing: 0%; - cycle: false; - dynamic: true; - layout: vertical; -} - -mainbox { - background-color: @bg; - border: 0% 0% 0% 0%; - border-radius: 0% 0% 0% 0%; - border-color: @bg; - children: [ inputbar, listview ]; - spacing: 0%; - padding: 1%; -} - -element { - background-color: @al; - text-color: @fg; - orientation: vertical; - border-radius: 0%; - padding: 2% 0% 2% 0%; -} - -element-icon { - size: 49px; - border: 0px; -} - -element-text { - expand: true; - horizontal-align: 0.5; - vertical-align: 0.5; - margin: 0.5% 0.5% -0.5% 0.5%; -} - -element selected { - background-color: @ac; - text-color: @bg; -}
D
config/zathura/zathurarc
@@ -1,18 +0,0 @@
-set font "JetBrains Mono 10" -set default-fg "#DFDFDF" -set default-bg "#262A2B" - -set statusbar-fg "#CED4DA" -set statusbar-bg "#1F2324" -set statusbar-h-padding 7 -set statusbar-v-padding 7 - -set inputbar-fg "#FFFFFF" -set inputbar-bg "#1F2324" - -set completion-bg "#262A2B" -set completion-fg "#FFFFFF" -set completion-highlight-bg "#262A2B" -set completion-highlight-fg "#51AFEF" -set completion-group-bg "#262A2B" -set completion-group-fg "#51AFEF"
M
vscode/README.md
@@ -1,4 +1,6 @@
-# VScode +# VSCode + + Install ```bash
M
vscode/settings.json
@@ -1,75 +1,63 @@
{ + "workbench.colorTheme": "GitHub Light", "workbench.iconTheme": "material-icon-theme", - "workbench.colorTheme": "Visual Studio Dark", "workbench.sideBar.location": "left", - "workbench.editor.untitled.hint": "hidden", "workbench.startupEditor": "none", - "workbench.panel.defaultLocation": "bottom", "workbench.activityBar.visible": false, "window.menuBarVisibility": "toggle", "update.showReleaseNotes": false, + // Font + "editor.fontSize": 16, + "terminal.integrated.fontSize": 15, // Editor - // "editor.cursorSmoothCaretAnimation": true, - "editor.fontFamily": "'Jetbrains Mono', monospace", + "editor.fontFamily": "'Jetbrains Mono'", + "editor.cursorSmoothCaretAnimation": true, + "editor.smoothScrolling": true, "editor.inlineSuggest.enabled": true, "editor.hover.enabled": true, "editor.minimap.enabled": false, - "editor.suggestSelection": "first", - "editor.smoothScrolling": true, "editor.mouseWheelZoom": true, - "editor.formatOnPaste": false, - "editor.formatOnSave": true, "editor.tabCompletion": "on", + "editor.formatOnSave": true, "editor.wordWrap": "off", - "editor.fontSize": 14, "editor.tabSize": 4, // Files "explorer.compactFolders": false, "explorer.confirmDragAndDrop": false, "explorer.confirmDelete": false, - "files.insertFinalNewline": false, - "files.trimFinalNewlines": false, - "files.trimTrailingWhitespace": false, + "files.trimTrailingWhitespace": true, "files.exclude": { "**/node_modules": true, - "**/env": true, - "**/.classpath": true, - "**/.project": true, - "**/.settings": true, - "**/.factorypath": true + "**/env": true }, // Git - "gitlens.codeLens.enabled": true, "git.autofetch": true, "git.confirmSync": false, "git.enableSmartCommit": true, - "terminal.integrated.tabs.enabled": false, // Extensions "extensions.ignoreRecommendations": true, - "docker.showStartPage": false, - "calva.myCljAliases": [ - "nREPL", - "nrepl", - "test" - ], - "calva.paredit.defaultKeyMap": "strict", - // Golang - "go.toolsManagement.autoUpdate": true, - "go.lintOnSave": "package", - "go.lintTool": "golint", - "go.formatTool": "gofumpt", + "gitlens.codeLens.enabled": true, // Languages - "javascript.suggestionActions.enabled": false, - "typescript.suggestionActions.enabled": false, + "[go]": { + "editor.insertSpaces": false, + "go.lintOnSave": "package", + "go.lintTool": "golint", + "go.formatTool": "gofumpt" + }, + "[python]": { + "python.formatting.provider": "black", + "python.analysis.autoImportCompletions": true, + "python.formatting.blackPath": "~/.local/bin/black", + "editor.tabSize": 4, + }, "[javascript]": { - // "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.defaultFormatter": "esbenp.prettier-vscode", + "javascript.suggestionActions.enabled": false, "editor.tabSize": 2 }, "[typescript]": { - // "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "typescript.inlayHints.parameterNames.enabled": "literals", - "typescript.inlayHints.variableTypes.enabled": true, - "javascript.inlayHints.functionLikeReturnTypes.enabled": true, - "window.zoomLevel": 1, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "typescript.suggestionActions.enabled": false, + "editor.tabSize": 2 + } }
M
zshrc
@@ -1,6 +1,3 @@
-## StartShip -# eval "$(starship init zsh)" - ## Variables export GOPATH="$HOME/go" export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$GOPATH/bin:$HOME/.yarn/bin:$HOME/.luarocks/bin:$HOME/.cargo/bin:$PATH"@@ -12,23 +9,15 @@ ZSH_THEME="simple"
DISABLE_AUTO_TITLE="true" source "$HOME/.oh-my-zsh/oh-my-zsh.sh" -## FNM +## Tools eval $(fnm env) - -## Zoxide -eval "$(zoxide init zsh)" - -## Functions -dotnet() { - $HOME/dotnet/dotnet "$@" -} +eval $(zoxide init zsh) ## Aliases -alias cls="clear" cp="cp -r" mkdir="mkdir -p" open="open_command" lg="lazygit" -alias v="nvim" vim="v" m="make" +alias cls="clear" cp="cp -r" mkdir="mkdir -p" +alias gor="go run" gob="go build" gog="go get" goi="go install" got="go test" gov="go vet" alias ...="cd ../.." .3="cd ../../.." -alias gor="go run" gob="go build" gog="go get" goi="go install" got="go test" -alias n="npm" asdfi=". /opt/asdf-vm/asdf.sh" +alias v="nvim" vim="v" asdfi=". /opt/asdf-vm/asdf.sh" if [[ -f "/bin/exa" ]]; then alias ls="exa -l" ll="ls" la="ls -a"