diff --git a/.config/amfora/config.toml b/.config/amfora/config.toml index aa8b5cb..e1f8b65 100644 --- a/.config/amfora/config.toml +++ b/.config/amfora/config.toml @@ -11,7 +11,7 @@ [a-general] # Press Ctrl-H to access it -home = "gemini://hyperreal.coffee" +home = "about:newtab" # Follow up to 5 Gemini redirects without prompting. # A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini. @@ -87,13 +87,13 @@ scrollbar = "auto" # Client certificates # Set domain name equal to path to client cert # "example.com" = 'mycert.crt' -"astrobotany.mozz.us" = "~/.local/share/amfora/astrobotany-cert.pem" +"bbs.geminispace.org" = "~/.config/amfora/idents/fd10177ef16eb7c13bf68cccc144e09bd7b87d885f77b6a34c0a7599582535a0.crt" [auth.keys] # Client certificate keys # Set domain name equal to path to key for the client cert above # "example.com" = 'mycert.key' -"astrobotany.mozz.us" = "~/.local/share/amfora/astrobotany-key.pem" +"bbs.geminispace.org" = "~/.config/amfora/idents/fd10177ef16eb7c13bf68cccc144e09bd7b87d885f77b6a34c0a7599582535a0.key" [keybindings] # If you have a non-US keyboard, use bind_tab1 through bind_tab0 to @@ -234,13 +234,33 @@ other = 'off' # prompt appearing, you can add no_prompt = true # [[mediatype-handlers]] -cmd = ['ristretto'] +cmd = ['eog'] types = ["image"] no_prompt = true [[mediatype-handlers]] -cmd = ['zathura'] +cmd = ['foliate'] +types = ["application/epub+zip"] +no_prompt = true + +[[mediatype-handlers]] +cmd = ['evince'] types = ["application/pdf"] +no_prompt = true + +[[mediatype-handlers]] +cmd = ['vlc', '-'] +types = ["audio", "video"] +stream = true + +[[mediatype-handlers]] +cmd = ['emacsclient'] +types = [ + "application/json", + "text/plain", +] +no_prompt = true + # # Note: Multiple handlers cannot be defined for the same full media type, but # still there needs to be an order for which handlers are used. The following diff --git a/.config/amfora/newtab.gmi b/.config/amfora/newtab.gmi index 845657b..ffe4bb3 100644 --- a/.config/amfora/newtab.gmi +++ b/.config/amfora/newtab.gmi @@ -1,10 +1,34 @@ -# Welcome to Gemini! + _____ _ _ _____ + / ____| (_) (_) / ____| +| | __ ___ _ __ ___ _ _ __ _ | (___ _ __ __ _ ___ ___ +| | |_ |/ _ \ '_ ` _ \| | '_ \| | \___ \| '_ \ / _` |/ __/ _ \ +| |__| | __/ | | | | | | | | | | ____) | |_) | (_| | (_| __/ + \_____|\___|_| |_| |_|_|_| |_|_| |_____/| .__/ \__,_|\___\___| + | | + |_| + ## Internal pages => about:bookmarks Bookmarks => about:subscriptions Subscriptions -## Geminispace +## Gemini Space => gemini://hyperreal.coffee hyperreal.coffee => gemini://makeworld.space/amfora-wiki/ Amfora Wiki => gemini://gemini.circumlunar.space/ Project Gemini + +## BBS Quicklinks +=> gemini://bbs.geminispace.org bbs.geminispace.org +=> gemini://bbs.geminispace.org/s/ascii-art?feed s/ascii-art +=> gemini://bbs.geminispace.org/s/emacs?feed s/emacs +=> gemini://bbs.geminispace.org/s/Fediverse?feed s/Fediverse +=> gemini://bbs.geminispace.org/s/Gemini?feed s/Gemini +=> gemini://bbs.geminispace.org/s/Geminispace?feed s/Geminispace +=> gemini://bbs.geminispace.org/s/homelab?feed s/homelab +=> gemini://bbs.geminispace.org/s/IPFS?feed s/IPFS +=> gemini://bbs.geminispace.org/s/IRL-Issues?feed s/IRL-Issues +=> gemini://bbs.geminispace.org/s/Lagrange?feed s/Lagrange +=> gemini://bbs.geminispace.org/s/Linux?feed s/Linux +=> gemini://bbs.geminispace.org/s/privacy?feed s/privacy +=> gemini://bbs.geminispace.org/s/retrocomputing?feed s/retrocomputing +=> gemini://bbs.geminispace.org/s/retrogaming?feed s/retrogaming diff --git a/.config/bat/themes/Catppuccin-mocha.tmTheme b/.config/bat/themes/Catppuccin-mocha.tmTheme deleted file mode 100644 index 3b9b72c..0000000 --- a/.config/bat/themes/Catppuccin-mocha.tmTheme +++ /dev/null @@ -1,959 +0,0 @@ - - - - - name - Catppuccin - settings - - - settings - - foreground - #cdd6f4 - background - #1e1e2e - caret - #bac2de - invisibles - #a6adc8 - gutterForeground - #9399b2 - gutterForegroundHighlight - #a6e3a1 - lineHighlight - #585b70 - selection - #6c7086 - selectionBorder - #1e1e2e - activeGuide - #fab387 - findHighlightForeground - #181825 - findHighlight - #f9e2af - bracketsForeground - #9399b2 - bracketContentsForeground - #9399b2 - - - - name - Comment - scope - comment - settings - - foreground - #6c7086 - fontStyle - italic - - - - name - String - scope - string - settings - - foreground - #a6e3a1 - fontStyle - - - - - name - String regex - scope - string.regexp - settings - - foreground - #fab387 - fontStyle - - - - - name - Number - scope - constant.numeric - settings - - foreground - #fab387 - fontStyle - - - - - name - Boolean - scope - constant.language.boolean - settings - - foreground - #fab387 - fontStyle - bold italic - - - - name - Built-in constant - scope - constant.language - settings - - foreground - #b4befe - fontStyle - italic - - - - name - Built-in function - scope - support.function.builtin - settings - - foreground - #fab387 - fontStyle - italic - - - - name - User-defined constant - scope - variable.other.constant - settings - - foreground - #fab387 - fontStyle - - - - - name - Variable - scope - variable - settings - - - - name - Keyword - scope - keyword - settings - - foreground - #f38ba8 - fontStyle - italic - - - - name - Conditional/loop - scope - keyword.control.loop, keyword.control.conditional, keyword.control.c++ - settings - - foreground - #cba6f7 - fontStyle - bold - - - - name - Return - scope - keyword.control.return, keyword.control.flow.return - settings - - foreground - #f5c2e7 - fontStyle - bold - - - - name - Exception - scope - support.type.exception - settings - - foreground - #fab387 - fontStyle - italic - - - - name - Operator - scope - keyword.operator, punctuation.accessor - settings - - foreground - #89dceb - fontStyle - bold - - - - name - Punctuation separator - scope - punctuation.separator - settings - - foreground - #94e2d5 - fontStyle - - - - - name - Punctuation terminator - scope - punctuation.terminator - settings - - foreground - #94e2d5 - fontStyle - - - - - name - Punctuation bracket - scope - punctuation.section - settings - - foreground - #9399b2 - fontStyle - - - - - name - Include - scope - keyword.control.import.include - settings - - foreground - #94e2d5 - fontStyle - italic - - - - name - Storage - scope - storage - settings - - foreground - #f38ba8 - fontStyle - - - - - name - Storage type - scope - storage.type - settings - - foreground - #f9e2af - fontStyle - italic - - - - name - Storage modifier - scope - storage.modifier - settings - - foreground - #f38ba8 - fontStyle - - - - - name - Storage type namespace - scope - entity.name.namespace, meta.path - settings - - foreground - #f5e0dc - fontStyle - italic - - - - name - Storage type class - scope - storage.type.class - settings - - foreground - #f5e0dc - fontStyle - italic - - - - name - Label - scope - entity.name.label - settings - - foreground - #89b4fa - fontStyle - - - - - name - Keyword class - scope - keyword.declaration.class - settings - - foreground - #f38ba8 - fontStyle - italic - - - - name - Class name - scope - entity.name.class, meta.toc-list.full-identifier - settings - - foreground - #89dceb - fontStyle - - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - foreground - #89dceb - fontStyle - italic - - - - name - Function name - scope - entity.name.function, variable.function - settings - - foreground - #89b4fa - fontStyle - italic - - - - name - Function macro - scope - entity.name.function.preprocessor - settings - - foreground - #f38ba8 - fontStyle - - - - - name - Macro directive - ifdef - scope - keyword.control.import - settings - - foreground - #f38ba8 - fontStyle - - - - - name - Constructor - scope - entity.name.function.constructor, entity.name.function.destructor - settings - - foreground - #b4befe - fontStyle - - - - - name - Function argument - scope - variable.parameter.function - settings - - foreground - #f5e0dc - fontStyle - italic - - - - name - Function declaration - scope - keyword.declaration.function - settings - - foreground - #eba0ac - fontStyle - italic - - - - name - Library function - scope - support.function - settings - - foreground - #89dceb - fontStyle - - - - - name - Library constant - scope - support.constant - settings - - foreground - #89b4fa - fontStyle - - - - - name - Library class/type - scope - support.type, support.class - settings - - foreground - #89b4fa - fontStyle - italic - - - - name - Library variable - scope - support.other.variable - settings - - fontStyle - - - - - name - Variable function - scope - variable.function - settings - - foreground - #89b4fa - fontStyle - italic - - - - name - Variable parameter - scope - variable.parameter - settings - - foreground - #f5e0dc - fontStyle - italic - - - - name - Variable other - scope - variable.other - settings - - foreground - #cdd6f4 - fontStyle - italic - - - - name - Variable field - scope - variable.other.member - settings - - foreground - #f5e0dc - fontStyle - - - - - name - Variable language - scope - variable.language - settings - - foreground - #94e2d5 - fontStyle - - - - - name - Tag name - scope - entity.name.tag - settings - - foreground - #fab387 - fontStyle - - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - foreground - #cba6f7 - fontStyle - italic - - - - name - Tag delimiter - scope - punctuation.definition.tag - settings - - foreground - #eba0ac - fontStyle - - - - - name - Markdown URL - scope - markup.underline.link.markdown - settings - - foreground - #f5e0dc - fontStyle - italic underline - - - - name - Markdown reference - scope - meta.link.inline.description - settings - - foreground - #b4befe - fontStyle - bold - - - - name - Markdown literal - scope - comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline - settings - - foreground - #94e2d5 - fontStyle - italic - - - - name - Markdown title - scope - punctuation.definition.heading, entity.name.section - settings - - foreground - #89b4fa - fontStyle - bold - - - - name - Markdown emphasis - scope - markup.italic - settings - - foreground - #eba0ac - fontStyle - italic - - - - name - Markdown strong - scope - markup.bold - settings - - foreground - #eba0ac - fontStyle - bold - - - - name - Escape - scope - constant.character.escape - settings - - foreground - #f5c2e7 - fontStyle - - - - - name - Bash built-in function - scope - source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell - settings - - foreground - #f5c2e7 - fontStyle - - - - - name - Bash parameter - scope - variable.language.shell - settings - - foreground - #f38ba8 - fontStyle - italic - - - - name - Lua field - scope - source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua - settings - - foreground - #b4befe - fontStyle - italic - - - - name - Lua constructor - scope - source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua - settings - - foreground - #f2cdcd - fontStyle - - - - - name - Java constant - scope - entity.name.constant.java - settings - - foreground - #94e2d5 - fontStyle - - - - - name - CSS property - scope - support.type.property-name.css - settings - - foreground - #f2cdcd - fontStyle - italic - - - - name - CSS constant - scope - support.constant.property-value.css - settings - - foreground - #cdd6f4 - fontStyle - - - - - name - CSS suffix - scope - constant.numeric.suffix.css, keyword.other.unit.css - settings - - foreground - #94e2d5 - fontStyle - italic - - - - name - CSS variable property - scope - variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css - settings - - foreground - #94e2d5 - fontStyle - - - - - name - SCSS tag - scope - entity.name.tag.css - settings - - foreground - #b4befe - fontStyle - - - - - name - SASS variable - scope - variable.other.sass - settings - - foreground - #94e2d5 - fontStyle - - - - - name - Invalid - scope - invalid - settings - - foreground - #cdd6f4 - background - #f38ba8 - fontStyle - - - - - name - Invalid deprecated - scope - invalid.deprecated - settings - - foreground - #cdd6f4 - background - #cba6f7 - fontStyle - - - - - name - Diff header - scope - meta.diff, meta.diff.header - settings - - foreground - #6c7086 - fontStyle - - - - - name - Diff deleted - scope - markup.deleted - settings - - foreground - #f38ba8 - fontStyle - - - - - name - Diff inserted - scope - markup.inserted - settings - - foreground - #a6e3a1 - fontStyle - - - - - name - Diff changed - scope - markup.changed - settings - - foreground - #f9e2af - fontStyle - - - - - name - Message error - scope - message.error - settings - - foreground - #f38ba8 - fontStyle - - - - - uuid - 4d0379b5-ef82-467b-b8b8-365889420646 - colorSpaceName - sRGB - semanticClass - theme.dark.Catppuccin - author - BrunDerSchwarzmagier - - diff --git a/.config/git/config b/.config/git/config index 81a5b6c..774886a 100644 --- a/.config/git/config +++ b/.config/git/config @@ -1,5 +1,5 @@ [core] - editor = "emacs" + editor = "emacsclient" pager = "diff-so-fancy | less --tabs=4 -RFX" [init] defaultBranch = "main" @@ -8,5 +8,3 @@ [user] email = "23226432+hyperreal64@users.noreply.github.com" name = "Jeffrey Serio" -[gist] - home = /home/jas/repos/github.com/hyperreal64/gists diff --git a/.config/helix/config.toml b/.config/helix/config.toml deleted file mode 100644 index b3cb213..0000000 --- a/.config/helix/config.toml +++ /dev/null @@ -1,11 +0,0 @@ -theme = "catppuccin_mocha" - -[editor] -line-number = "relative" -cursorline = true -color-modes = true - -[editor.cursor-shape] -insert = "bar" -normal = "block" -select = "underline" diff --git a/.local/share/rofi/themes/catppuccin.rasi b/.config/rofi/catppuccin.rasi similarity index 100% rename from .local/share/rofi/themes/catppuccin.rasi rename to .config/rofi/catppuccin.rasi diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi index e6cf239..430e00f 100644 --- a/.config/rofi/config.rasi +++ b/.config/rofi/config.rasi @@ -1,22 +1,19 @@ configuration{ - modi: "drun,filebrowser,Bookmarks:/home/jas/.config/rofi/rofi-json.sh /home/jas/sync/documents/bookmarks.json,gh-starred:/home/jas/bin/rofistarred,Emoji:/bin/rofimoji -a copy"; + modi: "drun,filebrowser,window"; lines: 5; - font: "JetBrainsMono Nerd Font Mono 13"; + font: "JetBrainsMono Nerd Font Mono 14"; show-icons: true; icon-theme: "Papirus-Dark"; - terminal: "xfce4-terminal"; + terminal: "gnome-terminal"; drun-display-format: "{icon} {name}"; location: 0; disable-history: false; hide-scrollbar: true; - display-drun: "  Apps "; - display-run: "  Run "; - display-window: " 󰖲 Windows "; - display-Network: " 󰤨 Network "; - display-filebrowser: " 󰪶 Files "; - display-Bookmarks: "  Bookmarks "; - display-gh-starred: "  GitHub Starred "; - display-Emoji: " 󰞅 Emoji"; + display-drun: "  Apps "; + display-run: "  Run "; + display-window: " 🗔 Windows "; + display-Network: " 󰤨 Network "; + display-filebrowser: " 📁 Files "; sidebar-mode: true; } @@ -29,7 +26,7 @@ element-text, element-icon , mode-switcher { window { height: 800px; - width: 1000px; + width: 1200px; border: 3px; border-color: @border-col; background-color: @bg-col; @@ -75,18 +72,18 @@ listview { } element { - padding: 3px; + padding: 1px; background-color: @bg-col; text-color: @fg-col ; } element-icon { - size: 24px; + size: 32px; } element selected { - background-color: @selected-col; - text-color: @fg-col2; + background-color: @selected-col ; + text-color: @fg-col2 ; } mode-switcher { diff --git a/.config/rofi/rofi-json.sh b/.config/rofi/rofi-json.sh deleted file mode 100755 index a3397f2..0000000 --- a/.config/rofi/rofi-json.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -user_file="$(eval echo ${1})" - -if [[ "$user_file" = /* ]] -then - config_file="$user_file" -else - cwd=$(dirname $0) - config_file="${cwd}/${user_file}" -fi - -json=$(cat ${config_file}) - -if [ $# -eq 1 ]; then - echo $json | jq -cr '.[] | "\(.name)|\(.command)|\(.icon)"' | - while IFS="|" read -r name command icon - do - if [[ $name == "null" ]]; then - continue - fi - if [[ $icon == "null" ]]; then - icon="system-run" - fi - echo -en "${name}\0icon\x1f${icon}\n" - done - exit 1 -fi - -if [ $# -eq 2 ]; then - - selected=$2 - task=$(echo $json | jq ".[] | select(.name == \"$selected\")") - - if [[ $task == "" ]]; then - exit 1 - fi - - command=$(echo $task | jq -j ".command") - - if [[ $command == "null" ]]; then - command=$(echo $task | jq -j ".name") - fi - - coproc bash -c "$command" - exit - -fi diff --git a/.config/zellij/layouts/default.kdl b/.config/zellij/layouts/default.kdl index 33a913f..600de8d 100644 --- a/.config/zellij/layouts/default.kdl +++ b/.config/zellij/layouts/default.kdl @@ -8,10 +8,5 @@ layout { plugin location="zellij:status-bar" } } - tab name="journald" { - pane command="sudo" { - args "journalctl" "-f" - } - } tab } diff --git a/.local/share/rofi/themes/rose-pine.rasi b/.local/share/rofi/themes/rose-pine.rasi deleted file mode 100644 index 832d185..0000000 --- a/.local/share/rofi/themes/rose-pine.rasi +++ /dev/null @@ -1,12 +0,0 @@ -* { - bg-col: #191724; - bg-col-light: #26233a; - border-col: #eb6f92; - selected-col: #31748f; - blue: #eb6f92; - fg-col: #e0def4; - fg-col2: #e0def4; - grey: #6E6A86; - width: 600; -} - diff --git a/.shellmarks b/.shellmarks deleted file mode 100644 index aa57499..0000000 --- a/.shellmarks +++ /dev/null @@ -1,7 +0,0 @@ -/home/jas/downloads -/home/jas/Nextcloud -/home/jas/bin -/home/jas/Nextcloud/sites -/home/jas/repos/github.com/hyperreal64 -/home/jas/Nextcloud/devel/silverblue -/home/jas/Nextcloud/devel/ansible diff --git a/.vim/colors/catppuccin_mocha.vim b/.vim/colors/catppuccin_mocha.vim new file mode 100644 index 0000000..4879ed6 --- /dev/null +++ b/.vim/colors/catppuccin_mocha.vim @@ -0,0 +1,161 @@ +" Name: catppuccin_mocha.vim + +set background=dark +hi clear + +if exists('syntax on') + syntax reset +endif + +let g:colors_name='catppuccin_mocha' +set t_Co=256 + +let s:rosewater = "#F5E0DC" +let s:flamingo = "#F2CDCD" +let s:pink = "#F5C2E7" +let s:mauve = "#CBA6F7" +let s:red = "#F38BA8" +let s:maroon = "#EBA0AC" +let s:peach = "#FAB387" +let s:yellow = "#F9E2AF" +let s:green = "#A6E3A1" +let s:teal = "#94E2D5" +let s:sky = "#89DCEB" +let s:sapphire = "#74C7EC" +let s:blue = "#89B4FA" +let s:lavender = "#B4BEFE" + +let s:text = "#CDD6F4" +let s:subtext1 = "#BAC2DE" +let s:subtext0 = "#A6ADC8" +let s:overlay2 = "#9399B2" +let s:overlay1 = "#7F849C" +let s:overlay0 = "#6C7086" +let s:surface2 = "#585B70" +let s:surface1 = "#45475A" +let s:surface0 = "#313244" + +let s:base = "#1E1E2E" +let s:mantle = "#181825" +let s:crust = "#11111B" + +function! s:hi(group, guisp, guifg, guibg, gui, cterm) + let cmd = "" + if a:guisp != "" + let cmd = cmd . " guisp=" . a:guisp + endif + if a:guifg != "" + let cmd = cmd . " guifg=" . a:guifg + endif + if a:guibg != "" + let cmd = cmd . " guibg=" . a:guibg + endif + if a:gui != "" + let cmd = cmd . " gui=" . a:gui + endif + if a:cterm != "" + let cmd = cmd . " cterm=" . a:cterm + endif + if cmd != "" + exec "hi " . a:group . cmd + endif +endfunction + + + +call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE") +call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold") +call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE") +call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Cursor", "NONE", s:base, s:text, "NONE", "NONE") +call s:hi("lCursor", "NONE", s:base, s:text, "NONE", "NONE") +call s:hi("CursorIM", "NONE", s:base, s:text, "NONE", "NONE") +call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE") +call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE") +call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE") +call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE") +call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE") +call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE") +call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic") +call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE") +call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE") +call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE") +call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE") +call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE") +call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE") +call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE") +call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold") +call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold") +call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE") +call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE") +call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold") +call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE") +call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold") +call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE") +call s:hi("SpellBad", s:red, "NONE", "NONE", "underline", "underline") +call s:hi("SpellCap", s:yellow, "NONE", "NONE", "underline", "underline") +call s:hi("SpellLocal", s:blue, "NONE", "NONE", "underline", "underline") +call s:hi("SpellRare", s:green, "NONE", "NONE", "underline", "underline") +call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE") +call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE") +call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE") +call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE") +call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold") +call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold") +call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE") +call s:hi("Comment", "NONE", s:surface2, "NONE", "NONE", "NONE") +call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE") +call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE") +call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline") +call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Todo", "NONE", s:base, s:yellow, "bold", "bold") + +call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE") +call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE") +call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE") +call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE") +call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE") +call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE") +call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE") +call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE") +call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE") +call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE") + +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link SpecialChar Special +hi link Tag Special +hi link Delimiter Special +hi link SpecialComment Special +hi link Debug Special +hi link Exception Error +hi link StatusLineTerm StatusLine +hi link StatusLineTermNC StatusLineNC +hi link Terminal Normal +hi link Ignore Comment + +" Set terminal colors for playing well with plugins like fzf +let g:terminal_ansi_colors = [ + \ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1, + \ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0 +\ ] diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..66785ab --- /dev/null +++ b/.vimrc @@ -0,0 +1,3 @@ +set termguicolors +colorscheme catppuccin_mocha +set relativenumber diff --git a/.zpath b/.zpath index bbf8770..71a3ee0 100644 --- a/.zpath +++ b/.zpath @@ -6,10 +6,7 @@ typeset -U PATH path # Set Go path if it exists -if test -d "${HOME}/go"; then - GOPATH="${HOME}/go" - path+=("${GOPATH}/bin") -fi +[ -d "${HOME}/go/bin" ] && path+=("${HOME}/go/bin") # Set Cargo path for Rust binaries [ -d "${HOME}/.cargo/bin" ] && path+=("${HOME}/.cargo/bin") diff --git a/.zshrc b/.zshrc index 7a93d0c..47bc4d8 100644 --- a/.zshrc +++ b/.zshrc @@ -57,6 +57,9 @@ zplug "zsh-users/zsh-history-substring-search" # Use syntax highlighting when typing commands zplug "zsh-users/zsh-syntax-highlighting", defer:2 +# Use fast-syntax-highlighting +#zplug "zdharma-continuum/fast-syntax-highlighting" + # Press escape twice to prepend `sudo` to the command line zplug "plugins/sudo", from:oh-my-zsh @@ -82,7 +85,7 @@ zplug load # ----------------------------------------------------------------------------- # ENVIRONMENT VARS # ----------------------------------------------------------------------------- - +export SHELL=/usr/bin/zsh export DOOMDIR="${HOME}/sync/doom" export LS_COLORS=$(cat ~/.lscolors.sh) export PAGER="less -X" @@ -157,3 +160,10 @@ export BAT_THEME="Catppuccin-mocha" # Automatically remove duplicates from these arrays typeset -gU path cdpath manpath fpath + +# Source broot +[ -d "${HOME}/.config/broot" ] && source "${HOME}/.config/broot/launcher/bash/br" + +# compatibility with vterm-buffer-name-string in Emacs +autoload -U add-zsh-hook +add-zsh-hook -Uz chpwd() { print -Pn "\e]2;%m:%2~\a" } diff --git a/.zshrc.d/aliases.zsh b/.zshrc.d/aliases.zsh index 83e3015..7c7330c 100644 --- a/.zshrc.d/aliases.zsh +++ b/.zshrc.d/aliases.zsh @@ -1,3 +1,6 @@ +# Execute bash on host (ostree-based) +alias hostexec='distrobox-host-exec bash' + # Get top 10 shell commands alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10' @@ -41,8 +44,8 @@ alias UP2low='for i in *(.); mv $i ${i:l}' alias low2UP='for i in *(.); mv $i ${i:u}' # The ls family -if test -x "$(command -v exa)"; then - alias ls='exa' +if test -x "$(command -v lsd)"; then + alias ls='lsd' else alias ls='ls --color=auto' fi @@ -52,7 +55,7 @@ alias la='ls -a' alias ll='ls -l' alias lal='ls -al' alias ldot='ls -gld .*' -alias lse='/bin/ls -lZ' +alias lse='ls -lZ' # greps alias grep='grep --color' @@ -67,7 +70,7 @@ fi alias cp='cp -i' alias mv='mv -i' alias rm='trash' -alias del='rm -i' +alias del='/bin/rm -i' # Display zsh functions with bat alias zfun='functions | bat -l zsh' @@ -78,29 +81,21 @@ alias -g T='| tail' alias -g G='| grep' alias -g L='| less -X' alias -g B='| bat' -alias -g LL='2>&1 | less' -alias -g NE='2> /dev/null' -alias -g NUL='> /dev/null 2>&1' -alias -g P='2>&1| pygmentize -l pytb' alias -g J='| jq' alias -g CC='| xclip -selection clipboard' alias -g C='| wc -l' -alias -g SS='| sort' -alias -g Su='| sort -u' -alias -g Sn='| sort -n' -alias -g Snr='| sort -nr' # Get public IP address alias pubip='curl ipinfo.io' # List apps with network connections -alias netCons='lsof -i' +alias netcons='lsof -i' # List ports alias tulp='ss -tulp' # List open ports -alias openPorts='sudo lsof -i | grep LISTEN' +alias openports='sudo lsof -i | grep LISTEN' # Ping google.com alias pong='ping -c 3 www.google.com' @@ -112,19 +107,15 @@ alias ping='ping -c 3' alias lsock='sudo lsof -i -P' # List UDP sockets in use -alias lsockU='sudo lsof -nP | grep UDP' +alias lsocku='sudo lsof -nP | grep UDP' # List TCP sockets in use -alias lsockT='sudo lsof -nP | grep TCP' +alias lsockt='sudo lsof -nP | grep TCP' # Reboot / Poweroff alias rbt='sudo systemctl reboot' alias shut='sudo systemctl poweroff' -# GPG -alias gpgs='gpg --search-keys' -alias gpgl='gpg --list-keys --with-fingerprint' - # firewalld if test -x "$(command -v firewall-cmd)"; then alias fw='sudo firewall-cmd' diff --git a/.zshrc.d/bindings.zsh b/.zshrc.d/bindings.zsh index c937838..a716406 100644 --- a/.zshrc.d/bindings.zsh +++ b/.zshrc.d/bindings.zsh @@ -27,9 +27,9 @@ if test -x "$(command -v gumssh)"; then bindkey -s '^[s' 'gumssh^M' fi -## fman -if test -x "${HOME}/go/bin/fman"; then - bindkey -s '^[f' 'fman --theme catppuccin^M' +## ranger +if test -x "$(command -v ranger)"; then + bindkey -s '^[f' 'ranger^M' fi ## history substring search diff --git a/.zshrc.d/functions.zsh b/.zshrc.d/functions.zsh index f65d871..870fc6e 100644 --- a/.zshrc.d/functions.zsh +++ b/.zshrc.d/functions.zsh @@ -1,9 +1,27 @@ +# Generate a pseudo-random 16-character string. +function genrand() { + openssl rand -base64 16 +} + +# Compatibility with emacs-libvterm +function vterm_printf() { + if [ -n "$TMUX" ] && ([ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ]); then + # Tell tmux to pass the escape sequences through + printf "\ePtmux;\e\e]%s\007\e\\" "$1" + elif [ "${TERM%%-*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + printf "\eP\e]%s\007\e\\" "$1" + else + printf "\e]%s\e\\" "$1" + fi +} + # Remove all .jpeg .jpg .png .svg files from downloads function rmimg() { find "${HOME}/downloads" \ -maxdepth 1 \ -type f \ - \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.svg" -o -name "*.png" \) \ + \( -name "*.jpg" -o -name "*.jpg_original" -o -name "*.jpeg" -o -name "*.svg" -o -name "*.png" \) \ -delete } @@ -32,6 +50,15 @@ function mark() { return 0 } +# List bookmarks. +function lsmarks() { + echo "# Shellmarks" | gum format + + while IFS= read -r line; do + echo "- $line" + done < "${HOME}/.shellmarks" | gum format +} + # Remove bookmarks. function delmark() { selection=$(cat "${HOME}/.shellmarks" | gum choose --no-limit) diff --git a/copy-dots.bash b/archive/copy-dots.bash similarity index 100% rename from copy-dots.bash rename to archive/copy-dots.bash