├── .Xresources ├── .Xsessions ├── .cargo └── config.toml ├── .config ├── flameshot │ └── flameshot.ini ├── fontconfig │ └── fonts.conf ├── kitty │ ├── dark.conf │ ├── kitty.conf │ └── light.conf ├── nvim │ ├── coc-settings.json │ └── init.vim ├── pulse │ └── daemon.conf └── rofi │ ├── config.rasi │ └── theme.rasi ├── .conkyrc.desktop ├── .conkyrc.laptop ├── .dircolors ├── .fehbg ├── .fzy.zsh ├── .ghci ├── .gitconfig ├── .gitsigners ├── .gnupg └── gpg-agent.conf ├── .ignore ├── .local └── share │ └── fonts │ ├── Inconsolata-Bold.ttf │ └── Inconsolata-Regular.ttf ├── .profile ├── .rgrc ├── .spectrwm.conf ├── .vim ├── after │ └── syntax │ │ ├── c.vim │ │ ├── rst.vim │ │ ├── solidity.vim │ │ └── sql.vim ├── ftplugin │ ├── markdown.vim │ └── tex.vim ├── spell │ └── en.utf-8.add └── syntax │ ├── cabal.vim │ ├── fuzzy.vim │ ├── haskell.vim │ ├── html.vim │ ├── pgsql.vim │ └── todo.vim ├── .vimrc ├── .vimrc.lua ├── .wacom ├── .xbindkeysrc ├── .xinitrc ├── .xserverrc ├── .zlogin ├── .zshenv ├── .zshrc ├── bin ├── ag ├── book-counter ├── cargo-flow ├── cargo-flow-check ├── colors ├── conky-sync-status ├── git-delete-merged ├── git-forest ├── haskell-tags ├── haskell-watch-build ├── haskell-watch-lint ├── kitty-reload ├── kitty-switch-theme ├── lock ├── mount-tank ├── pinentry ├── pkgbuild-dl ├── record-window ├── refresh-display ├── screenshot ├── screenshot-region ├── seedbox-mount ├── seedbox-status ├── set-background ├── share-sync ├── spectrwm-status ├── start-streaming ├── sync-up ├── todo ├── todo-widget ├── toggle-displays ├── tty-record ├── twitch ├── xmobar-brightness ├── xmobar-dropbox-status └── xmobar-sync-status └── etc ├── X11 └── xorg.conf.d │ └── 30-touchpad.conf ├── fonts └── conf.d │ └── 80-firacode-spacing.conf └── udev └── rules.d └── 99-monitor-hotplug.rules /.Xresources: -------------------------------------------------------------------------------- 1 | ! 2 | ! .Xresources 3 | ! 4 | 5 | ! DPI for 2160p external monitor: 144 6 | ! DPI for 1080p laptop monitor: 112 7 | Xft.dpi: 144 8 | Xft.antialias: true 9 | Xft.rgba: rgb 10 | Xcursor.size: 32 11 | 12 | *background: black 13 | *foreground: white 14 | 15 | *color0: black 16 | *color1: maroon 17 | *color2: medium aquamarine 18 | *color3: moccasin 19 | *color4: dark slate blue 20 | *color5: rebecca purple 21 | *color6: light blue 22 | *color7: gray 23 | *color8: dark gray 24 | *color9: maroon 25 | *color10: aquamarine 26 | *color11: moccasin 27 | *color12: dark slate blue 28 | *color13: rebecca purple 29 | *color14: light blue 30 | *color15: white 31 | -------------------------------------------------------------------------------- /.Xsessions: -------------------------------------------------------------------------------- 1 | VDPAU_DRIVER=va_gl 2 | xrdb -merge .Xresources 3 | -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.x86_64-unknown-linux-gnu] 2 | linker = "clang" 3 | rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"] 4 | 5 | [alias] 6 | t = "nextest run --all" 7 | -------------------------------------------------------------------------------- /.config/flameshot/flameshot.ini: -------------------------------------------------------------------------------- 1 | [General] 2 | buttons=@Variant(\0\0\0\x7f\0\0\0\vQList\0\0\0\0\x12\0\0\0\0\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\x5\0\0\0\x6\0\0\0\x12\0\0\0\xf\0\0\0\x16\0\0\0\x13\0\0\0\a\0\0\0\b\0\0\0\t\0\0\0\x10\0\0\0\n\0\0\0\v\0\0\0\x17\0\0\0\f) 3 | contrastOpacity=173 4 | drawColor=#0012ff 5 | savePath=/home/cloudhead 6 | uiColor=#7fffd4 7 | uploadHistoryMax=18 8 | userColors=picker, #7fffd4, #ff0000, #ffff00, #00ff00, #008000, #00ffff, #0000ff, #ff00ff, #800080 9 | -------------------------------------------------------------------------------- /.config/fontconfig/fonts.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | lcddefault 8 | 9 | 10 | 11 | 12 | 13 | rgb 14 | 15 | 16 | 17 | 18 | 19 | sans-serif 20 | Fira Sans 21 | 22 | 23 | 24 | 25 | serif 26 | Noto Serif 27 | IPAPMincho 28 | HanaMinA 29 | 30 | 31 | 32 | 33 | fallback 34 | 35 | DejaVu Sans Mono 36 | 37 | 38 | 39 | 40 | serif 41 | Tinos 42 | 43 | 44 | sans-serif 45 | Arimo 46 | 47 | 48 | sans 49 | Arimo 50 | 51 | 52 | monospace 53 | JetBrains Mono NFM 54 | 55 | 56 | 57 | 58 | Arial 59 | 60 | Arimo 61 | 62 | 63 | 64 | Helvetica 65 | 66 | Arimo 67 | 68 | 69 | 70 | Verdana 71 | 72 | Arimo 73 | 74 | 75 | 76 | Tahoma 77 | 78 | Arimo 79 | 80 | 81 | 82 | 83 | Comic Sans MS 84 | 85 | Arimo 86 | 87 | 88 | 89 | Times New Roman 90 | 91 | Tinos 92 | 93 | 94 | 95 | Times 96 | 97 | Tinos 98 | 99 | 100 | 101 | Courier New 102 | 103 | Cousine 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | emoji 112 | Twemoji 113 | 114 | 115 | 116 | 117 | 118 | 119 | sans 120 | Twemoji 121 | 122 | 123 | 124 | serif 125 | Twemoji 126 | 127 | 128 | 129 | sans-serif 130 | Twemoji 131 | 132 | 133 | 134 | monospace 135 | Twemoji 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | Symbola 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | Android Emoji 156 | Twemoji 157 | 158 | 159 | 160 | Apple Color Emoji 161 | Twemoji 162 | 163 | 164 | 165 | EmojiSymbols 166 | Twemoji 167 | 168 | 169 | 170 | Emoji Two 171 | Twemoji 172 | 173 | 174 | 175 | EmojiTwo 176 | Twemoji 177 | 178 | 179 | 180 | Noto Color Emoji 181 | Twemoji 182 | 183 | 184 | 185 | Segoe UI Emoji 186 | Twemoji 187 | 188 | 189 | 190 | Segoe UI Symbol 191 | Twemoji 192 | 193 | 194 | 195 | Symbola 196 | Twemoji 197 | 198 | 199 | 200 | Twemoji 201 | Twemoji 202 | 203 | 204 | 205 | Twemoji Mozilla 206 | Twemoji 207 | 208 | 209 | 210 | TwemojiMozilla 211 | Twemoji 212 | 213 | 214 | 215 | Twitter Color Emoji 216 | Twemoji 217 | 218 | 219 | ~/.fonts 220 | 221 | 222 | -------------------------------------------------------------------------------- /.config/kitty/dark.conf: -------------------------------------------------------------------------------- 1 | font_family JetBrains Mono NFM Regular 2 | bold_font JetBrains Mono NFM Medium 3 | italic_font JetBrains Mono NFM Italic 4 | bold_italic_font JetBrains Mono NFM Medium Italic 5 | font_size 12.0 6 | adjust_line_height 0 7 | enable_audio_bell no 8 | 9 | scrollback_lines 8192 10 | input_delay 3 11 | repaint_delay 10 12 | sync_to_monitor no 13 | draw_minimal_borders yes 14 | cursor_blink_interval 0 15 | strip_trailing_spaces always 16 | hide_window_decorations yes 17 | update_check_interval 0 18 | 19 | tab_bar_edge top 20 | tab_bar_style slant 21 | active_tab_foreground #000000 22 | active_tab_background #CCCCCC 23 | inactive_tab_foreground #000000 24 | inactive_tab_background #333333 25 | 26 | resize_debounce_time 0.0 27 | resize_in_steps no 28 | 29 | window_resize_step_cells 2 30 | window_resize_step_lines 2 31 | window_padding_width 6.0 32 | window_margin_width 2.0 33 | 34 | map ctrl+shift+equal change_font_size all +1.0 35 | map ctrl+shift+minus change_font_size all -1.0 36 | 37 | cursor #B03060 38 | foreground #DDDDDD 39 | background #000000 40 | 41 | selection_foreground #DDDDDD 42 | selection_background #333333 43 | 44 | color0 #000000 45 | color1 #B03060 46 | color2 #66CDAA 47 | color3 #FFE4B5 48 | color4 #584DAF 49 | color5 #BB66DD 50 | color6 #ADD8E6 51 | color7 #BEBEBE 52 | color8 #A9A9A9 53 | color9 #D05090 54 | color10 #7FFFD4 55 | color11 #FFE4B5 56 | color12 #8373EA 57 | color13 #E47FFF 58 | color14 #ADD8E6 59 | color15 #FFFFFF 60 | -------------------------------------------------------------------------------- /.config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | /home/cloudhead/.config/kitty/dark.conf -------------------------------------------------------------------------------- /.config/kitty/light.conf: -------------------------------------------------------------------------------- 1 | font_family JetBrains Mono Regular 2 | bold_font JetBrains Mono Medium 3 | italic_font JetBrains Mono Italic 4 | bold_italic_font JetBrains Mono Medium Italic 5 | font_size 15.0 6 | adjust_line_height 0 7 | enable_audio_bell no 8 | 9 | scrollback_lines 8192 10 | input_delay 3 11 | repaint_delay 10 12 | sync_to_monitor no 13 | draw_minimal_borders yes 14 | cursor_blink_interval 0 15 | strip_trailing_spaces always 16 | hide_window_decorations yes 17 | 18 | resize_debounce_time 0.0 19 | resize_in_steps no 20 | 21 | window_resize_step_cells 2 22 | window_resize_step_lines 2 23 | window_padding_width 6.0 24 | window_margin_width 2.0 25 | 26 | cursor #B03060 27 | foreground #000000 28 | background #FFFFFF 29 | 30 | selection_foreground #000000 31 | selection_background #DDDDDD 32 | 33 | color0 #000000 34 | color1 #B03060 35 | color2 #66CDAA 36 | color3 #FFE4B5 37 | color4 #483D8F 38 | color5 #BB66DD 39 | color6 #ADD8E6 40 | color7 #BEBEBE 41 | color8 #A9A9A9 42 | color9 #D05090 43 | color10 #7FFFD4 44 | color11 #FFE4B5 45 | color12 #8373EA 46 | color13 #E47FFF 47 | color14 #ADD8E6 48 | color15 #FFFFFF 49 | -------------------------------------------------------------------------------- /.config/nvim/coc-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "diagnostic.virtualText": false, 3 | "diagnostic.virtualTextPrefix": " ✗ ", 4 | "diagnostic.virtualTextLines": 1, 5 | "diagnostic.virtualTextLineSeparator": " \\ ", 6 | "diagonstic.virtualTextCurrentLineOnly": true, 7 | "diagnostic.enableSign": false, 8 | "diagnostic.messageDelay": 0, 9 | "diagnostic.maxWindowHeight": 16, 10 | "diagnostic.format": "✗ %message", 11 | "diagnostic.hintSign": "", 12 | "diagnostic.level": "warning", 13 | "diagnostic.floatConfig.border": true, 14 | "diagnostic.floatConfig.borderhighlight": "CocFloatBorder", 15 | "diagnostic.floatConfig.shadow": false, 16 | "diagnostic.floatConfig.maxWidth": 80, 17 | "diagnostic.floatConfig.maxHeight": 24, 18 | "codeLens.enable": false, 19 | "codeLens.separator": " ", 20 | "inlayHint": false, 21 | "coc.preferences.useQuickfixForLocations": true, 22 | "coc.preferences.bracketEnterImprove": false, 23 | "coc.preferences.snippets.enable": false, 24 | "coc.preferences.enableMessageDialog": true, 25 | "coc.preferences.formatOnSaveFiletypes": [ 26 | "rust" 27 | ], 28 | "coc.source.snippets.enable": false, 29 | "coc.source.buffer.enable": false, 30 | "coc.source.file.enable": false, 31 | 32 | "svelte.enable-ts-plugin": true, 33 | 34 | "rust-analyzer.server.extraEnv": "RA_LOG=debug", 35 | "rust-analyzer.server.path": "rust-analyzer", 36 | "rust-analyzer.completion.postfix.enable": false, 37 | "rust-analyzer.inlayHints.closingBraceHints.enable": false, 38 | "rust-analyzer.inlayHints.parameterHints.enable": false, 39 | "rust-analyzer.inlayHints.renderColons": false, 40 | "rust-analyzer.inlayHints.typeHintsSeparator": "", 41 | "rust-analyzer.inlayHints.chainingHintsSeparator": " ", 42 | "rust-analyzer.updates.prompt": false, 43 | "rust-analyzer.diagnostics.experimental.enable": false, 44 | "rust-analyzer.experimental.procAttrMacros": true, 45 | "rust-analyzer.procMacro.attributes.enable": true, 46 | "rust-analyzer.procMacro.enable": true, 47 | "rust-analyzer.diagnostics.disabled": [ 48 | "macro-error", 49 | "unresolved-proc-macro" 50 | ], 51 | "rust-analyzer.lens.enable": true, 52 | 53 | "clangd.fallbackFlags": [ 54 | "-x", "c" 55 | ], 56 | 57 | "list.maxHeight": 10, 58 | "list.autoResize": false, 59 | "list.extendedSearchMode": false, 60 | 61 | "suggest.maxCompleteItemCount": 32 62 | } 63 | -------------------------------------------------------------------------------- /.config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | set runtimepath^=~/.vim runtimepath+=~/.vim/after 2 | let &packpath=&runtimepath 3 | source ~/.vimrc 4 | source ~/.vimrc.lua 5 | -------------------------------------------------------------------------------- /.config/pulse/daemon.conf: -------------------------------------------------------------------------------- 1 | ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for 2 | ## more information. Default values are commented out. Use either ; or # for 3 | ## commenting. 4 | 5 | nice-level = -13 6 | resample-method = soxr-vhq 7 | avoid-resampling = true 8 | rlimit-rtprio = 9 9 | default-sample-format = s24le 10 | default-sample-rate = 192000 11 | alternate-sample-rate = 44100 12 | default-sample-channels = 2 13 | default-channel-map = front-left,front-right 14 | default-fragments = 2 15 | default-fragment-size-msec = 20 16 | -------------------------------------------------------------------------------- /.config/rofi/config.rasi: -------------------------------------------------------------------------------- 1 | configuration { 2 | font: "monospace 14"; 3 | timeout { 4 | action: "kb-cancel"; 5 | delay: 0; 6 | } 7 | filebrowser { 8 | directories-first: true; 9 | sorting-method: "name"; 10 | } 11 | } 12 | 13 | @theme "theme" 14 | -------------------------------------------------------------------------------- /.config/rofi/theme.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | foreground: white; 3 | background: rgba(0, 0, 0, 100%); 4 | red: #B03060; 5 | lightfg: white; 6 | separatorcolor: var(foreground); 7 | lightbg: #333333; 8 | background-color: rgba(0, 0, 0, 0%); 9 | border-color: aquamarine; 10 | normal-background: var(background); 11 | spacing: 2; 12 | urgent-foreground: var(background); 13 | urgent-background: var(red); 14 | active-foreground: white; 15 | active-background: var(background); 16 | selected-urgent-background: aquamarine; 17 | selected-active-foreground: var(background); 18 | selected-active-background: aquamarine; 19 | selected-normal-foreground: var(background); 20 | selected-normal-background: aquamarine; 21 | selected-urgent-foreground: var(background); 22 | normal-foreground: var(foreground); 23 | } 24 | element { 25 | padding: 8px 12px; 26 | cursor: pointer; 27 | spacing: 0px; 28 | border: 0; 29 | } 30 | element normal.normal { 31 | background-color: var(normal-background); 32 | text-color: var(normal-foreground); 33 | } 34 | element normal.urgent { 35 | background-color: var(urgent-background); 36 | text-color: var(urgent-foreground); 37 | } 38 | element normal.active { 39 | background-color: var(active-background); 40 | text-color: var(active-foreground); 41 | } 42 | element selected.normal { 43 | background-color: var(selected-normal-background); 44 | text-color: var(selected-normal-foreground); 45 | } 46 | element selected.urgent { 47 | background-color: var(selected-urgent-background); 48 | text-color: var(selected-urgent-foreground); 49 | } 50 | element selected.active { 51 | background-color: var(selected-active-background); 52 | text-color: var(selected-active-foreground); 53 | } 54 | element alternate.normal { 55 | background-color: var(normal-background); 56 | text-color: var(normal-foreground); 57 | } 58 | element alternate.urgent { 59 | background-color: var(urgent-background); 60 | text-color: var(urgent-foreground); 61 | } 62 | element alternate.active { 63 | background-color: var(active-background); 64 | text-color: var(active-foreground); 65 | } 66 | element-text { 67 | background-color: rgba(0, 0, 0, 0%); 68 | cursor: inherit; 69 | highlight: inherit; 70 | text-color: inherit; 71 | } 72 | element-icon { 73 | background-color: rgba(0, 0, 0, 0%); 74 | size: 1em; 75 | cursor: inherit; 76 | text-color: inherit; 77 | } 78 | window { 79 | padding: 0px; 80 | background-color: var(background); 81 | border: 1; 82 | } 83 | mainbox { 84 | padding: 0; 85 | border: 0; 86 | } 87 | message { 88 | padding: 1px; 89 | border-color: var(separatorcolor); 90 | border: 2px dash 0px 0px; 91 | } 92 | textbox { 93 | text-color: var(foreground); 94 | } 95 | listview { 96 | padding: 0px; 97 | scrollbar: false; 98 | border-color: #333; 99 | spacing: 2px; 100 | fixed-height: 0; 101 | border: 1px dash 0px 0px; 102 | } 103 | scrollbar { 104 | width: 4px; 105 | padding: 0; 106 | handle-width: 8px; 107 | border: 0; 108 | handle-color: var(normal-foreground); 109 | } 110 | sidebar { 111 | border-color: var(separatorcolor); 112 | border: 2px dash 0px 0px; 113 | } 114 | button { 115 | cursor: pointer; 116 | spacing: 0; 117 | text-color: var(normal-foreground); 118 | } 119 | button selected { 120 | background-color: var(selected-normal-background); 121 | text-color: var(selected-normal-foreground); 122 | } 123 | num-filtered-rows { 124 | expand: false; 125 | text-color: #777; 126 | } 127 | num-rows { 128 | expand: false; 129 | text-color: #777; 130 | } 131 | textbox-num-sep { 132 | expand: false; 133 | str: "/"; 134 | text-color: #777; 135 | } 136 | inputbar { 137 | padding: 12px 12px; 138 | spacing: 0px; 139 | text-color: var(normal-foreground); 140 | children: [prompt,textbox-prompt-colon,entry,num-filtered-rows,textbox-num-sep,num-rows,case-indicator]; 141 | } 142 | case-indicator { 143 | spacing: 0; 144 | text-color: var(normal-foreground); 145 | } 146 | entry { 147 | text-color: var(normal-foreground); 148 | cursor: text; 149 | spacing: 0; 150 | placeholder-color: rgba(128, 128, 128, 100%); 151 | placeholder: ""; 152 | } 153 | prompt { 154 | spacing: 0; 155 | text-color: #777; 156 | } 157 | textbox-prompt-colon { 158 | margin: 0px 0.3em 0.0em 0.0em; 159 | expand: false; 160 | str: ":"; 161 | text-color: #777; 162 | } 163 | -------------------------------------------------------------------------------- /.conkyrc.desktop: -------------------------------------------------------------------------------- 1 | # vim: filetype=conky 2 | 3 | conky.config = { 4 | out_to_x = false, 5 | out_to_console = true, 6 | update_interval = 1.0, 7 | total_run_times = 0, 8 | short_units = true, 9 | pad_percents = 2, 10 | use_spacer = "left" 11 | } 12 | 13 | conky.text = [[ 14 | +@fn=1;${execi 60 conky-sync-status}+@fn=0; \ 15 | +@fg=1;/+@fg=0; ${fs_free /} \ 16 | +@fg=1;/home+@fg=0; ${fs_free /home} \ 17 | +@fg=1;RAM+@fg=0; $memavail \ 18 | +@fg=1;CPU+@fg=0; ${cpu}% \ 19 | +@fg=1;↓+@fg=0; ${downspeed eno1} 20 | ]] 21 | -------------------------------------------------------------------------------- /.conkyrc.laptop: -------------------------------------------------------------------------------- 1 | conky.config = { 2 | out_to_x = false, 3 | out_to_console = true, 4 | update_interval = 1.0, 5 | total_run_times = 0, 6 | short_units = true, 7 | pad_percents = 2, 8 | use_spacer = "left" 9 | } 10 | conky.text = [[ 11 | +@fn=1;${execi 60 conky-sync-status}+@fn=0; \ 12 | +@fg=1;+@fg=0; ${wireless_essid wlan0}${wireless_link_qual_perc wlan0}% \ 13 | +@fg=1;/+@fg=0;${fs_free /} \ 14 | +@fg=1;RAM+@fg=0; $memavail \ 15 | +@fg=1;CPU+@fg=0; ${cpu}% \ 16 | ${execi 1 conky-acpi-status} 17 | ]] 18 | -------------------------------------------------------------------------------- /.dircolors: -------------------------------------------------------------------------------- 1 | 2 | TERM dvtm 3 | TERM dvtm-256color 4 | TERM rxvt 5 | TERM rxvt-256color 6 | TERM rxvt-unicode 7 | TERM rxvt-unicode256 8 | TERM rxvt-unicode-256color 9 | TERM st 10 | TERM st-256color 11 | TERM vte-256color 12 | TERM xterm-256color 13 | TERM xterm-256color 14 | TERM xterm-termite 15 | TERM xterm-kitty 16 | 17 | ## Documentation 18 | # 19 | # standard colors 20 | # 21 | # Below are the color init strings for the basic file types. A color init 22 | # string consists of one or more of the following numeric codes: 23 | # Attribute codes: 24 | # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed 25 | # Text color codes: 26 | # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white 27 | # Background color codes: 28 | # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white 29 | # 30 | # Text 256 color coding: 31 | # 38;5;COLOR_NUMBER 32 | # Background 256 color coding: 33 | # 48;5;COLOR_NUMBER 34 | 35 | ## Special files 36 | 37 | NORMAL 00;38;5;250 # no color code at all 38 | FILE 00;38;5;254 # regular file: use no color at all 39 | RESET 0 # reset to "normal" color 40 | DIR 00;38;5;255 # directory 01;34 41 | LINK 00;38;5;37 # symbolic link. (If you set this to 'target' instead of a numerical value, the color is as for the file pointed to.) 42 | MULTIHARDLINK 00 # regular file with more than one link 43 | FIFO 00 # pipe 44 | SOCK 00 # socket 45 | DOOR 00 # door 46 | BLK 00 # block device driver 47 | CHR 00 # character device driver 48 | ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file 49 | SETUID 00 # file that is setuid (u+s) 50 | SETGID 00 # file that is setgid (g+s) 51 | CAPABILITY 00 # file with capability 52 | STICKY_OTHER_WRITABLE 00 # dir that is sticky and other-writable (+t,o+w) 53 | OTHER_WRITABLE 00 # dir that is other-writable (o+w) and not sticky 54 | STICKY 00 # dir with the sticky bit set (+t) and not other-writable 55 | EXEC 00;32;5;64 # This is for files with execute permission: 56 | 57 | ## Archives or compressed (violet + bold for compression) 58 | # 59 | .tar 00;35 60 | .tgz 00;35 61 | .lzh 00;35 62 | .lzma 00;35 63 | .tlz 00;35 64 | .txz 00;35 65 | .zip 00;35 66 | .z 00;35 67 | .Z 00;35 68 | .dz 00;35 69 | .gz 00;35 70 | .lz 00;35 71 | .xz 00;35 72 | .bz2 00;35 73 | .bz 00;35 74 | .tbz 00;35 75 | .tbz2 00;35 76 | .tz 00;35 77 | .deb 00;35 78 | .jar 00;35 79 | .rar 00;35 80 | .7z 00;35 81 | .rz 00;35 82 | .apk 00;35 83 | .gem 00;35 84 | .pdf 00;35 85 | 86 | # Image formats (yellow) 87 | .jpg 00;36;5;136 88 | .jpeg 00;36;5;136 89 | .gif 00;36;5;136 90 | .bmp 00;36;5;136 91 | .ppm 00;36;5;136 92 | .tga 00;36;5;136 93 | .tif 00;36;5;136 94 | .tiff 00;36;5;136 95 | .png 00;36;5;136 96 | .svg 00;36;5;136 97 | .svgz 00;36;5;136 98 | .xcf 00;36;5;136 99 | .xwd 00;36;5;136 100 | .yuv 00;36;5;136 101 | .eps 00;36;5;136 102 | .ico 00;36;5;136 103 | 104 | # "unimportant" files as logs and backups (base01) 105 | .log 00;38;5;240 106 | .bak 00;38;5;240 107 | .aux 00;38;5;240 108 | .lof 00;38;5;240 109 | .lol 00;38;5;240 110 | .lot 00;38;5;240 111 | .out 00;38;5;240 112 | .toc 00;38;5;240 113 | .bbl 00;38;5;240 114 | .blg 00;38;5;240 115 | *~ 00;38;5;240 116 | *# 00;38;5;240 117 | .part 00;38;5;240 118 | .incomplete 00;38;5;240 119 | .swp 00;38;5;240 120 | .tmp 00;38;5;240 121 | .temp 00;38;5;240 122 | .o 00;38;5;240 123 | .pyc 00;38;5;240 124 | .class 00;38;5;240 125 | .cache 00;38;5;240 126 | 127 | # Audio formats (orange) 128 | .aac 00;33;5;166 129 | .flac 00;33;5;166 130 | .mid 00;33;5;166 131 | .midi 00;33;5;166 132 | .mka 00;33;5;166 133 | .mp3 00;33;5;166 134 | .mpc 00;33;5;166 135 | .ogg 00;33;5;166 136 | .opus 00;33;5;166 137 | .ra 00;33;5;166 138 | .wav 00;33;5;166 139 | .m4a 00;33;5;166 140 | 141 | # Video formats (as audio + bold) 142 | .mov 00;33;5;166 143 | .mpg 00;33;5;166 144 | .mpeg 00;33;5;166 145 | .m2v 00;33;5;166 146 | .mkv 00;33;5;166 147 | .ogm 00;33;5;166 148 | .mp4 00;33;5;166 149 | .m4v 00;33;5;166 150 | .mp4v 00;33;5;166 151 | .vob 00;33;5;166 152 | .qt 00;33;5;166 153 | .nuv 00;33;5;166 154 | .wmv 00;33;5;166 155 | .asf 00;33;5;166 156 | .rm 00;33;5;166 157 | .rmvb 00;33;5;166 158 | .flc 00;33;5;166 159 | .avi 00;33;5;166 160 | .fli 00;33;5;166 161 | .flv 00;33;5;166 162 | .gl 00;33;5;166 163 | .m2ts 00;33;5;166 164 | .divx 00;33;5;166 165 | .webm 00;33;5;166 166 | 167 | 168 | -------------------------------------------------------------------------------- /.fehbg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if command -v feh >/dev/null 2>&1; then 3 | if [ -f "~/images/background" ]; then 4 | feh --force-aliasing --no-fehbg --bg-fill "~/images/background" 5 | fi 6 | fi 7 | -------------------------------------------------------------------------------- /.fzy.zsh: -------------------------------------------------------------------------------- 1 | # 2 | # fzy shell integration 3 | # 4 | # Adapted from fzf (https://github.com/junegunn/fzf). 5 | # 6 | # Copyright (c) 2016 Junegunn Choi 7 | # Copyright (c) 2016 Alexis Sellier 8 | # 9 | if [[ $- != *i* ]]; then 10 | return 11 | fi 12 | 13 | __fzy_fsel () { 14 | setopt localoptions pipefail 2> /dev/null 15 | command rg --files -u . * | fzy | while read -r item; do 16 | echo -n "${(q)item}" 17 | done 18 | local ret=$? 19 | echo 20 | return $ret 21 | } 22 | 23 | fzy-file-widget () { 24 | LBUFFER="${LBUFFER}$(__fzy_fsel)" 25 | local ret=$? 26 | zle redisplay 27 | if [[ $ret == 0 ]]; then 28 | zle accept-line "$LBUFFER" 29 | ret=$? 30 | fi 31 | typeset -f zle-line-init >/dev/null && zle zle-line-init 32 | return $ret 33 | } 34 | zle -N fzy-file-widget 35 | bindkey '^P' fzy-file-widget 36 | 37 | fzy-history-widget () { 38 | local selected num 39 | setopt localoptions noglobsubst pipefail 2> /dev/null 40 | selected=( $(fc -l -r 1 | fzy -q "${LBUFFER//$/\\$}") ) 41 | local ret=$? 42 | if [[ -n ${selected} ]]; then 43 | num=${selected[1]} 44 | if [[ -n ${num} ]]; then 45 | zle vi-fetch-history -n ${num} 46 | zle accept-line "$LBUFFER" 47 | fi 48 | fi 49 | zle redisplay 50 | typeset -f zle-line-init >/dev/null && zle zle-line-init 51 | return $ret 52 | } 53 | zle -N fzy-history-widget 54 | bindkey '^H' fzy-history-widget 55 | -------------------------------------------------------------------------------- /.ghci: -------------------------------------------------------------------------------- 1 | 2 | :set prompt "\ESC[0;34m>> \ESC[m" 3 | :set prompt-cont "\ESC[0;34m| \ESC[m" 4 | :set +m 5 | :set -fbyte-code 6 | :def hoogle \x -> pure $ ":!hoogle --color \"" ++ x ++ "\"" 7 | :def doc \x -> pure $ ":!hoogle --color --info \"" ++ x ++ "\"" 8 | :set -Wno-type-defaults 9 | :set -XOverloadedStrings 10 | :set -XDataKinds 11 | :set -XTypeApplications 12 | :set -XGADTs 13 | :set -fbyte-code 14 | 15 | import Data.Maybe 16 | import Data.Foldable 17 | import Data.Word 18 | import Control.Monad 19 | import Control.Arrow 20 | -------------------------------------------------------------------------------- /.gitconfig: -------------------------------------------------------------------------------- 1 | [include] 2 | path = .gitconfig.user 3 | 4 | [github] 5 | user = cloudhead 6 | 7 | [sendemail] 8 | annotate = yes 9 | smtpserver = smtp.gmail.com 10 | smtpencryption = tls 11 | smtpserverport = 587 12 | smtpuser = alexis@cloudhead.io 13 | 14 | [color] 15 | branch = auto 16 | diff = auto 17 | status = auto 18 | 19 | [color "branch"] 20 | current = yellow reverse 21 | local = yellow 22 | remote = green 23 | 24 | [color "diff"] 25 | meta = yellow 26 | frag = magenta 27 | old = brightred 28 | oldMoved = red 29 | oldMovedAlternative = red 30 | newMoved = green 31 | newMovedAlternative = green 32 | new = brightgreen 33 | 34 | [color "status"] 35 | added = yellow 36 | changed = green 37 | untracked = cyan 38 | 39 | [core] 40 | excludesfile = /home/cloudhead/.gitignore 41 | editor = /usr/bin/nvim 42 | pager = less -F -X 43 | 44 | [push] 45 | autoSetupRemote = true 46 | 47 | [alias] 48 | b = branch -v 49 | c = commit -v 50 | s = status -sb 51 | r = rebase 52 | re = rebase 53 | st = status 54 | co = checkout 55 | d = diff --word-diff=color 56 | l = log --stat 57 | ll = log -p 58 | lol = log --graph --decorate --pretty=oneline --abbrev-commit 59 | lola = log --graph --decorate --pretty=oneline --abbrev-commit --all 60 | hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short 61 | delete-merged = branch --merged | xargs git branch -d 62 | open-patch = push rad HEAD:refs/patches 63 | changes = log -c --reverse 64 | sl = stash list --format='%gd (%cr): %gs' 65 | lg = "!f() { \ 66 | git log --all --color --graph --pretty=format:'%C(bold yellow)%G?%C(reset) %C(red)%h%C(reset) -%C(yellow)%d%C(reset) %s %C(green)(%cr) %C(blue)<%an>%C(reset)' | \ 67 | sed \ 68 | -e 's#G#Good#' \ 69 | -e 's#B#\\nBAD \\nBAD \\nBAD \\nBAD \\nBAD#' \ 70 | -e 's#U#Unknown#' \ 71 | -e 's#X#Expired#' \ 72 | -e 's#Y#Expired Key#' \ 73 | -e 's#R#Revoked#' \ 74 | -e 's#E#Missing Key#' \ 75 | -e 's#N#None#' | \ 76 | less -r; \ 77 | }; f" 78 | 79 | [gpg] 80 | format = ssh 81 | 82 | [gpg.ssh] 83 | program = ssh-keygen 84 | allowedSignersFile = .gitsigners 85 | 86 | [commit] 87 | gpgsign = true 88 | 89 | [pull] 90 | ff = only 91 | rebase = true 92 | 93 | [init] 94 | defaultBranch = master 95 | 96 | [rerere] 97 | enabled = 1 98 | 99 | [diff] 100 | colorMoved = dimmed-zebra 101 | colorMovedWs = allow-indentation-change 102 | 103 | [fetch] 104 | prune = true 105 | -------------------------------------------------------------------------------- /.gitsigners: -------------------------------------------------------------------------------- 1 | cloudhead.eth ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrvO/Q9/5eGYPWlj0ygyzismMbJ3P2ZbzN/HcVCrpPD 2 | cloudhead.eth ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL460KIEccS4881p7PPpiiQBsxF+H5tgC6De6crw9rbU 3 | sofia@private.invalid ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE74/gZ3JihCrl7MIAo7FlK6ZOuvgUNl6zpSNNUm8/lF 4 | -------------------------------------------------------------------------------- /.gnupg/gpg-agent.conf: -------------------------------------------------------------------------------- 1 | pinentry-program /usr/bin/pinentry-curses 2 | pinentry-timeout 3600 3 | default-cache-ttl 3600 4 | no-allow-external-cache 5 | -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | *.mo 2 | *.po 3 | *.pot 4 | *.in 5 | *.o 6 | *.so 7 | dist/ 8 | dist-newstyle/ 9 | .stack/ 10 | .git/ 11 | .stack-work/ 12 | .cabal/ 13 | .cache/ 14 | .local/ 15 | .steam/ 16 | .ghc/ 17 | cabal.project.local 18 | -------------------------------------------------------------------------------- /.local/share/fonts/Inconsolata-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudhead/dotfiles/1879b4bfe509139565253f1ca1c4051c9b30e640/.local/share/fonts/Inconsolata-Bold.ttf -------------------------------------------------------------------------------- /.local/share/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudhead/dotfiles/1879b4bfe509139565253f1ca1c4051c9b30e640/.local/share/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /.profile: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if command -v keychain >/dev/null; then 4 | eval $(keychain --eval --agents ssh -Q --quiet ~/.ssh/id_rsa ~/.radicle/keys/radicle) 5 | fi 6 | 7 | export PATH=~/bin:~/.local/bin:~/.yarn/bin:~/.gcloud/bin:~/.cabal/bin:~/.radicle/bin:~/.cargo/bin:~/.gem/ruby/2.6.0/bin:~/.npm-packages/bin:$PATH 8 | export PATH=$PATH:~/.foundry/bin 9 | export PATH=$PATH:~/.local/share/gem/ruby/3.0.0/bin 10 | export NODE_PATH=/usr/lib/node_modules 11 | export EDITOR=nvim 12 | export VISUAL=nvim 13 | export MOZ_USE_XINPUT2=1 # Pixel scrolling in Firefox 14 | export RIPGREP_CONFIG_PATH=$HOME/.rgrc 15 | export NNN_FIFO=/tmp/nnn.fifo 16 | export CARGO_BUILD_JOBS=12 17 | 18 | if [ -e ~/.nix-profile/etc/profile.d/nix.sh ]; then 19 | . ~/.nix-profile/etc/profile.d/nix.sh; 20 | fi # added by Nix installer 21 | 22 | export LD_LIBRARY_PATH="/opt/cuda/lib64:$LD_LIBRARY_PATH" 23 | -------------------------------------------------------------------------------- /.rgrc: -------------------------------------------------------------------------------- 1 | --colors=line:fg:yellow 2 | --colors=line:style:bold 3 | --colors=path:fg:green 4 | --colors=path:style:bold 5 | --colors=match:fg:black 6 | --colors=match:bg:yellow 7 | --colors=match:style:nobold 8 | -------------------------------------------------------------------------------- /.spectrwm.conf: -------------------------------------------------------------------------------- 1 | # 2 | # spectrwm configuration file 3 | # 4 | 5 | layout_order = vertical,horizontal,max 6 | 7 | color_focus = rgb:66/ff/cc 8 | color_focus_maximized = rgb:00/00/00 9 | color_unfocus = rgb:33/33/33 10 | 11 | # BAR 12 | 13 | bar_border_width = 8 14 | bar_border[1] = rgb:00/00/00 15 | bar_color[1] = rgb:00/00/00, rgb:b0/30/60 16 | bar_border_unfocus[1] = rgb:00/00/00 17 | bar_font_color[1] = rgb:bb/bb/bb, rgb:66/66/66, rgb:33/33/33, rgb:b0/30/60, rgb:66/ff/cc, rgb:00/00/00 18 | bar_font = monospace:size=10,fallback:size=10 19 | bar_action = spectrwm-status 20 | bar_delay = 1 21 | bar_action_expand = 1 22 | bar_justify = left 23 | bar_format = +L+@fg=1; +@fg=3;+W +@fg=1;+|R +A +@fg=0;%b %d %H:%M+< 24 | bar_at_bottom = 1 25 | clock_enabled = 0 26 | 27 | # WORKSPACES 28 | 29 | workspace_indicator = listall,markurgent,markactive,markcurrent,markempty,printnames 30 | workspace_mark_active = '+@bg=0;+@fg=1; ' 31 | workspace_mark_current = '+@bg=0;+@fg=0; ' 32 | workspace_mark_empty = '+@bg=0;+@fg=2; ' 33 | workspace_mark_urgent = '+@bg=1;+@fg=5; ' 34 | 35 | # AUTORUN 36 | 37 | autorun = ws[1]:kitty 38 | 39 | # PROGRAMS 40 | 41 | program[lock] = xsecurelock 42 | program[term] = kitty 43 | program[menu] = rofi -show run 44 | program[switch] = rofi -show window 45 | 46 | # BINDINGS 47 | 48 | bind[switch] = MOD+o 49 | bind[menu] = MOD+p 50 | bind[wind_kill] = MOD+Shift+c 51 | bind[ws_prior] = MOD+Tab 52 | -------------------------------------------------------------------------------- /.vim/after/syntax/c.vim: -------------------------------------------------------------------------------- 1 | " 2 | " Additional highlighting for often used C types 3 | " 4 | syn match cType `\<[a-z0-9_]\+_t\>` 5 | syn keyword cType i8 u8 i16 u16 i32 u32 i64 u64 f32 f64 usize isize 6 | -------------------------------------------------------------------------------- /.vim/after/syntax/rst.vim: -------------------------------------------------------------------------------- 1 | "============================================= 2 | " Name: rst.vim 3 | " File: after/syntax/rst.vim 4 | " Author: Rykka G.F 5 | " Summary: syntax file with options. 6 | " Update: 2014-08-14 7 | "============================================= 8 | let s:cpo_save = &cpo 9 | set cpo-=C 10 | 11 | syn sync match rstHighlight groupthere NONE #^\_s\@!# 12 | 13 | " Link "{{{1 14 | fun! s:def_inline_char(name, start, end, char_left, char_right) "{{{ 15 | exe 'syn match rst'.a:name 16 | \ '+'.a:char_left.'\zs'.a:start.'\ze[^[:space:]' 17 | \.a:char_right.a:start[strlen(a:start)-1].'][^' 18 | \.a:start[strlen(a:start)-1] 19 | \.'\\]*'.a:end.'\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+' 20 | endfun "}}} 21 | 22 | syn match rstDefinitionList `\v^(\s*)\h[^:]*\ze%(\s:\s.*)*\n\1\s+\S` 23 | syn match rstBulletList `\v^\s*[-*+]\ze\s+` 24 | syn match rstEnumeratedList `\v\c^\s*%(\d+|[#a-z]|[imlcxvd]+)[.)]\ze\s+` 25 | syn match rstEnumeratedList `\v\c^\s*\(%(\d+|[#a-z]|[imlcxvd]+)\)\ze\s+` 26 | syn match rstOptionList `\v^\s*%(-\w%( \w+)=|--[[:alnum:]_-]+%(\=\w+)=|/\u)%(, %(-\w%( \w+)=|--[[:alnum:]_.-]+%(\=\w+)=|/\u))*%( |\t)\ze\s*\S` 27 | syn match rstFieldList `\v^\s*:[^:[:space:]][^:]+:\_s` 28 | syn match rstRoles `\v\s:\zs\w+\ze:\`` 29 | syn match rstBibliographicField `\v^\s*:(Author|Authors|Organization|Contact|Address|Version|Status|Date|Copyright|Dedication|Abstract):\_s` 30 | 31 | syn match rstBlockQuoteAttr `\v%(\_^\s*\n)@<=\s+---=\s.*` 32 | 33 | syn match rstCommentTitle '\v(^\s+|(^\.\.\s+)@<=):=\u\w*(\s+\u\w*)*:' contained 34 | syn cluster rstCommentGroup contains=rstCommentTitle,rstTodo 35 | 36 | hi def link rstTodoItem Include 37 | hi def link rstTodoPrior Include 38 | hi def link rstTodoTmBgn Number 39 | hi def link rstTodoTmEnd Number 40 | hi def link rstDoneRegion Comment 41 | 42 | hi link rstStandaloneHyperlink Underlined 43 | hi link rstFootnoteReference Underlined 44 | hi link rstCitationReference Underlined 45 | hi link rstHyperLinkReference Underlined 46 | hi link rstInlineInternalTargets Keyword 47 | hi link rstPhaseHyperLinkReference Underlined 48 | 49 | hi def link rstBulletList Function 50 | hi def link rstEnumeratedList Function 51 | hi def link rstDefinitionList Statement 52 | hi def link rstFieldList Function 53 | hi def link rstBibliographicField Constant 54 | hi def link rstOptionList Statement 55 | hi def link rstRoles Operator 56 | 57 | hi def link rstBlockQuoteAttr Exception 58 | hi def link rstCommentTitle SpecialComment 59 | 60 | 61 | let &cpo = s:cpo_save 62 | unlet s:cpo_save 63 | -------------------------------------------------------------------------------- /.vim/after/syntax/solidity.vim: -------------------------------------------------------------------------------- 1 | syn match solKeyword /\(msg\.\)\@<=\(sender\|value\)/ 2 | syn keyword solKeyword override immutable calldata 3 | syn match solNumber /\<\d[_0-9]\+\([eE]\d\+\)\?\>/ 4 | -------------------------------------------------------------------------------- /.vim/after/syntax/sql.vim: -------------------------------------------------------------------------------- 1 | " 2 | " Additional highlighting for SQL. 3 | " 4 | syn match sqlOperator "references" 5 | syn match sqlOperator "strict" 6 | syn match sqlSpecial "primary" 7 | syn match sqlSpecial "key" 8 | syn match sqlType "text" 9 | -------------------------------------------------------------------------------- /.vim/ftplugin/markdown.vim: -------------------------------------------------------------------------------- 1 | setlocal autoindent 2 | setlocal linebreak 3 | setlocal nonumber 4 | setlocal shiftwidth=4 5 | setlocal tabstop=4 6 | setlocal wrap 7 | -------------------------------------------------------------------------------- /.vim/ftplugin/tex.vim: -------------------------------------------------------------------------------- 1 | setlocal autoindent 2 | setlocal linebreak 3 | setlocal nonumber 4 | setlocal shiftwidth=4 5 | setlocal tabstop=4 6 | setlocal wrap 7 | -------------------------------------------------------------------------------- /.vim/spell/en.utf-8.add: -------------------------------------------------------------------------------- 1 | blockchain 2 | cfheader 3 | Bitcoin 4 | BIP 5 | P2P 6 | eg 7 | Init 8 | Bitcoinj 9 | nakamoto 10 | Sellier 11 | blockchains 12 | Ethereum 13 | auditability 14 | Radicle 15 | BnB 16 | Rebase 17 | linter 18 | Nakamoto's 19 | mempool 20 | whitelist 21 | orgs 22 | monorepo 23 | JSON 24 | TXT 25 | SSH's 26 | DEVLOG 27 | DCO 28 | architecting 29 | whitespace 30 | watchlist 31 | utxo 32 | UTXOs 33 | chan 34 | radicle 35 | IDX 36 | WalletConnect 37 | rx 38 | WebSocket 39 | RPC 40 | Infura 41 | Dockerized 42 | dxdao 43 | GPG 44 | ie 45 | sshd 46 | config 47 | GCP 48 | NFT 49 | COBs 50 | subgraph 51 | api 52 | URNs 53 | Hostname 54 | Multisig 55 | backend 56 | RESTful 57 | Gitea 58 | GitLab 59 | userbase 60 | auth 61 | timestamp 62 | cloudhead 63 | neovim 64 | popol 65 | PoW 66 | ASIC 67 | hashrate 68 | macOS 69 | Homebrew 70 | filetype 71 | txt 72 | SHA256 73 | TOML 74 | Ed25519 75 | Web3 76 | p2p 77 | CRDT 78 | Automerge 79 | Scuttlebut 80 | DHTs 81 | DHT 82 | evicition 83 | Untracking 84 | permissionless 85 | Merkle 86 | merkle 87 | SPV 88 | whoami 89 | TUI 90 | WIP 91 | RIPs 92 | verifiably 93 | SHA 94 | DIDs 95 | IPC 96 | DoS 97 | untrack 98 | Incentivization 99 | namespaced 100 | CC0 101 | canonicity 102 | Bloomy 103 | SipHash 104 | hashers 105 | roadmap 106 | keystore 107 | PRs 108 | httpd 109 | cli 110 | CRDTs 111 | Lamport 112 | sybil 113 | XK 114 | IPFS 115 | Twemojis 116 | Redactable 117 | SOCKS5 118 | Dockerfiles 119 | namespacing 120 | quickcheck 121 | QuickCheck 122 | Crypto 123 | ODB 124 | NID 125 | refspecs 126 | refspec 127 | gitremote 128 | DWIM 129 | Altintop 130 | cryogenically 131 | Firewatch 132 | Ecco 133 | Metroid 134 | NPCs 135 | Minecraft 136 | Yume 137 | Undertale 138 | Moondust 139 | playthroughs 140 | Dinn 141 | Obra 142 | Pathologic 143 | Mundaun 144 | ala 145 | Dota 146 | Warcraft 147 | Gunnm 148 | terrestrian 149 | metroid 150 | Chozos 151 | Obluda 152 | Farcasters 153 | Labyrinthian 154 | Langoliers 155 | artilect 156 | Artilects 157 | AGIs 158 | ASIs 159 | AWIs 160 | ASI 161 | Quaternity 162 | AGI 163 | platformer 164 | Ico 165 | Oddworld 166 | Cinematics 167 | Terraria 168 | replayability 169 | NPC 170 | -------------------------------------------------------------------------------- /.vim/syntax/cabal.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Haskell Cabal Build file 3 | " Maintainer: Vincent Berthoux 4 | " File Types: .cabal 5 | " v1.4: Add benchmark support, thanks to Simon Meier 6 | " v1.3: Updated to the last version of cabal 7 | " Added more highlighting for cabal function, true/false 8 | " and version number. Also added missing comment highlighting. 9 | " Cabal known compiler are highlighted too. 10 | " 11 | " V1.2: Added cpp-options which was missing. Feature implemented 12 | " by GHC, found with a GHC warning, but undocumented. 13 | " Whatever... 14 | " 15 | " v1.1: Fixed operator problems and added ftdetect file 16 | " (thanks to Sebastian Schwarz) 17 | " 18 | " v1.0: Cabal syntax in vimball format 19 | " (thanks to Magnus Therning) 20 | 21 | " For version 5.x: Clear all syntax items 22 | " For version 6.x: Quit when a syntax file was already loaded 23 | if version < 600 24 | syntax clear 25 | elseif exists("b:current_syntax") 26 | finish 27 | endif 28 | 29 | syn match cabalCategory "\c\" 30 | syn match cabalCategory "\c\" 31 | syn match cabalCategory "\c\" 32 | syn match cabalCategory "\c\" 33 | syn match cabalCategory "\c\" 34 | syn match cabalCategory "\c\" 35 | 36 | syn keyword cabalConditional if else 37 | syn match cabalOperator "&&\|||\|!\|==\|>=\|<=" 38 | syn keyword cabalFunction os arche impl flag 39 | syn match cabalComment /--.*$/ 40 | syn match cabalVersion "\d\+\(\.\(\d\)\+\)\+\(\.\*\)\?" 41 | 42 | syn match cabalTruth "\c\" 43 | syn match cabalTruth "\c\" 44 | 45 | syn match cabalCompiler "\c\" 46 | syn match cabalCompiler "\c\" 47 | syn match cabalCompiler "\c\" 48 | syn match cabalCompiler "\c\" 49 | syn match cabalCompiler "\c\" 50 | syn match cabalCompiler "\c\" 51 | syn match cabalCompiler "\c\" 52 | syn match cabalCompiler "\c\" 53 | 54 | syn match cabalStatement /^\c\s*\= 508 || !exists("did_cabal_syn_inits") 117 | if version < 508 118 | let did_cabal_syn_inits = 1 119 | command -nargs=+ HiLink hi link 120 | else 121 | command -nargs=+ HiLink hi def link 122 | endif 123 | 124 | HiLink cabalVersion Number 125 | HiLink cabalTruth Boolean 126 | HiLink cabalComment Comment 127 | HiLink cabalStatement Statement 128 | HiLink cabalCategory Type 129 | HiLink cabalFunction Function 130 | HiLink cabalConditional Conditional 131 | HiLink cabalOperator Operator 132 | HiLink cabalCompiler Constant 133 | delcommand HiLink 134 | endif 135 | 136 | let b:current_syntax = "cabal" 137 | 138 | " vim: ts=8 139 | -------------------------------------------------------------------------------- /.vim/syntax/fuzzy.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Fuzzy buffer 3 | " Maintainer: Alexis Sellier 4 | " File Types: .fuzzy 5 | " 6 | syntax match fuzzyTodo '\ 19 | " Last Change: 2010 Feb 21 20 | " Original Author: John Williams 21 | " 22 | " Thanks to Ryan Crumley for suggestions and John Meacham for 23 | " pointing out bugs. Also thanks to Ian Lynagh and Donald Bruce Stewart 24 | " for providing the inspiration for the inclusion of the handling 25 | " of C preprocessor directives, and for pointing out a bug in the 26 | " end-of-line comment handling. 27 | " 28 | " Options-assign a value to these variables to turn the option on: 29 | " 30 | " hs_allow_hash_operator - Don't highlight seemingly incorrect C 31 | " preprocessor directives but assume them to be 32 | " operators 33 | " 34 | 35 | if exists("b:current_syntax") 36 | finish 37 | endif 38 | 39 | "syntax sync fromstart "mmhhhh.... is this really ok to do so? 40 | syntax sync linebreaks=15 minlines=50 maxlines=500 41 | 42 | syn match hsSpecialChar contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)" 43 | syn match hsSpecialChar contained "\\\(NUL\|SOH\|STX\|ETX\|EOT\|ENQ\|ACK\|BEL\|BS\|HT\|LF\|VT\|FF\|CR\|SO\|SI\|DLE\|DC1\|DC2\|DC3\|DC4\|NAK\|SYN\|ETB\|CAN\|EM\|SUB\|ESC\|FS\|GS\|RS\|US\|SP\|DEL\)" 44 | syn match hsSpecialCharError contained "\\&\|'''\+" 45 | sy region hsString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=hsSpecialChar,@Spell 46 | sy match hsCharacter "[^a-zA-Z0-9_']'\([^\\]\|\\[^']\+\|\\'\)'"lc=1 contains=hsSpecialChar,hsSpecialCharError 47 | sy match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hsSpecialCharError 48 | sy match hsOpFunctionName "(\(\W\&[^(),\"]\)\+)" contained 49 | sy match hsHlFunctionName "[a-z_]\(\S\&[^,\(\)\[\]]\)*" contained 50 | 51 | 52 | 53 | " (Qualified) identifiers (no default highlighting) 54 | syn match ConId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[A-Z][a-zA-Z0-9_']*\>" 55 | syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[a-z][a-zA-Z0-9_']*\>" 56 | 57 | " Infix operators--most punctuation characters and any (qualified) identifier 58 | " enclosed in `backquotes`. An operator starting with : is a constructor, 59 | " others are variables (e.g. functions). 60 | syn match hsVarSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[-!#$%&\*\+/<=>\?@\\^|~.][-!#$%&\*\+/<=>\?@\\^|~:.]*" 61 | syn match hsConSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./<=>\?@\\^|~:]*" 62 | syn match hsVarSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']*`" 63 | syn match hsConSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']*`" 64 | 65 | " Reserved symbols--cannot be overloaded. 66 | syn match hsDelimiter "(\|)\|\[\|\]\|,\|;\|_\|{\|}" 67 | 68 | sy region hsInnerParen start="(" end=")" contained contains=hsInnerParen,hsConSym,hsType,hsVarSym 69 | 70 | sy keyword hsStructure data family class where instance default deriving 71 | sy keyword hsTypedef type newtype 72 | sy keyword hsPattern pattern 73 | 74 | sy keyword hsInfix infix infixl infixr 75 | sy keyword hsStatement do case of let in 76 | sy keyword hsConditional if then else 77 | 78 | " Primitive types from the standard prelude and libraries. 79 | sy match hsType "\<[A-Z]\(\S\&[^,.{}]\)*\>" 80 | sy match hsType "()" 81 | 82 | syn keyword hsBoolean True False 83 | 84 | syn region hsPackageString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial contained 85 | sy match hsModuleName excludenl "\([A-Z]\w*\.\?\)*" contained 86 | 87 | sy match hsImport "\\s\+\(qualified\s\+\)\?\(\<\(\w\|\.\)*\>\)\s*\(()\)\?" 88 | \ contains=hsModuleName,hsImportLabel 89 | \ nextgroup=hsImportParams,hsImportIllegal skipwhite 90 | sy keyword hsImportLabel import qualified contained 91 | 92 | sy match hsImportIllegal "\w\+" contained 93 | 94 | sy keyword hsAsLabel as contained 95 | sy keyword hsHidingLabel hiding contained 96 | 97 | sy match hsImportParams "as\s\+\(\w\+\)" contained 98 | \ contains=hsModuleName,hsAsLabel 99 | \ nextgroup=hsImportParams,hsImportIllegal skipwhite 100 | sy match hsImportParams "hiding" contained 101 | \ contains=hsHidingLabel 102 | \ nextgroup=hsImportParams,hsImportIllegal skipwhite 103 | sy region hsImportParams start="(" end=")" contained 104 | \ contains=hsBlockComment,hsLineComment, hsType,hsDelimTypeExport,hsHlFunctionName,hsOpFunctionName 105 | \ nextgroup=hsImportIllegal skipwhite 106 | 107 | " new module highlighting 108 | syn region hsDelimTypeExport start="\<[A-Z]\(\S\&[^,.]\)*\>(" end=")" contained 109 | \ contains=hsType 110 | 111 | sy keyword hsExportModuleLabel module contained 112 | sy match hsExportModule "\\(\s\|\t\|\n\)*\([A-Z]\w*\.\?\)*" contained contains=hsExportModuleLabel,hsModuleName 113 | 114 | sy keyword hsModuleStartLabel module contained 115 | sy keyword hsModuleWhereLabel where contained 116 | 117 | syn match hsModuleStart "^module\(\s\|\n\)*\(\<\(\w\|\.\)*\>\)\(\s\|\n\)*" 118 | \ contains=hsModuleStartLabel,hsModuleName 119 | \ nextgroup=hsModuleCommentA,hsModuleExports,hsModuleWhereLabel 120 | 121 | syn region hsModuleCommentA start="{-" end="-}" 122 | \ contains=hsModuleCommentA,hsCommentTodo,@Spell contained 123 | \ nextgroup=hsModuleCommentA,hsModuleExports,hsModuleWhereLabel skipwhite skipnl 124 | 125 | syn match hsModuleCommentA "--.*\n" 126 | \ contains=hsCommentTodo,@Spell contained 127 | \ nextgroup=hsModuleCommentA,hsModuleExports,hsModuleWhereLabel skipwhite skipnl 128 | 129 | syn region hsModuleExports start="(" end=")" contained 130 | \ nextgroup=hsModuleCommentB,hsModuleWhereLabel skipwhite skipnl 131 | \ contains=hsBlockComment,hsLineComment,hsType,hsDelimTypeExport,hsHlFunctionName,hsOpFunctionName,hsExportModule,hsPattern 132 | 133 | syn match hsModuleCommentB "--.*\n" 134 | \ contains=hsCommentTodo,@Spell contained 135 | \ nextgroup=hsModuleCommentB,hsModuleWhereLabel skipwhite skipnl 136 | 137 | syn region hsModuleCommentB start="{-" end="-}" 138 | \ contains=hsModuleCommentB,hsCommentTodo,@Spell contained 139 | \ nextgroup=hsModuleCommentB,hsModuleWhereLabel skipwhite skipnl 140 | " end module highlighting 141 | 142 | " FFI support 143 | sy keyword hsFFIForeign foreign contained 144 | "sy keyword hsFFIImportExport import export contained 145 | sy keyword hsFFIImportExport export contained 146 | sy keyword hsFFICallConvention ccall stdcall contained 147 | sy keyword hsFFISafety safe unsafe contained 148 | sy region hsFFIString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained contains=hsSpecialChar 149 | sy match hsFFI excludenl "\\(.\&[^\"]\)*\"\(.\)*\"\(\s\|\n\)*\(.\)*::" 150 | \ keepend 151 | \ contains=hsFFIForeign,hsFFIImportExport,hsFFICallConvention,hsFFISafety,hsFFIString,hsOpFunctionName,hsHlFunctionName 152 | 153 | 154 | sy match hsNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>\|\<[0-9][0-9_]\+\>" 155 | sy match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" 156 | 157 | " Comments 158 | sy keyword hsCommentTodo TODO FIXME XXX TBD contained 159 | sy match hsLineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=hsCommentTodo,@Spell 160 | sy region hsBlockComment start="{-" end="-}" contains=hsBlockComment,hsCommentTodo,@Spell 161 | sy region hsPragma start="{-#" end="#-}" 162 | 163 | " QuasiQuotation 164 | sy region hsQQ start="\[\$" end="|\]"me=e-2 keepend contains=hsQQVarID,hsQQContent nextgroup=hsQQEnd 165 | sy region hsQQNew start="\[\(.\&[^|]\&\S\)*|" end="|\]"me=e-2 keepend contains=hsQQVarIDNew,hsQQContent nextgroup=hsQQEnd 166 | sy match hsQQContent ".*" contained 167 | sy match hsQQEnd "|\]" contained 168 | sy match hsQQVarID "\[\$\(.\&[^|]\)*|" contained 169 | sy match hsQQVarIDNew "\[\(.\&[^|]\)*|" contained 170 | 171 | " Debugging functions from the standard prelude. 172 | syn keyword hsDebug trace traceM traceShowM 173 | syn keyword hsUndefined undefined error 174 | 175 | " C Preprocessor directives. Shamelessly ripped from c.vim and trimmed 176 | " First, see whether to flag directive-like lines or not 177 | if (!exists("hs_allow_hash_operator")) 178 | syn match cError display "^\s*\(%:\|#\).*$" 179 | endif 180 | 181 | " Accept %: for # (C99) 182 | syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCommentError 183 | syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>" 184 | syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 185 | syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cCppSkip 186 | syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cCppSkip 187 | syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ 188 | syn match cIncluded display contained "<[^>]*>" 189 | syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded 190 | syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cCppOut,cCppOut2,cCppSkip,cCommentStartError 191 | syn region cDefine matchgroup=cPreCondit start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" 192 | syn region cPreProc matchgroup=cPreCondit start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend 193 | 194 | syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=cCommentStartError,cSpaceError contained 195 | syntax match cCommentError display "\*/" contained 196 | syntax match cCommentStartError display "/\*"me=e-1 contained 197 | syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial contained 198 | 199 | hi def link hsTypedef Typedef 200 | hi def link hsPattern Keyword 201 | hi def link hsVarSym hsOperator 202 | hi def link hsConSym hsOperator 203 | hi def link hsDelimiter Delimiter 204 | 205 | hi def link hsModuleStartLabel Structure 206 | hi def link hsExportModuleLabel Keyword 207 | hi def link hsModuleWhereLabel Structure 208 | hi def link hsModuleName Normal 209 | 210 | hi def link hsImportIllegal Error 211 | hi def link hsAsLabel hsImportLabel 212 | hi def link hsHidingLabel hsImportLabel 213 | hi def link hsImportLabel Include 214 | hi def link hsImportMod Include 215 | hi def link hsPackageString hsString 216 | 217 | hi def link hsOperator Operator 218 | 219 | hi def link hsInfix Keyword 220 | hi def link hsStructure Structure 221 | hi def link hsStatement Statement 222 | hi def link hsConditional Conditional 223 | 224 | hi def link hsSpecialCharError Error 225 | hi def link hsSpecialChar SpecialChar 226 | hi def link hsString String 227 | hi def link hsFFIString String 228 | hi def link hsCharacter Character 229 | hi def link hsNumber Number 230 | hi def link hsFloat Float 231 | 232 | hi def link hsLiterateComment hsComment 233 | hi def link hsBlockComment hsComment 234 | hi def link hsLineComment hsComment 235 | hi def link hsModuleCommentA hsComment 236 | hi def link hsModuleCommentB hsComment 237 | hi def link hsComment Comment 238 | hi def link hsCommentTodo Todo 239 | hi def link hsPragma SpecialComment 240 | hi def link hsBoolean Boolean 241 | 242 | hi def link hsDelimTypeExport hsType 243 | hi def link hsType Type 244 | 245 | hi def link hsDebug Debug 246 | hi def link hsUndefined Keyword 247 | 248 | hi def link cCppString hsString 249 | hi def link cCommentStart hsComment 250 | hi def link cCommentError hsError 251 | hi def link cCommentStartError hsError 252 | hi def link cInclude Include 253 | hi def link cPreProc PreProc 254 | hi def link cDefine Macro 255 | hi def link cIncluded hsString 256 | hi def link cError Error 257 | hi def link cPreCondit PreCondit 258 | hi def link cComment Comment 259 | hi def link cCppSkip cCppOut 260 | hi def link cCppOut2 cCppOut 261 | hi def link cCppOut Comment 262 | 263 | hi def link hsFFIForeign Keyword 264 | hi def link hsFFIImportExport Structure 265 | hi def link hsFFICallConvention Keyword 266 | hi def link hsFFISafety Keyword 267 | 268 | hi def link hsTHIDTopLevel Macro 269 | hi def link hsTHTopLevelName Macro 270 | 271 | hi def link hsQQVarID Keyword 272 | hi def link hsQQVarIDNew Keyword 273 | hi def link hsQQEnd Keyword 274 | hi def link hsQQContent String 275 | 276 | let b:current_syntax = "haskell" 277 | -------------------------------------------------------------------------------- /.vim/syntax/html.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: HTML (version 5) 3 | " Maintainer: Rodrigo Machado 4 | " URL: http://rm.blog.br/vim/syntax/html.vim 5 | " Last Change: 2009 Aug 19 6 | " License: Public domain 7 | " (but let me know if you like :) ) 8 | " 9 | " Note: This file just adds the new tags from HTML 5 10 | " and don't replace default html.vim syntax file 11 | " 12 | " Modified: othree 13 | " Changes: update to Draft 28 August 2010 14 | " add complete new attributes 15 | " add microdata attributes 16 | 17 | " HTML 5 tags 18 | syn keyword htmlTagName contained article aside audio canvas command 19 | syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer 20 | syn keyword htmlTagName contained header hgroup keygen mark meter menu nav output 21 | syn keyword htmlTagName contained progress time ruby rt rp section source summary time track video wbr 22 | 23 | " HTML 5 arguments 24 | " Core Attributes 25 | syn keyword htmlArg contained accesskey class contenteditable contextmenu dir 26 | syn keyword htmlArg contained draggable hidden id lang spellcheck style tabindex title 27 | " Event-handler Attributes 28 | syn keyword htmlArg contained onabort onblur oncanplay oncanplaythrough onchange 29 | syn keyword htmlArg contained onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover 30 | syn keyword htmlArg contained ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange 31 | syn keyword htmlArg contained onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata 32 | syn keyword htmlArg contained onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup 33 | syn keyword htmlArg contained onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange 34 | syn keyword htmlArg contained onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate 35 | syn keyword htmlArg contained onvolumechange onwaiting 36 | " XML Attributes 37 | syn keyword htmlArg contained xml:lang xml:space xml:base 38 | " new features 39 | " 40 | syn keyword htmlArg contained onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload 41 | syn keyword htmlArg contained onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload 42 | "