diff --git a/.gitmodules b/.gitmodules index e69de29b..abed62dd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "config/neomutt/dracula"] + path = config/neomutt/dracula + url = https://github.com/dracula/mutt diff --git a/config/X11/xinitrc b/config/X11/xinitrc index de3f5acd..782964ad 100755 --- a/config/X11/xinitrc +++ b/config/X11/xinitrc @@ -1,11 +1,15 @@ +#!/bin/sh + setxkbmap -option "ctrl:nocaps" -xwallpaper --zoom ~/Pictures/wallpaper.jpg & +xwallpaper --zoom ~/Pictures/wallpaper.png & picom --config ~/.config/picom/picom.conf & # libinput-gestures & #discord --start-minimized & +export _JAVA_AWT_WM_NONREPARENTING=1 conky & unclutter & -twmnd & +# twmnd & +xf86keys -d & aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log & /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & exec bspwm diff --git a/config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml index 00b2e1f7..87a8aad9 100644 --- a/config/alacritty/alacritty.yml +++ b/config/alacritty/alacritty.yml @@ -1,7 +1,6 @@ env: TERM: alacritty - colors: primary: background: '#000000' @@ -11,9 +10,9 @@ colors: text: '0x44475a' cursor: '0xf8f8f2' - selection: - text: '0xf8f8f2' - background: '0x44475a' + # selection: + # text: '0xf8f8f2' + # background: '0x44475a' normal: black: '0x000000' diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc index c8e13da8..3d8dac50 100755 --- a/config/bspwm/bspwmrc +++ b/config/bspwm/bspwmrc @@ -1,5 +1,6 @@ #!/bin/sh +export SXHKD_SHELL="/bin/sh" sxhkd & xsetroot -cursor_name left_ptr & @@ -15,8 +16,7 @@ bspc config borderless_monocle true bspc config gapless_monocle true bspc config border_width 0 -bspc rule -a Gimp desktop='^8' state=floating follow=on -bspc rule -a Chromium desktop='^3' +bspc rule -a Chromium desktop='^2' bspc rule -a mplayer2 state=floating bspc rule -a Kupfer.py focus=on bspc rule -a Screenkey manage=off @@ -24,8 +24,8 @@ bspc rule -a qutebrowser desktop='^3' bspc rule -a Steam state=tiled bspc rule -a steam_app_230410 desktop='^4' state=fullscreen bspc rule -a vlc desktop='^5' +bspc rule -a mpv desktop='^5' bspc rule -a spotify desktop='^10' -bspc rule -a youtube-music-desktop-app desktop='^10' state=floating # To help with the java applications #wmname LG3D diff --git a/config/fish/conf.d/env.fish b/config/fish/conf.d/env.fish new file mode 100644 index 00000000..dcd31db6 --- /dev/null +++ b/config/fish/conf.d/env.fish @@ -0,0 +1,70 @@ +# GTK +export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc +export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc + +# Notmuch +export NOTMUCH_CONFIG="$XDG_CONFIG_HOME"/notmuch/notmuchrc +export NMBGIT="$XDG_DATA_HOME"/notmuch/nmbug + +# Less +export LESSKEY="$XDG_CONFIG_HOME"/less/lesskey +export LESSHISTFILE="$XDG_CACHE_HOME"/less/history + +# Rust +export RUSTUP_HOME="$XDG_DATA_HOME"/rustup +export CARGO_HOME="$XDG_DATA_HOME"/cargo + +# Android +export ANDROID_SDK_HOME="$XDG_CONFIG_HOME"/android +export ADB_VENDOR_KEY="$XDG_CONFIG_HOME"/android +export ANDROID_PREFS_ROOT="$XDG_CONFIG_HOME"/android +export ADB_KEYS_PATH="$ANDROID_PREFS_ROOT" +export ANDROID_EMULATOR_HOME="$XDG_DATA_HOME"/android/emulator + +# Node +export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc +export npm_config_prefix=$XDG_DATA_HOME/node_modules + +# Wine +export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default + +# Java +export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java +export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle + +# Python +export PYLINTHOME="$XDG_CACHE_HOME"/pylint +export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/startup.py + +# export XAUTHORITY="$XDG_RUNTIME_DIR"/xauthority +export gnome_user_dir="$XDG_CONFIG_HOME"/gnome/apps + +# LaTeX +export TEXMFHOME=$XDG_DATA_HOME/texmf +export TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-var +export TEXMFCONFIG=$XDG_CONFIG_HOME/texlive/texmf-config + +# Ruby gems +export GEM_HOME="$XDG_DATA_HOME"/gem +export GEM_SPEC_CACHE="$XDG_CACHE_HOME"/gem +export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle + +# LANG +export LANG=en_US.UTF-8 +export LC_CTYPE=en_US.UTF-8 + +# sxhkd +export SXHKD_SHELL="/bin/sh" + +# fzf +export FZF_DEFAULT_COMMAND='fd --type f' + +# Pass +export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass + +# EDITOR +export EDITOR=nvim +export VISUAL=nvim + +# GPG +export GPG_TTY=(tty) diff --git a/config/fish/conf.d/path.fish b/config/fish/conf.d/path.fish new file mode 100644 index 00000000..1f3a2b88 --- /dev/null +++ b/config/fish/conf.d/path.fish @@ -0,0 +1,2 @@ +export PATH="$PATH:/home/fs0c131y/.local/bin:/home/fs0c131y/.local/share/gem/bin:/home/fs0c131y/.local/share/node_modules/bin:/home/fs0c131y/.local/share/cargo/bin" + diff --git a/config/fish/conf.d/starship.fish b/config/fish/conf.d/starship.fish new file mode 100644 index 00000000..c179c03c --- /dev/null +++ b/config/fish/conf.d/starship.fish @@ -0,0 +1 @@ +starship init fish | source diff --git a/config/fish/conf.d/zoxide.fish b/config/fish/conf.d/zoxide.fish new file mode 100644 index 00000000..2e9cc179 --- /dev/null +++ b/config/fish/conf.d/zoxide.fish @@ -0,0 +1 @@ +zoxide init fish | source diff --git a/config/fish/config.fish b/config/fish/config.fish new file mode 100644 index 00000000..ed6cbdff --- /dev/null +++ b/config/fish/config.fish @@ -0,0 +1,10 @@ +function man + set oldIFS "$IFS" + set IFS "" + set page (/usr/bin/man "$argv" | col -b) + if ! [ -z "$page" ] + echo "$page" | nvim -R -c 'set ft=man nomod nolist' - + end + + set IFS "$oldIFS" +end diff --git a/config/fish/fish_variables b/config/fish/fish_variables new file mode 100644 index 00000000..b443c87c --- /dev/null +++ b/config/fish/fish_variables @@ -0,0 +1,44 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3100 +SETUVAR _fish_abbr_c:checkmail +SETUVAR _fish_abbr_cat:bat +SETUVAR _fish_abbr_cd:z +SETUVAR _fish_abbr_ll:exa\x20\x2dal +SETUVAR _fish_abbr_ls:exa +SETUVAR _fish_abbr_m:neomutt +SETUVAR _fish_abbr_n:notmuch +SETUVAR _fish_abbr_p:pacman +SETUVAR _fish_abbr_rpc:patch\x20\x2dp0\x20\x3c\x20\x7e/\x2elocal/share/console\x2ediff +SETUVAR _fish_abbr_s:source\x20venv/bin/activate\x2efish +SETUVAR _fish_abbr_sl:exa +SETUVAR _fish_abbr_t:/home/fs0c131y/\x2econfig/tmux/start\x2dtmux +SETUVAR _fish_abbr_v:nvim +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:005fd7 +SETUVAR fish_color_comment:990000 +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:009900 +SETUVAR fish_color_error:ff0000 +SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_param:00afff +SETUVAR fish_color_quote:999900 +SETUVAR fish_color_redirection:00afff +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting: +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_completion:\x1d +SETUVAR fish_pager_color_description:B3A06D\x1eyellow +SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan diff --git a/config/mpd/mpd.conf b/config/mpd/mpd.conf new file mode 100644 index 00000000..f1ba4a52 --- /dev/null +++ b/config/mpd/mpd.conf @@ -0,0 +1,17 @@ +# See: /usr/share/doc/mpd/mpdconf.example + +# music_directory "/media/Music" +# pid_file "/run/mpd/mpd.pid" +# db_file "/var/lib/mpd/mpd.db" +# state_file "/var/lib/mpd/mpdstate" +# playlist_directory "/var/lib/mpd/playlists" +music_directory "/media/Music" +db_file "~/.config/mpd/database" +log_file "syslog" +auto_update "yes" + + +audio_output { + type "pulse" + name "MPD/Media Player Daemon" +} diff --git a/config/neomutt/aliases b/config/neomutt/aliases new file mode 100644 index 00000000..bdbd7219 --- /dev/null +++ b/config/neomutt/aliases @@ -0,0 +1,2 @@ +alias disroot Uttarayan Mondal +alias gmail Uttarayan Mondal diff --git a/config/neomutt/disroot/uttarayan21 b/config/neomutt/disroot/uttarayan21 new file mode 100644 index 00000000..8bb141be --- /dev/null +++ b/config/neomutt/disroot/uttarayan21 @@ -0,0 +1,22 @@ +unmailboxes * + +set imap_user = uttarayan21@disroot.org +#set folder = imaps://"$imap_user"/ +set folder = ~/Mail/disroot +set spoolfile = +INBOX +set postponed = +Drafts +set mbox = +Archive +set record = +Sent + +set crypt_autosign = yes +set realname = "Uttarayan Mondal" +set from = "uttarayan21@disroot.org" +set signature = "~/.config/neomutt/signature" +set smtp_pass = "`pass user.disroot.org/uttarayan21`" +set smtp_url = "smtp://$imap_user:587" +set ssl_starttls + +mailboxes =INBOX =Drafts =Sent =Trash =Archive =Junk +# account-hook $folder "set imap_user=uttarayan21@disroot.org" + +color status green default diff --git a/config/neomutt/dracula b/config/neomutt/dracula new file mode 160000 index 00000000..94e340c8 --- /dev/null +++ b/config/neomutt/dracula @@ -0,0 +1 @@ +Subproject commit 94e340c8dd939c4a7f94c9a7a820d2f5205515c2 diff --git a/config/neomutt/gmail/uttarayan21 b/config/neomutt/gmail/uttarayan21 new file mode 100644 index 00000000..34bf814a --- /dev/null +++ b/config/neomutt/gmail/uttarayan21 @@ -0,0 +1,25 @@ +unmailboxes * + +# Read password +unset my_pass +set my_pass = "`pass Email/neomutt`" + +set crypt_autosign = yes +# Sending mail +set smtp_url = "smtp://uttarayan21@smtp.gmail.com:587" +set smtp_pass = $my_pass + +# Creds +set from = "uttarayan21@gmail.com" +set signature = "~/.config/neomutt/signature" + +# mailbox +set mbox_type = Maildir +set folder = ~/Mail/gmail +set spoolfile = +Inbox +set postponed = +Drafts +set record = "" + +mailboxes =Inbox =Trash =Drafts =Sent =Spam + +color status yellow default diff --git a/config/neomutt/mailcap b/config/neomutt/mailcap new file mode 100644 index 00000000..a344af05 --- /dev/null +++ b/config/neomutt/mailcap @@ -0,0 +1,2 @@ +# text/html; lynx -dump %s ; copiousoutput; nametemplate=%s.html +text/html; w3m -I %{charset} -T text/html ; copiousoutput; nametemplate=%s.html diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc new file mode 100644 index 00000000..52f6d36a --- /dev/null +++ b/config/neomutt/neomuttrc @@ -0,0 +1,53 @@ +# Disroot +source ~/.config/neomutt/disroot/uttarayan21 +folder-hook 'disroot' 'source ~/.config/neomutt/disroot/uttarayan21' + +# Gmail +source ~/.config/neomutt/gmail/uttarayan21 +folder-hook 'gmail' 'source ~/.config/neomutt/gmail/uttarayan21' + + +# Macros for switching accounts +macro index 'source ~/.config/neomutt/gmail/uttarayan21!' +macro index 'source ~/.config/neomutt/disroot/uttarayan21!' + +# Sign with gpgme +set crypt_use_gpgme=yes +set postpone_encrypt = yes +set pgp_self_encrypt = yes +set crypt_use_pka = no +set crypt_autoencrypt = no +set crypt_autopgp = yes +set crypt_autosign = yes +set crypt_verify_sig = yes +set pgp_sign_as=0xAAB106209B043AD6 + +# Sidebar +set sidebar_visible +# set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" +set sidebar_format = "%D%* [%N]%*" +set mail_check_stats + +# Activate caching, as it can greatly improve speed +set header_cache = "~/.cache/neomutt/headers" +set message_cachedir = "~/.cache/neomutt/bodies" + +# Disable saving outgoing mail since Gmail saves them by default. +# set record = "" +# set editor +set editor = "nvim" + +# Sort by threads +set sort = threads +# Sort threads by last date recieved - newest first +set sort_aux = reverse-last-date-received +# Show date in year/month/day hour:minute format +set date_format="%d/%m/%y %I:%M%p" + +# mailcap and auto_view +set mailcap_path = "~/.config/neomutt/mailcap" +auto_view text/html + +set alias_file = "~/.config/neomutt/aliases" +source ~/.config/neomutt/vimkeys.muttrc +source ~/.config/neomutt/dracula/dracula.muttrc diff --git a/config/neomutt/signature b/config/neomutt/signature new file mode 100644 index 00000000..6323c4ef --- /dev/null +++ b/config/neomutt/signature @@ -0,0 +1 @@ +Uttarayan Mondal diff --git a/config/neomutt/vimkeys.muttrc b/config/neomutt/vimkeys.muttrc new file mode 100644 index 00000000..8ccbefa1 --- /dev/null +++ b/config/neomutt/vimkeys.muttrc @@ -0,0 +1,42 @@ +#------------------------------------------------------------ +# Vi Key Bindings +#------------------------------------------------------------ + +# Moving around +bind attach,browser,index g noop +bind attach,browser,index gg first-entry +bind attach,browser,index G last-entry +bind pager g noop +bind pager gg top +bind pager G bottom +bind pager k previous-line +bind pager j next-line + +# Scrolling +# bind attach,browser,pager,index \CF next-page +# bind attach,browser,pager,index \CB previous-page + +bind attach,browser,pager,index \Cu half-up +bind attach,browser,pager,index \Cd half-down +bind browser,pager \Ce next-line +bind browser,pager \Cy previous-line +bind index \Ce next-line +bind index \Cy previous-line + +bind pager,index d noop +bind pager,index dd delete-message + +macro pager,index \Cb | urlview\n + +# Mail & Reply +# bind index \Cm list-reply # Doesn't work currently + + +# Threads +bind browser,pager,index N search-opposite +bind pager,index dT delete-thread +bind pager,index dt delete-subthread +bind pager,index gt next-thread +bind pager,index gT previous-thread +bind index za collapse-thread +bind index zA collapse-all # Missing :folddisable/foldenable diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 44c0af69..6303e005 100644 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -4,7 +4,6 @@ call plug#begin() " QOL Plug 'airblade/vim-rooter' - Plug 'w0rp/ale' Plug 'yuttie/comfortable-motion.vim' Plug 'tpope/vim-surround' Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']} @@ -12,33 +11,37 @@ call plug#begin() Plug 'junegunn/fzf' Plug 'junegunn/fzf.vim' " Git plugin - Plug 'tpope/vim-fugitive' + " Plug 'tpope/vim-fugitive' " GUI Stuff Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' - " Plug 'edkolev/tmuxline.vim' - Plug 'tpope/vim-commentary' Plug 'uttarayan21/minimalist' " Plug 'dikiaap/minimalist' Plug 'dracula/vim' Plug 'tpope/vim-vinegar' Plug 'mhinz/vim-crates' + Plug 'onsails/lspkind-nvim' " Intellisense Plug 'neoclide/coc.nvim', {'branch': 'release'} " Ctags Plug 'ludovicchabant/vim-gutentags' - Plug 'majutsushi/tagbar' + " Plug 'majutsushi/tagbar' " Syntax Highlighting Plug 'rust-lang/rust.vim' - Plug 'sudar/vim-arduino-syntax' Plug 'cespare/vim-toml' - Plug 'chaimleib/vim-renpy' - Plug 'udalov/kotlin-vim' - Plug 'meain/vim-package-info' " Devicons - Plug 'ryanoasis/vim-devicons' + " Plug 'ryanoasis/vim-devicons' " No color + Plug 'kyazdani42/nvim-web-devicons' " Text Objects + Plug 'tpope/vim-commentary' Plug 'wellle/targets.vim' +" Dictionary + Plug 'reedes/vim-wordy' +" Debug + Plug 'epheien/termdbg' +" Mail + Plug 'soywod/himalaya', {'rtp': 'vim'} + call plug#end() "################################################## @@ -63,12 +66,12 @@ nnoremap n :bnext nnoremap p :bprev " Fzf nnoremap f :Files -nnoremap b :Buffers -nnoremap w :W +nnoremap ; :Buffers nnoremap g :Rg nnoremap t :Tags -nnoremap :TagbarToggle +nnoremap r :registers +" nnoremap :TagbarToggle " Vim hardmode @@ -99,10 +102,8 @@ nnoremap nnoremap " Markdown Preview - -" let g:mkdp_auto_start = 1 +let g:mkdp_auto_start = 1 let g:mkdp_filetypes = ['markdown'] -" let g:mkdp_broswer = 'qutebrowser' " Numbers and tabs @@ -117,6 +118,7 @@ set signcolumn=yes set hidden set ignorecase set smartcase +" set foldmethod=indent "set cmdheight=2 nnoremap :set number! relativenumber! @@ -143,19 +145,19 @@ nnoremap l :CocCommand " Clipboard -set clipboard=unnamedplus -let g:clipboard = { - \'name': 'PrimaryClipboard', - \'copy': { - \ '+': 'xclip -selection clipboard', - \ '*': 'xclip -selection clipboard', - \ }, - \'paste': { - \ '+': 'xclip -selection clipboard -out', - \ '*': 'xclip -selection clipboard -out', - \ }, - \'cache_enabled': 1, - \} +" set clipboard=unnamedplus +" let g:clipboard = { +" \'name': 'PrimaryClipboard', +" \'copy': { +" \ '+': 'xclip -selection clipboard', +" \ '*': 'xclip -selection clipboard', +" \ }, +" \'paste': { +" \ '+': 'xclip -selection clipboard -out', +" \ '*': 'xclip -selection clipboard -out', +" \ }, +" \'cache_enabled': 1, +" \} augroup linenumbers @@ -174,6 +176,8 @@ let g:netrw_fastbrowse = 0 " Toggle crates plugin on opening cargo.toml file autocmd BufRead Cargo.toml call crates#toggle() +" Lspkind-nvim +lua require'lspkind'.init() " Set python global file let g:python3_host_prog = "/usr/bin/python" @@ -197,6 +201,7 @@ if exists('+termguicolors') endif " set termguicolors + " Airline let g:airline_theme='dracula' let g:airline_powerline_fonts = 1 @@ -263,3 +268,4 @@ function CurrentSong() let s = execute("!mpc | head -1") return s endfunction + diff --git a/config/qutebrowser/config.py b/config/qutebrowser/config.py new file mode 100644 index 00000000..758341fc --- /dev/null +++ b/config/qutebrowser/config.py @@ -0,0 +1,31 @@ +import dracula.draw + +# Load existing settings made via :set +config.load_autoconfig() + +dracula.draw.blood(c, {'spacing': {'vertical': 6, 'horizontal': 8}}) +c.tabs.position = "bottom" +c.url.start_pages = ["https://start.duckduckgo.com"] +c.url.default_page = "https://start.duckduckgo.com" +c.editor.command = [ + '/usr/bin/nvim', '-f', '{file}', '-c', 'normal {line}G{column0}l' +] + +config.bind('', 'spawn --userscript qute-pass') +config.bind('', 'spawn --userscript qute-pass --username-only') +config.bind('

