├── config ├── alacritty │ └── alacritty.yml ├── calcure │ └── config.ini ├── i3 │ └── config ├── lightdm │ ├── lightdm.conf │ ├── lock.png │ └── slick-greeter.conf ├── matplotlib │ └── stylelib │ │ └── coolplot.mplstyle ├── mutt │ ├── color.muttrc │ ├── filepick │ └── muttrc ├── nvim │ ├── colors │ │ └── rem.vim │ ├── init.vim │ └── vimrc.vim ├── picom │ └── picom.conf ├── polybar │ ├── config │ └── scripts │ │ ├── .notifs │ │ ├── mic-volume.sh │ │ ├── opacitytoggle.sh │ │ ├── polytiramisu.sh │ │ ├── showcrypto.sh │ │ ├── showtray.sh │ │ ├── touchpad-toggle.sh │ │ └── weather.sh ├── qt5ct │ ├── colors │ │ └── whale.conf │ └── qt5ct.conf ├── rofi │ ├── config.rasi │ ├── scripts │ │ ├── bluetooth.sh │ │ ├── bookmarks │ │ │ ├── bookmarks.sh │ │ │ └── bookmarks.txt │ │ ├── books-search.sh │ │ ├── monitor-layout.sh │ │ ├── networkmanager │ │ ├── nordvpn.sh │ │ ├── powermenu.sh │ │ ├── rofi-screenshot.sh │ │ ├── rofitr.sh │ │ ├── scholar-search.sh │ │ ├── symbol-finder │ │ │ ├── rofi_symbol_finder.sh │ │ │ └── symbol-list.txt │ │ ├── virtual-machines.sh │ │ └── web-search.sh │ └── whale.rasi ├── vifm │ ├── colors │ │ └── Whale.vifm │ └── vifmrc ├── wallpaper │ ├── lock.png │ └── wallpaper.jpg ├── waybar │ ├── config │ └── style.css └── zathura │ └── zathurarc ├── readme.md └── screen.jpg /config/alacritty/alacritty.yml: -------------------------------------------------------------------------------- 1 | # Configuration for Alacritty, the GPU enhanced terminal emulator. 2 | 3 | # Any items in the `env` entry below will be added as 4 | # environment variables. Some entries may override variables 5 | # set by alacritty itself. 6 | env: 7 | # TERM variable 8 | # This value is used to set the `$TERM` environment variable for each instance of Alacritty. If it is not present, alacritty will 9 | # check the local terminfo database and use `alacritty` if it is 10 | # available, otherwise `xterm-256color` is used. 11 | TERM: alacritty 12 | 13 | window: 14 | # Window dimensions (changes require restart) 15 | # 16 | # Specified in number of columns/lines, not pixels. 17 | # If both are `0`, this setting is ignored. 18 | #dimensions: 19 | # columns: 0 20 | # lines: 0 21 | 22 | # Window position (changes require restart) 23 | # 24 | # Specified in number of pixels. 25 | # If the position is not set, the window manager will handle the placement. 26 | #position: 27 | # x: 0 28 | # y: 0 29 | 30 | # Window padding (changes require restart) 31 | padding: 32 | x: 8 33 | y: 15 34 | 35 | # Spread additional padding evenly around the terminal content. 36 | #dynamic_padding: false 37 | 38 | # Window decorations 39 | # 40 | # Values for `decorations`: 41 | # - full: Borders and title bar 42 | # - none: Neither borders nor title bar 43 | # 44 | # Values for `decorations` (macOS only): 45 | # - transparent: Title bar, transparent background and title bar buttons 46 | # - buttonless: Title bar, transparent background, but no title bar buttons 47 | decorations: full 48 | 49 | 50 | 51 | # Startup Mode (changes require restart) 52 | # 53 | # Values for `startup_mode`: 54 | # - Windowed 55 | # - Maximized 56 | # - Fullscreen 57 | # 58 | # Values for `startup_mode` (macOS only): 59 | # - SimpleFullscreen 60 | startup_mode: Windowed 61 | 62 | # Window title 63 | title: Terminal 64 | 65 | # Window class (Linux/BSD only): 66 | #class: 67 | # Application instance name 68 | #instance: Alacritty 69 | # General application class 70 | #general: Alacritty 71 | 72 | # GTK theme variant (Linux/BSD only) 73 | # 74 | # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`. 75 | # Set this to `None` to use the default theme variant. 76 | #gtk_theme_variant: None 77 | 78 | scrolling: 79 | # Maximum number of lines in the scrollback buffer. 80 | # Specifying '0' will disable scrolling. 81 | history: 10000 82 | 83 | # Number of lines the viewport will move for every line scrolled when 84 | # scrollback is enabled (history > 0). 85 | #multiplier: 3 86 | 87 | # Font configuration 88 | font: 89 | # Normal (roman) font face 90 | normal: 91 | # Font family 92 | # 93 | # Default: 94 | # - (macOS) Menlo 95 | # - (Linux/BSD) monospace 96 | # - (Windows) Consolas 97 | family: NotoMono Nerd Font Mono 98 | # family: UbuntuMono Nerd 99 | 100 | 101 | # The `style` can be specified to pick a specific face. 102 | #style: Regular 103 | 104 | # Bold font face 105 | bold: 106 | # Font family 107 | # 108 | # If the bold family is not specified, it will fall back to the 109 | # value specified for the normal font. 110 | # family: Hurmit Nerd Font Mono 111 | 112 | # The `style` can be specified to pick a specific face. 113 | style: Normal 114 | 115 | # Italic font face 116 | #italic: 117 | # Font family 118 | # 119 | # If the italic family is not specified, it will fall back to the 120 | # value specified for the normal font. 121 | #family: monospace 122 | 123 | # The `style` can be specified to pick a specific face. 124 | #style: Italic 125 | 126 | # Bold italic font face 127 | #bold_italic: 128 | # Font family 129 | # 130 | # If the bold italic family is not specified, it will fall back to the 131 | # value specified for the normal font. 132 | #family: monospace 133 | 134 | # The `style` can be specified to pick a specific face. 135 | #style: Bold Italic 136 | 137 | # Point size 138 | size: 15 139 | 140 | 141 | # Offset is the extra space around each character. `offset.y` can be thought of 142 | # as modifying the line spacing, and `offset.x` as modifying the letter spacing. 143 | offset: 144 | x: 0 145 | y: -1 146 | 147 | # Glyph offset determines the locations of the glyphs within their cells with 148 | # the default being at the bottom. Increasing `x` moves the glyph to the right, 149 | # increasing `y` moves the glyph upwards. 150 | # glyph_offset: 151 | # x: 0 152 | # y: 1 153 | 154 | # Thin stroke font rendering (macOS only) 155 | # 156 | # Thin strokes are suitable for retina displays, but for non-retina screens 157 | # it is recommended to set `use_thin_strokes` to `false` 158 | # 159 | # macOS >= 10.14.x: 160 | # 161 | # If the font quality on non-retina display looks bad then set 162 | # `use_thin_strokes` to `true` and enable font smoothing by running the 163 | # following command: 164 | # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` 165 | # 166 | # This is a global setting and will require a log out or restart to take 167 | # effect. 168 | #use_thin_strokes: true 169 | 170 | # If `true`, bold text is drawn using the bright color variants. 171 | #draw_bold_text_with_bright_colors: false 172 | 173 | # Colors (Tomorrow Night Bright) 174 | 175 | # Bright and dim foreground colors 176 | # 177 | # The dimmed foreground color is calculated automatically if it is not present. 178 | # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` 179 | # is `false`, the normal foreground color will be used. 180 | #dim_foreground: '#9a9a9a' 181 | #bright_foreground: '#ffffff' 182 | 183 | # Cursor colors 184 | # 185 | # Colors which should be used to draw the terminal cursor. If these are unset, 186 | # the cursor color will be the inverse of the cell color. 187 | #cursor: 188 | # text: '#000000' 189 | # cursor: '#ffffff' 190 | 191 | # Selection colors 192 | # 193 | # Colors which should be used to draw the selection area. If selection 194 | # background is unset, selection color will be the inverse of the cell colors. 195 | # If only text is unset the cell text color will remain the same. 196 | #selection: 197 | # text: '#eaeaea' 198 | # background: '#404040' 199 | 200 | # Whale theme 201 | colors: 202 | # Default colors 203 | primary: 204 | background: '0x1a1e2a' 205 | foreground: '0xffffff' 206 | 207 | # Normal colors 208 | normal: 209 | black: '0x1d2430' 210 | red: '0xfa5ead' 211 | green: '0x00fbad' 212 | yellow: '0xffdf5f' 213 | blue: '0x5eadfc' 214 | magenta: '0xfa5ead' 215 | cyan: '0x242D42' 216 | white: '0xffffff' 217 | 218 | # Bright colors 219 | bright: 220 | black: '0x1d2430' 221 | red: '0xfa5ead' 222 | green: '0x00fbad' 223 | yellow: '0xffdf5f' 224 | blue: '0x5eadfc' 225 | magenta: '0xfa5ead' 226 | cyan: '0x6a6f87' 227 | white: '0xeff1f5' 228 | 229 | # Dim colors 230 | # 231 | # If the dim colors are not set, they will be calculated automatically based 232 | # on the `normal` colors. 233 | #dim: 234 | # black: '#000000' 235 | # red: '#8c3336' 236 | # green: '#7a8530' 237 | # yellow: '#97822e' 238 | # blue: '#506d8f' 239 | # magenta: '#80638e' 240 | # cyan: '#363e4f' 241 | # white: '#ffffff' 242 | 243 | # Indexed Colors 244 | # 245 | # The indexed colors include all colors from 16 to 256. 246 | # When these are not set, they're filled with sensible defaults. 247 | # 248 | # Example: 249 | # `- { index: 16, color: '#ff00ff' }` 250 | # 251 | #indexed_colors: [] 252 | 253 | # Visual Bell 254 | # 255 | # Any time the BEL code is received, Alacritty "rings" the visual bell. Once 256 | # rung, the terminal background will be set to white and transition back to the 257 | # default background color. You can control the rate of this transition by 258 | # setting the `duration` property (represented in milliseconds). You can also 259 | # configure the transition function by setting the `animation` property. 260 | # 261 | # Values for `animation`: 262 | # - Ease 263 | # - EaseOut 264 | # - EaseOutSine 265 | # - EaseOutQuad 266 | # - EaseOutCubic 267 | # - EaseOutQuart 268 | # - EaseOutQuint 269 | # - EaseOutExpo 270 | # - EaseOutCirc 271 | # - Linear 272 | # 273 | # Specifying a `duration` of `0` will disable the visual bell. 274 | #visual_bell: 275 | # animation: EaseOutExpo 276 | # duration: 0 277 | # color: '#ffffff' 278 | 279 | window.opacity: 0.9 280 | 281 | selection: 282 | #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" 283 | save_to_clipboard: true 284 | 285 | # Allow terminal applications to change Alacritty's window title. 286 | #dynamic_title: true 287 | 288 | cursor: 289 | style: Block 290 | 291 | # If this is `true`, the cursor will be rendered as a hollow box when the 292 | # window is not focused. 293 | #unfocused_hollow: true 294 | 295 | # Live config reload (changes require restart) 296 | #live_config_reload: true 297 | 298 | # Shell 299 | # 300 | # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. 301 | # Entries in `shell.args` are passed unmodified as arguments to the shell. 302 | # 303 | # Default: 304 | # - (macOS) /bin/bash --login 305 | # - (Linux/BSD) user login shell 306 | # - (Windows) powershell 307 | #shell: 308 | # program: /bin/bash 309 | # args: 310 | # - --login 311 | 312 | # Startup directory 313 | # 314 | # Directory the shell is started in. If this is unset, or `None`, the working 315 | # directory of the parent process will be used. 316 | #working_directory: None 317 | 318 | # WinPTY backend (Windows only) 319 | # 320 | # Alacritty defaults to using the newer ConPTY backend if it is available, 321 | # since it resolves a lot of bugs and is quite a bit faster. If it is not 322 | # available, the the WinPTY backend will be used instead. 323 | # 324 | # Setting this option to `true` makes Alacritty use the legacy WinPTY backend, 325 | # even if the ConPTY backend is available. 326 | #winpty_backend: false 327 | 328 | # Send ESC (\x1b) before characters when alt is pressed. 329 | #alt_send_esc: true 330 | 331 | #mouse: 332 | # Click settings 333 | # 334 | # The `double_click` and `triple_click` settings control the time 335 | # alacritty should wait for accepting multiple clicks as one double 336 | # or triple click. 337 | #double_click: { threshold: 300 } 338 | #triple_click: { threshold: 300 } 339 | 340 | # If this is `true`, the cursor is temporarily hidden when typing. 341 | #hide_when_typing: false 342 | 343 | #url: 344 | # URL launcher 345 | # 346 | # This program is executed when clicking on a text which is recognized as a URL. 347 | # The URL is always added to the command as the last parameter. 348 | # 349 | # When set to `None`, URL launching will be disabled completely. 350 | # 351 | # Default: 352 | # - (macOS) open 353 | # - (Linux/BSD) xdg-open 354 | # - (Windows) explorer 355 | #launcher: 356 | # program: xdg-open 357 | # args: [] 358 | 359 | # URL modifiers 360 | # 361 | # These are the modifiers that need to be held down for opening URLs when clicking 362 | # on them. The available modifiers are documented in the key binding section. 363 | #modifiers: None 364 | 365 | # Mouse bindings 366 | # 367 | # Mouse bindings are specified as a list of objects, much like the key 368 | # bindings further below. 369 | # 370 | # To trigger mouse bindings when an application running within Alacritty captures the mouse, the 371 | # `Shift` modifier is automatically added as a requirement. 372 | # 373 | # Each mouse binding will specify a: 374 | # 375 | # - `mouse`: 376 | # 377 | # - Middle 378 | # - Left 379 | # - Right 380 | # - Numeric identifier such as `5` 381 | # 382 | # - `action` (see key bindings) 383 | # 384 | # And optionally: 385 | # 386 | # - `mods` (see key bindings) 387 | #mouse_bindings: 388 | # - { mouse: Middle, action: PasteSelection } 389 | 390 | # Key bindings 391 | # 392 | # Key bindings are specified as a list of objects. For example, this is the 393 | # default paste binding: 394 | # 395 | # `- { key: V, mods: Control|Shift, action: Paste }` 396 | # 397 | # Each key binding will specify a: 398 | # 399 | # - `key`: Identifier of the key pressed 400 | # 401 | # - A-Z 402 | # - F1-F24 403 | # - Key0-Key9 404 | # 405 | # A full list with available key codes can be found here: 406 | # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants 407 | # 408 | # Instead of using the name of the keys, the `key` field also supports using 409 | # the scancode of the desired key. Scancodes have to be specified as a 410 | # decimal number. This command will allow you to display the hex scancodes 411 | # for certain keys: 412 | # 413 | # `showkey --scancodes`. 414 | # 415 | # Then exactly one of: 416 | # 417 | # - `chars`: Send a byte sequence to the running application 418 | # 419 | # The `chars` field writes the specified string to the terminal. This makes 420 | # it possible to pass escape sequences. To find escape codes for bindings 421 | # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside 422 | # of tmux. Note that applications use terminfo to map escape sequences back 423 | # to keys. It is therefore required to update the terminfo when changing an 424 | # escape sequence. 425 | # 426 | # - `action`: Execute a predefined action 427 | # 428 | # - Copy 429 | # - Paste 430 | # - PasteSelection 431 | # - IncreaseFontSize 432 | # - DecreaseFontSize 433 | # - ResetFontSize 434 | # - ScrollPageUp 435 | # - ScrollPageDown 436 | # - ScrollLineUp 437 | # - ScrollLineDown 438 | # - ScrollToTop 439 | # - ScrollToBottom 440 | # - ClearHistory 441 | # - Hide 442 | # - Minimize 443 | # - Quit 444 | # - ToggleFullscreen 445 | # - SpawnNewInstance 446 | # - ClearLogNotice 447 | # - ReceiveChar 448 | # - None 449 | # 450 | # (macOS only): 451 | # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space 452 | # 453 | # - `command`: Fork and execute a specified command plus arguments 454 | # 455 | # The `command` field must be a map containing a `program` string and an 456 | # `args` array of command line parameter strings. For example: 457 | # `{ program: "alacritty", args: ["-e", "vttest"] }` 458 | # 459 | # And optionally: 460 | # 461 | # - `mods`: Key modifiers to filter binding actions 462 | # 463 | # - Command 464 | # - Control 465 | # - Option 466 | # - Super 467 | # - Shift 468 | # - Alt 469 | # 470 | # Multiple `mods` can be combined using `|` like this: 471 | # `mods: Control|Shift`. 472 | # Whitespace and capitalization are relevant and must match the example. 473 | # 474 | # - `mode`: Indicate a binding for only specific terminal reported modes 475 | # 476 | # This is mainly used to send applications the correct escape sequences 477 | # when in different modes. 478 | # 479 | # - AppCursor 480 | # - AppKeypad 481 | # - Alt 482 | # 483 | # A `~` operator can be used before a mode to apply the binding whenever 484 | # the mode is *not* active, e.g. `~Alt`. 485 | # 486 | # Bindings are always filled by default, but will be replaced when a new 487 | # binding with the same triggers is defined. To unset a default binding, it can 488 | # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for 489 | # a no-op if you do not wish to receive input characters for that binding. 490 | # 491 | # If the same trigger is assigned to multiple actions, all of them are executed 492 | # at once. 493 | key_bindings: 494 | # (Windows, Linux, and BSD only) 495 | #- { key: V, mods: Control|Shift, action: Paste } 496 | #- { key: C, mods: Control|Shift, action: Copy } 497 | #- { key: Insert, mods: Shift, action: PasteSelection } 498 | #- { key: Key0, mods: Control, action: ResetFontSize } 499 | #- { key: Equals, mods: Control, action: IncreaseFontSize } 500 | #- { key: Add, mods: Control, action: IncreaseFontSize } 501 | #- { key: Subtract, mods: Control, action: DecreaseFontSize } 502 | #- { key: Minus, mods: Control, action: DecreaseFontSize } 503 | 504 | # (Windows only) 505 | #- { key: Return, mods: Alt, action: ToggleFullscreen } 506 | 507 | # (macOS only) 508 | #- { key: Key0, mods: Command, action: ResetFontSize } 509 | #- { key: Equals, mods: Command, action: IncreaseFontSize } 510 | #- { key: Add, mods: Command, action: IncreaseFontSize } 511 | #- { key: Minus, mods: Command, action: DecreaseFontSize } 512 | #- { key: K, mods: Command, action: ClearHistory } 513 | #- { key: K, mods: Command, chars: "\x0c" } 514 | #- { key: V, mods: Command, action: Paste } 515 | #- { key: C, mods: Command, action: Copy } 516 | #- { key: H, mods: Command, action: Hide } 517 | #- { key: M, mods: Command, action: Minimize } 518 | #- { key: Q, mods: Command, action: Quit } 519 | #- { key: W, mods: Command, action: Quit } 520 | - { key: L, mods: Command|Control, action: ToggleFullscreen } 521 | 522 | #- { key: Paste, action: Paste } 523 | #- { key: Copy, action: Copy } 524 | #- { key: L, mods: Control, action: ClearLogNotice } 525 | #- { key: L, mods: Control, chars: "\x0c" } 526 | #- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt } 527 | #- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt } 528 | #- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt } 529 | #- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt } 530 | 531 | #debug: 532 | # Display the time it takes to redraw each frame. 533 | #render_timer: false 534 | 535 | # Keep the log file after quitting Alacritty. 536 | #persistent_logging: false 537 | 538 | # Log level 539 | # 540 | # Values for `log_level`: 541 | # - None 542 | # - Error 543 | # - Warn 544 | # - Info 545 | # - Debug 546 | # - Trace 547 | #log_level: Warn 548 | 549 | # Print all received window events. 550 | #print_events: false 551 | -------------------------------------------------------------------------------- /config/calcure/config.ini: -------------------------------------------------------------------------------- 1 | [Parameters] 2 | folder_with_datafiles = / 3 | calcurse_todo_file = / 4 | calcurse_events_file = /home/r/.local/share/calcurse/apts 5 | taskwarrior_folder = /home/r/.task 6 | language = en 7 | default_view = calendar 8 | birthdays_from_abook = Yes 9 | show_keybindings = Yes 10 | privacy_mode = No 11 | show_weather = Yes 12 | weather_city = Tokyo 13 | minimal_today_indicator = Yes 14 | minimal_days_indicator = Yes 15 | minimal_weekend_indicator = Yes 16 | show_calendar_boarders = No 17 | cut_titles_by_cell_length = No 18 | ask_confirmations = No 19 | use_unicode_icons = Yes 20 | show_current_time = No 21 | show_holidays = Yes 22 | show_nothing_planned = Yes 23 | holiday_country = Japan 24 | use_persian_calendar = No 25 | start_week_day = 1 26 | weekend_days = 6,7 27 | refresh_interval = 1 28 | split_screen = Yes 29 | right_pane_percentage = 25 30 | journal_header = JOURNAL 31 | event_icon = • 32 | privacy_icon = • 33 | today_icon = • 34 | birthday_icon = ★ 35 | holiday_icon = ☘️ 36 | hidden_icon = ... 37 | done_icon = ✔ 38 | todo_icon = • 39 | important_icon = ‣ 40 | separator_icon = │ 41 | 42 | [Colors] 43 | color_today = 2 44 | color_events = 4 45 | color_days = 7 46 | color_day_names = 4 47 | color_weekends = 1 48 | color_weekend_names = 1 49 | color_hints = 6 50 | color_prompts = 7 51 | color_confirmations = 1 52 | color_birthdays = 1 53 | color_holidays = 2 54 | color_todo = 7 55 | color_done = 6 56 | color_title = 4 57 | color_calendar_header = 4 58 | color_important = 5 59 | color_unimportant = 6 60 | color_timer = 2 61 | color_timer_paused = 7 62 | color_time = 7 63 | color_weather = 2 64 | color_active_pane = 2 65 | color_separator = 6 66 | color_calendar_border = 7 67 | color_background = -1 68 | 69 | [Styles] 70 | bold_today = No 71 | bold_days = No 72 | bold_day_names = No 73 | bold_weekends = No 74 | bold_weekend_names = No 75 | bold_title = No 76 | bold_active_pane = No 77 | underlined_today = No 78 | underlined_days = No 79 | underlined_day_names = No 80 | underlined_weekends = No 81 | underlined_weekend_names = No 82 | underlined_title = No 83 | underlined_active_pane = No 84 | 85 | [Event icons] 86 | travel = ✈ 87 | plane = ✈ 88 | voyage = ✈ 89 | flight = ✈ 90 | airport = ✈ 91 | trip = 🏕 92 | vacation = ⛱ 93 | holiday = ⛱ 94 | day-off = ⛱ 95 | hair = ✂ 96 | barber = ✂ 97 | beauty = ✂ 98 | nails = ✂ 99 | game = ♟ 100 | match = ♟ 101 | play = ♟ 102 | interview = 🎙️ 103 | conference = 🎙️ 104 | hearing = 🎙️ 105 | date = ♥ 106 | concert = ♪ 107 | dance = ♪ 108 | music = ♪ 109 | rehearsal = ♪ 110 | call = 🕻 111 | phone = 🕻 112 | zoom = 🕻 113 | deadline = ⚑ 114 | over = ⚑ 115 | finish = ⚑ 116 | end = ⚑ 117 | doctor = ✚ 118 | dentist = ✚ 119 | medical = ✚ 120 | hospital = ✚ 121 | party = ☘ 122 | bar = ☘ 123 | museum = ⛬ 124 | meet = ⛬ 125 | talk = ⛬ 126 | sport = ⛷ 127 | gym = 🏋 128 | training = ⛷ 129 | email = ✉ 130 | letter = ✉ 131 | 132 | -------------------------------------------------------------------------------- /config/i3/config: -------------------------------------------------------------------------------- 1 | # for_window [class = ".*"] title_format "%title ⋯ %class" 2 | for_window [class = ".*"] title_format "%class" 3 | title_align center 4 | 5 | font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 6 | #font pango:NotoMono Nerd Font Mono 10 7 | font pango: Noto Sans 0 8 | 9 | # Set inner/outer gaps 10 | gaps inner 15 11 | gaps outer 0 12 | gaps top 0 13 | gaps bottom 0 14 | # workspace $ws5 gaps inner 0 15 | 16 | for_window [class = "^.*"] border pixel 0 17 | for_window [title = "^.*"] border pixel 0 18 | 19 | # border_radius 3 20 | # smart_borders on 21 | # smart_gaps on 22 | 23 | # Set colors from Xresources 24 | # Change 'color7' and 'color2' to whatever colors you want i3 to use 25 | # from the generated scheme. 26 | # NOTE: The '#f0f0f0' in the lines below is the color i3 will use if 27 | # it fails to get colors from Xresources. 28 | set_from_resource $fg i3wm.color7 #ffffff 29 | set_from_resource $bg i3wm.color0 #1a1e2a 30 | set_from_resource $ac i3wm.color8 #222734 31 | 32 | 33 | # class border backgr. text indicator child_border 34 | client.focused $ac $ac $fg $ac $ac 35 | client.focused_inactive $bg $bg $fg $bg $bg 36 | client.unfocused $bg $bg $fg $bg $bg 37 | client.urgent $bg $bg $fg $bg $bg 38 | client.placeholder $bg $bg $fg $bg $bg 39 | 40 | client.background $bg 41 | 42 | # RANDOM HOTKEYS 43 | 44 | set $mod Mod1 45 | floating_modifier Mod4 46 | focus_follows_mouse no 47 | 48 | # Layouts 49 | bindsym $mod+i layout toggle split 50 | bindsym $mod+ctrl+i layout tabbed 51 | 52 | # Resize to a presentation mode 53 | bindsym $mod+ctrl+a floating toggle; resize set 1285 960; move position 40px 80px 54 | 55 | # Terminal 56 | bindsym $mod+Return exec alacritty 57 | 58 | # Browser 59 | bindsym $mod+b exec brave; workspace number 2 60 | 61 | # File manager 62 | bindsym $mod+d exec pcmanfm; workspace number 3 63 | 64 | # Rofi calc 65 | bindsym $mod+c exec rofi -show calc -modi calc -no-show-match -no-sort 66 | 67 | # Tekapoint 68 | bindsym $mod+ctrl+g exec ~/Nextcloud/Apps/tekapoint/tekapoint -c BlueLight & 69 | 70 | # Swap caps and esc 71 | bindsym $mod+ctrl+e exec setxkbmap -option caps:swapescape 72 | 73 | # Brightness (install: light and run: sudo chmod +s /usr/bin/light) 74 | bindsym XF86MonBrightnessUp exec light -A 5 75 | bindsym XF86MonBrightnessDown exec light -U 5 76 | 77 | # Opacity 78 | bindsym $mod+XF86MonBrightnessUp exec picom-trans -c +2 79 | bindsym $mod+XF86MonBrightnessDown exec picom-trans -c -- -1 80 | 81 | # Volume control 82 | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% 83 | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% 84 | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle 85 | 86 | # floating_minimum_size 921 x 897 87 | # floating_maximum_size -1 x -1 88 | 89 | # Lock the screen 90 | bindsym Control+$mod+l exec i3lock -d -e -c 000000 -i ~/Pictures/lock.png 91 | 92 | # Suspend 93 | bindsym $mod+s exec i3lock -d -e -c 000000 -i ~/Pictures/lock.png && systemctl suspend 94 | 95 | 96 | # ROFI SCRIPTS: 97 | 98 | # Rofi drun menu 99 | bindsym $mod+space exec "rofi -show run" 100 | 101 | # Network manager 102 | bindsym $mod+n exec "$HOME/.config/rofi/scripts/networkmanager" 103 | 104 | # Nord vpn 105 | bindsym $mod+v exec "$HOME/.config/rofi/scripts/nordvpn.sh" 106 | 107 | # Nord vpn 108 | bindsym $mod+ctrl+x exec "$HOME/.config/polybar/scripts/touchpad-toggle.sh" 109 | 110 | # Take a screenshot 111 | bindsym Print exec flameshot gui 112 | # bindsym Print exec "/home/r/.config/rofi/scripts/rofi-screenshot.sh" 113 | 114 | # Monitor manager 115 | bindsym $mod+ctrl+m exec "$HOME/.config/rofi/scripts/monitor-layout.sh" 116 | 117 | # Translator 118 | bindsym $mod+ctrl+t exec "$HOME/.config/rofi/scripts/rofitr.sh -s &" 119 | bindsym $mod+t exec "$HOME/.config/rofi/scripts/rofitr.sh &" 120 | 121 | # VM manager 122 | bindsym $mod+ctrl+o exec "$HOME/.config/rofi/scripts/virtual-machines.sh" 123 | 124 | # Power menu in rofi 125 | bindsym $mod+ctrl+p exec rofi -show power-menu -modi power-menu:"~/.config/rofi/scripts/powermenu.sh" 126 | 127 | # Library search 128 | bindsym $mod+ctrl+space exec "$HOME/.config/rofi/scripts/books-search.sh" 129 | 130 | # Bookmark manager 131 | bindsym $mod+l exec "/home/r/.config/rofi/scripts/bookmarks/bookmarks.sh" 132 | 133 | # Scholar search 134 | bindsym $mod+ctrl+s exec "$HOME/.config/rofi/scripts/scholar-search.sh" 135 | 136 | # Web search 137 | bindsym $mod+ctrl+b exec "$HOME/.config/rofi/scripts/web-search.sh" 138 | 139 | # Symbol search 140 | bindsym $mod+ctrl+0 exec "/home/r/.config/rofi/scripts/symbol-finder/rofi_symbol_finder.sh" 141 | 142 | # Clipboard manager 143 | bindsym $mod+ctrl+c exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' 144 | 145 | # Reaper 146 | bindsym $mod+ctrl+w exec wine ~/.wine/drive_c/Program\ Files/REAPER\ \(x64\)/reaper.exe 147 | 148 | # Shortcut to open dotfiles workspace 149 | # bindsym $mod+c exec --no-startup-id sh -c "codium -n ~/Documents/Workspaces/mydotfiles_workspace.code-workspace" 150 | 151 | 152 | # WORKSPACE NAVIGATION 153 | 154 | # Move to workspace on the left and right 155 | bindsym $mod+k workspace prev 156 | bindsym $mod+j workspace next 157 | 158 | bindsym --whole-window button8 workspace next 159 | bindsym --whole-window button9 workspace prev 160 | 161 | # Move to an empty workspace 162 | # bindsym $mod+Control+Down exec --no-startup-id "~/.config/rofi/scripts/i3_empty_workspace.sh" 163 | 164 | 165 | # GENERAL SETTINGS 166 | 167 | # Restart, and reload i3 168 | bindsym $mod+ctrl+r restart exec xset r rate 200 60 exec setxkbmap -option caps:swapescape 169 | 170 | # Toggle between floating and tiling state 171 | bindsym $mod+f floating toggle 172 | 173 | # Kill the focused app 174 | bindsym $mod+w kill 175 | 176 | # Binding mode to resize windows 177 | bindsym $mod+r mode "Resize" 178 | mode "Resize" { 179 | 180 | bindsym Left resize shrink width 5 px or 5 ppt 181 | bindsym Down resize grow height 5 px or 5 ppt 182 | bindsym Up resize shrink height 5 px or 5 ppt 183 | bindsym Right resize grow width 5 px or 5 ppt 184 | 185 | # back to normal: Enter or Escape or $mod+r 186 | bindsym Return mode "default" 187 | bindsym Escape mode "default" 188 | bindsym $mod+r mode "default" 189 | } 190 | 191 | # Binding mode to move windows 192 | bindsym $mod+m mode "Move" 193 | mode "Move" { 194 | 195 | bindsym Left move left 5 px 196 | bindsym Down move down 5 px 197 | bindsym Up move up 5 px 198 | bindsym Right move right 199 | 200 | # back to normal: Enter or Escape or $mod+r 201 | bindsym Return mode "default" 202 | bindsym Escape mode "default" 203 | bindsym $mod+r mode "default" 204 | } 205 | 206 | # To shift focus 207 | # bindsym $mod+Left focus left 208 | bindsym $mod+Down focus down 209 | bindsym $mod+Up focus up 210 | bindsym $mod+Right focus right 211 | bindsym $mod+Tab focus right 212 | 213 | # To move windows around 214 | bindsym $mod+ctrl+Left move left 215 | bindsym $mod+ctrl+Down move down 216 | bindsym $mod+ctrl+Up move up 217 | bindsym $mod+ctrl+Right move right 218 | 219 | # Split in horizontal and vertical orientations 220 | bindsym $mod+ctrl+h split h 221 | bindsym $mod+ctrl+v split v 222 | 223 | # Enter fullscreen mode for the focused container 224 | bindsym $mod+ctrl+f fullscreen toggle 225 | 226 | # Define names for default workspaces for which we configure key bindings later on. 227 | # We use variables to avoid repeating the names in multiple places. 228 | set $ws1 "1" 229 | set $ws2 "2" 230 | set $ws3 "3" 231 | set $ws4 "4" 232 | set $ws5 "5" 233 | set $ws6 "6" 234 | set $ws7 "7" 235 | set $ws8 "8" 236 | set $ws9 "9" 237 | 238 | # Switch to workspace 239 | bindsym $mod+1 workspace number 1 240 | bindsym $mod+2 workspace number 2 241 | bindsym $mod+3 workspace number 3 242 | bindsym $mod+4 workspace number 4 243 | bindsym $mod+5 workspace number 5 244 | bindsym $mod+6 workspace number 6 245 | bindsym $mod+7 workspace number 7 246 | bindsym $mod+8 workspace number 8 247 | bindsym $mod+9 workspace number 9 248 | 249 | # Move focused container to workspace 250 | bindsym $mod+ctrl+1 move container to workspace number 1 251 | bindsym $mod+ctrl+2 move container to workspace number 2 252 | bindsym $mod+ctrl+3 move container to workspace number 3 253 | bindsym $mod+ctrl+4 move container to workspace number 4 254 | bindsym $mod+ctrl+5 move container to workspace number 5 255 | bindsym $mod+ctrl+6 move container to workspace number 6 256 | bindsym $mod+ctrl+7 move container to workspace number 7 257 | bindsym $mod+ctrl+8 move container to workspace number 8 258 | bindsym $mod+ctrl+9 move container to workspace number 9 259 | 260 | 261 | # Gap size increase/decrease bind mode 262 | set $mode_gaps Gaps 263 | bindsym $mod+g mode "$mode_gaps" 264 | 265 | mode "$mode_gaps" { 266 | bindsym Up gaps inner current plus 5 267 | bindsym Down gaps inner current minus 5 268 | 269 | bindsym Escape mode "default" 270 | bindsym Return mode "default" 271 | } 272 | 273 | # Open specific applications in floating (+ sticky) mode 274 | for_window [class = "rofi"] floating enable sticky enable 275 | for_window [class = "Gpick"] floating enable 276 | for_window [class = "Indicator-stickynotes"] floating enable 277 | for_window [class = "matplotlib"] floating enable 278 | for_window [class = "Matplotlib"] floating enable 279 | for_window [class = "Colorgrab"] floating enable 280 | 281 | # Move certain apps to the scratchpad 282 | for_window [class = "AlacrittyScratch"] move to scratchpad 283 | 284 | # Resizing 285 | for_window [class = "Viewnior"] resize set width 70 ppt 286 | for_window [class = "Audacious"] resize set width 35 ppt 287 | for_window [class = "Crow"] resize set width 30 ppt 288 | for_window [class = "Blueberry"] resize set width 25 ppt 289 | for_window [class = "Nextcloud"] resize set width 25 ppt 290 | for_window [class = "Lxappearance"] resize set width 35 ppt 291 | 292 | # Make the currently focused window a scratchpad 293 | bindsym $mod+ctrl+minus move scratchpad 294 | 295 | # Show the first scratchpad window 296 | bindsym $mod+minus scratchpad show 297 | 298 | # Move certain apps to specific workspaces 299 | # for_window [class = "Brave"] move window to workspace number 2 300 | for_window [class = "Pcmanfm"] move window to workspace number 3 301 | for_window [class = "Telegram"] move window to workspace number 4 302 | for_window [class = "libreoffice"] move window to workspace number 5 303 | for_window [class = "zoom"] move window to workspace number 7 304 | 305 | # STARTUP 306 | 307 | # Screen resolution 308 | exec_always xrandr --output eDP --mode 1920x1080 309 | exec_always xset s 320 310 | 311 | # Keyboard setting 312 | exec_always setxkbmap -option caps:swapescape 313 | exec_always "setxkbmap -model pc104 -layout us,ru -variant ,, -option grp:alt_shift_toggle" 314 | exec_always xset r rate 200 60 315 | 316 | # Deamons 317 | exec systemctl --user enable pulseaudio 318 | exec systemctl --user start pulseaudio 319 | exec --no-startup-id touchpad-indicator 320 | exec --no-startup-id nm-applet 321 | exec --no-startup-id unclutter 322 | exec --no-startup-id bluez 323 | exec --no-startup-id nitrogen --restore 324 | exec --no-startup-id greenclip daemon & 325 | 326 | # Programs 327 | exec_always pkill -9 polybar ; polybar main 328 | exec_always killall picom ; picom -b 329 | exec --no-startup-id alacritty -e tmux 330 | exec --no-startup-id ./Downloads/pcloud 331 | exec --no-startup-id nextcloud --background 332 | exec --no-startup-id xfce4-power-manager 333 | 334 | # Junk 335 | # exec_always --no-startup-id picom -b 336 | # exec --no-startup-id twmnd & 337 | # exec --no-startup-id dunst & 338 | # exec --no-startup-id wicd 339 | # exec_always --no-startup-id flashfocus 340 | # exec --no-startup-id brave & 341 | # exec --no-startup-id pcmanfm & 342 | # exec --no-startup-id pulse-volume-watcher | xob 343 | # exec_always --no-startup-id alacritty --class AlacrittyScratch,AlacrittyScratch 344 | -------------------------------------------------------------------------------- /config/lightdm/lightdm.conf: -------------------------------------------------------------------------------- 1 | # 2 | # General configuration 3 | # 4 | # start-default-seat = True to always start one seat if none are defined in the configuration 5 | # greeter-user = User to run greeter as 6 | # minimum-display-number = Minimum display number to use for X servers 7 | # minimum-vt = First VT to run displays on 8 | # lock-memory = True to prevent memory from being paged to disk 9 | # user-authority-in-system-dir = True if session authority should be in the system location 10 | # guest-account-script = Script to be run to setup guest account 11 | # logind-check-graphical = True to on start seats that are marked as graphical by logind 12 | # log-directory = Directory to log information to 13 | # run-directory = Directory to put running state in 14 | # cache-directory = Directory to cache to 15 | # sessions-directory = Directory to find sessions 16 | # remote-sessions-directory = Directory to find remote sessions 17 | # greeters-directory = Directory to find greeters 18 | # backup-logs = True to move add a .old suffix to old log files when opening new ones 19 | # dbus-service = True if LightDM provides a D-Bus service to control it 20 | # 21 | [LightDM] 22 | #start-default-seat=true 23 | #greeter-user=lightdm 24 | #minimum-display-number=0 25 | #minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799 26 | #lock-memory=true 27 | #user-authority-in-system-dir=false 28 | #guest-account-script=guest-account 29 | #logind-check-graphical=false 30 | #log-directory=/var/log/lightdm 31 | run-directory=/run/lightdm 32 | #cache-directory=/var/cache/lightdm 33 | #sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions 34 | #remote-sessions-directory=/usr/share/lightdm/remote-sessions 35 | #greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters 36 | #backup-logs=true 37 | #dbus-service=true 38 | 39 | # 40 | # Seat configuration 41 | # 42 | # Seat configuration is matched against the seat name glob in the section, for example: 43 | # [Seat:*] matches all seats and is applied first. 44 | # [Seat:seat0] matches the seat named "seat0". 45 | # [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client". 46 | # 47 | # type = Seat type (local, xremote) 48 | # pam-service = PAM service to use for login 49 | # pam-autologin-service = PAM service to use for autologin 50 | # pam-greeter-service = PAM service to use for greeters 51 | # xserver-command = X server command to run (can also contain arguments e.g. X -special-option) 52 | # xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) 53 | # xserver-config = Config file to pass to X server 54 | # xserver-layout = Layout to pass to X server 55 | # xserver-allow-tcp = True if TCP/IP connections are allowed to this X server 56 | # xserver-share = True if the X server is shared for both greeter and session 57 | # xserver-hostname = Hostname of X server (only for type=xremote) 58 | # xserver-display-number = Display number of X server (only for type=xremote) 59 | # xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) 60 | # xdmcp-port = XDMCP UDP/IP port to communicate on 61 | # xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) 62 | # greeter-session = lightdm-slick-greeter 63 | # greeter-hide-users = True to hide the user list 64 | # greeter-allow-guest = True if the greeter should show a guest login option 65 | # greeter-show-manual-login = True if the greeter should offer a manual login option 66 | # greeter-show-remote-login = True if the greeter should offer a remote login option 67 | # user-session = i3 68 | # allow-user-switching = True if allowed to switch users 69 | # allow-guest = True if guest login is allowed 70 | # guest-session = Session to load for guests (overrides user-session) 71 | # session-wrapper = Wrapper script to run session with 72 | # greeter-wrapper = Wrapper script to run greeter with 73 | # guest-wrapper = Wrapper script to run guest sessions with 74 | # display-setup-script = Script to run when starting a greeter session (runs as root) 75 | # display-stopped-script = Script to run after stopping the display server (runs as root) 76 | # greeter-setup-script = Script to run when starting a greeter (runs as root) 77 | # session-setup-script = Script to run when starting a user session (runs as root) 78 | # session-cleanup-script = Script to run when quitting a user session (runs as root) 79 | # autologin-guest = True to log in as guest by default 80 | # autologin-user = User to log in with by default (overrides autologin-guest) 81 | # autologin-user-timeout = Number of seconds to wait before loading default user 82 | # autologin-session = Session to load for automatic login (overrides user-session) 83 | # autologin-in-background = True if autologin session should not be immediately activated 84 | # exit-on-failure = True if the daemon should exit if this seat fails 85 | # 86 | [Seat:*] 87 | #type=local 88 | #pam-service=lightdm 89 | #pam-autologin-service=lightdm-autologin 90 | #pam-greeter-service=lightdm-greeter 91 | #xserver-command=X 92 | #xmir-command=Xmir 93 | #xserver-config= 94 | #xserver-layout= 95 | #xserver-allow-tcp=false 96 | #xserver-share=true 97 | #xserver-hostname= 98 | #xserver-display-number= 99 | #xdmcp-manager= 100 | #xdmcp-port=177 101 | #xdmcp-key= 102 | greeter-session=lightdm-slick-greeter 103 | #greeter-hide-users=false 104 | #greeter-allow-guest=true 105 | #greeter-show-manual-login=false 106 | #greeter-show-remote-login=true 107 | user-session=i3 108 | #allow-user-switching=true 109 | #allow-guest=true 110 | #guest-session= 111 | session-wrapper=/etc/lightdm/Xsession 112 | #greeter-wrapper= 113 | #guest-wrapper= 114 | #display-setup-script= 115 | #display-stopped-script= 116 | #greeter-setup-script= 117 | #session-setup-script= 118 | #session-cleanup-script= 119 | #autologin-guest=false 120 | #autologin-user= 121 | #autologin-user-timeout=0 122 | #autologin-in-background=false 123 | #autologin-session= 124 | #exit-on-failure=false 125 | 126 | # 127 | # XDMCP Server configuration 128 | # 129 | # enabled = True if XDMCP connections should be allowed 130 | # port = UDP/IP port to listen for connections on 131 | # listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) 132 | # key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) 133 | # hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset) 134 | # 135 | # The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively 136 | # it can be a word and the first 7 characters are used as the key. 137 | # 138 | [XDMCPServer] 139 | #enabled=false 140 | #port=177 141 | #listen-address= 142 | #key= 143 | #hostname= 144 | 145 | # 146 | # VNC Server configuration 147 | # 148 | # enabled = True if VNC connections should be allowed 149 | # command = Command to run Xvnc server with 150 | # port = TCP/IP port to listen for connections on 151 | # listen-address = Host/address to listen for VNC connections (use all addresses if not present) 152 | # width = Width of display to use 153 | # height = Height of display to use 154 | # depth = Color depth of display to use 155 | # 156 | [VNCServer] 157 | #enabled=false 158 | #command=Xvnc 159 | #port=5900 160 | #listen-address= 161 | #width=1024 162 | #height=768 163 | #depth=8 164 | -------------------------------------------------------------------------------- /config/lightdm/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anufrievroman/dotfiles/f60ed495f769cc8e9bbd90696cac520f561355a3/config/lightdm/lock.png -------------------------------------------------------------------------------- /config/lightdm/slick-greeter.conf: -------------------------------------------------------------------------------- 1 | # LightDM GTK+ Configuration 2 | # Available configuration options listed below. 3 | # 4 | # activate-numlock=Whether to activate numlock. This features requires the installation of numlockx. (true or false) 5 | # background=/home/r/Pictures/squirrel.jpg 6 | # background-color=#1a1e2a 7 | # draw-user-backgrounds=Whether to draw user backgrounds (true or false) 8 | # draw-grid=Whether to draw an overlay grid (true or false) 9 | # show-hostname=false 10 | # show-power=Whether to show the power indicator in the menubar (true or false) 11 | # show-a11y=false 12 | # show-keyboard=false 13 | # show-clock=Whether to show the clock in the menubar (true or false) 14 | # show-quit=Whether to show the quit menu in the menubar (true or false) 15 | # logo=Logo file to use 16 | # other-monitors-logo=Logo file to use for other monitors 17 | # theme-name=GTK+ theme to use 18 | # icon-theme-name=Icon theme to use 19 | # font-name=Font to use 20 | # xft-antialias=Whether to antialias Xft fonts (true or false) 21 | # xft-dpi=Resolution for Xft in dots per inch 22 | # xft-hintstyle=What degree of hinting to use (hintnone/hintslight/hintmedium/hintfull) 23 | # xft-rgba=Type of subpixel antialiasing (none/rgb/bgr/vrgb/vbgr) 24 | # onscreen-keyboard=false 25 | # high-contrast=Whether to use a high contrast theme (true or false) 26 | # screen-reader=Whether to enable the screen reader (true or false) 27 | # play-ready-sound=false 28 | # hidden-users=List of usernames that are hidden until a special key combination is hit 29 | # group-filter=List of groups that users must be part of to be shown (empty list shows all users) 30 | # enable-hidpi=Whether to enable HiDPI support (on/off/auto) 31 | # only-on-monitor=Sets the monitor on which to show the login window, -1 means "follow the mouse" 32 | # stretch-background-across-monitors=Whether to stretch the background across multiple monitors (false by default) 33 | # clock-format=What clock format to use (e.g., %H:%M or %l:%M %p) 34 | [Greeter] 35 | 36 | background = /etc/lightdm/lock.png 37 | draw-user-backgrounds = true 38 | show-power = true 39 | show-quit = true 40 | show-clock = true 41 | show-hostname = false 42 | show-a11y = false 43 | show-keyboard = false 44 | onscreen-keyboard = false 45 | play-ready-sound = false 46 | font-name = NotoSans 47 | -------------------------------------------------------------------------------- /config/matplotlib/stylelib/coolplot.mplstyle: -------------------------------------------------------------------------------- 1 | # GENERAL SETTINGS 2 | font.family : Arial 3 | axes.titlesize : 12 4 | axes.labelsize : 12 5 | lines.linewidth : 1.0 6 | lines.linestyle : - 7 | lines.markersize : 5 8 | legend.frameon : False 9 | 10 | # COLORS 11 | axes.prop_cycle: cycler('color', ['1c68ff','000000','03D83F','D80382','A30AB7']) 12 | 13 | # TICKS 14 | xtick.labelsize : 9 15 | ytick.labelsize : 9 16 | xtick.major.size : 5 ## major tick size in points 17 | xtick.minor.size : 3 ## minor tick size in points 18 | xtick.major.width : 0.8 ## major tick width in points 19 | xtick.minor.width : 0.6 ## minor tick width in points 20 | xtick.major.pad : 5 ## distance to major tick label in points 21 | xtick.minor.pad : 5 ## distance to the minor tick label in points 22 | xtick.color : black ## color of the tick labels 23 | xtick.direction : in ## direction: in, out, or inout 24 | xtick.minor.visible : True ## visibility of minor ticks on x-axis 25 | xtick.major.top : False ## draw x axis top major ticks 26 | xtick.major.bottom : True ## draw x axis bottom major ticks 27 | xtick.minor.top : False ## draw x axis top minor ticks 28 | xtick.minor.bottom : True ## draw x axis bottom minor ticks 29 | xtick.alignment : center ## alignment of xticks 30 | 31 | ytick.major.size : 5 ## major tick size in points 32 | ytick.minor.size : 3 ## minor tick size in points 33 | ytick.major.width : 0.8 ## major tick width in points 34 | ytick.minor.width : 0.6 ## minor tick width in points 35 | ytick.major.pad : 5 ## distance to major tick label in points 36 | ytick.minor.pad : 5 ## distance to the minor tick label in points 37 | ytick.color : black ## color of the tick labels 38 | ytick.direction : in ## direction: in, out, or inout 39 | ytick.minor.visible : True ## visibility of minor ticks on x-axis 40 | 41 | 42 | # ERRORBAR PLOTS 43 | errorbar.capsize : 0 44 | 45 | # FIGURE SAVE 46 | figure.autolayout : True 47 | figure.figsize : 5, 3.5 48 | figure.dpi : 200 49 | savefig.dpi : 300 50 | 51 | # LEGEND 52 | legend.fontsize : 8 53 | legend.handlelength : 2 54 | -------------------------------------------------------------------------------- /config/mutt/color.muttrc: -------------------------------------------------------------------------------- 1 | # vim: filetype=neomuttrc 2 | # 3 | # Default index colors: 4 | color index white default '.*' 5 | color index_author blue default '.*' 6 | color index_number cyan default 7 | color index_subject white default '.*' 8 | color index_flags cyan default '.*' 9 | color index_flags blue default '~F' 10 | color progress white blue 11 | 12 | # New mails: 13 | color index_flags green default '~N' 14 | color index green default "~N" 15 | color index_author green default "~N" 16 | color index_subject green default "~N" 17 | 18 | # Deleted mails: 19 | color index_flags cyan default '~D' 20 | color index_author cyan default '~D' 21 | color index_subject cyan default '~D' 22 | color index cyan default '~D' 23 | 24 | # Header colors: 25 | color header green default ".*" 26 | color header magenta default "^(from)" 27 | color header blue default "^(to)" 28 | color header blue default "^(cc)" 29 | color header cyan default "^(date)" 30 | color header green default "^(subject)" 31 | color header white default "^(CC|BCC)" 32 | 33 | mono bold bold 34 | mono underline underline 35 | mono indicator reverse 36 | mono error bold 37 | color normal default default 38 | color indicator white blue 39 | color sidebar_highlight red default 40 | color sidebar_divider brightblack black 41 | color sidebar_flagged red black 42 | color sidebar_new green black 43 | color normal cyan default 44 | color error red default 45 | color tilde black default 46 | color message cyan default 47 | color markers black default 48 | color attachment brightcyan default 49 | color search brightmagenta default 50 | color status cyan default 51 | color hdrdefault brightgreen default 52 | color quoted cyan default 53 | color quoted1 cyan default 54 | color quoted2 brightblack default 55 | color quoted3 yellow default 56 | color quoted4 red default 57 | color quoted5 brightred default 58 | color signature brightgreen default 59 | color bold black default 60 | color underline black default 61 | color normal default default 62 | 63 | #color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses 64 | color body brightmagenta default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL 65 | #color body green default "\`[^\`]*\`" # Green text between ` and ` 66 | #color body brightblue default "^# \.*" # Headings as bold blue 67 | #color body brightcyan default "^## \.*" # Subheadings as bold cyan 68 | #color body brightgreen default "^### \.*" # Subsubheadings as bold green 69 | #color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow 70 | #color body brightcyan default "[;:][-o][)/(|]" # emoticons 71 | #color body brightcyan default "[;:][)(|]" # emoticons 72 | #color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? 73 | #color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? 74 | #color body red default "(BAD signature)" 75 | #color body cyan default "(Good signature)" 76 | #color body brightblack default "^gpg: Good signature .*" 77 | #color body cyan default "^gpg: " 78 | #color body cyan red "^gpg: BAD signature from.*" 79 | #mono body bold "^gpg: Good signature" 80 | #mono body bold "^gpg: BAD signature from.*" 81 | 82 | -------------------------------------------------------------------------------- /config/mutt/filepick: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tmpfile=.config/mutt/tmpfile 4 | 5 | if \[ -z "$1" \]; then 6 | # ranger --choosefiles $tmpfile && # Use Ranger 7 | vifm --choose-files $tmpfile && 8 | sed -i 's/ /^V /g' $tmpfile && 9 | echo "$(awk 'BEGIN {printf "%s", "push "} {printf "%s", "\""$0"\""}' $tmpfile)" > $tmpfile 10 | elif \[ $1 == "clean" \]; then 11 | rm $tmpfile 12 | fi 13 | -------------------------------------------------------------------------------- /config/mutt/muttrc: -------------------------------------------------------------------------------- 1 | # vi ~/.muttrc 2 | # About Me 3 | set from = "**" 4 | set realname = "User" 5 | #set sidebar_visible 6 | #set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" 7 | #set mail_check_stats 8 | 9 | # My credentials 10 | set smtp_url = "***" 11 | set smtp_pass = "******" 12 | set imap_user = "***" 13 | set imap_pass = "******" 14 | 15 | # My mailboxes 16 | set folder = "***" 17 | set spoolfile = "+INBOX" 18 | set record = "+Sent" 19 | set trash = "+Trash" 20 | set postponed = "+Drafts" 21 | 22 | mailboxes =INBOX =Sent =Trash =Drafts =Archive 23 | 24 | # Where to put the stuff 25 | set header_cache = "~/.config/mutt/cache/headers" 26 | set certificate_file = "~/.config/mutt/certificates" 27 | 28 | # Etc 29 | set mail_check = 30 30 | set move = no 31 | set imap_keepalive = 200 32 | set sort = date-received 33 | set editor = "nvim +Goyo" 34 | set rfc2047_parameters = yes 35 | 36 | # Other settings 37 | set forward_format = "Fwd: %s" # format of subject when forwarding 38 | set attribution = "On %d, %n wrote:" 39 | unset help # No help bar at the top of index 40 | # unset confirmappend # don't ask, just do! 41 | unset mark_old # read/new is good enough for me 42 | 43 | # Time format (Here I display year and date separetely) 44 | # set date_format = "%d.%m.%Y %H:%M" 45 | # set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" 46 | set date_format = "%Y " 47 | set index_format = " %zs %d%{%b %d} %-21.21L %?l?%5l&%5c? %zt %s" 48 | set to_chars = " •·LR" 49 | set flag_chars = "⚑✘on- " 50 | set status_format = " %f • %l • %m messages%?n? • %n new ?%?d? • %d to delete ?%?t?" 51 | set folder_format = "%t %i" 52 | 53 | 54 | # use very high $read_inc to speed up reading hcache'd maildirs 55 | folder-hook . 'set read_inc=1000' 56 | # use lower value for reading slower remote IMAP folders 57 | # folder-hook ^imap 'set read_inc=100' 58 | # use even lower value for reading even slower remote POP folders 59 | # folder-hook ^pop 'set read_inc=1' 60 | set header_cache_compress_method = "lz4" 61 | set header_cache_compress_level = 12 62 | 63 | # Colors 64 | source color.muttrc 65 | 66 | # Navigation 67 | bind generic z noop 68 | bind index,pager,attach g noop 69 | bind index,pager s noop 70 | bind index,pager c noop 71 | bind generic,attach l noop 72 | bind generic,index,pager,attach h noop 73 | 74 | bind generic,index l display-message 75 | bind attach l view-attach 76 | bind generic,index R sync-mailbox 77 | bind generic,index sync-mailbox 78 | bind index ZQ exit 79 | bind pager,index,generic,attach h exit 80 | bind generic,index,pager \Cf next-page 81 | bind generic,index,pager \Cb previous-page 82 | bind generic gg first-entry 83 | bind generic,index G last-entry 84 | bind pager gg top 85 | bind pager G bottom 86 | bind generic,pager \Cy previous-line 87 | bind generic,index,pager \Ce next-line 88 | bind generic,index,pager \Cd half-down 89 | bind generic,index,pager \Cu half-up 90 | bind generic zt current-top 91 | bind generic zz current-middle 92 | bind generic zb current-bottom 93 | bind index za collapse-thread 94 | bind index zA collapse-all 95 | bind index,pager N search-opposite 96 | bind index previous-new-then-unread 97 | 98 | # Go to folder... 99 | macro index,pager gi "=INBOX" "open inbox" 100 | macro index,pager gd "=Drafts" "open drafts" 101 | macro index,pager gs "=Sent" "open sent" 102 | macro index,pager gt "$trash" "open trash" 103 | macro index,pager gf "?" "open mailbox..." 104 | 105 | # Actions 106 | bind index,pager a group-reply 107 | source aliases 108 | 109 | 110 | # File picking 111 | macro compose A "$HOME/.config/mutt/filepicksource $HOME/.config/mutt/tmpfilebash $HOME/.config/mutt/filepick clean" "Attach with Vifm" 112 | 113 | 114 | auto_view text/html 115 | 116 | # urlview bits 117 | macro index gb | urlview\n 118 | macro pager gb | urlview\n 119 | 120 | # Check for attachments 121 | set abort_noattach = ask-yes 122 | set abort_noattach_regex = "\\" 123 | 124 | # Display header 125 | ignore * 126 | unignore from date subject to cc 127 | unignore organization organisation x-mailing-list: 128 | unignore posted-to: 129 | 130 | # Abook 131 | # When looking for contacts, use this command 132 | set query_command= "abook --mutt-query '%s'" 133 | # Add current sender to address book 134 | macro index,pager A "abook --add-email-quiet" "Add this sender to Abook" 135 | # Auto-complete email addresses by pushing tab 136 | bind editor complete-query 137 | -------------------------------------------------------------------------------- /config/nvim/colors/rem.vim: -------------------------------------------------------------------------------- 1 | " local syntax file - set colors on a per-machine basis: vim: tw=0 ts=4 sw=4 2 | " Vim color file 3 | 4 | set background=dark 5 | hi clear 6 | if exists("syntax_on") 7 | syntax reset 8 | endif 9 | let g:colors_name = "rem" 10 | 11 | hi Normal cterm=none ctermfg=White 12 | hi Constant cterm=none ctermfg=green 13 | hi Special cterm=none ctermfg=Magenta 14 | hi Underlined cterm=underline ctermfg=Blue 15 | hi Title cterm=bold ctermfg=Magenta 16 | hi NonText cterm=none ctermfg=DarkCyan 17 | hi Identifier cterm=none ctermfg=Blue 18 | hi Function cterm=none ctermfg=Magenta 19 | hi Statement cterm=none ctermfg=Magenta guifg=fa5ead 20 | hi PreProc term=underline ctermfg=Yellow guifg=Purple 21 | hi Define cterm=none ctermfg=Yellow guifg=Purple 22 | hi Type term=underline ctermfg=blue gui=NONE guifg=Blue 23 | hi Search term=reverse ctermfg=Black ctermbg=Cyan 24 | hi Tag ctermfg=DarkGreen guifg=DarkGreen 25 | hi Error term=reverse ctermfg=15 ctermbg=9 26 | hi Todo term=standout ctermbg=None ctermfg=Yellow guifg=Blue guibg=Yellow 27 | hi StatusLine term=bold,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkCyan 28 | hi Directory ctermfg=blue 29 | hi VertSplit cterm=NONE 30 | hi LineNr cterm=bold ctermfg=DarkCyan 31 | hi Comment cterm=bold ctermfg=Blue 32 | hi Visual ctermbg=DarkCyan 33 | hi Pmenu ctermbg=Black ctermfg=DarkCyan 34 | 35 | hi! link MoreMsg Comment 36 | hi! link ErrorMsg Visual 37 | hi! link WarningMsg ErrorMsg 38 | hi! link Question Comment 39 | hi link String Constant 40 | hi link Character Constant 41 | hi link Number Constant 42 | hi link MyFilename Identifier 43 | hi link Boolean Constant 44 | hi link Float Number 45 | hi link Conditional Statement 46 | hi link Repeat Statement 47 | hi link Label Statement 48 | hi link Operator Statement 49 | hi link Keyword Define 50 | hi link Exception Statement 51 | hi link Include PreProc 52 | hi link Macro PreProc 53 | hi link PreCondit PreProc 54 | hi link StorageClass Type 55 | hi link Structure Type 56 | hi link Typedef Type 57 | hi link SpecialChar Special 58 | hi link Delimiter Special 59 | hi link SpecialComment Special 60 | hi link Debug Special 61 | 62 | " TABLINE 63 | " hi TabLineFill cterm=bold ctermfg=DarkCyan ctermbg=Black 64 | hi TabLine cterm=bold ctermfg=DarkCyan ctermbg=None 65 | hi TabLineSel cterm=bold ctermfg=Magenta ctermbg=None 66 | hi Folded ctermfg=DarkBlue 67 | hi Folded ctermbg=None 68 | hi WildMenu ctermfg=White ctermbg=Black 69 | 70 | " CSV FILES 71 | hi CSVColumnEven ctermfg=White ctermbg=None 72 | hi CSVColumnOdd ctermfg=White ctermbg=None 73 | hi CSVColumnHeaderEven ctermfg=Magenta ctermbg=None 74 | hi CSVColumnHeaderOdd ctermfg=Magenta ctermbg=None 75 | hi CSVDelimiter ctermfg=DarkCyan ctermbg=None 76 | hi def link myCsvHeading Special 77 | hi def link myCsvComma NonText 78 | 79 | " FLOATERM 80 | hi Floaterm ctermbg=None 81 | " Set floating window border line color to cyan, and background to orange 82 | hi FloatermBorder ctermfg=Blue ctermbg=None 83 | 84 | " START SCREEN 85 | hi StartifyBracket ctermfg=Blue 86 | hi StartifyFile ctermfg=Blue 87 | hi StartifySection cterm=bold ctermfg=Magenta 88 | hi StartifyFooter ctermfg=DarkCyan 89 | hi StartifyHeader ctermfg=Blue 90 | hi StartifyNumber ctermfg=Blue 91 | hi StartifyPath ctermfg=White 92 | hi StartifySlash ctermfg=White 93 | hi StartifySpecial ctermfg=DarkCyan 94 | 95 | " SPELLING 96 | hi SpellBad cterm=underline ctermfg=Red ctermbg=NONE 97 | hi SpellCap cterm=underline ctermfg=White ctermbg=NONE 98 | hi SpellLocal cterm=underline ctermfg=White ctermbg=NONE 99 | hi SpellRare cterm=underline ctermfg=White ctermbg=NONE 100 | 101 | " LATEX 102 | hi Conceal ctermbg=none ctermfg=Magenta 103 | hi texStatement ctermbg=NONE ctermfg=Magenta 104 | hi texSection ctermbg=NONE ctermfg=Green 105 | 106 | " GITGUTTER 107 | hi clear SignColumn 108 | hi GitGutterAdd ctermbg=none ctermfg=Green 109 | hi GitGutterChange ctermbg=none ctermfg=Blue 110 | hi GitGutterDelete ctermbg=none ctermfg=Magenta 111 | hi GitGutterChangeDelete ctermbg=none ctermfg=Yellow 112 | 113 | " QUICKFIXLINE 114 | hi StatusLine cterm=none ctermbg=None ctermfg=Black 115 | hi StatusLineNC cterm=none ctermbg=None ctermfg=Black 116 | hi QuickFixLine ctermbg=DarkCyan ctermfg=Blue 117 | hi qfFileName ctermbg=None ctermfg=Blue 118 | hi qfLineNr ctermbg=None ctermfg=White 119 | hi qfSeparator ctermbg=None ctermfg=White 120 | hi qfError ctermbg=None ctermfg=Green 121 | 122 | "CURSORLINE 123 | hi CursorLine cterm=none ctermfg=Blue ctermbg=DarkCyan 124 | hi CursorColumn cterm=none ctermbg=DarkCyan 125 | hi CtrlPNoEntries cterm=none ctermfg=DarkCyan 126 | hi CtrlPPrtText cterm=none ctermfg=Green ctermbg=none 127 | hi CtrlPPrtBase cterm=none ctermfg=DarkCyan ctermbg=none 128 | hi CtrlPPrtCursor cterm=none ctermfg=DarkCyan ctermbg=none 129 | hi CtrlPMatch cterm=none ctermfg=White ctermbg=none 130 | 131 | "STATUS LINE 132 | hi User2 cterm=bold ctermfg=DarkCyan ctermbg=None 133 | hi ModeMsg cterm=bold ctermfg=Blue ctermbg=None 134 | 135 | "ALE 136 | hi ALEErrorSign ctermfg=DarkCyan ctermbg=None 137 | hi ALEWarningSign ctermfg=DarkCyan ctermbg=None 138 | 139 | "MARKDOWN 140 | hi myFilesMd cterm=bold ctermfg=Blue 141 | hi link myFilesTxt myFilesMd 142 | hi link myFilesCsv myFilesMd 143 | hi link myCheckbox myFilesMd 144 | hi link myCheckboxOK myFilesMd 145 | 146 | "PYTHON 147 | hi link myPyDecorators Define 148 | -------------------------------------------------------------------------------- /config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | set runtimepath^=~/.config/nvim runtimepath+=~/.config/nvim/after 2 | 3 | let &packpath = &runtimepath 4 | 5 | source ~/.config/nvim/vimrc.vim 6 | -------------------------------------------------------------------------------- /config/nvim/vimrc.vim: -------------------------------------------------------------------------------- 1 | " GENERAL SETTINGS 2 | set number 3 | set wrap 4 | set linebreak 5 | set textwidth=0 6 | set wrapmargin=0 7 | set nospell 8 | set smartcase 9 | set ignorecase 10 | set incsearch 11 | set autoindent 12 | set autochdir 13 | set shiftwidth=4 14 | set smartindent 15 | set smarttab 16 | set hidden 17 | set softtabstop=4 18 | set undolevels=1000 19 | set timeoutlen=1000 20 | set ttimeoutlen=10 21 | set backspace=indent,eol,start 22 | set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab 23 | set laststatus=2 24 | set splitbelow 25 | set splitright 26 | set noshowmode 27 | set fillchars+=eob:\ 28 | syntax on 29 | colorscheme rem 30 | let mapleader = " " 31 | 32 | 33 | " NATURAL UP AND DOWN 34 | map j gj 35 | map k gk 36 | 37 | 38 | " MOVING TEXT 39 | vnoremap J :m '>+1gv=gv 40 | vnoremap K :m '<-2gv=gv 41 | vnoremap H gv 43 | 44 | 45 | " TOGGLE COMMENTS 46 | autocmd FileType c,cpp,java,scala let b:comment_leader = '//' 47 | autocmd FileType javascript let b:comment_leader = '//' 48 | autocmd FileType solidity let b:comment_leader = '//' 49 | autocmd FileType sh,ruby,python let b:comment_leader = '#' 50 | autocmd FileType conf,fstab let b:comment_leader = '#' 51 | autocmd FileType tex let b:comment_leader = '%' 52 | autocmd FileType mail let b:comment_leader = '>' 53 | autocmd FileType vim let b:comment_leader = '"' 54 | function! CommentToggle() 55 | execute ':silent! s/\([^ ]\)/' . escape(b:comment_leader,'\/') . ' \1/' 56 | execute ':silent! s/^\( *\)' . escape(b:comment_leader,'\/') . ' \?' . escape(b:comment_leader,'\/') . ' \?/\1/' 57 | endfunction 58 | map gcc :call CommentToggle() 59 | 60 | 61 | " REPLACING WORD UNDER THE CURSOR 62 | nnoremap n *``cgn 63 | nnoremap N *``cgN 64 | 65 | 66 | " COPY INTO REGULAR CLIPBOARD 67 | noremap :w !xclip -i -sel c 68 | set clipboard=unnamedplus 69 | 70 | 71 | " CHANGE CURSOR DEPENDING ON THE MODE 72 | let &t_SI = "\e[5 q" 73 | let &t_EI = "\e[2 q" 74 | 75 | 76 | " SAVE AND COMPILE 77 | map cl :w :!pdflatex %:r.tex && rm %:r.aux %:r.log %:r.nav %:r.out %:r.snm %:r.toc 78 | map cm :w :!pandoc -s -o %:r.pdf %:r.md --pdf-engine=xelatex --variable CJKmainfont=KaiTi -V fontsize=12pt -V geometry:margin=2cm 79 | map cp :w :!python2 %:r.py && notify-send -u low "GDS is compiled" 80 | 81 | 82 | " COMPILE ON CC DEPENDING ON FILE TYPE 83 | autocmd FileType tex nnoremap cc :w :!pdflatex %:r.tex && bibtex %:r.aux && pdflatex %:r.tex && pdflatex %:r.tex && rm %:r.aux %:r.log %:r.blg %:r.bbl && notify-send -u low "LaTeX" "compilation is finished" 84 | autocmd FileType markdown nnoremap cc :w :!pandoc %:r.md -H ~/.config/beamer/cooltemplate.tex --slide-level=2 -t beamer -o %:r.pdf 85 | autocmd FileType python nnoremap cc :w :!python %:r.py 86 | autocmd FileType java nnoremap cc :w :!java %:r.java 87 | 88 | 89 | " VIEW DEPENDING ON FILE TYPE 90 | autocmd FileType tex nnoremap cv :!zathura %:r.pdf > /dev/null 2>&1 & 91 | autocmd FileType markdown nnoremap cv :!zathura %:r.pdf > /dev/null 2>&1 & 92 | autocmd FileType python nnoremap cv :!klayout -e %:r.gds & 93 | 94 | 95 | " SPELLING AND LANGUAGE (EN + RU) 96 | autocmd Filetype tex setlocal spell spelllang=ru_yo,en_us 97 | autocmd Filetype mail setlocal spell spelllang=ru_yo,en_us 98 | map - :setlocal spell spelllang=ru_yo,en_us 99 | map _ :set nospell 100 | set keymap=russian-jcukenwin 101 | set iminsert=0 102 | set imsearch=0 103 | 104 | 105 | " RANDOM HOTKEYS 106 | map ZQ :q!:colorscheme remi 107 | map ZZ :wq:colorscheme remi 108 | map s :%s//g 109 | map a :%ArrangeColumn 110 | map A :%UnArrangeColumn 111 | map za 112 | nnoremap Y y$ 113 | nmap r :so $MYVIMRC 114 | nmap :noh 115 | nmap \\ z=1 116 | imap [sz=1A 117 | noremap w :up 118 | nnoremap U 119 | nnoremap H ^ 120 | nnoremap L $ 121 | 122 | 123 | " TOGGLE BOOLEANS 124 | nnoremap gt viwcTrue 125 | nnoremap gf viwcFalse 126 | nnoremap gT viwctrue 127 | nnoremap gF viwcfalse 128 | 129 | 130 | " PASTE LAST NON-DELETED 131 | nmap p "0p 132 | nmap P "0P 133 | 134 | 135 | " UNDO POINTS 136 | imap , ,u 137 | imap . .u 138 | imap ! !u 139 | imap ? ?u 140 | imap ( (u 141 | 142 | 143 | " KEEPING IT CENTERED 144 | nnoremap n nzzzv 145 | nnoremap N Nzzzv 146 | nnoremap J mzJ`v 147 | 148 | 149 | " PLUGIN MANAGER 150 | if empty(glob('~/.config/nvim/autoload/plug.vim')) 151 | silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs 152 | \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 153 | autocmd VimEnter * PlugInstall --sync | source $MYVIMRC 154 | endif 155 | 156 | " filetype plugin on 157 | 158 | call plug#begin() 159 | " Plug 'jelera/vim-javascript-syntax' 160 | " Plug 'SirVer/ultisnips' 161 | " Plug 'unblevable/quick-scope' 162 | " Plug 'chrisbra/csv.vim' 163 | " Plug 'tpope/vim-commentary' 164 | " Plug 'ron89/thesaurus_query.vim' 165 | " Plug 'python-rope/ropevim' 166 | 167 | " Python 168 | Plug 'dense-analysis/ale' 169 | Plug 'vim-python/python-syntax' 170 | Plug 'tmhedberg/simpylfold' 171 | Plug 'Chiel92/vim-autoformat' 172 | Plug 'junegunn/vim-easy-align' 173 | Plug 'frazrepo/vim-rainbow' 174 | Plug 'kdheepak/lazygit.nvim' 175 | 176 | " Latex 177 | Plug 'anufrievroman/vim-tex-kawaii' 178 | Plug 'anufrievroman/vim-angry-reviewer' 179 | 180 | " Other 181 | Plug 'ap/vim-css-color' 182 | Plug 'tomlion/vim-solidity' 183 | Plug 'psliwka/vim-smoothie' 184 | Plug 'airblade/vim-gitgutter' 185 | Plug 'junegunn/goyo.vim' 186 | Plug 'voldikss/vim-floaterm' 187 | Plug 'mhinz/vim-startify' 188 | Plug 'ctrlpvim/ctrlp.vim' 189 | Plug 'ryanoasis/vim-devicons' 190 | Plug 'dkarter/bullets.vim' 191 | call plug#end() 192 | 193 | 194 | " RAINBOW PARANTHESIS 195 | au FileType c,python call rainbow#load() 196 | let g:rainbow_ctermfgs = ['white', 'green', 'blue', 'red', 'magenta'] 197 | 198 | 199 | " QUICK-FIX WINDOW 200 | nmap :cnext 201 | nmap :cprev 202 | nmap :copen 203 | nmap :cclose 204 | 205 | 206 | " SNIPPET ACTIVATION 207 | imap ;; hi 208 | 209 | 210 | " WIKI 211 | nnoremap W :e ~/Nextcloud/Notes/index.md 212 | nnoremap gf 213 | nnoremap 214 | nnoremap x 0f]hrx 215 | nnoremap X 0f]hr 216 | nnoremap t o- [ ]a 217 | 218 | 219 | " DETECT CSV FILES 220 | au! BufNewFile,BufRead *.csv setf csv 221 | 222 | 223 | " GITGUTTER SETTINGS 224 | set updatetime=100 225 | nmap \G :GitGutterToggle 226 | let g:gitgutter_preview_win_floating = 0 227 | let g:gitgutter_sign_added = '│' 228 | let g:gitgutter_sign_modified = '│' 229 | let g:gitgutter_sign_removed = '│' 230 | let g:gitgutter_sign_modified_removed = '│' 231 | 232 | 233 | " STATUSLINE 234 | " Check this https://gabri.me/blog/diy-vim-statusline 235 | let g:currentmode={ 236 | \ 'n' : 'NORMAL ', 237 | \ 'no' : 'N·Operator Pending ', 238 | \ 'v' : 'VISUAL ', 239 | \ 'V' : 'V·Line ', 240 | \ '\' : 'V·Block ', 241 | \ 's' : 'Select ', 242 | \ 'S' : 'S·Line ', 243 | \ '\' : 'S·Block ', 244 | \ 'i' : 'INSERT ', 245 | \ 'R' : 'REPLACE ', 246 | \ 'Rv' : 'V·Replace ', 247 | \ 'c' : 'Command ', 248 | \ 'cv' : 'Vim Ex ', 249 | \ 'ce' : 'Ex ', 250 | \ 'r' : 'Prompt ', 251 | \ 'rm' : 'More ', 252 | \ 'r?' : 'Confirm ', 253 | \ '!' : 'Shell ', 254 | \ 't' : 'Terminal ' 255 | \} 256 | 257 | set statusline= 258 | set statusline+=%2* 259 | set statusline+=%{toupper(g:currentmode[mode()])} 260 | set statusline+=%= 261 | " set statusline+=%l/%L 262 | set statusline+=%f\ ·\ 263 | set statusline+=%{wordcount().words}\ · 264 | set statusline+=%3p%% 265 | 266 | " Hide statusline in CtrP buffer 267 | let g:ctrlp_buffer_func = {'enter': 'Function_HideStatusLine', 'exit': 'Function_ShowStatusLine', } 268 | func! Function_HideStatusLine() 269 | set laststatus=0 270 | endfunc 271 | func! Function_ShowStatusLine() 272 | set laststatus=2 273 | endfunc 274 | 275 | 276 | " GOYO SETTINGS 277 | map g :Goyo highlight StatusLineNC ctermfg=white:colorscheme rem 278 | 279 | function! s:goyo_enter() 280 | let b:quitting = 0 281 | let b:quitting_bang = 0 282 | autocmd QuitPre let b:quitting = 1 283 | cabbrev q! let b:quitting_bang = 1 q! 284 | endfunction 285 | 286 | function! s:goyo_leave() 287 | " Quit Vim if this is the only remaining buffer 288 | if b:quitting && len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) == 1 289 | if b:quitting_bang 290 | qa! 291 | else 292 | qa 293 | endif 294 | endif 295 | endfunction 296 | 297 | autocmd! User GoyoEnter call goyo_enter() 298 | autocmd! User GoyoLeave call goyo_leave() 299 | 300 | 301 | " FLOATTERM 302 | let g:floaterm_title = '' 303 | let g:floaterm_opener = 'edit' 304 | let g:floaterm_width = 0.3 305 | let g:floaterm_height = 0.99 306 | let g:floaterm_wintype = 'float' 307 | let g:floaterm_position = 'right' 308 | let g:floaterm_borderchars = ' │ ' 309 | let g:floaterm_autoclose = 2 310 | map :FloatermNew vifm 311 | map :FloatermNew 312 | map f :FloatermNew vifm 313 | " map f :FloatermNew fzf 314 | 315 | 316 | " MAPPINGS FOR EASYALIGN PLUGIN 317 | nmap ga (EasyAlign) 318 | xmap ga (EasyAlign) 319 | 320 | 321 | " SETTINGS FOR THE TABLINE 322 | set tabline=%!MyTabLine() 323 | function MyTabLine() 324 | let s = '' 325 | for i in range(tabpagenr('$')) 326 | " select the highlighting 327 | if i + 1 == tabpagenr() 328 | let s .= '%#TabLineSel#' 329 | else 330 | let s .= '%#TabLine#' 331 | endif 332 | 333 | let buflist = tabpagebuflist(i+1) 334 | let winnr = tabpagewinnr(i+1) 335 | let label = bufname(buflist[winnr - 1]) 336 | let shortlabel = fnamemodify(label, ":t") 337 | let ico = WebDevIconsGetFileTypeSymbol(bufname(buflist[winnr - 1])) 338 | 339 | " the label is made by MyTabLabel() 340 | let s .= ' ' . ico . ' ' . shortlabel . ' ' 341 | endfor 342 | return s 343 | endfunction 344 | 345 | 346 | " START PAGE SETTINGS 347 | let g:startify_lists = [ 348 | \ { 'type': 'files', 'header': [' Files'] }, 349 | \ { 'type': 'bookmarks', 'header': [' Bookmarks'] }, 350 | \ { 'type': 'sessions', 'header': [' Sessions'] }, 351 | \ ] 352 | 353 | let g:startify_custom_header = [ 354 | \ ' ', 355 | \ ' ╻ ╻ ╻ ┏┳┓', 356 | \ ' ┃┏┛ ┃ ┃┃┃', 357 | \ ' ┗┛ ╹ ╹ ╹', 358 | \ ' ', 359 | \ ] 360 | 361 | " let g:startify_custom_header = [ 362 | " \ ' ', 363 | " \ '  ', 364 | " \ ' ████ ██████ █████ ██ ', 365 | " \ ' ███████████ █████  ', 366 | " \ ' █████████ ███████████████████ ███ ███████████ ', 367 | " \ ' █████████ ███ █████████████ █████ ██████████████ ', 368 | " \ ' █████████ ██████████ █████████ █████ █████ ████ █████ ', 369 | " \ ' ███████████ ███ ███ █████████ █████ █████ ████ █████ ', 370 | " \ ' ██████ █████████████████████ ████ █████ █████ ████ ██████', 371 | " \ ' ', 372 | " \ ] 373 | " let g:startify_custom_header = [ 374 | " \ ' ', 375 | " \ ' ▐ ▄ ▄▄▄ . ▌ ▐·▪ • ▌ ▄ ·. ', 376 | " \ ' •█▌▐█▀▄.▀·▪ ▪█·█▌██ ·██ ▐███▪', 377 | " \ ' ▐█▐▐▌▐▀▀▪▄ ▄█▀▄ ▐█▐█•▐█·▐█ ▌▐▌▐█·', 378 | " \ ' ██▐█▌▐█▄▄▌▐█▌.▐▌ ███ ▐█▌██ ██▌▐█▌', 379 | " \ ' ▀▀ █▪ ▀▀▀ ▀█▄▀▪. ▀ ▀▀▀▀▀ █▪▀▀▀', 380 | " \ ' ', 381 | " \ ] 382 | 383 | let g:startify_enable_special = 0 384 | let g:startify_files_number = 10 385 | let g:startify_relative_path = 1 386 | let g:startify_change_to_dir = 1 387 | let g:startify_session_autoload = 1 388 | let g:startify_session_persistence = 1 389 | " let g:startify_update_oldfiles = 1 390 | " let g:startify_padding_left = 5 391 | 392 | let g:startify_skiplist = [ 393 | \ '.config/nvim/vimrc.vim', 394 | \ ] 395 | 396 | let g:startify_bookmarks = [ 397 | \ { 'd': '~/Nextcloud/Notes/Database/Main.csv' }, 398 | \ { 'a': '~/.config/alacritty/alacritty.yml' }, 399 | \ { 'c': '~/.config/nvim/colors/rem.vim' }, 400 | \ { 'v': '~/.config/nvim/vimrc.vim' }, 401 | \ { 'm': '~/.config/mutt/muttrc' }, 402 | \ { 'f': '~/.config/vifm/vifmrc' }, 403 | \ { 's': '~/.bash_aliases' }, 404 | \ { 'b': '~/.bashrc' }, 405 | \ ] 406 | 407 | " let g:startify_custom_footer = 408 | " \ ['', " Vim is charityware. Please read ':help uganda'.", ''] 409 | nnoremap ZS :SClose 410 | 411 | 412 | " TABS AND BUFFERS 413 | nnoremap :tabnext 414 | nnoremap :tabprevious 415 | nnoremap :tabnew:Startify 416 | nnoremap :bn 417 | inoremap :tabnext 418 | inoremap :tabprevious 419 | inoremap :tabnew:Startify 420 | nnoremap :bn 421 | 422 | 423 | " AUTOCOMPLETE SETTINGS 424 | set complete+=kspell 425 | set completeopt=noselect 426 | set shortmess+=c 427 | inoremap pumvisible() ? "" : "" 428 | " inoremap pumvisible() ? "\" : "\u\" 429 | " inoremap 430 | " inoremap 431 | 432 | 433 | " ANGRY REVIEWER SETTINGS 434 | nnoremap ar :call AngryReviewer 435 | let g:AngryReviewerEnglish='british' 436 | 437 | " CtrP 438 | nnoremap :CtrlPMRUFiles 439 | let g:ctrlp_line_prefix=' ' 440 | 441 | " COLORIZER 442 | " autocmd FileType python ColorHighlight 443 | 444 | " SETTINGS FOR SOLIDITY AND JAVASCRIPT 445 | autocmd Filetype javascript setlocal ts=2 sw=2 expandtab 446 | autocmd Filetype solidity setlocal ts=2 sw=2 expandtab 447 | 448 | 449 | " PYTHON SETTING 450 | 451 | " SIMPLYFOLDING OF PYTHON CODE 452 | let g:SimpylFold_fold_blank = 1 453 | autocmd FileType python set foldlevel=99 454 | 455 | set foldmethod=marker 456 | set foldmarker=<<<,>>> 457 | function! MyFoldPython() 458 | let line = getline(v:foldstart) 459 | let folded_line_num = v:foldend - v:foldstart 460 | let line_text = substitute(line, '^%<\+', '', 'g') 461 | return '‣'. line_text 462 | endfunction 463 | autocmd FileType python set foldtext=MyFoldPython() 464 | set fillchars=fold:\ 465 | 466 | " PYTHON SYNTAX HIGHLIGHT 467 | let g:python_highlight_all = 1 468 | 469 | 470 | " AUTOFORMAT 471 | " Install pip install --user yapf 472 | let g:formatter_yapf_style = 'pep8' 473 | noremap fa :Autoformat 474 | noremap fl :AutoformatLine 475 | noremap f :RemoveTrailingSpaces 476 | 477 | 478 | " ALE 479 | let g:ale_linters = {'python': ['pylint'], 'javascript': ['eslint']} 480 | " let g:ale_linters = {'python': ['flake8', 'pylint'], 'javascript': ['eslint']} 481 | let g:ale_fixers = {'python': ['yapf']} 482 | 483 | nmap af :ALEFix 484 | let g:ale_fix_on_save = 0 485 | let g:ale_sign_error = '' 486 | let g:ale_sign_warning = '' 487 | let g:ale_set_highlights = 0 488 | let g:ale_echo_msg_format = '%s' 489 | 490 | 491 | " CUSTOM HIGHLIGHTS 492 | autocmd FileType python syn match myPyDecorators '@property' 493 | autocmd FileType python syn match myPyDecorators '@staticmethod' 494 | autocmd FileType python syn match myPyDecorators '@classmethod' 495 | 496 | autocmd FileType csv syntax match myCsvHeading /\%1l\%(\%("\zs\%([^"]\|""\)*\ze"\)\|\%(\zs[^,"]*\ze\)\)/ 497 | autocmd FileType csv syntax match myCsvComma ',' 498 | 499 | autocmd FileType markdown syn match myFilesMd '\S*\.md' 500 | autocmd FileType markdown syn match myFilesCsv '\S*\.csv' 501 | autocmd FileType markdown syn match myFilesTxt '\S*\.txt' 502 | autocmd FileType markdown syn match myCheckboxOK '-\ \[x\]' 503 | autocmd FileType markdown syn match myCheckbox '-\ \[\ ]' 504 | autocmd FileType markdown syn match myCheckbox '[^-]*-\ \[\ ]' 505 | autocmd FileType markdown syn match myCheckbox '[^-]*-\ \[x\]' 506 | 507 | " CUSTOM CONCEALS 508 | autocmd FileType python syntax match pyNiceOperator "\" conceal cchar=∈ 509 | autocmd FileType python syntax match pyNiceOperator "\" conceal cchar=∉ 510 | autocmd FileType python syntax match pyNiceOperator "<=" conceal cchar=≤ 511 | autocmd FileType python syntax match pyNiceOperator ">=" conceal cchar=≥ 512 | autocmd FileType python syntax match pyNiceOperator "\\alpha" conceal cchar=α 513 | autocmd FileType python syntax match pyNiceOperator "=\@ 140 | exec = bash ~/.config/polybar/scripts/mic-volume.sh show-vol 141 | format-prefix = " " 142 | format-prefix-foreground = ${colors.primary} 143 | format-prefix-font = 4 144 | format-underline = #4bffdc 145 | 146 | click-right = pavucontrol 147 | click-left = bash ~/.config/polybar/scripts/mic-volume.sh mute-vol 148 | scroll-up = bash ~/.config/polybar/scripts/mic-volume.sh inc-vol 149 | scroll-down = bash ~/.config/polybar/scripts/mic-volume.sh dec-vol 150 | format-foreground = ${colors.foreground} 151 | label-font = 2 152 | 153 | [module/memory-info] 154 | type = custom/script 155 | exec = ~/.config/polybar/scripts/memory.sh 156 | click-left = ~/.config/polybar/scripts/memory.sh --popup 157 | format-underline = ${colors.primary} 158 | 159 | [module/cpu-info] 160 | type = custom/script 161 | exec = ~/.config/polybar/scripts/cpu.sh 162 | click-left = ~/.config/polybar/scripts/cpu.sh --popup 163 | format-underline = ${colors.primary} 164 | 165 | [module/polytiramisu] 166 | type = custom/script 167 | # Path to where you put polytiramisu.sh: 168 | exec = ~/.config/polybar/scripts/polytiramisu.sh 169 | format =