├── .chezmoiexternal.toml ├── .gitignore ├── README.md ├── dot_bashrc ├── dot_config ├── fonts.json ├── gh │ ├── private_config.yml │ └── private_hosts.yml ├── kitty │ ├── current-theme.conf │ ├── empty_dot_zshrc │ ├── font.conf │ ├── kitty.conf │ └── kitty.conf.bak ├── neofetch │ └── config.conf ├── skhd │ └── skhdrc └── yabai │ └── yabairc ├── dot_fzf.zsh ├── dot_tmux.conf ├── dot_vimrc ├── dot_zprofile ├── dot_zshenv ├── dot_zshnvm ├── dot_zshrc ├── empty_dot_hushlogin └── private_dot_local └── bin ├── executable_anti-mouse ├── executable_arduino-language-server ├── executable_convert_mp4 ├── executable_font-switcher ├── executable_htop ├── executable_please ├── executable_rust-analyzer ├── executable_st ├── executable_tmux-sessionizer ├── executable_txt-format └── executable_yt /.chezmoiexternal.toml: -------------------------------------------------------------------------------- 1 | [".config/nvim"] 2 | type = "archive" 3 | url = "https://github.com/nycrat/nvim-config/archive/main.tar.gz" 4 | exact = true 5 | stripComponents = 1 6 | refreshPeriod = "168h" 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dot_DS_Store 3 | dot_git 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # .files 2 | 3 | [MY NEOVIM CONFIG HERE](https://github.com/nycrat/nvim-config) 4 | -------------------------------------------------------------------------------- /dot_bashrc: -------------------------------------------------------------------------------- 1 | alias ssh='env TERM=xterm-256color ssh' # allows kitty to work with ssh 2 | -------------------------------------------------------------------------------- /dot_config/fonts.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "font_family": "Iosevka Light", 4 | "bold_font": "Iosevka Bold", 5 | "italic_font": "Iosevka Light Italic", 6 | "bold_italic_font": "Iosevka Bold Italic", 7 | "font_size": 30.0 8 | }, 9 | { 10 | "font_family": "Iosevka SS14", 11 | "font_size": 30.0 12 | }, 13 | { 14 | "font_family": "Iosevka Regular", 15 | "bold_font": "Iosevka Heavy", 16 | "italic_font": "Iosevka Italic", 17 | "bold_italic_font": "Iosevka Heavy Italic", 18 | "font_size": 30.0 19 | }, 20 | { 21 | "font_family": "honchokomono", 22 | "font_size": 36.0 23 | }, 24 | { 25 | "font_family": "CMU Typewriter Text", 26 | "italic_font": "CMU Typewriter Text Oblique", 27 | "bold_italic_font": "CMU Typewriter Text Bold", 28 | "font_size": 30.0 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /dot_config/gh/private_config.yml: -------------------------------------------------------------------------------- 1 | # What protocol to use when performing git operations. Supported values: ssh, https 2 | git_protocol: https 3 | # What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. 4 | editor: 5 | # When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled 6 | prompt: enabled 7 | # A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager. 8 | pager: 9 | # Aliases allow you to create nicknames for gh commands 10 | aliases: 11 | co: pr checkout 12 | # The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. 13 | http_unix_socket: 14 | # What web browser gh should use when opening URLs. If blank, will refer to environment. 15 | browser: 16 | version: "1" 17 | -------------------------------------------------------------------------------- /dot_config/gh/private_hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | user: NycRat 3 | git_protocol: https 4 | users: 5 | NycRat: 6 | -------------------------------------------------------------------------------- /dot_config/kitty/current-theme.conf: -------------------------------------------------------------------------------- 1 | # vim:ft=kitty 2 | 3 | ## name: Nightfox 4 | ## author: EdenEast 5 | ## license: MIT 6 | ## upstream: https://github.com/EdenEast/nightfox.nvim/blob/main/extra/nightfox/nightfox_kitty.conf 7 | 8 | background #192330 9 | foreground #cdcecf 10 | selection_background #2b3b51 11 | selection_foreground #cdcecf 12 | url_color #81b29a 13 | 14 | # Cursor 15 | # uncomment for reverse background 16 | # cursor none 17 | cursor #cdcecf 18 | 19 | # Border 20 | active_border_color #719cd6 21 | inactive_border_color #39506d 22 | bell_border_color #f4a261 23 | 24 | # Tabs 25 | active_tab_background #719cd6 26 | active_tab_foreground #131a24 27 | inactive_tab_background #2b3b51 28 | inactive_tab_foreground #738091 29 | 30 | # normal 31 | color0 #393b44 32 | color1 #c94f6d 33 | color2 #81b29a 34 | color3 #dbc074 35 | color4 #719cd6 36 | color5 #9d79d6 37 | color6 #63cdcf 38 | color7 #dfdfe0 39 | 40 | # bright 41 | color8 #575860 42 | color9 #d16983 43 | color10 #8ebaa4 44 | color11 #e0c989 45 | color12 #86abdc 46 | color13 #baa1e2 47 | color14 #7ad5d6 48 | color15 #e4e4e5 49 | 50 | # extended colors 51 | color16 #f4a261 52 | color17 #d67ad2 53 | -------------------------------------------------------------------------------- /dot_config/kitty/empty_dot_zshrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/dot_config/kitty/empty_dot_zshrc -------------------------------------------------------------------------------- /dot_config/kitty/font.conf: -------------------------------------------------------------------------------- 1 | # 2 2 | font_family Iosevka Regular 3 | bold_font Iosevka Heavy 4 | italic_font Iosevka Italic 5 | bold_italic_font Iosevka Heavy Italic 6 | font_size 30 7 | -------------------------------------------------------------------------------- /dot_config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # vim:fileencoding=utf-8:foldmethod=marker 2 | 3 | include font.conf 4 | 5 | #: Fonts {{{ 6 | 7 | adjust_line_height 0 8 | adjust_column_width 0 9 | adjust_baseline 0 10 | 11 | disable_ligatures cursor 12 | 13 | #: }}} 14 | 15 | #: Cursor customization {{{ 16 | 17 | cursor_shape beam 18 | shell_integration no-cursor 19 | 20 | cursor_beam_thickness 1.5 21 | 22 | cursor_blink_interval 0 23 | 24 | #: }}} 25 | 26 | #: Mouse {{{ 27 | 28 | mouse_hide_wait -1 29 | 30 | # url_color #0087bd 31 | url_style curly 32 | 33 | detect_urls yes 34 | 35 | url_excluded_characters 36 | 37 | #: }}} 38 | 39 | #: Tab bar {{{ 40 | 41 | tab_bar_margin_width 10.0 42 | 43 | # }}} 44 | 45 | #: Background {{{ 46 | 47 | background_opacity 1 48 | 49 | # background_image ~/Desktop/media/background_images/terminal/background_7.png 50 | 51 | # background_image_layout centered 52 | 53 | # background_tint 0.2 54 | 55 | #: }}} 56 | 57 | #: Advanced {{{ 58 | 59 | editor /opt/homebrew/bin/nvim 60 | 61 | # macos_option_as_alt yes 62 | macos_option_as_alt no 63 | 64 | macos_hide_titlebar yes 65 | 66 | macos_window_resizable yes 67 | 68 | # macos_thicken_font 0.75 69 | # macos_traditional_fullscreen yes 70 | 71 | #: }}} 72 | 73 | #: New tab 74 | 75 | # map kitty_mod+t new_tab_with_cwd 76 | map cmd+t new_tab_with_cwd 77 | 78 | # BEGIN_KITTY_THEME 79 | # Nightfox 80 | include current-theme.conf 81 | # END_KITTY_THEME 82 | -------------------------------------------------------------------------------- /dot_config/kitty/kitty.conf.bak: -------------------------------------------------------------------------------- 1 | # vim:fileencoding=utf-8:foldmethod=marker 2 | 3 | include font.conf 4 | 5 | #: Fonts {{{ 6 | 7 | adjust_line_height 0 8 | adjust_column_width 0 9 | adjust_baseline 0 10 | 11 | disable_ligatures cursor 12 | 13 | #: }}} 14 | 15 | #: Cursor customization {{{ 16 | 17 | cursor_shape beam 18 | shell_integration no-cursor 19 | 20 | cursor_beam_thickness 1.5 21 | 22 | cursor_blink_interval 0 23 | 24 | #: }}} 25 | 26 | #: Mouse {{{ 27 | 28 | mouse_hide_wait -1 29 | 30 | # url_color #0087bd 31 | url_style curly 32 | 33 | detect_urls yes 34 | 35 | url_excluded_characters 36 | 37 | #: }}} 38 | 39 | #: Tab bar {{{ 40 | 41 | tab_bar_margin_width 10.0 42 | 43 | # }}} 44 | 45 | #: Background {{{ 46 | 47 | background_opacity 1 48 | 49 | # background_image ~/Desktop/media/background_images/terminal/background_7.png 50 | 51 | # background_image_layout centered 52 | 53 | # background_tint 0.2 54 | 55 | #: }}} 56 | 57 | #: Advanced {{{ 58 | 59 | editor /opt/homebrew/bin/nvim 60 | 61 | # macos_option_as_alt yes 62 | macos_option_as_alt no 63 | 64 | macos_hide_titlebar yes 65 | 66 | macos_window_resizable yes 67 | 68 | # macos_thicken_font 0.75 69 | # macos_traditional_fullscreen yes 70 | 71 | #: }}} 72 | 73 | #: New tab 74 | 75 | # map kitty_mod+t new_tab_with_cwd 76 | map cmd+t new_tab_with_cwd 77 | 78 | # BEGIN_KITTY_THEME 79 | # Dawnfox 80 | include current-theme.conf 81 | # END_KITTY_THEME 82 | -------------------------------------------------------------------------------- /dot_config/neofetch/config.conf: -------------------------------------------------------------------------------- 1 | # See this wiki page for more info: 2 | # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info 3 | print_info() { 4 | info title 5 | info underline 6 | 7 | info "OS" distro 8 | info "Host" model 9 | info "Kernel" kernel 10 | info "Uptime" uptime 11 | info "Packages" packages 12 | info "Shell" shell 13 | info "Resolution" resolution 14 | info "DE" de 15 | info "WM" wm 16 | info "WM Theme" wm_theme 17 | info "Theme" theme 18 | info "Icons" icons 19 | info "Terminal" term 20 | info "Terminal Font" term_font 21 | info "CPU" cpu 22 | info "GPU" gpu 23 | info "Memory" memory 24 | 25 | # info "GPU Driver" gpu_driver # Linux/macOS only 26 | # info "CPU Usage" cpu_usage 27 | # info "Disk" disk 28 | # info "Battery" battery 29 | # info "Font" font 30 | # info "Song" song 31 | # [[ "$player" ]] && prin "Music Player" "$player" 32 | # info "Local IP" local_ip 33 | # info "Public IP" public_ip 34 | # info "Users" users 35 | # info "Locale" locale # This only works on glibc systems. 36 | 37 | info cols 38 | } 39 | 40 | # Title 41 | 42 | 43 | # Hide/Show Fully qualified domain name. 44 | # 45 | # Default: 'off' 46 | # Values: 'on', 'off' 47 | # Flag: --title_fqdn 48 | title_fqdn="off" 49 | 50 | 51 | # Kernel 52 | 53 | 54 | # Shorten the output of the kernel function. 55 | # 56 | # Default: 'on' 57 | # Values: 'on', 'off' 58 | # Flag: --kernel_shorthand 59 | # Supports: Everything except *BSDs (except PacBSD and PC-BSD) 60 | # 61 | # Example: 62 | # on: '4.8.9-1-ARCH' 63 | # off: 'Linux 4.8.9-1-ARCH' 64 | kernel_shorthand="on" 65 | 66 | 67 | # Distro 68 | 69 | 70 | # Shorten the output of the distro function 71 | # 72 | # Default: 'off' 73 | # Values: 'on', 'tiny', 'off' 74 | # Flag: --distro_shorthand 75 | # Supports: Everything except Windows and Haiku 76 | distro_shorthand="off" 77 | 78 | # Show/Hide OS Architecture. 79 | # Show 'x86_64', 'x86' and etc in 'Distro:' output. 80 | # 81 | # Default: 'on' 82 | # Values: 'on', 'off' 83 | # Flag: --os_arch 84 | # 85 | # Example: 86 | # on: 'Arch Linux x86_64' 87 | # off: 'Arch Linux' 88 | os_arch="on" 89 | 90 | 91 | # Uptime 92 | 93 | 94 | # Shorten the output of the uptime function 95 | # 96 | # Default: 'on' 97 | # Values: 'on', 'tiny', 'off' 98 | # Flag: --uptime_shorthand 99 | # 100 | # Example: 101 | # on: '2 days, 10 hours, 3 mins' 102 | # tiny: '2d 10h 3m' 103 | # off: '2 days, 10 hours, 3 minutes' 104 | uptime_shorthand="on" 105 | 106 | 107 | # Memory 108 | 109 | 110 | # Show memory pecentage in output. 111 | # 112 | # Default: 'off' 113 | # Values: 'on', 'off' 114 | # Flag: --memory_percent 115 | # 116 | # Example: 117 | # on: '1801MiB / 7881MiB (22%)' 118 | # off: '1801MiB / 7881MiB' 119 | memory_percent="off" 120 | 121 | # Change memory output unit. 122 | # 123 | # Default: 'mib' 124 | # Values: 'kib', 'mib', 'gib' 125 | # Flag: --memory_unit 126 | # 127 | # Example: 128 | # kib '1020928KiB / 7117824KiB' 129 | # mib '1042MiB / 6951MiB' 130 | # gib: ' 0.98GiB / 6.79GiB' 131 | memory_unit="mib" 132 | 133 | 134 | # Packages 135 | 136 | 137 | # Show/Hide Package Manager names. 138 | # 139 | # Default: 'tiny' 140 | # Values: 'on', 'tiny' 'off' 141 | # Flag: --package_managers 142 | # 143 | # Example: 144 | # on: '998 (pacman), 8 (flatpak), 4 (snap)' 145 | # tiny: '908 (pacman, flatpak, snap)' 146 | # off: '908' 147 | package_managers="on" 148 | 149 | 150 | # Shell 151 | 152 | 153 | # Show the path to $SHELL 154 | # 155 | # Default: 'off' 156 | # Values: 'on', 'off' 157 | # Flag: --shell_path 158 | # 159 | # Example: 160 | # on: '/bin/bash' 161 | # off: 'bash' 162 | shell_path="off" 163 | 164 | # Show $SHELL version 165 | # 166 | # Default: 'on' 167 | # Values: 'on', 'off' 168 | # Flag: --shell_version 169 | # 170 | # Example: 171 | # on: 'bash 4.4.5' 172 | # off: 'bash' 173 | shell_version="on" 174 | 175 | 176 | # CPU 177 | 178 | 179 | # CPU speed type 180 | # 181 | # Default: 'bios_limit' 182 | # Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. 183 | # Flag: --speed_type 184 | # Supports: Linux with 'cpufreq' 185 | # NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. 186 | speed_type="bios_limit" 187 | 188 | # CPU speed shorthand 189 | # 190 | # Default: 'off' 191 | # Values: 'on', 'off'. 192 | # Flag: --speed_shorthand 193 | # NOTE: This flag is not supported in systems with CPU speed less than 1 GHz 194 | # 195 | # Example: 196 | # on: 'i7-6500U (4) @ 3.1GHz' 197 | # off: 'i7-6500U (4) @ 3.100GHz' 198 | speed_shorthand="off" 199 | 200 | # Enable/Disable CPU brand in output. 201 | # 202 | # Default: 'on' 203 | # Values: 'on', 'off' 204 | # Flag: --cpu_brand 205 | # 206 | # Example: 207 | # on: 'Intel i7-6500U' 208 | # off: 'i7-6500U (4)' 209 | cpu_brand="on" 210 | 211 | # CPU Speed 212 | # Hide/Show CPU speed. 213 | # 214 | # Default: 'on' 215 | # Values: 'on', 'off' 216 | # Flag: --cpu_speed 217 | # 218 | # Example: 219 | # on: 'Intel i7-6500U (4) @ 3.1GHz' 220 | # off: 'Intel i7-6500U (4)' 221 | cpu_speed="on" 222 | 223 | # CPU Cores 224 | # Display CPU cores in output 225 | # 226 | # Default: 'logical' 227 | # Values: 'logical', 'physical', 'off' 228 | # Flag: --cpu_cores 229 | # Support: 'physical' doesn't work on BSD. 230 | # 231 | # Example: 232 | # logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) 233 | # physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) 234 | # off: 'Intel i7-6500U @ 3.1GHz' 235 | cpu_cores="logical" 236 | 237 | # CPU Temperature 238 | # Hide/Show CPU temperature. 239 | # Note the temperature is added to the regular CPU function. 240 | # 241 | # Default: 'off' 242 | # Values: 'C', 'F', 'off' 243 | # Flag: --cpu_temp 244 | # Supports: Linux, BSD 245 | # NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable 246 | # coretemp kernel module. This only supports newer Intel processors. 247 | # 248 | # Example: 249 | # C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' 250 | # F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' 251 | # off: 'Intel i7-6500U (4) @ 3.1GHz' 252 | cpu_temp="off" 253 | 254 | 255 | # GPU 256 | 257 | 258 | # Enable/Disable GPU Brand 259 | # 260 | # Default: 'on' 261 | # Values: 'on', 'off' 262 | # Flag: --gpu_brand 263 | # 264 | # Example: 265 | # on: 'AMD HD 7950' 266 | # off: 'HD 7950' 267 | gpu_brand="on" 268 | 269 | # Which GPU to display 270 | # 271 | # Default: 'all' 272 | # Values: 'all', 'dedicated', 'integrated' 273 | # Flag: --gpu_type 274 | # Supports: Linux 275 | # 276 | # Example: 277 | # all: 278 | # GPU1: AMD HD 7950 279 | # GPU2: Intel Integrated Graphics 280 | # 281 | # dedicated: 282 | # GPU1: AMD HD 7950 283 | # 284 | # integrated: 285 | # GPU1: Intel Integrated Graphics 286 | gpu_type="all" 287 | 288 | 289 | # Resolution 290 | 291 | 292 | # Display refresh rate next to each monitor 293 | # Default: 'off' 294 | # Values: 'on', 'off' 295 | # Flag: --refresh_rate 296 | # Supports: Doesn't work on Windows. 297 | # 298 | # Example: 299 | # on: '1920x1080 @ 60Hz' 300 | # off: '1920x1080' 301 | refresh_rate="off" 302 | 303 | 304 | # Gtk Theme / Icons / Font 305 | 306 | 307 | # Shorten output of GTK Theme / Icons / Font 308 | # 309 | # Default: 'off' 310 | # Values: 'on', 'off' 311 | # Flag: --gtk_shorthand 312 | # 313 | # Example: 314 | # on: 'Numix, Adwaita' 315 | # off: 'Numix [GTK2], Adwaita [GTK3]' 316 | gtk_shorthand="off" 317 | 318 | 319 | # Enable/Disable gtk2 Theme / Icons / Font 320 | # 321 | # Default: 'on' 322 | # Values: 'on', 'off' 323 | # Flag: --gtk2 324 | # 325 | # Example: 326 | # on: 'Numix [GTK2], Adwaita [GTK3]' 327 | # off: 'Adwaita [GTK3]' 328 | gtk2="on" 329 | 330 | # Enable/Disable gtk3 Theme / Icons / Font 331 | # 332 | # Default: 'on' 333 | # Values: 'on', 'off' 334 | # Flag: --gtk3 335 | # 336 | # Example: 337 | # on: 'Numix [GTK2], Adwaita [GTK3]' 338 | # off: 'Numix [GTK2]' 339 | gtk3="on" 340 | 341 | 342 | # IP Address 343 | 344 | 345 | # Website to ping for the public IP 346 | # 347 | # Default: 'http://ident.me' 348 | # Values: 'url' 349 | # Flag: --ip_host 350 | public_ip_host="http://ident.me" 351 | 352 | # Public IP timeout. 353 | # 354 | # Default: '2' 355 | # Values: 'int' 356 | # Flag: --ip_timeout 357 | public_ip_timeout=2 358 | 359 | 360 | # Desktop Environment 361 | 362 | 363 | # Show Desktop Environment version 364 | # 365 | # Default: 'on' 366 | # Values: 'on', 'off' 367 | # Flag: --de_version 368 | de_version="on" 369 | 370 | 371 | # Disk 372 | 373 | 374 | # Which disks to display. 375 | # The values can be any /dev/sdXX, mount point or directory. 376 | # NOTE: By default we only show the disk info for '/'. 377 | # 378 | # Default: '/' 379 | # Values: '/', '/dev/sdXX', '/path/to/drive'. 380 | # Flag: --disk_show 381 | # 382 | # Example: 383 | # disk_show=('/' '/dev/sdb1'): 384 | # 'Disk (/): 74G / 118G (66%)' 385 | # 'Disk (/mnt/Videos): 823G / 893G (93%)' 386 | # 387 | # disk_show=('/'): 388 | # 'Disk (/): 74G / 118G (66%)' 389 | # 390 | disk_show=('/') 391 | 392 | # Disk subtitle. 393 | # What to append to the Disk subtitle. 394 | # 395 | # Default: 'mount' 396 | # Values: 'mount', 'name', 'dir', 'none' 397 | # Flag: --disk_subtitle 398 | # 399 | # Example: 400 | # name: 'Disk (/dev/sda1): 74G / 118G (66%)' 401 | # 'Disk (/dev/sdb2): 74G / 118G (66%)' 402 | # 403 | # mount: 'Disk (/): 74G / 118G (66%)' 404 | # 'Disk (/mnt/Local Disk): 74G / 118G (66%)' 405 | # 'Disk (/mnt/Videos): 74G / 118G (66%)' 406 | # 407 | # dir: 'Disk (/): 74G / 118G (66%)' 408 | # 'Disk (Local Disk): 74G / 118G (66%)' 409 | # 'Disk (Videos): 74G / 118G (66%)' 410 | # 411 | # none: 'Disk: 74G / 118G (66%)' 412 | # 'Disk: 74G / 118G (66%)' 413 | # 'Disk: 74G / 118G (66%)' 414 | disk_subtitle="mount" 415 | 416 | # Disk percent. 417 | # Show/Hide disk percent. 418 | # 419 | # Default: 'on' 420 | # Values: 'on', 'off' 421 | # Flag: --disk_percent 422 | # 423 | # Example: 424 | # on: 'Disk (/): 74G / 118G (66%)' 425 | # off: 'Disk (/): 74G / 118G' 426 | disk_percent="on" 427 | 428 | 429 | # Song 430 | 431 | 432 | # Manually specify a music player. 433 | # 434 | # Default: 'auto' 435 | # Values: 'auto', 'player-name' 436 | # Flag: --music_player 437 | # 438 | # Available values for 'player-name': 439 | # 440 | # amarok 441 | # audacious 442 | # banshee 443 | # bluemindo 444 | # clementine 445 | # cmus 446 | # deadbeef 447 | # deepin-music 448 | # dragon 449 | # elisa 450 | # exaile 451 | # gnome-music 452 | # gmusicbrowser 453 | # gogglesmm 454 | # guayadeque 455 | # io.elementary.music 456 | # iTunes 457 | # juk 458 | # lollypop 459 | # mocp 460 | # mopidy 461 | # mpd 462 | # muine 463 | # netease-cloud-music 464 | # olivia 465 | # playerctl 466 | # pogo 467 | # pragha 468 | # qmmp 469 | # quodlibet 470 | # rhythmbox 471 | # sayonara 472 | # smplayer 473 | # spotify 474 | # strawberry 475 | # tauonmb 476 | # tomahawk 477 | # vlc 478 | # xmms2d 479 | # xnoise 480 | # yarock 481 | music_player="auto" 482 | 483 | # Format to display song information. 484 | # 485 | # Default: '%artist% - %album% - %title%' 486 | # Values: '%artist%', '%album%', '%title%' 487 | # Flag: --song_format 488 | # 489 | # Example: 490 | # default: 'Song: Jet - Get Born - Sgt Major' 491 | song_format="%artist% - %album% - %title%" 492 | 493 | # Print the Artist, Album and Title on separate lines 494 | # 495 | # Default: 'off' 496 | # Values: 'on', 'off' 497 | # Flag: --song_shorthand 498 | # 499 | # Example: 500 | # on: 'Artist: The Fratellis' 501 | # 'Album: Costello Music' 502 | # 'Song: Chelsea Dagger' 503 | # 504 | # off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' 505 | song_shorthand="off" 506 | 507 | # 'mpc' arguments (specify a host, password etc). 508 | # 509 | # Default: '' 510 | # Example: mpc_args=(-h HOST -P PASSWORD) 511 | mpc_args=() 512 | 513 | 514 | # Text Colors 515 | 516 | 517 | # Text Colors 518 | # 519 | # Default: 'distro' 520 | # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' 521 | # Flag: --colors 522 | # 523 | # Each number represents a different part of the text in 524 | # this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' 525 | # 526 | # Example: 527 | # colors=(distro) - Text is colored based on Distro colors. 528 | # colors=(4 6 1 8 8 6) - Text is colored in the order above. 529 | colors=(distro) 530 | 531 | 532 | # Text Options 533 | 534 | 535 | # Toggle bold text 536 | # 537 | # Default: 'on' 538 | # Values: 'on', 'off' 539 | # Flag: --bold 540 | bold="on" 541 | 542 | # Enable/Disable Underline 543 | # 544 | # Default: 'on' 545 | # Values: 'on', 'off' 546 | # Flag: --underline 547 | underline_enabled="on" 548 | 549 | # Underline character 550 | # 551 | # Default: '-' 552 | # Values: 'string' 553 | # Flag: --underline_char 554 | underline_char="-" 555 | 556 | 557 | # Info Separator 558 | # Replace the default separator with the specified string. 559 | # 560 | # Default: ':' 561 | # Flag: --separator 562 | # 563 | # Example: 564 | # separator="->": 'Shell-> bash' 565 | # separator=" =": 'WM = dwm' 566 | separator=":" 567 | 568 | 569 | # Color Blocks 570 | 571 | 572 | # Color block range 573 | # The range of colors to print. 574 | # 575 | # Default: '0', '15' 576 | # Values: 'num' 577 | # Flag: --block_range 578 | # 579 | # Example: 580 | # 581 | # Display colors 0-7 in the blocks. (8 colors) 582 | # neofetch --block_range 0 7 583 | # 584 | # Display colors 0-15 in the blocks. (16 colors) 585 | # neofetch --block_range 0 15 586 | block_range=(0 15) 587 | 588 | # Toggle color blocks 589 | # 590 | # Default: 'on' 591 | # Values: 'on', 'off' 592 | # Flag: --color_blocks 593 | color_blocks="on" 594 | 595 | # Color block width in spaces 596 | # 597 | # Default: '3' 598 | # Values: 'num' 599 | # Flag: --block_width 600 | block_width=3 601 | 602 | # Color block height in lines 603 | # 604 | # Default: '1' 605 | # Values: 'num' 606 | # Flag: --block_height 607 | block_height=1 608 | 609 | # Color Alignment 610 | # 611 | # Default: 'auto' 612 | # Values: 'auto', 'num' 613 | # Flag: --col_offset 614 | # 615 | # Number specifies how far from the left side of the terminal (in spaces) to 616 | # begin printing the columns, in case you want to e.g. center them under your 617 | # text. 618 | # Example: 619 | # col_offset="auto" - Default behavior of neofetch 620 | # col_offset=7 - Leave 7 spaces then print the colors 621 | col_offset="auto" 622 | 623 | # Progress Bars 624 | 625 | 626 | # Bar characters 627 | # 628 | # Default: '-', '=' 629 | # Values: 'string', 'string' 630 | # Flag: --bar_char 631 | # 632 | # Example: 633 | # neofetch --bar_char 'elapsed' 'total' 634 | # neofetch --bar_char '-' '=' 635 | bar_char_elapsed="-" 636 | bar_char_total="=" 637 | 638 | # Toggle Bar border 639 | # 640 | # Default: 'on' 641 | # Values: 'on', 'off' 642 | # Flag: --bar_border 643 | bar_border="on" 644 | 645 | # Progress bar length in spaces 646 | # Number of chars long to make the progress bars. 647 | # 648 | # Default: '15' 649 | # Values: 'num' 650 | # Flag: --bar_length 651 | bar_length=15 652 | 653 | # Progress bar colors 654 | # When set to distro, uses your distro's logo colors. 655 | # 656 | # Default: 'distro', 'distro' 657 | # Values: 'distro', 'num' 658 | # Flag: --bar_colors 659 | # 660 | # Example: 661 | # neofetch --bar_colors 3 4 662 | # neofetch --bar_colors distro 5 663 | bar_color_elapsed="distro" 664 | bar_color_total="distro" 665 | 666 | 667 | # Info display 668 | # Display a bar with the info. 669 | # 670 | # Default: 'off' 671 | # Values: 'bar', 'infobar', 'barinfo', 'off' 672 | # Flags: --cpu_display 673 | # --memory_display 674 | # --battery_display 675 | # --disk_display 676 | # 677 | # Example: 678 | # bar: '[---=======]' 679 | # infobar: 'info [---=======]' 680 | # barinfo: '[---=======] info' 681 | # off: 'info' 682 | cpu_display="off" 683 | memory_display="off" 684 | battery_display="off" 685 | disk_display="off" 686 | 687 | 688 | # Backend Settings 689 | 690 | 691 | # Image backend. 692 | # 693 | # Default: 'ascii' 694 | # Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', 695 | # 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' 696 | # Flag: --backend 697 | image_backend="ascii" 698 | 699 | # Image Source 700 | # 701 | # Which image or ascii file to display. 702 | # 703 | # Default: 'auto' 704 | # Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' 705 | # 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' 706 | # Flag: --source 707 | # 708 | # NOTE: 'auto' will pick the best image source for whatever image backend is used. 709 | # In ascii mode, distro ascii art will be used and in an image mode, your 710 | # wallpaper will be used. 711 | image_source="auto" 712 | 713 | 714 | # Ascii Options 715 | 716 | 717 | # Ascii distro 718 | # Which distro's ascii art to display. 719 | # 720 | # Default: 'auto' 721 | # Values: 'auto', 'distro_name' 722 | # Flag: --ascii_distro 723 | # NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", 724 | # "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, 725 | # ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, 726 | # Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, 727 | # BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, 728 | # Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, 729 | # Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, 730 | # DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, 731 | # EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, 732 | # FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, 733 | # gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, 734 | # Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, 735 | # Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, 736 | # LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, 737 | # Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, 738 | # Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, 739 | # NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, 740 | # OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, 741 | # Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, 742 | # popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, 743 | # Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, 744 | # Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, 745 | # Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, 746 | # SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, 747 | # openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, 748 | # Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, 749 | # Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, 750 | # and IRIX have ascii logos 751 | # NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. 752 | # Use '{distro name}_old' to use the old logos. 753 | # NOTE: Ubuntu has flavor variants. 754 | # Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, 755 | # Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. 756 | # NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, 757 | # CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, 758 | # Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, 759 | # Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, 760 | # Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, 761 | # postmarketOS, and Void have a smaller logo variant. 762 | # Use '{distro name}_small' to use the small variants. 763 | ascii_distro="auto" 764 | 765 | # Ascii Colors 766 | # 767 | # Default: 'distro' 768 | # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' 769 | # Flag: --ascii_colors 770 | # 771 | # Example: 772 | # ascii_colors=(distro) - Ascii is colored based on Distro colors. 773 | # ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. 774 | ascii_colors=(distro) 775 | 776 | # Bold ascii logo 777 | # Whether or not to bold the ascii logo. 778 | # 779 | # Default: 'on' 780 | # Values: 'on', 'off' 781 | # Flag: --ascii_bold 782 | ascii_bold="on" 783 | 784 | 785 | # Image Options 786 | 787 | 788 | # Image loop 789 | # Setting this to on will make neofetch redraw the image constantly until 790 | # Ctrl+C is pressed. This fixes display issues in some terminal emulators. 791 | # 792 | # Default: 'off' 793 | # Values: 'on', 'off' 794 | # Flag: --loop 795 | image_loop="off" 796 | 797 | # Thumbnail directory 798 | # 799 | # Default: '~/.cache/thumbnails/neofetch' 800 | # Values: 'dir' 801 | thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" 802 | 803 | # Crop mode 804 | # 805 | # Default: 'normal' 806 | # Values: 'normal', 'fit', 'fill' 807 | # Flag: --crop_mode 808 | # 809 | # See this wiki page to learn about the fit and fill options. 810 | # https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F 811 | crop_mode="normal" 812 | 813 | # Crop offset 814 | # Note: Only affects 'normal' crop mode. 815 | # 816 | # Default: 'center' 817 | # Values: 'northwest', 'north', 'northeast', 'west', 'center' 818 | # 'east', 'southwest', 'south', 'southeast' 819 | # Flag: --crop_offset 820 | crop_offset="center" 821 | 822 | # Image size 823 | # The image is half the terminal width by default. 824 | # 825 | # Default: 'auto' 826 | # Values: 'auto', '00px', '00%', 'none' 827 | # Flags: --image_size 828 | # --size 829 | image_size="auto" 830 | 831 | # Gap between image and text 832 | # 833 | # Default: '3' 834 | # Values: 'num', '-num' 835 | # Flag: --gap 836 | gap=3 837 | 838 | # Image offsets 839 | # Only works with the w3m backend. 840 | # 841 | # Default: '0' 842 | # Values: 'px' 843 | # Flags: --xoffset 844 | # --yoffset 845 | yoffset=0 846 | xoffset=0 847 | 848 | # Image background color 849 | # Only works with the w3m backend. 850 | # 851 | # Default: '' 852 | # Values: 'color', 'blue' 853 | # Flag: --bg_color 854 | background_color= 855 | 856 | 857 | # Misc Options 858 | 859 | # Stdout mode 860 | # Turn off all colors and disables image backend (ASCII/Image). 861 | # Useful for piping into another command. 862 | # Default: 'off' 863 | # Values: 'on', 'off' 864 | stdout="off" 865 | -------------------------------------------------------------------------------- /dot_config/skhd/skhdrc: -------------------------------------------------------------------------------- 1 | ctrl + alt - return : yabai -m window --toggle zoom-fullscreen 2 | ctrl + alt - i : yabai -m window --toggle float 3 | ctrl + alt - o : yabai -m window --toggle sticky 4 | ctrl + alt - b : yabai -m space --balance 5 | 6 | ctrl + alt - j : yabai -m window --focus south 7 | ctrl + alt - k : yabai -m window --focus north 8 | ctrl + alt - h : yabai -m window --focus west 9 | ctrl + alt - l : yabai -m window --focus east 10 | 11 | shift + ctrl + alt - j : yabai -m window --swap south 12 | shift + ctrl + alt - k : yabai -m window --swap north 13 | shift + ctrl + alt - h : yabai -m window --swap west 14 | shift + ctrl + alt - l : yabai -m window --swap east 15 | 16 | shift + ctrl - 1 : yabai -m window --space 1 17 | shift + ctrl - 2 : yabai -m window --space 2 18 | shift + ctrl - 3 : yabai -m window --space 3 19 | shift + ctrl - 4 : yabai -m window --space 4 20 | shift + ctrl - 5 : yabai -m window --space 5 21 | shift + ctrl - 6 : yabai -m window --space 6 22 | shift + ctrl - 7 : yabai -m window --space 7 23 | shift + ctrl - 8 : yabai -m window --space 8 24 | shift + ctrl - 9 : yabai -m window --space 9 25 | shift + ctrl - 0 : yabai -m window --space 10 26 | 27 | shift + ctrl + alt - 1 : yabai -m window --space 11 28 | shift + ctrl + alt - 2 : yabai -m window --space 12 29 | shift + ctrl + alt - 3 : yabai -m window --space 13 30 | shift + ctrl + alt - 4 : yabai -m window --space 14 31 | shift + ctrl + alt - 5 : yabai -m window --space 15 32 | shift + ctrl + alt - 6 : yabai -m window --space 16 33 | shift + ctrl + alt - 7 : yabai -m window --space 17 34 | shift + ctrl + alt - 8 : yabai -m window --space 18 35 | shift + ctrl + alt - 9 : yabai -m window --space 19 36 | shift + ctrl + alt - 0 : yabai -m window --space 20 37 | 38 | ctrl - left : yabai -m space --focus prev 39 | ctrl - right : yabai -m space --focus next 40 | ctrl - 1 : yabai -m space --focus 1 41 | ctrl - 2 : yabai -m space --focus 2 42 | ctrl - 3 : yabai -m space --focus 3 43 | ctrl - 4 : yabai -m space --focus 4 44 | ctrl - 5 : yabai -m space --focus 5 45 | ctrl - 6 : yabai -m space --focus 6 46 | ctrl - 7 : yabai -m space --focus 7 47 | ctrl - 8 : yabai -m space --focus 8 48 | ctrl - 9 : yabai -m space --focus 9 49 | ctrl - 0 : yabai -m space --focus 10 50 | 51 | ctrl + alt - 1 : yabai -m space --focus 11 52 | ctrl + alt - 2 : yabai -m space --focus 12 53 | ctrl + alt - 3 : yabai -m space --focus 13 54 | ctrl + alt - 4 : yabai -m space --focus 14 55 | ctrl + alt - 5 : yabai -m space --focus 15 56 | ctrl + alt - 6 : yabai -m space --focus 16 57 | ctrl + alt - 7 : yabai -m space --focus 17 58 | ctrl + alt - 8 : yabai -m space --focus 18 59 | ctrl + alt - 9 : yabai -m space --focus 19 60 | ctrl + alt - 0 : yabai -m space --focus 20 61 | 62 | ctrl + alt + cmd - n : yabai --start-service 63 | ctrl + alt + cmd - m : yabai --stop-service 64 | 65 | ctrl + alt - m : toggle_alt_space 66 | shift + ctrl + alt - m : move_alt_space 67 | -------------------------------------------------------------------------------- /dot_config/yabai/yabairc: -------------------------------------------------------------------------------- 1 | yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" 2 | sudo yabai --load-sa 3 | 4 | yabai -m config \ 5 | layout bsp \ 6 | window_placement second_child \ 7 | menubar_opacity 1.0 \ 8 | # window_gap 10 \ 9 | # top_padding 10 \ 10 | # bottom_padding 10 \ 11 | # left_padding 10 \ 12 | # right_padding 10 13 | 14 | yabai -m rule --add app="Stats" manage=off 15 | yabai -m rule --add app="Godot" manage=off 16 | # yabai -m rule --add app="GIMP" manage=off 17 | # yabai -m rule --add app="Inkscape" manage=off 18 | # yabai -m rule --add app="Kitty" padding=0 19 | 20 | yabai -m space 10 --layout stack 21 | -------------------------------------------------------------------------------- /dot_fzf.zsh: -------------------------------------------------------------------------------- 1 | # Setup fzf 2 | # --------- 3 | if [[ ! "$PATH" == */opt/homebrew/opt/fzf/bin* ]]; then 4 | PATH="${PATH:+${PATH}:}/opt/homebrew/opt/fzf/bin" 5 | fi 6 | 7 | # Auto-completion 8 | # --------------- 9 | [[ $- == *i* ]] && source "/opt/homebrew/opt/fzf/shell/completion.zsh" 2> /dev/null 10 | 11 | # Key bindings 12 | # ------------ 13 | source "/opt/homebrew/opt/fzf/shell/key-bindings.zsh" 14 | -------------------------------------------------------------------------------- /dot_tmux.conf: -------------------------------------------------------------------------------- 1 | # ========================== 2 | # === General settings === 3 | # ========================== 4 | 5 | set -g default-terminal "xterm-kitty" 6 | set-option -g focus-events on 7 | set-option -sa terminal-features ',XXX:RGB' 8 | set-option -ga terminal-overrides ",screen-256color:Tc" 9 | 10 | set -g base-index 1 11 | setw -g pane-base-index 1 12 | set-option -g renumber-windows on 13 | 14 | set -g history-limit 20000 15 | set -g buffer-limit 20 16 | set -s escape-time 0 17 | set -g display-time 1500 18 | set -g remain-on-exit off 19 | set -g repeat-time 300 20 | setw -g allow-rename on 21 | setw -g automatic-rename on 22 | setw -g aggressive-resize on 23 | 24 | # Change prefix key to C-Space 25 | unbind C-b 26 | set -g prefix C-Space 27 | 28 | # Enable mouse support 29 | set -g mouse on 30 | 31 | # ========================== 32 | # === Key bindings === 33 | # ========================== 34 | 35 | # Unbind default key bindings, we're going to override 36 | unbind "\$" # rename-session 37 | unbind , # rename-window 38 | unbind % # split-window -h 39 | unbind '"' # split-window 40 | unbind \} # swap-pane -D 41 | unbind \{ # swap-pane -U 42 | unbind [ # paste-buffer 43 | unbind ] 44 | unbind C-i 45 | unbind Tab 46 | unbind C-o 47 | unbind "'" # select-window 48 | unbind n # next-window 49 | unbind p # previous-window 50 | unbind l # last-window 51 | unbind M-n # next window with alert 52 | unbind M-p # next window with alert 53 | unbind o # focus thru panes 54 | unbind & # kill-window 55 | unbind '#' # list-buffer 56 | unbind = # choose-buffer 57 | unbind z # zoom-pane 58 | unbind M-Up # resize 5 rows up 59 | unbind M-Down # resize 5 rows down 60 | unbind M-Right # resize 5 rows right 61 | unbind M-Left # resize 5 rows left 62 | unbind w 63 | unbind C-w 64 | 65 | # unbind keys 66 | unbind Up 67 | unbind Down 68 | unbind Left 69 | unbind Right 70 | 71 | unbind C-Up 72 | unbind C-Down 73 | unbind C-Left 74 | unbind C-Right 75 | 76 | unbind Escape 77 | 78 | # vim-like pane resizing 79 | bind -r C-k resize-pane -U 5 80 | bind -r C-j resize-pane -D 5 81 | bind -r C-h resize-pane -L 5 82 | bind -r C-l resize-pane -R 5 83 | 84 | # vim-like pane switching 85 | bind -r k select-pane -U 86 | bind -r j select-pane -D 87 | bind -r h select-pane -L 88 | bind -r l select-pane -R 89 | 90 | # Kill pane/window/session shortcuts 91 | bind q kill-pane 92 | bind Q kill-window 93 | bind C-x confirm-before -p "kill other windows? (y/n)" "kill-window -a" # maybe remove 94 | bind x confirm-before -p "kill-session #S? (y/n)" kill-session 95 | 96 | # Edit configuration and reload 97 | bind C-e new-window -n 'tmux.conf' "sh -c '\${EDITOR:-vim} ~/.tmux.conf && tmux source ~/.tmux.conf && tmux display \"Config reloaded\"'" 98 | 99 | # Reload tmux configuration 100 | bind e source-file ~/.tmux.conf \; display "Config reloaded" 101 | 102 | # new window and retain cwd 103 | unbind t 104 | bind t new-window -c "#{pane_current_path}" 105 | 106 | # Rename session and window 107 | bind r command-prompt -I "#{window_name}" "rename-window '%%'" 108 | bind R command-prompt -I "#{session_name}" "rename-session '%%'" 109 | 110 | # Split panes 111 | bind b split-window -h -c "#{pane_current_path}" 112 | bind v split-window -v -c "#{pane_current_path}" 113 | 114 | bind -r \{ swap-window -t -1\; select-window -t -1 115 | bind -r \} swap-window -t +1\; select-window -t +1 116 | 117 | # Select pane and windows 118 | bind -r [ previous-window 119 | bind -r ] next-window 120 | 121 | # Zoom pane 122 | bind Enter resize-pane -Z # maybe remove 123 | 124 | # Link window 125 | bind L command-prompt -p "Link window from (session:window): " "link-window -s %% -a" # maybe remove 126 | 127 | # Detach from session 128 | bind d detach 129 | bind D if -F '#{session_many_attached}' \ 130 | 'confirm-before -p "Detach other clients? (y/n)" "detach -a"' \ 131 | 'display "Session has only 1 client attached"' 132 | 133 | # Hide status bar on demand 134 | bind C-w if -F '#{s/off//:status}' 'set status off' 'set status on' 135 | 136 | 137 | # ================================================ 138 | # === Copy mode, scroll and clipboard === 139 | # ================================================ 140 | set -g @copy_use_osc52_fallback on 141 | 142 | # Prefer vi style key table 143 | setw -g mode-keys vi 144 | 145 | bind p paste-buffer # maybe remove 146 | bind C-p choose-buffer # maybe remove 147 | 148 | # trigger copy mode by 149 | bind y copy-mode 150 | 151 | # Scroll up/down by 1 line, half screen, whole screen 152 | bind -T copy-mode-vi M-Up send-keys -X scroll-up 153 | bind -T copy-mode-vi M-Down send-keys -X scroll-down 154 | bind -T copy-mode-vi M-PageUp send-keys -X halfpage-up 155 | bind -T copy-mode-vi M-PageDown send-keys -X halfpage-down 156 | bind -T copy-mode-vi PageDown send-keys -X page-down 157 | bind -T copy-mode-vi PageUp send-keys -X page-up 158 | bind -T copy-mode-vi v send -X begin-selection 159 | 160 | # When scrolling with mouse wheel, reduce number of scrolled rows per tick to "2" (default is 5) 161 | bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 2 scroll-up 162 | bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 2 scroll-down 163 | 164 | yank="~/.tmux/yank.sh" 165 | 166 | # Copy selected text 167 | bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "$yank" 168 | bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "$yank" 169 | bind -T copy-mode-vi Y send-keys -X copy-end-of-line-and-cancel \;\ 170 | run "tmux save-buffer - | $yank" ; 171 | 172 | # Copy selection on drag end event, but do not cancel copy mode and do not clear selection 173 | # clear select on subsequence mouse click 174 | bind -T copy-mode-vi MouseDragEnd1Pane \ 175 | send-keys -X copy-pipe "$yank" 176 | bind -T copy-mode-vi MouseDown1Pane select-pane \;\ 177 | send-keys -X clear-selection 178 | 179 | # iTerm2 works with clipboard out of the box, set-clipboard already set to "external" 180 | # tmux show-options -g -s set-clipboard 181 | # set-clipboard on|external 182 | 183 | # ===================================== 184 | # === Theme === 185 | # ===================================== 186 | 187 | color_dark=black 188 | color_light=white 189 | color_session_text=orangered 190 | color_status_text=webgray 191 | color_main=orangered 192 | color_secondary=dodgerblue 193 | color_window_off_indicator=red 194 | color_window_off_status_bg=dimgray 195 | color_window_off_status_current_bg=default 196 | 197 | # ===================================== 198 | # === Appearence and status bar === 199 | # ====================================== 200 | 201 | set -g mode-style "fg=default,bg=default" 202 | 203 | # command line style 204 | set -g message-style "fg=$color_main,bg=default" 205 | 206 | # status line style 207 | set -g status-style "fg=$color_status_text,bg=default" 208 | 209 | # window segments in status line 210 | set -g window-status-separator "" 211 | 212 | setw -g window-status-style "fg=$color_status_text,bg=default" 213 | setw -g window-status-format " #I:#W" 214 | setw -g window-status-current-style "fg=$color_secondary,bold,bg=default" 215 | setw -g window-status-current-format " #I:#W" 216 | 217 | # when window has monitoring notification 218 | setw -g window-status-activity-style "fg=$color_main" 219 | 220 | # outline for active pane 221 | setw -g pane-active-border-style "fg=$color_main" 222 | 223 | # general status bar settings 224 | set -g status on 225 | set -g status-interval 5 226 | set -g status-position top 227 | set -g status-justify left 228 | set -g status-right-length 100 229 | set -g status-left-length 20 230 | set -g status-bg default 231 | 232 | # define widgets we're going to use in status bar 233 | # note, that this is not the complete list, some of them are loaded from plugins 234 | wg_session="#[fg=$color_session_text,bold] #S#[default]" 235 | wg_is_zoomed="#[fg=$color_dark,bg=$color_secondary]#{?window_zoomed_flag,[Z],}#[default]" 236 | wg_is_keys_off="#[fg=$color_light,bg=$color_window_off_indicator]#([ $(tmux show-option -qv key-table) = 'off' ] && echo 'OFF')#[default]" 237 | 238 | set -g status-left "$wg_session" 239 | set -g status-right "#{prefix_highlight} $wg_is_keys_off $wg_is_zoomed" 240 | 241 | # Configure tmux-prefix-highlight colors 242 | set -g @prefix_highlight_fg "$color_status_text" 243 | set -g @prefix_highlight_bg default 244 | set -g @prefix_highlight_show_copy_mode 'on' 245 | 246 | 247 | # ===================================== 248 | # === Renew environment === 249 | # ===================================== 250 | 251 | set -g update-environment \ 252 | "DISPLAY\ 253 | SSH_ASKPASS\ 254 | SSH_AUTH_SOCK\ 255 | SSH_AGENT_PID\ 256 | SSH_CONNECTION\ 257 | SSH_TTY\ 258 | WINDOWID\ 259 | XAUTHORITY" 260 | 261 | bind '$' run "~/.tmux/renew_env.sh" 262 | 263 | 264 | # ============================ 265 | # === Plugins === 266 | # ============================ 267 | 268 | set -g @plugin 'tmux-plugins/tpm' 269 | set -g @plugin 'tmux-plugins/tmux-resurrect' 270 | set -g @plugin 'tmux-plugins/tmux-prefix-highlight' 271 | # set -g @plugin 'tmux-plugins/tmux-sidebar' 272 | # set -g @plugin 'tmux-plugins/tmux-copycat' # Just too many issues rn 273 | 274 | set -g @open-S 'https://www.google.com/search?q=' 275 | 276 | 277 | # ============================================== 278 | # === Nesting local and remote sessions === 279 | # ============================================== 280 | 281 | # Session is considered to be remote when we ssh into host 282 | if-shell 'test -n "$SSH_CLIENT"' \ 283 | 'source-file ~/.tmux/tmux.remote.conf' 284 | 285 | # We want to have single prefix key "C-a", usable both for local and remote session 286 | # we don't want to "C-a" + "a" approach either 287 | # Idea is to turn off all key bindings and prefix handling on local session, 288 | # so that all keystrokes are passed to inner/remote session 289 | 290 | # see: toggle on/off all keybindings · Issue #237 · tmux/tmux - https://github.com/tmux/tmux/issues/237 291 | 292 | # Also, change some visual styles when window keys are off 293 | bind -T root F12 \ 294 | set prefix None \;\ 295 | set key-table off \;\ 296 | set status-style "fg=$color_status_text,bg=$color_window_off_status_bg" \;\ 297 | set window-status-current-format " #I:#W " \;\ 298 | set window-status-current-style "fg=$color_dark,bold,bg=$color_window_off_status_current_bg" \;\ 299 | if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ 300 | refresh-client -S \;\ 301 | 302 | bind -T off F12 \ 303 | set -u prefix \;\ 304 | set -u key-table \;\ 305 | set -u status-style \;\ 306 | set -u window-status-current-style \;\ 307 | set -u window-status-current-format \;\ 308 | refresh-client -S 309 | 310 | # Run all plugins' scripts 311 | run '~/.tmux/plugins/tpm/tpm' 312 | -------------------------------------------------------------------------------- /dot_vimrc: -------------------------------------------------------------------------------- 1 | inoremap jk 2 | nnoremap w :w 3 | nnoremap q :q 4 | 5 | nnoremap :Ex 6 | 7 | nnoremap h 8 | nnoremap j 9 | nnoremap k 10 | nnoremap l 11 | 12 | set expandtab 13 | set autoindent 14 | set smartindent 15 | set tabstop=2 16 | set shiftwidth=2 17 | set showtabline=0 18 | set noswapfile 19 | set nowrap 20 | set scrolloff=999 21 | set number 22 | set relativenumber 23 | syntax on 24 | filetype on 25 | -------------------------------------------------------------------------------- /dot_zprofile: -------------------------------------------------------------------------------- 1 | # Setting PATH for Python 3.10 2 | # The original version is saved in .zprofile.pysave 3 | PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin:${PATH}" 4 | export PATH 5 | eval "$(/opt/homebrew/bin/brew shellenv)" 6 | 7 | # Setting PATH for Python 3.11 8 | # The original version is saved in .zprofile.pysave 9 | PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}" 10 | export PATH 11 | 12 | # Added by Toolbox App 13 | export PATH="$PATH:/Users/avah/Library/Application Support/JetBrains/Toolbox/scripts" 14 | -------------------------------------------------------------------------------- /dot_zshenv: -------------------------------------------------------------------------------- 1 | . "$HOME/.cargo/env" 2 | -------------------------------------------------------------------------------- /dot_zshnvm: -------------------------------------------------------------------------------- 1 | g.nvm() { 2 | unset -f nvm 3 | export NVM_DIR=~/.nvm 4 | [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 5 | nvm "$@" 6 | } 7 | 8 | node() { 9 | unset -f node 10 | export NVM_DIR=~/.nvm 11 | [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 12 | node "$@" 13 | } 14 | 15 | npm() { 16 | unset -f npm 17 | export NVM_DIR=~/.nvm 18 | [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 19 | npm "$@" 20 | } 21 | 22 | serve() { 23 | unset -f serve 24 | export NVM_DIR=~/.nvm 25 | [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 26 | serve "$@" 27 | } 28 | -------------------------------------------------------------------------------- /dot_zshrc: -------------------------------------------------------------------------------- 1 | # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. 2 | # Initialization code that may require console input (password prompts, [y/n] 3 | # confirmations, etc.) must go above this block; everything else may go below. 4 | # if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then 5 | # source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" 6 | # fi # Path to your oh-my-zsh installation. 7 | export ZSH="$HOME/.oh-my-zsh" 8 | 9 | ZSH_THEME="powerlevel10k/powerlevel10k" 10 | 11 | zstyle ':omz:update' frequency 7 12 | 13 | # DISABLE_UNTRACKED_FILES_DIRTY="true" 14 | 15 | plugins=(git tmux z zsh-syntax-highlighting you-should-use command-not-found) 16 | 17 | source $HOME/.zshnvm 18 | source $ZSH/oh-my-zsh.sh 19 | 20 | DISABLE_AUTO_TITLE=true 21 | 22 | export LANG=en_US.UTF-8 23 | 24 | # Preferred editor for local and remote sessions 25 | if [[ -n $SSH_CONNECTION ]]; then 26 | export EDITOR="vim" 27 | else 28 | export EDITOR="nvim" 29 | fi 30 | 31 | # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. 32 | [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh 33 | 34 | bindkey -s ^f "^utmux-sessionizer\n" 35 | bindkey -s ^s "^ufont-switcher; pkill -SIGUSR1 -a kitty\n" 36 | 37 | alias n="nvim" 38 | alias q="qalc" 39 | alias o="open" 40 | alias qalc="qalc -s 'exp -1'" 41 | 42 | # git commit empty 43 | alias gce="git commit --allow-empty-message -m ''" 44 | 45 | alias lls="/bin/ls" 46 | 47 | alias ls="lsd" 48 | alias ll="lsd -l --icons" 49 | alias la="lsd -A" 50 | alias tree='lsd --tree $(IGNORE=$(git rev-parse --show-toplevel)/.gitignore; if [ -f "$IGNORE" ]; then xargs printf " --ignore-glob=%s" < "$IGNORE"; fi)' 51 | 52 | alias python="python3" 53 | alias py="python3" 54 | 55 | export GOPATH="$HOME/.go" 56 | 57 | export PATH=$PATH:$HOME/.local/bin 58 | export PATH=$PATH:$HOME/.cargo/bin 59 | export PATH=$PATH:$HOME/.codon/bin 60 | export PATH=$PATH:$GOPATH/bin 61 | 62 | export COLORTERM=truecolor 63 | 64 | export FZF_DEFAULT_COMMAND='fd --type f' 65 | export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" 66 | 67 | [[ -n $TMUX ]] && export TERM="xterm-256color" 68 | [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh 69 | 70 | # bun completions 71 | [ -s "/Users/avah/.bun/_bun" ] && source "/Users/avah/.bun/_bun" 72 | 73 | # bun 74 | export BUN_INSTALL="$HOME/.bun" 75 | export PATH="$BUN_INSTALL/bin:$PATH" 76 | export HOMEBREW_NO_AUTO_UPDATE=1 77 | 78 | export SSL_CERT_FILE="/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/certifi/cacert.pem" 79 | 80 | export GPG_TTY=$(tty) 81 | -------------------------------------------------------------------------------- /empty_dot_hushlogin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/empty_dot_hushlogin -------------------------------------------------------------------------------- /private_dot_local/bin/executable_anti-mouse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_anti-mouse -------------------------------------------------------------------------------- /private_dot_local/bin/executable_arduino-language-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_arduino-language-server -------------------------------------------------------------------------------- /private_dot_local/bin/executable_convert_mp4: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | for f in *.MOV; do 4 | ffmpeg -i $f -c copy -movflags +faststart ${f%%.*}.mp4 5 | done 6 | -------------------------------------------------------------------------------- /private_dot_local/bin/executable_font-switcher: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_font-switcher -------------------------------------------------------------------------------- /private_dot_local/bin/executable_htop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_htop -------------------------------------------------------------------------------- /private_dot_local/bin/executable_please: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_please -------------------------------------------------------------------------------- /private_dot_local/bin/executable_rust-analyzer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_rust-analyzer -------------------------------------------------------------------------------- /private_dot_local/bin/executable_st: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | input=$(pmset -g | grep "SleepDisabled" | awk '{print $2}') 4 | 5 | if [ "$input" -eq 0 ]; then 6 | toggled=1 7 | echo SLEEP DISABLED 8 | elif [ "$input" -eq 1 ]; then 9 | toggled=0 10 | echo SLEEP ENABLED 11 | else 12 | echo "ERROR: $input" 13 | fi 14 | 15 | builtin command sudo pmset disablesleep $toggled 16 | -------------------------------------------------------------------------------- /private_dot_local/bin/executable_tmux-sessionizer: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [[ $# -eq 1 ]]; then 4 | selected=$1 5 | else 6 | directories=$(find ~/1_personal ~/1_personal/repositories/* ~/2_school/* ~/3_work ~/5_vaulted/Teaching ~/.config -mindepth 1 -maxdepth 1 -type d) 7 | sessions=$(tmux list-sessions) 8 | # selected=$(echo -e "$directories\n$sessions\n/A" | fzf) 9 | selected=$(echo -e "$sessions\n-------------------------------------------------\n$directories" | fzf) 10 | fi 11 | 12 | if [[ -z $selected ]]; then 13 | exit 0 14 | fi 15 | 16 | if [[ $selected == /* ]]; then 17 | selected_name=$(basename "$selected" | tr . _) 18 | else 19 | selected_name=$(echo "$selected" | awk -F':' '{print $1}') 20 | fi 21 | 22 | tmux_running=$(pgrep tmux) # IF HAS SERVER RUNNING 23 | 24 | if [[ -z $TMUX ]] || [[ -z $tmux_running ]]; then 25 | if tmux has-session -t=$selected_name; then 26 | tmux attach -t=$selected_name 27 | exit 0 28 | fi 29 | 30 | tmux new-session -s $selected_name -c $selected 31 | exit 0 32 | fi 33 | 34 | # ONLY RUNS IF ALREADY IN TMUX 35 | if ! tmux has-session -t=$selected_name; then 36 | tmux new-session -ds $selected_name -c $selected 37 | fi 38 | 39 | tmux switch-client -t $selected_name 40 | -------------------------------------------------------------------------------- /private_dot_local/bin/executable_txt-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NycRat/dotfiles/1f51e90582154afad7f0e612ff4df3cffe1ccef2/private_dot_local/bin/executable_txt-format -------------------------------------------------------------------------------- /private_dot_local/bin/executable_yt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | osascript -e "tell application \"System Events\" 4 | activate 5 | end tell" 6 | 7 | osascript -e "tell application \"KeyCastr\" 8 | activate 9 | end tell 10 | tell application \"System Events\" to tell process \"KeyCastr\" 11 | tell window 1 12 | set position to {1270, 995} 13 | end tell 14 | end tell" 15 | 16 | osascript -e "tell application \"kitty\" 17 | activate 18 | end tell 19 | tell application \"System Events\" to tell process \"kitty\" 20 | tell window 1 21 | set size to {1728, 972} 22 | set position to {0, 145} 23 | -- set size to {1728, 1000} 24 | -- set position to {0, 117} 25 | end tell 26 | end tell" 27 | 28 | --------------------------------------------------------------------------------