', 'spawn --userscript qute-pass --password-only') +config.bind('', 'spawn --userscript qute-pass --otp-only') + +# Dark mode +# config.set("colors.webpage.darkmode.enabled", True) + +c.url.searchengines = { + "DEFAULT": "https://www.duckduckgo.com/?q={}", + "sx": "https://search.disroot.org/?q={}", + "g": "https://www.google.com/search?q={}", + "ddg": "https://www.duckduckgo.com/?q={}", + "yt": "https://www.youtube.com/results?search_query={}", + "ytm": "https://music.youtube.com/search?q={}", + "aw": "https://wiki.archlinux.org/?search={}", + "aur": "https://aur.archlinux.org/packages/?K={}", +} diff --git a/config/qutebrowser/dracula/.gitignore b/config/qutebrowser/dracula/.gitignore new file mode 100644 index 00000000..4949fe83 --- /dev/null +++ b/config/qutebrowser/dracula/.gitignore @@ -0,0 +1,2 @@ +/bookmarks/ +quickmarks diff --git a/config/qutebrowser/dracula/INSTALL.md b/config/qutebrowser/dracula/INSTALL.md new file mode 100644 index 00000000..7c61e788 --- /dev/null +++ b/config/qutebrowser/dracula/INSTALL.md @@ -0,0 +1,31 @@ +### [qutebrowser](https://www.qutebrowser.org/) + +#### Install using Git + +If you are a git user, you can install the theme and keep up to date by cloning the repo: + + $ git clone https://github.com/dracula/qutebrowser-dracula-theme.git dracula + +#### Install manually + +Download using the [GitHub .zip download](https://github.com/dracula/qutebrowser.git) option and unzip. + +#### Activating theme + +- Find your *[qutebrowser configuration directory](https://www.qutebrowser.org/doc/help/configuring.html#configpy)* (see e.g. `:version` in qutebrowser). This folder should be located at the "config" location listed on qute://version, which is typically ~/.config/qutebrowser/ on Linux, ~/.qutebrowser/ on macOS, and %APPDATA%/qutebrowser/config/ on Windows. +- Move the repository folder to `dracula` inside the configuration directory. +- In your [qutebrowser config.py file](https://www.qutebrowser.org/doc/help/configuring.html#configpy), include the following: + +```python +import dracula.draw + +# Load existing settings made via :set +config.load_autoconfig() + +dracula.draw.blood(c, { + 'spacing': { + 'vertical': 6, + 'horizontal': 8 + } +}) +``` diff --git a/config/qutebrowser/dracula/__init__.py b/config/qutebrowser/dracula/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/config/qutebrowser/dracula/__pycache__/__init__.cpython-38.pyc b/config/qutebrowser/dracula/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 00000000..faec957a Binary files /dev/null and b/config/qutebrowser/dracula/__pycache__/__init__.cpython-38.pyc differ diff --git a/config/qutebrowser/dracula/__pycache__/__init__.cpython-39.pyc b/config/qutebrowser/dracula/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..44efeb22 Binary files /dev/null and b/config/qutebrowser/dracula/__pycache__/__init__.cpython-39.pyc differ diff --git a/config/qutebrowser/dracula/__pycache__/draw.cpython-38.pyc b/config/qutebrowser/dracula/__pycache__/draw.cpython-38.pyc new file mode 100644 index 00000000..eaa32ae8 Binary files /dev/null and b/config/qutebrowser/dracula/__pycache__/draw.cpython-38.pyc differ diff --git a/config/qutebrowser/dracula/__pycache__/draw.cpython-39.pyc b/config/qutebrowser/dracula/__pycache__/draw.cpython-39.pyc new file mode 100644 index 00000000..135b31a4 Binary files /dev/null and b/config/qutebrowser/dracula/__pycache__/draw.cpython-39.pyc differ diff --git a/config/qutebrowser/dracula/draw.py b/config/qutebrowser/dracula/draw.py new file mode 100644 index 00000000..a1079a06 --- /dev/null +++ b/config/qutebrowser/dracula/draw.py @@ -0,0 +1,291 @@ +def blood(c, options = {}): + palette = { + 'background': '#282a36', + 'background-alt': '#282a36', + 'background-attention': '#181920', + 'border': '#282a36', + 'current-line': '#44475a', + 'selection': '#44475a', + 'foreground': '#f8f8f2', + 'foreground-alt': '#e0e0e0', + 'foreground-attention': '#ffffff', + 'comment': '#6272a4', + 'cyan': '#8be9fd', + 'green': '#50fa7b', + 'orange': '#ffb86c', + 'pink': '#ff79c6', + 'purple': '#bd93f9', + 'red': '#ff5555', + 'yellow': '#f1fa8c' + } + + spacing = options.get('spacing', { + 'vertical': 5, + 'horizontal': 5 + }) + + padding = options.get('padding', { + 'top': spacing['vertical'], + 'right': spacing['horizontal'], + 'bottom': spacing['vertical'], + 'left': spacing['horizontal'] + }) + + ## Background color of the completion widget category headers. + c.colors.completion.category.bg = palette['background'] + + ## Bottom border color of the completion widget category headers. + c.colors.completion.category.border.bottom = palette['border'] + + ## Top border color of the completion widget category headers. + c.colors.completion.category.border.top = palette['border'] + + ## Foreground color of completion widget category headers. + c.colors.completion.category.fg = palette['foreground'] + + ## Background color of the completion widget for even rows. + c.colors.completion.even.bg = palette['background'] + + ## Background color of the completion widget for odd rows. + c.colors.completion.odd.bg = palette['background-alt'] + + ## Text color of the completion widget. + c.colors.completion.fg = palette['foreground'] + + ## Background color of the selected completion item. + c.colors.completion.item.selected.bg = palette['selection'] + + ## Bottom border color of the selected completion item. + c.colors.completion.item.selected.border.bottom = palette['selection'] + + ## Top border color of the completion widget category headers. + c.colors.completion.item.selected.border.top = palette['selection'] + + ## Foreground color of the selected completion item. + c.colors.completion.item.selected.fg = palette['foreground'] + + ## Foreground color of the matched text in the completion. + c.colors.completion.match.fg = palette['orange'] + + ## Color of the scrollbar in completion view + c.colors.completion.scrollbar.bg = palette['background'] + + ## Color of the scrollbar handle in completion view. + c.colors.completion.scrollbar.fg = palette['foreground'] + + ## Background color for the download bar. + c.colors.downloads.bar.bg = palette['background'] + + ## Background color for downloads with errors. + c.colors.downloads.error.bg = palette['background'] + + ## Foreground color for downloads with errors. + c.colors.downloads.error.fg = palette['red'] + + ## Color gradient stop for download backgrounds. + c.colors.downloads.stop.bg = palette['background'] + + ## Color gradient interpolation system for download backgrounds. + ## Type: ColorSystem + ## Valid values: + ## - rgb: Interpolate in the RGB color system. + ## - hsv: Interpolate in the HSV color system. + ## - hsl: Interpolate in the HSL color system. + ## - none: Don't show a gradient. + c.colors.downloads.system.bg = 'none' + + ## Background color for hints. Note that you can use a `rgba(...)` value + ## for transparency. + c.colors.hints.bg = palette['background'] + + ## Font color for hints. + c.colors.hints.fg = palette['purple'] + + ## Hints + c.hints.border = '1px solid ' + palette['background-alt'] + + ## Font color for the matched part of hints. + c.colors.hints.match.fg = palette['foreground-alt'] + + ## Background color of the keyhint widget. + c.colors.keyhint.bg = palette['background'] + + ## Text color for the keyhint widget. + c.colors.keyhint.fg = palette['purple'] + + ## Highlight color for keys to complete the current keychain. + c.colors.keyhint.suffix.fg = palette['selection'] + + ## Background color of an error message. + c.colors.messages.error.bg = palette['background'] + + ## Border color of an error message. + c.colors.messages.error.border = palette['background-alt'] + + ## Foreground color of an error message. + c.colors.messages.error.fg = palette['red'] + + ## Background color of an info message. + c.colors.messages.info.bg = palette['background'] + + ## Border color of an info message. + c.colors.messages.info.border = palette['background-alt'] + + ## Foreground color an info message. + c.colors.messages.info.fg = palette['comment'] + + ## Background color of a warning message. + c.colors.messages.warning.bg = palette['background'] + + ## Border color of a warning message. + c.colors.messages.warning.border = palette['background-alt'] + + ## Foreground color a warning message. + c.colors.messages.warning.fg = palette['red'] + + ## Background color for prompts. + c.colors.prompts.bg = palette['background'] + + # ## Border used around UI elements in prompts. + c.colors.prompts.border = '1px solid ' + palette['background-alt'] + + ## Foreground color for prompts. + c.colors.prompts.fg = palette['cyan'] + + ## Background color for the selected item in filename prompts. + c.colors.prompts.selected.bg = palette['selection'] + + ## Background color of the statusbar in caret mode. + c.colors.statusbar.caret.bg = palette['background'] + + ## Foreground color of the statusbar in caret mode. + c.colors.statusbar.caret.fg = palette['orange'] + + ## Background color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.bg = palette['background'] + + ## Foreground color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.fg = palette['orange'] + + ## Background color of the statusbar in command mode. + c.colors.statusbar.command.bg = palette['background'] + + ## Foreground color of the statusbar in command mode. + c.colors.statusbar.command.fg = palette['pink'] + + ## Background color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.bg = palette['background'] + + ## Foreground color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.fg = palette['foreground-alt'] + + ## Background color of the statusbar in insert mode. + c.colors.statusbar.insert.bg = palette['background-attention'] + + ## Foreground color of the statusbar in insert mode. + c.colors.statusbar.insert.fg = palette['foreground-attention'] + + ## Background color of the statusbar. + c.colors.statusbar.normal.bg = palette['background'] + + ## Foreground color of the statusbar. + c.colors.statusbar.normal.fg = palette['foreground'] + + ## Background color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.bg = palette['background'] + + ## Foreground color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.fg = palette['orange'] + + ## Background color of the statusbar in private browsing mode. + c.colors.statusbar.private.bg = palette['background-alt'] + + ## Foreground color of the statusbar in private browsing mode. + c.colors.statusbar.private.fg = palette['foreground-alt'] + + ## Background color of the progress bar. + c.colors.statusbar.progress.bg = palette['background'] + + ## Foreground color of the URL in the statusbar on error. + c.colors.statusbar.url.error.fg = palette['red'] + + ## Default foreground color of the URL in the statusbar. + c.colors.statusbar.url.fg = palette['foreground'] + + ## Foreground color of the URL in the statusbar for hovered links. + c.colors.statusbar.url.hover.fg = palette['cyan'] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.http.fg = palette['green'] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.https.fg = palette['green'] + + ## Foreground color of the URL in the statusbar when there's a warning. + c.colors.statusbar.url.warn.fg = palette['yellow'] + + ## Status bar padding + c.statusbar.padding = padding + + ## Background color of the tab bar. + ## Type: QtColor + c.colors.tabs.bar.bg = palette['selection'] + + ## Background color of unselected even tabs. + ## Type: QtColor + c.colors.tabs.even.bg = palette['selection'] + + ## Foreground color of unselected even tabs. + ## Type: QtColor + c.colors.tabs.even.fg = palette['foreground'] + + ## Color for the tab indicator on errors. + ## Type: QtColor + c.colors.tabs.indicator.error = palette['red'] + + ## Color gradient start for the tab indicator. + ## Type: QtColor + c.colors.tabs.indicator.start = palette['orange'] + + ## Color gradient end for the tab indicator. + ## Type: QtColor + c.colors.tabs.indicator.stop = palette['green'] + + ## Color gradient interpolation system for the tab indicator. + ## Type: ColorSystem + ## Valid values: + ## - rgb: Interpolate in the RGB color system. + ## - hsv: Interpolate in the HSV color system. + ## - hsl: Interpolate in the HSL color system. + ## - none: Don't show a gradient. + c.colors.tabs.indicator.system = 'none' + + ## Background color of unselected odd tabs. + ## Type: QtColor + c.colors.tabs.odd.bg = palette['selection'] + + ## Foreground color of unselected odd tabs. + ## Type: QtColor + c.colors.tabs.odd.fg = palette['foreground'] + + # ## Background color of selected even tabs. + # ## Type: QtColor + c.colors.tabs.selected.even.bg = palette['background'] + + # ## Foreground color of selected even tabs. + # ## Type: QtColor + c.colors.tabs.selected.even.fg = palette['foreground'] + + # ## Background color of selected odd tabs. + # ## Type: QtColor + c.colors.tabs.selected.odd.bg = palette['background'] + + # ## Foreground color of selected odd tabs. + # ## Type: QtColor + c.colors.tabs.selected.odd.fg = palette['foreground'] + + ## Tab padding + c.tabs.padding = padding + c.tabs.indicator.width = 1 + c.tabs.favicons.scale = 1 + diff --git a/config/qutebrowser/dracula/readme.md b/config/qutebrowser/dracula/readme.md new file mode 100644 index 00000000..1e914eae --- /dev/null +++ b/config/qutebrowser/dracula/readme.md @@ -0,0 +1,21 @@ +# Dracula for [qutebrowser](https://www.qutebrowser.org/) + +> A dark theme for [qutebrowser](https://www.qutebrowser.org/). + +![Screenshot](./screenshot.png) + +## Install + +All instructions can be found at [draculatheme.com/qutebrowser](https://draculatheme.com/qutebrowser). + +## Team + +This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/qutebrowser/graphs/contributors). + +[![Evan Nagle](https://avatars2.githubusercontent.com/u/556537?s=88&v=4&s=70)](https://github.com/evannagle) | +--- | +[Evan Nagle](https://github.com/evannagle) | + +## License + +[MIT License](./LICENSE) diff --git a/config/qutebrowser/dracula/screenshot.png b/config/qutebrowser/dracula/screenshot.png new file mode 100644 index 00000000..5dbcba45 Binary files /dev/null and b/config/qutebrowser/dracula/screenshot.png differ diff --git a/config/sxhkd/sxhkdrc b/config/sxhkd/sxhkdrc index f754a7fe..4e39aee4 100644 --- a/config/sxhkd/sxhkdrc +++ b/config/sxhkd/sxhkdrc @@ -40,7 +40,7 @@ super + shift + r ; {h,j,k,l} Print gnome-screenshot shift + Print - gnome-screenshot -a + gnome-screenshot -i super + a kill -s USR1 $(pidof deadd-notification-center) @@ -51,10 +51,12 @@ super + shift + a # MPC media keys XF86Audio{Play,Pause} - mpc -q toggle + #mpc -q toggle + xf86keys toggle XF86Audio{Prev,Stop,Next} - mpc -q {prev,stop,next} + #mpc -q {prev,stop,next} + xf86keys {prev,stop,next} # Pulseaudio diff --git a/config/tmux/start-tmux b/config/tmux/start-tmux index 5898a256..cfa6e1d1 100755 --- a/config/tmux/start-tmux +++ b/config/tmux/start-tmux @@ -17,6 +17,10 @@ for live_session in $live_sessions;do live_session_name=$(echo $live_session | cut -d: -f1) if [ -z "${all_sessions##*$live_session_name*}" ];then # see https://stackoverflow.com/questions/229551/how-to-check-if-a-string-contains-a-substring-in-bash all_sessions="$(echo "$all_sessions" | sed "s/$live_session_name/$live_session/g")" + else + all_sessions="$all_sessions +$live_session" +# Okay I know this is ugly it is 5:13 my brain is not working fi done diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index b94e6266..dc8375fa 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -1,6 +1,7 @@ # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'uttarayan21/tmux-wombat' +set -g @plugin 'uttarayan21/tmux-notmuch' set -g @plugin 'tmux-plugins/tmux-battery' @@ -15,7 +16,7 @@ set -g @plugin 'tmux-plugins/tmux-battery' # load plugin manager run -b '~/.config/tmux/plugins/tpm/tpm' -set -g default-terminal 'screen-256color' +set -g default-terminal 'tmux-256color' set -ga terminal-overrides ',*256col*:Tc' set-option -sa terminal-overrides ',alacritty:RGB' set-option -g focus-events on diff --git a/config/zsh/aliases b/config/zsh/aliases index e79a9b51..949391b6 100644 --- a/config/zsh/aliases +++ b/config/zsh/aliases @@ -8,6 +8,25 @@ alias n=notmuch alias dotfiles='/usr/bin/git --git-dir=$XDG_DATA_HOME/dotfiles/ --work-tree=$HOME' alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/yarnrc" +function z() { + builtin cd "$@" + + if [[ -z "$VIRTUAL_ENV" ]] ; then + ## If env folder is found then activate the vitualenv + if [[ -d ./venv ]] ; then + source ./venv/bin/activate + fi + else + ## check the current folder belong to earlier VIRTUAL_ENV folder + # if yes then do nothing + # else deactivate + parentdir="$(dirname "$VIRTUAL_ENV")" + if [[ "$PWD"/ != "$parentdir"/* ]] ; then + deactivate + fi + fi +} + man() { page=$(/usr/bin/man "$@" | \ col -b)