From 77b295b8b0f9b73ecbda809e7843812c5f4c3737 Mon Sep 17 00:00:00 2001 From: Sam Nystrom Date: Thu, 27 Nov 2025 17:35:42 -0500 Subject: update --- .ashrc | 6 +- .config/bat/config | 25 - .config/bat/themes/catppuccin-macchiato.tmTheme | 959 ------------------------ .config/git/config | 4 +- .config/gitui/theme.ron | 42 +- .config/gtk-3.0/settings.ini | 2 +- .config/himitsu/config.ini | 2 +- .config/hut/config | 2 +- .config/nvim/lazy-lock.json | 28 +- .config/nvim/lua/plugins/catppuccin.lua | 2 + .config/river/init | 11 +- .config/s6-rc/default/contents.d/swayidle | 0 .config/sway/config | 221 ++---- .config/swayidle/config | 1 + .config/vis/visrc.lua | 4 + .config/xdg-desktop-portal-wlr/config | 7 +- .mbsyncrc | 2 +- .profile | 4 +- bin/harespec | 3 - bin/readmail | 24 +- bin/shuffle | 19 +- bin/statusline | 4 +- bin/wmenu-run | 2 +- 23 files changed, 184 insertions(+), 1190 deletions(-) delete mode 100644 .config/bat/config delete mode 100644 .config/bat/themes/catppuccin-macchiato.tmTheme delete mode 100644 .config/s6-rc/default/contents.d/swayidle delete mode 100755 bin/harespec diff --git a/.ashrc b/.ashrc index e2b926e..4ea8882 100644 --- a/.ashrc +++ b/.ashrc @@ -1,5 +1,7 @@ +#!/bin/sh + # Prompt -PS1='\e[1;36m$(pwd | sed "1s#^$HOME#~#")\e[34m $([ -n "$(jobs)" ] && printf "* ")\e[3$((1+!$?))m$\e[m ' +PS1='\e[1;36m$(pwd | sed "1s#^$HOME#~#") \e[3$((1+!$?))m$\e[m ' export EDITOR=vis export VISUAL=vis @@ -8,6 +10,7 @@ export SHELL=ash export TERMINAL=foot export BROWSER=firefox export GTK_THEME=Catppuccin-Macchiato-Standard-Mauve-Dark +export XCURSOR_THEME=Catppuccin-Mocha-Dark-Cursors export DBUS_SESSION_BUS_ADDRESS=unix:path="$XDG_RUNTIME_DIR"/bus alias ..='cd ..' @@ -15,6 +18,7 @@ alias ...='cd ../..' alias ....='cd ../../..' alias cfg='git --git-dir ~/.cfg --work-tree ~' alias fs='fossil' +alias parallel=parallel-moreutils alias s6-rclocal='s6-rc -l "$XDG_RUNTIME_DIR"/s6-rc' s6less() { diff --git a/.config/bat/config b/.config/bat/config deleted file mode 100644 index 39993b4..0000000 --- a/.config/bat/config +++ /dev/null @@ -1,25 +0,0 @@ -# This is `bat`s configuration file. Each line either contains a comment or -# a command-line option that you want to pass to `bat` by default. You can -# run `bat --help` to get a list of all possible configuration options. - -# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes` -# for a list of all available themes ---theme="catppuccin-macchiato" - -# Enable this to use italic text on the terminal. This is not supported on all -# terminal emulators (like tmux, by default): -#--italic-text=always - -# Uncomment the following line to disable automatic paging: -#--paging=never - -# Uncomment the following line if you are using less version >= 551 and want to -# enable mouse scrolling support in `bat` when running inside tmux. This might -# disable text selection, unless you press shift. -#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" - -# Syntax mappings: map a certain filename pattern to a language. -# Example 1: use the C++ syntax for Arduino .ino files -# Example 2: Use ".gitignore"-style highlighting for ".ignore" files -#--map-syntax "*.ino:C++" -#--map-syntax ".ignore:Git Ignore" diff --git a/.config/bat/themes/catppuccin-macchiato.tmTheme b/.config/bat/themes/catppuccin-macchiato.tmTheme deleted file mode 100644 index 0beedb6..0000000 --- a/.config/bat/themes/catppuccin-macchiato.tmTheme +++ /dev/null @@ -1,959 +0,0 @@ - - - - - name - Catppuccin - settings - - - settings - - foreground - #cad3f5 - background - #24273a - caret - #b8c0e0 - invisibles - #a5adcb - gutterForeground - #939ab7 - gutterForegroundHighlight - #a6da95 - lineHighlight - #5b6078 - selection - #6e738d - selectionBorder - #24273a - activeGuide - #f5a97f - findHighlightForeground - #1e2030 - findHighlight - #eed49f - bracketsForeground - #939ab7 - bracketContentsForeground - #939ab7 - - - - name - Comment - scope - comment - settings - - foreground - #6e738d - fontStyle - italic - - - - name - String - scope - string - settings - - foreground - #a6da95 - fontStyle - - - - - name - String regex - scope - string.regexp - settings - - foreground - #f5a97f - fontStyle - - - - - name - Number - scope - constant.numeric - settings - - foreground - #f5a97f - fontStyle - - - - - name - Boolean - scope - constant.language.boolean - settings - - foreground - #f5a97f - fontStyle - bold italic - - - - name - Built-in constant - scope - constant.language - settings - - foreground - #b7bdf8 - fontStyle - italic - - - - name - Built-in function - scope - support.function.builtin - settings - - foreground - #f5a97f - fontStyle - italic - - - - name - User-defined constant - scope - variable.other.constant - settings - - foreground - #f5a97f - fontStyle - - - - - name - Variable - scope - variable - settings - - - - name - Keyword - scope - keyword - settings - - foreground - #ed8796 - fontStyle - italic - - - - name - Conditional/loop - scope - keyword.control.loop, keyword.control.conditional, keyword.control.c++ - settings - - foreground - #c6a0f6 - fontStyle - bold - - - - name - Return - scope - keyword.control.return, keyword.control.flow.return - settings - - foreground - #f5bde6 - fontStyle - bold - - - - name - Exception - scope - support.type.exception - settings - - foreground - #f5a97f - fontStyle - italic - - - - name - Operator - scope - keyword.operator, punctuation.accessor - settings - - foreground - #91d7e3 - fontStyle - bold - - - - name - Punctuation separator - scope - punctuation.separator - settings - - foreground - #8bd5ca - fontStyle - - - - - name - Punctuation terminator - scope - punctuation.terminator - settings - - foreground - #8bd5ca - fontStyle - - - - - name - Punctuation bracket - scope - punctuation.section - settings - - foreground - #939ab7 - fontStyle - - - - - name - Include - scope - keyword.control.import.include - settings - - foreground - #8bd5ca - fontStyle - italic - - - - name - Storage - scope - storage - settings - - foreground - #ed8796 - fontStyle - - - - - name - Storage type - scope - storage.type - settings - - foreground - #eed49f - fontStyle - italic - - - - name - Storage modifier - scope - storage.modifier - settings - - foreground - #ed8796 - fontStyle - - - - - name - Storage type namespace - scope - entity.name.namespace, meta.path - settings - - foreground - #f4dbd6 - fontStyle - italic - - - - name - Storage type class - scope - storage.type.class - settings - - foreground - #f4dbd6 - fontStyle - italic - - - - name - Label - scope - entity.name.label - settings - - foreground - #8aadf4 - fontStyle - - - - - name - Keyword class - scope - keyword.declaration.class - settings - - foreground - #ed8796 - fontStyle - italic - - - - name - Class name - scope - entity.name.class, meta.toc-list.full-identifier - settings - - foreground - #91d7e3 - fontStyle - - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - foreground - #91d7e3 - fontStyle - italic - - - - name - Function name - scope - entity.name.function, variable.function - settings - - foreground - #8aadf4 - fontStyle - italic - - - - name - Function macro - scope - entity.name.function.preprocessor - settings - - foreground - #ed8796 - fontStyle - - - - - name - Macro directive - ifdef - scope - keyword.control.import - settings - - foreground - #ed8796 - fontStyle - - - - - name - Constructor - scope - entity.name.function.constructor, entity.name.function.destructor - settings - - foreground - #b7bdf8 - fontStyle - - - - - name - Function argument - scope - variable.parameter.function - settings - - foreground - #f4dbd6 - fontStyle - italic - - - - name - Function declaration - scope - keyword.declaration.function - settings - - foreground - #ee99a0 - fontStyle - italic - - - - name - Library function - scope - support.function - settings - - foreground - #91d7e3 - fontStyle - - - - - name - Library constant - scope - support.constant - settings - - foreground - #8aadf4 - fontStyle - - - - - name - Library class/type - scope - support.type, support.class - settings - - foreground - #8aadf4 - fontStyle - italic - - - - name - Library variable - scope - support.other.variable - settings - - fontStyle - - - - - name - Variable function - scope - variable.function - settings - - foreground - #8aadf4 - fontStyle - italic - - - - name - Variable parameter - scope - variable.parameter - settings - - foreground - #f4dbd6 - fontStyle - italic - - - - name - Variable other - scope - variable.other - settings - - foreground - #cad3f5 - fontStyle - italic - - - - name - Variable field - scope - variable.other.member - settings - - foreground - #f4dbd6 - fontStyle - - - - - name - Variable language - scope - variable.language - settings - - foreground - #8bd5ca - fontStyle - - - - - name - Tag name - scope - entity.name.tag - settings - - foreground - #f5a97f - fontStyle - - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - foreground - #c6a0f6 - fontStyle - italic - - - - name - Tag delimiter - scope - punctuation.definition.tag - settings - - foreground - #ee99a0 - fontStyle - - - - - name - Markdown URL - scope - markup.underline.link.markdown - settings - - foreground - #f4dbd6 - fontStyle - italic underline - - - - name - Markdown reference - scope - meta.link.inline.description - settings - - foreground - #b7bdf8 - fontStyle - bold - - - - name - Markdown literal - scope - comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline - settings - - foreground - #8bd5ca - fontStyle - italic - - - - name - Markdown title - scope - punctuation.definition.heading, entity.name.section - settings - - foreground - #8aadf4 - fontStyle - bold - - - - name - Markdown emphasis - scope - markup.italic - settings - - foreground - #ee99a0 - fontStyle - italic - - - - name - Markdown strong - scope - markup.bold - settings - - foreground - #ee99a0 - fontStyle - bold - - - - name - Escape - scope - constant.character.escape - settings - - foreground - #f5bde6 - fontStyle - - - - - name - Bash built-in function - scope - source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell - settings - - foreground - #f5bde6 - fontStyle - - - - - name - Bash parameter - scope - variable.language.shell - settings - - foreground - #ed8796 - 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 - #b7bdf8 - fontStyle - italic - - - - name - Lua constructor - scope - source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua - settings - - foreground - #f0c6c6 - fontStyle - - - - - name - Java constant - scope - entity.name.constant.java - settings - - foreground - #8bd5ca - fontStyle - - - - - name - CSS property - scope - support.type.property-name.css - settings - - foreground - #f0c6c6 - fontStyle - italic - - - - name - CSS constant - scope - support.constant.property-value.css - settings - - foreground - #cad3f5 - fontStyle - - - - - name - CSS suffix - scope - constant.numeric.suffix.css, keyword.other.unit.css - settings - - foreground - #8bd5ca - 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 - #8bd5ca - fontStyle - - - - - name - SCSS tag - scope - entity.name.tag.css - settings - - foreground - #b7bdf8 - fontStyle - - - - - name - SASS variable - scope - variable.other.sass - settings - - foreground - #8bd5ca - fontStyle - - - - - name - Invalid - scope - invalid - settings - - foreground - #cad3f5 - background - #ed8796 - fontStyle - - - - - name - Invalid deprecated - scope - invalid.deprecated - settings - - foreground - #cad3f5 - background - #c6a0f6 - fontStyle - - - - - name - Diff header - scope - meta.diff, meta.diff.header - settings - - foreground - #6e738d - fontStyle - - - - - name - Diff deleted - scope - markup.deleted - settings - - foreground - #ed8796 - fontStyle - - - - - name - Diff inserted - scope - markup.inserted - settings - - foreground - #a6da95 - fontStyle - - - - - name - Diff changed - scope - markup.changed - settings - - foreground - #eed49f - fontStyle - - - - - name - Message error - scope - message.error - settings - - foreground - #ed8796 - 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 24df753..c21bb15 100644 --- a/.config/git/config +++ b/.config/git/config @@ -18,7 +18,7 @@ annotate = yes verify = off -[credential] - helper = himitsu [commit] verbose = true +[push] + autoSetupRemote = true diff --git a/.config/gitui/theme.ron b/.config/gitui/theme.ron index 2bea0e2..9818424 100644 --- a/.config/gitui/theme.ron +++ b/.config/gitui/theme.ron @@ -1,23 +1,23 @@ ( - selected_tab: Reset, - command_fg: Rgb(202, 211, 245), - selection_bg: Rgb(91, 96, 120), - selection_fg: Rgb(202, 211, 245), - cmdbar_bg: Rgb(30, 32, 48), - cmdbar_extra_lines_bg: Rgb(30, 32, 48), - disabled_fg: Rgb(128, 135, 162), - diff_line_add: Rgb(166, 218, 149), - diff_line_delete: Rgb(237, 135, 150), - diff_file_added: Rgb(238, 212, 159), - diff_file_removed: Rgb(238, 153, 160), - diff_file_moved: Rgb(198, 160, 246), - diff_file_modified: Rgb(245, 169, 127), - commit_hash: Rgb(183, 189, 248), - commit_time: Rgb(184, 192, 224), - commit_author: Rgb(125, 196, 228), - danger_fg: Rgb(237, 135, 150), - push_gauge_bg: Rgb(138, 173, 244), - push_gauge_fg: Rgb(36, 39, 58), - tag_fg: Rgb(244, 219, 214), - branch_fg: Rgb(139, 213, 202) + selected_tab: Some(Reset), + command_fg: Some(Rgb(205, 214, 244)), + selection_bg: Some(Rgb(88, 91, 112)), + selection_fg: Some(Rgb(205, 214, 244)), + cmdbar_bg: Some(Rgb(24, 24, 37)), + cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)), + disabled_fg: Some(Rgb(127, 132, 156)), + diff_line_add: Some(Rgb(166, 227, 161)), + diff_line_delete: Some(Rgb(243, 139, 168)), + diff_file_added: Some(Rgb(249, 226, 175)), + diff_file_removed: Some(Rgb(235, 160, 172)), + diff_file_moved: Some(Rgb(203, 166, 247)), + diff_file_modified: Some(Rgb(250, 179, 135)), + commit_hash: Some(Rgb(180, 190, 254)), + commit_time: Some(Rgb(186, 194, 222)), + commit_author: Some(Rgb(116, 199, 236)), + danger_fg: Some(Rgb(243, 139, 168)), + push_gauge_bg: Some(Rgb(137, 180, 250)), + push_gauge_fg: Some(Rgb(30, 30, 46)), + tag_fg: Some(Rgb(245, 224, 220)), + branch_fg: Some(Rgb(148, 226, 213)) ) diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini index 141e1dc..82feaed 100644 --- a/.config/gtk-3.0/settings.ini +++ b/.config/gtk-3.0/settings.ini @@ -1,4 +1,4 @@ [Settings] gtk-theme-name=Catppuccin-Macchiato-Standard-Mauve-Dark -gtk-cursor-theme-name=Catppuccin-Macchiato-Dark-Cursors +gtk-cursor-theme-name=Catppuccin-Mocha-Dark-Cursors gtk-cursor-theme-size=24 diff --git a/.config/himitsu/config.ini b/.config/himitsu/config.ini index 728eab7..08d8d50 100644 --- a/.config/himitsu/config.ini +++ b/.config/himitsu/config.ini @@ -1,2 +1,2 @@ [himitsud] -prompter=hiprompt-gtk \ No newline at end of file +prompter=hiprompt-wmenu diff --git a/.config/hut/config b/.config/hut/config index 83b8a48..ca0abc5 100644 --- a/.config/hut/config +++ b/.config/hut/config @@ -1,3 +1,3 @@ instance "sr.ht" { - access-token-cmd hiq -1d -F token proto=web host=sr.ht user=stonks3141 + access-token "APpCjmoAAAAAVHBhZ2VzLnNyLmh0L1BST0ZJTEU6UlcgcGFnZXMuc3IuaHQvU0lURVM6UlcgcGFnZXMuc3IuaHQvUEFHRVM6UlcgcGFnZXMuc3IuaHQvQUNMUzpSVwAKc3RvbmtzMzE0MQyt21pTWxymju2RhrNN54H0xv4Lqf5Lrd2ybjkPnSWZ" } diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 9458c04..e72ad5d 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,22 +1,24 @@ { - "LuaSnip": { "branch": "master", "commit": "e808bee352d1a6fcf902ca1a71cee76e60e24071" }, - "catppuccin": { "branch": "main", "commit": "63685e1562ef53873c9764b483d7ac5c7a608922" }, + "LuaSnip": { "branch": "master", "commit": "2c08f32a570c07b8130144813266e21393da80d3" }, + "catppuccin": { "branch": "main", "commit": "65bf0b16f57a3db70d6a93ac68882dd9a31d0565" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "friendly-snippets": { "branch": "main", "commit": "00ba9dd3df89509f95437b8d595553707c46d5ea" }, - "lazy.nvim": { "branch": "main", "commit": "460e1cd8f24e364d54543a4b0e83f6f4ec1f65fb" }, - "neogit": { "branch": "master", "commit": "75ee709d18625a94aef90d94ccac4e562c9a0046" }, - "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, - "nvim-lspconfig": { "branch": "master", "commit": "0678aa439b82965daf03679cd146e84f10e299c3" }, - "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, - "nvim-treesitter": { "branch": "master", "commit": "140f534ce9c02189921b80f5c8a68ab9e3f92ce8" }, - "nvim-web-devicons": { "branch": "master", "commit": "1e5a2a796a88b5d696acb07dd5c285b13d13da21" }, + "export-colorscheme.nvim": { "branch": "master", "commit": "805bc285c9ba0e6da5c7c08fc89734f19d72e473" }, + "flexoki": { "branch": "main", "commit": "975654bce67514114db89373539621cff42befb5" }, + "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, + "lazy.nvim": { "branch": "main", "commit": "cf8ecc2c5e4332760431a33534240b0cbc6680ab" }, + "neogit": { "branch": "master", "commit": "001f43f50d9589d837cec59004fd92486ab06870" }, + "nvim-cmp": { "branch": "main", "commit": "29fb4854573355792df9e156cb779f0d31308796" }, + "nvim-lspconfig": { "branch": "master", "commit": "59a6766cbf32c7e4cf3ed685ccad7ffe1dde8c40" }, + "nvim-surround": { "branch": "main", "commit": "dca2e998ff26681ee422b92c6ed39b3d2908d8a9" }, + "nvim-treesitter": { "branch": "master", "commit": "39016abc99853c3e9d70f1bec7e2fa661b9a81bf" }, + "nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "telescope.nvim": { "branch": "master", "commit": "cb3f98d935842836cc115e8c9e4b38c1380fbb6b" }, + "telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, "vim-buftabline": { "branch": "master", "commit": "73b9ef5dcb6cdf6488bc88adb382f20bc3e3262a" }, - "which-key.nvim": { "branch": "main", "commit": "fb070344402cfc662299d9914f5546d840a22126" } -} \ No newline at end of file + "which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" } +} diff --git a/.config/nvim/lua/plugins/catppuccin.lua b/.config/nvim/lua/plugins/catppuccin.lua index fa3a288..155f929 100644 --- a/.config/nvim/lua/plugins/catppuccin.lua +++ b/.config/nvim/lua/plugins/catppuccin.lua @@ -1,4 +1,6 @@ return { + { "jpe90/export-colorscheme.nvim", name = "export-colorscheme.nvim" }, + { "kepano/flexoki-neovim", name = "flexoki" }, { "catppuccin/nvim", name = "catppuccin", diff --git a/.config/river/init b/.config/river/init index 7345e11..9f1172a 100755 --- a/.config/river/init +++ b/.config/river/init @@ -43,6 +43,11 @@ riverctl map normal Super+Alt J move down 100 riverctl map normal Super+Alt K move up 100 riverctl map normal Super+Alt L move right 100 +#riverctl map normal Super+Alt+Shift H move left 1 +#riverctl map normal Super+Alt+Shift J move down 1 +#riverctl map normal Super+Alt+Shift K move up 1 +#riverctl map normal Super+Alt+Shift L move right 1 + # Super+Alt+Control+{H,J,K,L} to snap views to screen edges riverctl map normal Super+Alt+Control H snap left riverctl map normal Super+Alt+Control J snap down @@ -103,7 +108,6 @@ riverctl map passthrough Super F11 enter-mode normal # Various media key mapping examples for both normal and locked mode which do # not have a modifier for mode in normal locked; do - # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) riverctl map $mode None XF86AudioRaiseVolume spawn 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+' riverctl map $mode None XF86AudioLowerVolume spawn 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-' riverctl map $mode None XF86AudioMute spawn 'wpctl set-mute toggle' @@ -118,6 +122,10 @@ for mode in normal locked; do riverctl map $mode None XF86MonBrightnessDown spawn 'brightctl -5' done +riverctl keyboard-layout -variant colemak_dh us + +riverctl xcursor-theme Catppuccin-Mocha-Dark-Cursors 16 + # Set background and border color riverctl background-color 0x1e1e2e riverctl border-color-focused 0x9399b2 @@ -128,6 +136,7 @@ riverctl set-repeat 40 300 for dev in $(riverctl list-inputs | grep '^pointer'); do riverctl input "$dev" left-handed enabled + riverctl input "$dev" accel-profile flat done # Make certain views start floating diff --git a/.config/s6-rc/default/contents.d/swayidle b/.config/s6-rc/default/contents.d/swayidle deleted file mode 100644 index e69de29..0000000 diff --git a/.config/sway/config b/.config/sway/config index cac0633..82d7345 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,49 +1,13 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. +include catppuccin-mocha + set $mod Mod4 -# Home row direction keys, like vim set $left h set $down j set $up k set $right l -# Your preferred terminal emulator set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. set $menu wmenu-run -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs - -### Idle configuration -# -# Example configuration: -# -# exec swayidle -w \ -# timeout 300 'swaylock -f -c 000000' \ -# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ -# before-sleep 'swaylock -f -c 000000' -# -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. - input type:pointer { left_handed enabled } @@ -53,73 +17,43 @@ input type:keyboard { repeat_rate 40 } -### Input configuration -# -# Example configuration: -# -# input "2:14:SynPS/2_Synaptics_TouchPad" { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. - -### Key bindings -# -# Basics: -# - # Start a terminal bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher bindsym $mod+p exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file + bindsym $mod+Shift+q kill bindsym $mod+Shift+c reload + bindsym $mod+Shift+e exec wmenu-yesno 'Really exit?' swaymsg exit + floating_modifier $mod normal - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' -# -# Moving around: -# - # Move your focus around bindsym $mod+$left focus left bindsym $mod+$down focus down bindsym $mod+$up focus up bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace + bindsym $mod+Shift+$left move left 10px + bindsym $mod+Shift+$down move down 10px + bindsym $mod+Shift+$up move up 10px + bindsym $mod+Shift+$right move right 10px + + bindsym $mod+Shift+Left move left 10px + bindsym $mod+Shift+Down move down 10px + bindsym $mod+Shift+Up move up 10px + bindsym $mod+Shift+Right move right 10px + + bindsym $mod+Mod1+Shift+$left move left 1px + bindsym $mod+Mod1+Shift+$down move down 1px + bindsym $mod+Mod1+Shift+$up move up 1px + bindsym $mod+Mod1+Shift+$right move right 1px + + bindsym $mod+Mod1+Shift+Left move left 1px + bindsym $mod+Mod1+Shift+Down move down 1px + bindsym $mod+Mod1+Shift+Up move up 1px + bindsym $mod+Mod1+Shift+Right move right 1px + bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 @@ -129,7 +63,7 @@ input type:keyboard { bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 - # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 @@ -139,90 +73,97 @@ input type:keyboard { bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. + bindsym $mod+b splith bindsym $mod+v splitv - # Switch the current container between different layout styles bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split - # Make the current focus fullscreen bindsym $mod+f fullscreen - # Toggle the current focus between tiling and floating mode bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area bindsym $mod+space focus mode_toggle - # Move focus to the parent container bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - # Move the currently focused window to the scratchpad bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. bindsym $mod+minus scratchpad show -# -# Resizing containers: -# + mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height bindsym $left resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px bindsym $right resize grow width 10px - # Ditto, with arrow keys bindsym Left resize shrink width 10px bindsym Down resize grow height 10px bindsym Up resize shrink height 10px bindsym Right resize grow width 10px - # Return to default mode + bindsym Mod1+$left resize shrink width 1px + bindsym Mod1+$down resize grow height 1px + bindsym Mod1+$up resize shrink height 1px + bindsym Mod1+$right resize grow width 1px + + bindsym Mod1+Left resize shrink width 1px + bindsym Mod1+Down resize grow height 1px + bindsym Mod1+Up resize shrink height 1px + bindsym Mod1+Right resize grow width 1px + bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" +bindsym XF86MonBrightnessUp exec brightctl +5 +bindsym XF86MonBrightnessDown exec brightctl -5 bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ 5%+ bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ 5%- bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_SINK@ toggle -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. +font 'FiraCode Nerd Font 11' + +set $gap 6 + +gaps inner $gap + +titlebar_border_thickness 2 + +# target border bg text indicator child_border +client.focused $overlay0 $overlay0 $text $overlay0 $overlay0 +client.focused_inactive $surface0 $surface0 $text $overlay0 $surface0 +client.unfocused $mantle $mantle $text $overlay0 $mantle +client.urgent $red $red $base $overlay0 $red +client.background $base + bar { position top output eDP-1 - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. status_command statusbar + separator_symbol '' + pango_markup enabled + status_padding 6 + status_edge_padding 0 + workspace_min_width 32 + gaps $gap + + font 'FiraCode Nerd Font 11' colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c + background $base + statusline $text + # separator + # focused_background + # focused_statusline + # focused_separator + focused_workspace $blue $blue $base + active_workspace $surface0 $surface0 $overlay2 + inactive_workspace $base $base $overlay2 + urgent_workspace $base $base $red + binding_mode $base $base $red } } @@ -235,11 +176,11 @@ workspace 10 output HEADLESS-1 bindsym $mod+0 workspace number 10 bindsym $mod+Shift+0 move container to workspace number 10 -exec printf '%s\n' "$WAYLAND_DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/WAYLAND_DISPLAY -exec printf '%s\n' "$SWAYSOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/SWAYSOCK -exec printf '%s\n' "$DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/DISPLAY -exec printf '%s\n' "$I3SOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/I3SOCK -exec dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway -exec printf '\n' > "$XDG_RUNTIME_DIR"/service/sway/data/ready +exec printf %s\\n "$WAYLAND_DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/WAYLAND_DISPLAY +exec printf %s\\n "$DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/DISPLAY +exec printf %s\\n "$SWAYSOCK" >"$XDG_RUNTIME_DIR"/wl_env/SWAYSOCK +exec printf %s\\n "$I3SOCK" >"$XDG_RUNTIME_DIR"/wl_env/I3SOCK +exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway +exec printf \\n >"$XDG_RUNTIME_DIR"/service/sway/data/ready include /etc/sway/config.d/* diff --git a/.config/swayidle/config b/.config/swayidle/config index 5575aed..f95ca57 100644 --- a/.config/swayidle/config +++ b/.config/swayidle/config @@ -1,2 +1,3 @@ timeout 180 'brightctl -20' resume 'brightctl +20' +timeout 285 'swaymsg output \* power off' resume 'swaymsg output \* power on' timeout 300 'powerctl mem & waylock' diff --git a/.config/vis/visrc.lua b/.config/vis/visrc.lua index 9641dd6..982056e 100644 --- a/.config/vis/visrc.lua +++ b/.config/vis/visrc.lua @@ -10,6 +10,10 @@ for _, ext in ipairs({ "%.jsx$", "%.ts", "%.tsx$" }) do table.insert(vis.ftdetect.filetypes.javascript.ext, ext) end +for _, ext in ipairs({ "^Containerfile$", "%.Containerfile$" }) do + table.insert(vis.ftdetect.filetypes.dockerfile.ext, ext) +end + vis.ftdetect.filetypes.hare = { ext = { "%.ha$" }, } diff --git a/.config/xdg-desktop-portal-wlr/config b/.config/xdg-desktop-portal-wlr/config index fb2143c..9a287cf 100644 --- a/.config/xdg-desktop-portal-wlr/config +++ b/.config/xdg-desktop-portal-wlr/config @@ -1,4 +1,5 @@ [screencast] -output_name=eDP-1 -max_fps=30 -chooser_type=none +max_fps=60 +chooser_type=simple +chooser_cmd=swaymsg -t get_outputs | jq -r '.[] \| .name' | wmenu -p output: +#slurp -f %o -or diff --git a/.mbsyncrc b/.mbsyncrc index 7a04305..3519718 100644 --- a/.mbsyncrc +++ b/.mbsyncrc @@ -2,7 +2,7 @@ IMAPAccount migadu Host imap.migadu.com SSLType IMAPS User sam@samnystrom.dev -PassCmd "hiq -1d -F password proto=imap user=sam@samnystrom.dev" +PassCmd "cat ~/.mailpw" IMAPStore migadu Account migadu diff --git a/.profile b/.profile index 41e6817..0132791 100644 --- a/.profile +++ b/.profile @@ -1,6 +1,8 @@ +#!/bin/sh + # Add PATH entries if they aren't already in PATH # We can't use external commands yet in case PATH is empty -for p in /bin /sbin /usr/bin /usr/sbin /var/lib/flatpak/exports/bin /usr/local/bin /usr/local/sbin ~/.local/bin ~/.cargo/bin ~/bin; do +for p in /command /bin /sbin /usr/bin /usr/sbin /var/lib/flatpak/exports/bin /usr/local/bin /usr/local/sbin ~/.local/bin ~/.cargo/bin ~/bin; do case ":$PATH:" in *:"$p":*) ;; *) export PATH="$p:$PATH" ;; diff --git a/bin/harespec b/bin/harespec deleted file mode 100755 index 7bfeaf9..0000000 --- a/bin/harespec +++ /dev/null @@ -1,3 +0,0 @@ -#!/command/execlineb -P -importas -i HOME HOME -zathura ${HOME}/Documents/hare-specification.pdf diff --git a/bin/readmail b/bin/readmail index 1643706..5466088 100755 --- a/bin/readmail +++ b/bin/readmail @@ -5,15 +5,33 @@ dir=~/mail/"${1:-INBOX}" while true; do mlist "$dir" | msort -dr | mseq -S | MBLAZE_PAGER=cat mscan read -r addr cmd || break + if [ -z "$cmd" ]; then + cmd="$addr" + addr=. + fi case "$cmd" in - g) mbsync primary >/dev/null 2>&1 && minc ~/mail/* >/dev/null ;; - c) mseq -C "$addr" ;; + g) mbsync primary && minc ~/mail/* >/dev/null ;; + C) mseq -C "$addr" ;; + c*) dir=~/mail/"${cmd#c}" ;; s) mshow "$addr" && mflag -S "$addr" >/dev/null ;; a) mrefile "$addr" ~/mail/Archive ;; m*) mrefile "$addr" ~/mail/"${cmd#m}" ;; f*) mflag -"${cmd#f}" "$addr" >/dev/null ;; + h) + echo 'Commands:' + echo 'g - fetch mail' + echo 'C - set the sequence to messages' + echo 'cFOLDER - cd to FOLDER' + echo 's - show messages' + echo 'a - archive messages' + echo 'mFOLDER - move messages to FOLDER' + echo 'fFLAGS - set FLAGS on messages. Uppercase sets, lowercase unsets.' + echo ' d=draft, f=flagged, p=passed, r=replied, s=seen, t=trashed.' + echo 'h - print this message' + echo + ;; q) break ;; esac done echo 'Syncing changes...' -mbsync primary >/dev/null 2>&1 +mbsync primary diff --git a/bin/shuffle b/bin/shuffle index 67c4de9..33f7b95 100755 --- a/bin/shuffle +++ b/bin/shuffle @@ -2,9 +2,9 @@ printhelp() { cat <&1 >/dev/null; then + if printf %d "$OPTARG" >/dev/null 2>&1; then volume="$OPTARG" else printf "%s: invalid number '%s'\n" "${0##*/}" "$OPTARG" @@ -35,18 +35,15 @@ done shift $((OPTIND-1)) -if [ $# -gt 1 ]; then - printusage -elif [ $# -eq 1 ]; then - dir="$1" -else - dir="$(. "${XDG_CONFIG_HOME:-"$HOME"/.config}/user-dirs.dirs" && printf '%s' "$XDG_MUSIC_DIR")" +if [ $# -lt 1 ]; then + # set -- "$(. "${XDG_CONFIG_HOME:-"$HOME"/.config}/user-dirs.dirs" && printf '%s' "$XDG_MUSIC_DIR")" + set -- . fi prev1= prev2= while true; do - file="$(find -L "$dir" -type f \( -name '*.m4a' -o -name '*.opus' \) ! -path "$prev1" ! -path "$prev2" -exec shuf -n1 -e '{}' +)" + file="$(find -L "$@" -type f \( -name '*.m4a' -o -name '*.opus' \) ! -path "$prev1" ! -path "$prev2" -exec shuf -n1 -e '{}' +)" prev1="$prev2" prev2="$file" printf 'Playing %s\n' "${file#$dir/}" diff --git a/bin/statusline b/bin/statusline index 948e8cb..b442b91 100755 --- a/bin/statusline +++ b/bin/statusline @@ -50,8 +50,8 @@ function battery() f:close() local symbol = 'ERROR' - local i = capacity > 0 and (capacity - 1) // 10 or 0 - if status == 'Discharging\n' then + local i = capacity > 0 and (capacity - 1) // 10 + 1 or 1 + if status == 'Discharging\n' or status == 'Not charging\n' then symbol = ({"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"})[i] -- 󰂃 elseif status == 'Charging\n' then symbol = ({"󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"})[i] diff --git a/bin/wmenu-run b/bin/wmenu-run index 84e85f2..6d80a33 100755 --- a/bin/wmenu-run +++ b/bin/wmenu-run @@ -1,2 +1,2 @@ #!/bin/sh -exec $(IFS=:; find -L ${PATH} -type f -perm -555 -exec basename -a '{}' + | wmenu -p run:) +exec $(IFS=:; find -L ${PATH} -type f -perm -555 -exec basename -a '{}' + | sort -u | wmenu -p run:) -- cgit v1.2.3