├── dots ├── rofi │ ├── fonts │ │ └── fonts.rasi │ └── colors │ │ └── greygreen.rasi ├── i3 │ ├── bg │ │ ├── BG2.png │ │ └── bg3.png │ ├── borders_settings │ ├── HDMI-launcher │ ├── alternating_layouts.py │ ├── config │ └── xborders ├── ranger │ ├── rc.conf │ └── rifle.conf ├── nvim │ ├── neovim.yml │ ├── selene.toml │ ├── lua │ │ ├── plugins │ │ │ ├── treesitter.lua │ │ │ ├── none-ls.lua │ │ │ ├── mason.lua │ │ │ ├── astroui.lua │ │ │ ├── user.lua │ │ │ ├── astrocore.lua │ │ │ └── astrolsp.lua │ │ ├── community.lua │ │ ├── polish.lua │ │ └── lazy_setup.lua │ ├── init.lua │ ├── README.md │ └── lazy-lock.json ├── polybar │ ├── scripts │ │ ├── tsensor.sh │ │ ├── launcher.sh │ │ ├── rclone_check.py │ │ ├── bitcoin.py │ │ ├── ethereum.py │ │ └── git_check.py │ ├── colors.ini │ ├── launch.sh │ ├── transbar.ini │ ├── user_modules.ini │ ├── config.ini │ └── modules.ini ├── nitrogen │ ├── bg-saved.cfg │ └── nitrogen.cfg ├── chrome │ ├── userContent.css │ └── userChrome.css ├── kitty │ ├── theme.conf │ └── kitty.conf ├── spicetify │ └── Themes │ │ └── Dreary │ │ └── color.ini ├── starship.toml ├── dunstrc ├── matlab │ └── matlab_colorscheme.prf ├── zathura │ └── zathurarc ├── picom │ └── picom.conf └── zshrc ├── .github └── FUNDING.yml └── README.md /dots/rofi/fonts/fonts.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | font: "Iosevka Nerd Font 10"; 3 | } 4 | -------------------------------------------------------------------------------- /dots/i3/bg/BG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommaa/Mantis/HEAD/dots/i3/bg/BG2.png -------------------------------------------------------------------------------- /dots/i3/bg/bg3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommaa/Mantis/HEAD/dots/i3/bg/bg3.png -------------------------------------------------------------------------------- /dots/ranger/rc.conf: -------------------------------------------------------------------------------- 1 | set preview_images true 2 | set preview_images_method ueberzug 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | ko_fi: sommaa 4 | -------------------------------------------------------------------------------- /dots/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /dots/polybar/scripts/tsensor.sh: -------------------------------------------------------------------------------- 1 | sensors | grep temp1 | awk 'NR==2 {print $2}' | tr -d + 2 | -------------------------------------------------------------------------------- /dots/nitrogen/bg-saved.cfg: -------------------------------------------------------------------------------- 1 | [xin_0] 2 | file=/home/andrea/.config/i3/bg/./bg3.png 3 | mode=4 4 | bgcolor=#000000 5 | -------------------------------------------------------------------------------- /dots/polybar/scripts/launcher.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | rofi -show drun -theme $HOME/.config/rofi/launchers/type-1/style-5.rasi -normal-window 4 | -------------------------------------------------------------------------------- /dots/polybar/colors.ini: -------------------------------------------------------------------------------- 1 | [color] 2 | background = #000a1a3b 3 | bg = #171718 4 | foreground = #c3c3c3 5 | fga = #cffc49 6 | fgb = #2D2D30 7 | red = #d64733 8 | -------------------------------------------------------------------------------- /dots/nitrogen/nitrogen.cfg: -------------------------------------------------------------------------------- 1 | [geometry] 2 | posx=967 3 | posy=558 4 | sizex=938 5 | sizey=507 6 | 7 | [nitrogen] 8 | view=icon 9 | recurse=true 10 | sort=alpha 11 | icon_caps=false 12 | dirs= 13 | -------------------------------------------------------------------------------- /dots/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /dots/rofi/colors/greygreen.rasi: -------------------------------------------------------------------------------- 1 | 2 | * { 3 | background: #15171a; 4 | background-alt: #3e434b; 5 | foreground: #c4cad1; 6 | selected: #cffc49; 7 | active: #cffc49; 8 | urgent: #BF616AFF; 9 | } 10 | -------------------------------------------------------------------------------- /dots/i3/borders_settings: -------------------------------------------------------------------------------- 1 | { 2 | "border-rgba": "0xcffc49ff", 3 | 4 | "border-radius": 12, 5 | "border-width": 3, 6 | "border-mode": "center", 7 | "disable-version-warning": true, 8 | 9 | "positive-x-offset": 0, 10 | "positive-y-offset": 0, 11 | "negative-x-offset": 0, 12 | "negative-y-offset": 0 13 | } 14 | -------------------------------------------------------------------------------- /dots/chrome/userContent.css: -------------------------------------------------------------------------------- 1 | :root { 2 | scrollbar-width: none !important; 3 | } 4 | 5 | @-moz-document url(about:privatebrowsing) { 6 | :root { 7 | scrollbar-width: none !important; 8 | } 9 | } 10 | 11 | @-moz-document url("about:newtab"), url("about:home") { 12 | body { 13 | background-color: #323946 !important; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /dots/i3/HDMI-launcher: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | str1="HDMI-1" 3 | str2="$(xrandr --query | grep HD | awk {'print $1'})" 4 | 5 | if [ "$str1" = "$str2" ]; then 6 | 7 | xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI-1 --mode 1920x1080 --pos 0x0 --rotate normal && nitrogen --restore 8 | else 9 | echo "monitor not connected" 10 | fi 11 | -------------------------------------------------------------------------------- /dots/nvim/lua/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize Treesitter 4 | 5 | ---@type LazySpec 6 | return { 7 | "nvim-treesitter/nvim-treesitter", 8 | opts = { 9 | ensure_installed = { 10 | "lua", 11 | "vim", 12 | -- add more arguments for adding more treesitter parsers 13 | }, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /dots/polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Add this script to your wm startup file. 4 | 5 | DIR="$HOME/.config/polybar" 6 | 7 | # Terminate already running bar instances 8 | killall -q polybar 9 | 10 | # Wait until the processes have been shut down 11 | while pgrep -u $UID -x polybar >/dev/null; do sleep 0.5; done 12 | 13 | # Launch the bar 14 | 15 | polybar -q example -c "$DIR"/transbar.ini & 16 | sleep 1 17 | polybar -q main -c "$DIR"/config.ini & 18 | -------------------------------------------------------------------------------- /dots/kitty/theme.conf: -------------------------------------------------------------------------------- 1 | background #15171a 2 | foreground #F9FBFF 3 | cursor #cffc49 4 | selection_background #3e434b 5 | color0 #191e2a 6 | color8 #686868 7 | color1 #FF6B35 8 | color9 #FF6B35 9 | color2 #72BF4E 10 | color10 #72BF4E 11 | color3 #F8FCA4 12 | color11 #F8FCA4 13 | color4 #cffc49 14 | color12 #cffc49 15 | color5 #F72585 16 | color13 #F72585 17 | color6 #0E65B6 18 | color14 #0E65B6 19 | color7 #c7c7c7 20 | color15 #ffffff 21 | selection_foreground #ffffff 22 | -------------------------------------------------------------------------------- /dots/nvim/lua/community.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroCommunity: import any community modules here 4 | -- We import this file in `lazy_setup.lua` before the `plugins/` folder. 5 | -- This guarantees that the specs are processed before any user plugins. 6 | 7 | ---@type LazySpec 8 | return { 9 | "AstroNvim/astrocommunity", 10 | { import = "astrocommunity.pack.lua" }, 11 | -- import/override with your plugins folder 12 | } 13 | -------------------------------------------------------------------------------- /dots/nvim/lua/polish.lua: -------------------------------------------------------------------------------- 1 | if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- This will run last in the setup process and is a good place to configure 4 | -- things like custom filetypes. This just pure lua so anything that doesn't 5 | -- fit in the normal config locations above can go here 6 | 7 | -- Set up custom filetypes 8 | vim.filetype.add { 9 | extension = { 10 | foo = "fooscript", 11 | }, 12 | filename = { 13 | ["Foofile"] = "fooscript", 14 | }, 15 | pattern = { 16 | ["~/%.config/foo/.*"] = "fooscript", 17 | }, 18 | } 19 | -------------------------------------------------------------------------------- /dots/spicetify/Themes/Dreary/color.ini: -------------------------------------------------------------------------------- 1 | [MANTIS] 2 | ; Green on dark grey background 3 | text = cffc49 4 | subtext = b4b4b4 5 | button-text = 15171a 6 | main = 15171a 7 | sidebar = 15171a 8 | player = 3e434b 9 | subbutton-text = 15171a 10 | card = 3e434b 11 | shadow = 15171a 12 | selected-row = 2a3c17 13 | sub-button = 6a913d 14 | button = 537b25 15 | button-active = 98da4b 16 | button-disabled = 353535 17 | tab-active = 303030 18 | notification = 3e434b 19 | notification-error = 3e434b 20 | playback-bar = cffc49 21 | misc = cffc49 22 | -------------------------------------------------------------------------------- /dots/nvim/init.lua: -------------------------------------------------------------------------------- 1 | -- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution 2 | -- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. 3 | local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" 4 | if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then 5 | -- stylua: ignore 6 | vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) 7 | end 8 | vim.opt.rtp:prepend(lazypath) 9 | 10 | -- validate that lazy is available 11 | if not pcall(require, "lazy") then 12 | -- stylua: ignore 13 | vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {}) 14 | vim.fn.getchar() 15 | vim.cmd.quit() 16 | end 17 | 18 | require "lazy_setup" 19 | require "polish" 20 | -------------------------------------------------------------------------------- /dots/polybar/scripts/rclone_check.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import subprocess 3 | import os 4 | import sys 5 | 6 | #directories 7 | home_directory = os.path.expanduser( '~' ) 8 | dest_rclone = "/Documents/Rclone" 9 | 10 | # executing bash command 11 | bashCommand = "rclone check gdrive: " + home_directory + dest_rclone 12 | out = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 13 | stdout,stderr = out.communicate() 14 | 15 | # decoding the output 16 | raw = stdout.decode("utf-8") 17 | raw_split = raw.split() 18 | 19 | # writing outputs 20 | if "missing" in raw: 21 | idx_missing = raw_split.index(("missing")) 22 | sys.stdout.write('  ' + f'{raw_split[idx_missing-2]}') 23 | else: 24 | sys.stdout.write('  0' ) 25 | 26 | if "differences" in raw: 27 | idx_diff = raw_split.index("differences") 28 | sys.stdout.write(' 󰏫 'f'{raw_split[idx_diff-1]}') 29 | sys.stdout.write(' ') 30 | 31 | 32 | -------------------------------------------------------------------------------- /dots/nvim/README.md: -------------------------------------------------------------------------------- 1 | # AstroNvim Template 2 | 3 | **NOTE:** This is for AstroNvim v4+ 4 | 5 | A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) 6 | 7 | ## 🛠️ Installation 8 | 9 | #### Make a backup of your current nvim and shared folder 10 | 11 | ```shell 12 | mv ~/.config/nvim ~/.config/nvim.bak 13 | mv ~/.local/share/nvim ~/.local/share/nvim.bak 14 | mv ~/.local/state/nvim ~/.local/state/nvim.bak 15 | mv ~/.cache/nvim ~/.cache/nvim.bak 16 | ``` 17 | 18 | #### Create a new user repository from this template 19 | 20 | Press the "Use this template" button above to create a new repository to store your user configuration. 21 | 22 | You can also just clone this repository directly if you do not want to track your user configuration in GitHub. 23 | 24 | #### Clone the repository 25 | 26 | ```shell 27 | git clone https://github.com// ~/.config/nvim 28 | ``` 29 | 30 | #### Start Neovim 31 | 32 | ```shell 33 | nvim 34 | ``` 35 | -------------------------------------------------------------------------------- /dots/nvim/lua/plugins/none-ls.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize None-ls sources 4 | 5 | ---@type LazySpec 6 | return { 7 | "nvimtools/none-ls.nvim", 8 | opts = function(_, opts) 9 | -- opts variable is the default configuration table for the setup function call 10 | -- local null_ls = require "null-ls" 11 | 12 | -- Check supported formatters and linters 13 | -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting 14 | -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics 15 | 16 | -- Only insert new sources, do not replace the existing ones 17 | -- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function) 18 | opts.sources = require("astrocore").list_insert_unique(opts.sources, { 19 | -- Set a formatter 20 | -- null_ls.builtins.formatting.stylua, 21 | -- null_ls.builtins.formatting.prettier, 22 | }) 23 | end, 24 | } 25 | -------------------------------------------------------------------------------- /dots/starship.toml: -------------------------------------------------------------------------------- 1 | format = """ 2 | $username\ 3 | $hostname\ 4 | $directory\ 5 | $git_branch\ 6 | $git_state\ 7 | $git_status\ 8 | $cmd_duration\ 9 | $line_break\ 10 | $python\ 11 | $character""" 12 | 13 | [directory] 14 | style = " bold blue" 15 | 16 | [character] 17 | success_symbol = "[](bold #F72585)[](bold #006BA6)[](bold #CFFC49)" 18 | error_symbol = "[](bold #F72585)[](bold #006BA6)[](bold #CFFC49)" 19 | vimcmd_symbol = "[](bold green)" 20 | 21 | [git_branch] 22 | format = "[$branch]($style)" 23 | style = "bright-black" 24 | 25 | [git_status] 26 | format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)" 27 | style = "cyan" 28 | conflicted = "​" 29 | untracked = "​" 30 | modified = "​" 31 | staged = "​" 32 | renamed = "​" 33 | deleted = "​" 34 | stashed = "≡" 35 | 36 | [git_state] 37 | format = '\([$state( $progress_current/$progress_total)]($style)\) ' 38 | style = "bright-black" 39 | 40 | [cmd_duration] 41 | format = "[$duration]($style) " 42 | style = "#CFFC49" 43 | 44 | [python] 45 | format = "[$virtualenv]($style) " 46 | style = "bright-black" 47 | 48 | -------------------------------------------------------------------------------- /dots/polybar/scripts/bitcoin.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import sys 3 | import json 4 | from decimal import Decimal 5 | import requests 6 | import os 7 | 8 | # Everything except the general section 9 | currency = 'bitcoin' 10 | base_currency = 'USD' 11 | params = {'convert': base_currency} 12 | home_directory = os.path.expanduser( '~' ) 13 | try: 14 | json_store = requests.get(f'https://api.coingecko.com/api/v3/coins/{currency}').json()["market_data"] 15 | local_price = round(Decimal(json_store["current_price"][f'{base_currency.lower()}']), 2) 16 | sys.stdout.write(f'{local_price}'+'$'+' ') 17 | # caching in .cache 18 | with open(home_directory + "/.cache/bitcoin_cache.json", "w") as outfile: 19 | json.dump(json_store, outfile) 20 | 21 | except requests.exceptions.ConnectionError as e: 22 | # Opening JSON file 23 | with open(home_directory + '/.cache/bitcoin_cache.json', 'r') as openfile: 24 | # Reading from json file 25 | json_store = json.load(openfile) 26 | local_price = round(Decimal(json_store["current_price"][f'{base_currency.lower()}']), 2) 27 | sys.stdout.write(f'{local_price}'+'$'+' ') 28 | -------------------------------------------------------------------------------- /dots/nvim/lua/plugins/mason.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize Mason plugins 4 | 5 | ---@type LazySpec 6 | return { 7 | -- use mason-lspconfig to configure LSP installations 8 | { 9 | "williamboman/mason-lspconfig.nvim", 10 | -- overrides `require("mason-lspconfig").setup(...)` 11 | opts = { 12 | ensure_installed = { 13 | "lua_ls", 14 | -- add more arguments for adding more language servers 15 | }, 16 | }, 17 | }, 18 | -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources 19 | { 20 | "jay-babu/mason-null-ls.nvim", 21 | -- overrides `require("mason-null-ls").setup(...)` 22 | opts = { 23 | ensure_installed = { 24 | "stylua", 25 | -- add more arguments for adding more null-ls sources 26 | }, 27 | }, 28 | }, 29 | { 30 | "jay-babu/mason-nvim-dap.nvim", 31 | -- overrides `require("mason-nvim-dap").setup(...)` 32 | opts = { 33 | ensure_installed = { 34 | "python", 35 | -- add more arguments for adding more debuggers 36 | }, 37 | }, 38 | }, 39 | } 40 | -------------------------------------------------------------------------------- /dots/polybar/scripts/ethereum.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import json 4 | import sys 5 | import requests 6 | import os 7 | from decimal import Decimal 8 | 9 | # Everything except the general section 10 | currency = 'ethereum' 11 | base_currency = 'USD' 12 | params = {'convert': base_currency} 13 | home_directory = os.path.expanduser( '~' ) 14 | 15 | try: 16 | json_store = requests.get(f'https://api.coingecko.com/api/v3/coins/{currency}').json()["market_data"] 17 | local_price = round(Decimal(json_store["current_price"][f'{base_currency.lower()}']), 2) 18 | sys.stdout.write(f'{local_price}'+'$'+' ') 19 | 20 | with open(home_directory + "/.cache/ethereum_cache.json", "w") as outfile: 21 | json.dump(json_store, outfile) 22 | 23 | 24 | except requests.exceptions.ConnectionError as e: 25 | # Opening JSON file 26 | with open(home_directory + '/.cache/ethereum_cache.json', 'r') as openfile: 27 | # Reading from json file 28 | json_store = json.load(openfile) 29 | 30 | local_price = round(Decimal(json_store["current_price"][f'{base_currency.lower()}']), 2) 31 | sys.stdout.write(f'{local_price}'+'$'+' ') 32 | 33 | -------------------------------------------------------------------------------- /dots/polybar/scripts/git_check.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import os 3 | import subprocess 4 | import sys 5 | 6 | #directories 7 | home_directory = os.path.expanduser( '~' ) 8 | dest_git = "/Documents/GitHub/" 9 | 10 | bashCommand = "ls " + home_directory + dest_git 11 | out = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 12 | stdout,stderr = out.communicate() 13 | 14 | # decoding the output 15 | raw = stdout.decode("utf-8") 16 | raw_split = raw.split() 17 | mod = 0 18 | new = 0 19 | 20 | for dir in raw_split: 21 | bashCommand = "git --git-dir=" + home_directory + dest_git + dir + "/.git" + " --work-tree=" 22 | bashCommand = bashCommand + home_directory + dest_git + dir + " status --porcelain=v1" 23 | out = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 24 | stdout,stderr = out.communicate() 25 | 26 | # decoding the output 27 | out = stdout.decode("utf-8") 28 | out = out.split() 29 | mod = mod + out.count("M") 30 | new = new + out.count("??") 31 | 32 | sys.stdout.write('  ' + f'{new}') 33 | sys.stdout.write(' ') 34 | sys.stdout.write('󰏫 'f'{mod}') 35 | 36 | -------------------------------------------------------------------------------- /dots/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | corner_radius = 6 3 | follow = mouse 4 | font = "Azereth Mono 10" 5 | format = "%s\n%b" 6 | frame_color = "#cffc46" 7 | frame_width = 2 8 | 9 | 10 | # Position the notification in the top right corner 11 | origin = top 12 | geometry = 400x20-43-43 13 | 14 | history = ctrl+grave 15 | history_length = 10 16 | horizontal_padding = 10 17 | icon_position = left 18 | max_icon_size = 28 19 | icon_path = /usr/share/icons/ePapirus-Dark/48x48/status/:/usr/share/icons/ePapirus-Dark/48x48/devices/ 20 | idle_threshold = 120 21 | ignore_newline = no 22 | indicate_hidden = yes 23 | line_height = 0 24 | markup = full 25 | padding = 8 26 | separator_color = "#15171a" 27 | separator_height = 2 28 | show_age_threshold = 30 29 | sort = yes 30 | stack_duplicates = true 31 | transparency = 0 32 | word_wrap = yes 33 | 34 | [urgency_low] 35 | background = "#15171a" 36 | foreground = "#c4cad1" 37 | timeout = 5 38 | 39 | [urgency_normal] 40 | background = "#15171a" 41 | foreground = "#c4cad1" 42 | timeout = 5 43 | 44 | [urgency_critical] 45 | background = "#17151a" 46 | foreground = "#c4cad1" 47 | icon = /usr/share/icons/ePapirus-Dark/48x48/status/stock_dialog-warning.png 48 | timeout = 5 49 | -------------------------------------------------------------------------------- /dots/matlab/matlab_colorscheme.prf: -------------------------------------------------------------------------------- 1 | # MATLAB_color - MATLAB color scheme 2 | # To enable this color scheme in MATLAB use schemer_import, available at: 3 | # https://github.com/scottclowe/matlab-schemer 4 | # https://www.mathworks.com/matlabcentral/fileexchange/53862-matlab-schemer 5 | ColorsUseSystem=Bfalse 6 | ColorsUseMLintAutoFixBackground=Btrue 7 | Editor.VariableHighlighting.Automatic=Btrue 8 | Editor.NonlocalVariableHighlighting=Btrue 9 | EditorCodepadHighVisible=Bfalse 10 | EditorCodeBlockDividers=Bfalse 11 | Editorhighlight-caret-row-boolean=Bfalse 12 | EditorRightTextLineVisible=Btrue 13 | EditorRightTextLimitLineWidth=I1 14 | ColorsText=C-1 15 | ColorsBackground=C-15527145 16 | Colors_M_Keywords=C-1663424 17 | Colors_M_Comments=C-14114579 18 | Colors_M_Strings=C-5968636 19 | Colors_M_UnterminatedStrings=C-4210944 20 | Colors_M_SystemCommands=C-7123493 21 | Colors_M_Errors=C-45747 22 | Colors_HTML_HTMLLinks=C-10592257 23 | Colors_M_Warnings=C-27648 24 | ColorsMLintAutoFixBackground=C-9223357 25 | Editor.VariableHighlighting.Color=C-11184786 26 | Editor.NonlocalVariableHighlighting.TextColor=C-16735351 27 | Editorhighlight-lines=C-14408662 28 | Editorhighlight-caret-row-boolean-color=C-12632257 29 | EditorRightTextLimitLineColor=C-5723992 30 | Color_CmdWinWarnings=C-27648 31 | Color_CmdWinErrors=C-45747 32 | -------------------------------------------------------------------------------- /dots/nvim/lua/lazy_setup.lua: -------------------------------------------------------------------------------- 1 | require("lazy").setup({ 2 | { 3 | "AstroNvim/AstroNvim", 4 | version = "^4", -- Remove version tracking to elect for nighly AstroNvim 5 | import = "astronvim.plugins", 6 | opts = { -- AstroNvim options must be set here with the `import` key 7 | mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up 8 | maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up 9 | icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) 10 | pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override 11 | update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins 12 | }, 13 | }, 14 | { import = "community" }, 15 | { import = "plugins" }, 16 | } --[[@as LazySpec]], { 17 | -- Configure any other `lazy.nvim` configuration options here 18 | install = { colorscheme = { "astrotheme", "habamax" } }, 19 | ui = { backdrop = 100 }, 20 | performance = { 21 | rtp = { 22 | -- disable some rtp plugins, add more to your liking 23 | disabled_plugins = { 24 | "gzip", 25 | "netrwPlugin", 26 | "tarPlugin", 27 | "tohtml", 28 | "zipPlugin", 29 | }, 30 | }, 31 | }, 32 | } --[[@as LazyConfig]]) 33 | -------------------------------------------------------------------------------- /dots/polybar/transbar.ini: -------------------------------------------------------------------------------- 1 | [colors] 2 | background = #000a1a3b 3 | background-alt = #000a1a3b 4 | foreground = #00C5C8C6 5 | primary = #00F0C674 6 | secondary = #008ABEB7 7 | alert = #00A54242 8 | disabled = #00707880 9 | 10 | [bar/example] 11 | width = 100% 12 | height = 22pt 13 | ;34 capsule 14 | radius = 0 15 | 16 | ; dpi = 96 17 | 18 | background = ${colors.background} 19 | foreground = ${colors.foreground} 20 | 21 | line-size = 3pt 22 | 23 | border-size = 0pt 24 | border-color = #00000000 25 | 26 | padding-left = 0 27 | padding-right = 0 28 | 29 | module-margin = 0 30 | 31 | separator = | 32 | separator-foreground = ${colors.disabled} 33 | 34 | font-0 = monospace;2 35 | 36 | cursor-click = pointer 37 | cursor-scroll = ns-resize 38 | 39 | enable-ipc = true 40 | modules-center = xworkspaces 41 | 42 | ; tray-position = right 43 | 44 | ; wm-restack = generic 45 | ; wm-restack = bspwm 46 | ; wm-restack = i3 47 | override-redirect = false 48 | 49 | [module/xworkspaces] 50 | type = internal/xworkspaces 51 | 52 | label-active = %name% 53 | label-active-background = ${colors.background-alt} 54 | label-active-underline= ${colors.primary} 55 | label-active-padding = 1 56 | 57 | label-occupied = %name% 58 | label-occupied-padding = 1 59 | 60 | label-urgent = %name% 61 | label-urgent-background = ${colors.alert} 62 | label-urgent-padding = 1 63 | 64 | label-empty = %name% 65 | label-empty-foreground = ${colors.disabled} 66 | label-empty-padding = 1 67 | 68 | -------------------------------------------------------------------------------- /dots/nvim/lua/plugins/astroui.lua: -------------------------------------------------------------------------------- 1 | -- if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroUI provides the basis for configuring the AstroNvim User Interface 4 | -- Configuration documentation can be found with `:h astroui` 5 | -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) 6 | -- as this provides autocomplete and documentation while editing 7 | 8 | ---@type LazySpec 9 | return { 10 | "AstroNvim/astroui", 11 | ---@type AstroUIOpts 12 | opts = { 13 | -- change colorscheme 14 | colorscheme = "mantis", 15 | -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes 16 | highlights = { 17 | init = { -- this table overrides highlights in all themes 18 | -- Normal = { bg = "#000000" }, 19 | }, 20 | astrodark = { -- a table of overrides/changes when applying the astrotheme theme 21 | -- Normal = { bg = "#000000" }, 22 | }, 23 | }, 24 | -- Icons can be configured throughout the interface 25 | icons = { 26 | -- configure the loading of the lsp in the status line 27 | LSPLoading1 = "⠋", 28 | LSPLoading2 = "⠙", 29 | LSPLoading3 = "⠹", 30 | LSPLoading4 = "⠸", 31 | LSPLoading5 = "⠼", 32 | LSPLoading6 = "⠴", 33 | LSPLoading7 = "⠦", 34 | LSPLoading8 = "⠧", 35 | LSPLoading9 = "⠇", 36 | LSPLoading10 = "⠏", 37 | }, 38 | }, 39 | } 40 | -------------------------------------------------------------------------------- /dots/zathura/zathurarc: -------------------------------------------------------------------------------- 1 | # Zathura configuration file 2 | # See man `man zathurarc' 3 | 4 | # Open document in fit-width mode by default 5 | set adjust-open "best-fit" 6 | 7 | # One page per row by default 8 | set pages-per-row 1 9 | 10 | #stop at page boundries 11 | set scroll-page-aware "true" 12 | set scroll-full-overlap 0.01 13 | set scroll-step 100 14 | 15 | #zoom settings 16 | set zoom-min 10 17 | set guioptions "" 18 | 19 | # zathurarc-dark 20 | 21 | set font "JetBrainsMono 11" 22 | set default-bg "#15171a" #00 23 | set default-fg "#cffc49" #01 24 | 25 | set statusbar-fg "#cffc49" #04 26 | set statusbar-bg "#15171a" #01 27 | 28 | set inputbar-bg "#15171a" #00 currently not used 29 | set inputbar-fg "#cffc49" #02 30 | 31 | set notification-error-bg "#15171a" #08 32 | set notification-error-fg "#151515" #00 33 | 34 | set notification-warning-bg "#15171a" #08 35 | set notification-warning-fg "#151515" #00 36 | 37 | set highlight-color "#343f4c" #0A 38 | set highlight-active-color "#d9d7ce" #0D 39 | 40 | set completion-highlight-fg "#151515" #02 41 | set completion-highlight-bg "#cffc49" #0C 42 | 43 | set completion-bg "#303030" #02 44 | set completion-fg "#E0E0E0" #0C 45 | 46 | set notification-bg "#cffc49" #0B 47 | set notification-fg "#151515" #00 48 | 49 | set recolor "true" 50 | set recolor-lightcolor "#15171a" #00 51 | set recolor-darkcolor "#cffc49" #06 52 | set recolor-reverse-video "true" 53 | set recolor-keephue "true" 54 | 55 | 56 | set render-loading "false" 57 | set scroll-step 50 58 | unmap f 59 | map f toggle_fullscreen 60 | map [fullscreen] f toggle_fullscreen 61 | -------------------------------------------------------------------------------- /dots/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # Include *.conf files from all subdirs of kitty.d inside the kitty config dir 2 | globinclude kitty.d/**/*.conf 3 | 4 | # Fonts 5 | # font_family MesloLGS NF Bold 6 | # bold_font MesloLGS NF Bold Italic Nerd Font Complete Mono 7 | # italic_font MesloLGS NF Italic Nerd Font Complete Mono 8 | # bold_italic_font MesloLGS NF Bold Italic Nerd Font Complete Mono 9 | 10 | font_family MesloLGS NF 11 | bold_font Cascursive Italic 12 | italic_font Cascursive Italic 13 | bold_italic_font Cascursive Italic 14 | select_by_word_characters @-./_~?&=%+# 15 | 16 | # Use x11 to get window decoration on wayland 17 | linux_display_server x11 18 | hide_window_decorations no 19 | 20 | # margin 21 | window_padding_width 15 22 | 23 | # Cursor 24 | cursor_shape block 25 | 26 | # Scrollback 27 | scrollback_lines -1 28 | 29 | remember_window_size no 30 | initial_window_width 1000 31 | initial_window_height 600 32 | 33 | # Terminal bell 34 | enable_audio_bell no 35 | 36 | # Tab settings 37 | tab_bar_edge top 38 | tab_bar_style powerline 39 | # can be one of: angled, slanted, or round 40 | tab_powerline_style slanted 41 | tab_activity_symbol 🔻 42 | # ✨❗🔥 43 | 44 | # Keyboard shortcuts 45 | # CTRL+SHIFT+F5 to reload config 46 | map ctrl+page_down next_tab 47 | map ctrl+page_up previous_tab 48 | map ctrl+shift+page_down move_tab_forward 49 | map ctrl+shift+page_up move_tab_backward 50 | 51 | # Open new tabs next to the current tab rather than at the end of the tabs list 52 | map ctrl+shift+t new_tab_with_cwd !neighbor 53 | 54 | # Layouts 55 | enabled_layouts tall:bias=50;full_size=1;mirrored=false 56 | 57 | # Map keys to increase or decrease the number of full-height windows 58 | map ctrl+[ layout_action decrease_num_full_size_windows 59 | map ctrl+] layout_action increase_num_full_size_windows 60 | 61 | include ./theme.conf 62 | -------------------------------------------------------------------------------- /dots/i3/alternating_layouts.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import getopt 4 | import sys 5 | import os 6 | from i3ipc import Connection, Event 7 | 8 | 9 | def find_parent(i3, window_id): 10 | """ 11 | Find the parent of a given window id 12 | """ 13 | 14 | def finder(con, parent): 15 | if con.id == window_id: 16 | return parent 17 | for node in con.nodes: 18 | res = finder(node, con) 19 | if res: 20 | return res 21 | return None 22 | 23 | return finder(i3.get_tree(), None) 24 | 25 | 26 | def set_layout(i3, e): 27 | """ 28 | Set the layout/split for the currently 29 | focused window to either vertical or 30 | horizontal, depending on its width/height 31 | """ 32 | win = i3.get_tree().find_focused() 33 | parent = find_parent(i3, win.id) 34 | 35 | if (parent and parent.layout != 'tabbed' 36 | and parent.layout != 'stacked'): 37 | 38 | if win.rect.height > win.rect.width: 39 | if parent.orientation == 'horizontal': 40 | i3.command('split v') 41 | else: 42 | if parent.orientation == 'vertical': 43 | i3.command('split h') 44 | 45 | 46 | def print_help(): 47 | print("Usage: " + sys.argv[0] + " [-p path/to/pid.file]") 48 | print("") 49 | print("Options:") 50 | print(" -p path/to/pid.file Saves the PID for this program in the filename specified") 51 | print("") 52 | 53 | 54 | def main(): 55 | """ 56 | Main function - listen for window focus 57 | changes and call set_layout when focus 58 | changes 59 | """ 60 | opt_list, _ = getopt.getopt(sys.argv[1:], 'hp:') 61 | pid_file = None 62 | for opt in opt_list: 63 | if opt[0] == "-h": 64 | print_help() 65 | sys.exit() 66 | if opt[0] == "-p": 67 | pid_file = opt[1] 68 | 69 | if pid_file: 70 | with open(pid_file, 'w') as f: 71 | f.write(str(os.getpid())) 72 | 73 | i3 = Connection() 74 | i3.on(Event.WINDOW_FOCUS, set_layout) 75 | i3.main() 76 | 77 | 78 | if __name__ == "__main__": 79 | main() 80 | -------------------------------------------------------------------------------- /dots/picom/picom.conf: -------------------------------------------------------------------------------- 1 | corner-radius = 10 2 | 3 | rounded-corners-exclude = [ 4 | "class_g = 'Polybar'", 5 | "class_g = 'notify-osd'", 6 | "class_g = 'Dunst'" 7 | ]; 8 | 9 | backend = "glx"; 10 | vsync = true; 11 | 12 | # Fade 13 | #fading = true; 14 | #fade-delta = 5.0; 15 | #fade-in-step = 1; 16 | #fade-out-step = 1; 17 | #alpha-step = 1; 18 | 19 | # Enabled client-side shadows on windows. Note desktop windows 20 | # (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, 21 | # unless explicitly requested using the wintypes option. 22 | # 23 | # shadow = false 24 | shadow = true; 25 | 26 | # The blur radius for shadows, in pixels. (defaults to 12) 27 | # shadow-radius = 12 28 | shadow-radius = 10; 29 | 30 | # The opacity of shadows. (0.0 - 1.0, defaults to 0.75) 31 | # shadow-opacity = .75 32 | 33 | # The left offset for shadows, in pixels. (defaults to -15) 34 | # shadow-offset-x = -15 35 | shadow-offset-x = -7; 36 | 37 | # The top offset for shadows, in pixels. (defaults to -15) 38 | # shadow-offset-y = -15 39 | shadow-offset-y = -7; 40 | 41 | # Red color value of shadow (0.0 - 1.0, defaults to 0). 42 | # shadow-red = 0 43 | 44 | # Green color value of shadow (0.0 - 1.0, defaults to 0). 45 | # shadow-green = 0 46 | 47 | # Blue color value of shadow (0.0 - 1.0, defaults to 0). 48 | # shadow-blue = 0 49 | 50 | # Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) 51 | # shadow-color = "#000000" 52 | 53 | # Specify a list of conditions of windows that should have no shadow. 54 | # 55 | # examples: 56 | # shadow-exclude = "n:e:Notification"; 57 | # 58 | # shadow-exclude = [] 59 | shadow-exclude = [ 60 | "name = 'Notification'", 61 | "class_g = 'Conky'", 62 | "class_g ?= 'Notify-osd'", 63 | "class_g = 'Polybar'", 64 | "_GTK_FRAME_EXTENTS@:c" 65 | ]; 66 | 67 | # Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. 68 | # clip-shadow-above = [] 69 | 70 | # Specify a X geometry that describes the region in which shadow should not 71 | # be painted in, such as a dock window region. Use 72 | # shadow-exclude-reg = "x10+0+0" 73 | # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. 74 | # 75 | # shadow-exclude-reg = "" 76 | 77 | # Crop shadow of a window fully on a particular Xinerama screen to the screen. 78 | # xinerama-shadow-crop = false 79 | -------------------------------------------------------------------------------- /dots/polybar/user_modules.ini: -------------------------------------------------------------------------------- 1 | [module/launcher] 2 | type = custom/text 3 | content =  4 | 5 | ; "content" has the same properties as "format-NAME" 6 | content-background = ${color.background} 7 | content-foreground = ${color.foreground} 8 | content-padding = 1 9 | 10 | ; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND" 11 | click-left = rofi -show drun -theme $HOME/.config/rofi/launchers/type-1/style-5.rasi -normal-window 12 | ;;click-middle = ~/.config/polybar/shades/scripts/launcher-full 13 | ;click-right = ~/.config/polybar/shades/scripts/color-switch.sh & 14 | 15 | ; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND" 16 | ;;scroll-up = ~/.config/polybar/shades/scripts/launcher.sh & 17 | ;;scroll-down = ~/.config/polybar/shades/scripts/color-switch.sh & 18 | 19 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 20 | 21 | [module/sysmenu] 22 | type = custom/text 23 | content = ⏻ 24 | 25 | content-background = ${color.bg} 26 | content-padding = 1 27 | content-foreground = ${color.red} 28 | 29 | click-left = ~/.config/rofi/scripts/powermenu_t2 & 30 | 31 | ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 32 | [module/spotify] 33 | type = custom/script 34 | interval = 20 35 | format =