dotfiles

:)
git clone https://git.sr.ht/~ashymad/dotfiles
Log | Files | Refs | Submodules | LICENSE

commit eb126e27fa6f2c8fb7f75c46c46e5918f95e58cc
parent e56a39b9b7940ab249a511541677d68bff7d7fe1
Author: Szymon Mikulicz <szymon.mikulicz@posteo.net>
Date:   Thu, 14 May 2026 20:39:00 +0200

Tofi & Wpaperd & Neovim Podman Deno

Diffstat:
Mnvim/.config/nvim/lua/plugins.lua | 57++++++++++++++++++++++++++-------------------------------
Mstarship/.config/starship.toml | 12+++++++++---
Msway/.config/sway/config | 7++++---
Atofi/.config/tofi/config | 323+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Awpaperd/.config/wpaperd/config.toml | 4++++
Mzsh/.zshenv | 3++-
6 files changed, 368 insertions(+), 38 deletions(-)

diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua @@ -61,20 +61,6 @@ require('lazy').setup({ } }, - { 'stevearc/conform.nvim', - opts = { - formatters_by_ft = { - c = { "clang-format" }, - cpp = { "clang-format" }, - }, - format_on_save = { - -- These options will be passed to conform.format() - timeout_ms = 500, - lsp_format = "fallback", - }, - }, - }, - { "folke/noice.nvim", event = "VeryLazy", opts = { @@ -120,22 +106,6 @@ require('lazy').setup({ end }, - { 'stevearc/conform.nvim', - dependencies = { 'lewis6991/gitsigns.nvim' }, - opts = { - formatters_by_ft = { - -- cpp = {"clang-format"}, - -- python = {"yapf"}, - }, - format_on_save = {}, - formatters = { - yapf = { - prepend_args = {"--style", "/home/szymon/.config/yapf/style"} - } - } - } - }, - { "mfussenegger/nvim-lint", event = 'VeryLazy', priority = '500', @@ -270,7 +240,22 @@ require('lazy').setup({ end }, + { 'stevearc/conform.nvim', + dependencies = { 'lewis6991/gitsigns.nvim' }, + opts = { + formatters_by_ft = { + cpp = {"clang-format"}, + }, + format_on_save = { + timeout_ms = 500, + lsp_format = "fallback", + }, + formatters = {} + } + }, + { 'neovim/nvim-lspconfig', + lazy = false, config = function() vim.lsp.config.artaclsp = { cmd = { 'artaclsp' }, @@ -280,6 +265,7 @@ require('lazy').setup({ lsp_enable = function(srvs) for i,srv in ipairs(srvs) do if 1 == vim.fn.executable(vim.lsp.config[srv].cmd[1]) then + -- vim.lsp.config(srv, coq.lsp_ensure_capabilities()) vim.lsp.enable(srv) end end @@ -292,7 +278,7 @@ require('lazy').setup({ dependencies = { 'Shougo/pum.vim', 'Shougo/ddc-ui-pum', - 'vim-denops/denops.vim', + { 'vim-denops/denops.vim', branch = 'fallback_version' }, 'Shougo/ddc-source-lsp', 'Shougo/ddc-source-around', 'LumaKernel/ddc-source-file', @@ -301,6 +287,15 @@ require('lazy').setup({ }, lazy = false, config = function() + vim.g["denops#deno"] = "podman" + vim.g["denops#server#deno_args"] = { + "-v", vim.env.HOME .. ":" .. vim.env.HOME, + "-e", "DENO_DIR=" .. vim.env.HOME .. "/.cache/deno", + "--network=host", + "ghcr.io/denoland/deno:distroless", + "run", + unpack(vim.g["denops#server#deno_args"]) + } vim.lsp.config('denols', { capabilities = require("ddc_source_lsp").make_client_capabilities(), }) diff --git a/starship/.config/starship.toml b/starship/.config/starship.toml @@ -1,6 +1,6 @@ add_newline = false command_timeout = 200 -format = "[$hostname$directory$git_branch$git_status$character]($style)" +format = "[$hostname$directory$git_branch$git_commit$git_status$character]($style)" [character] error_symbol = "[!>](bold cyan)" @@ -10,12 +10,18 @@ success_symbol = "[>](bold cyan)" truncation_length = 2 truncation_symbol = "…/" format = '[$path]($style)[$read_only]($read_only_style)' -#repo_root_style = "bold cyan" -#repo_root_format = "[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style)" fish_style_pwd_dir_length = 2 +[git_commit] +format = '[ \($tag]($style)' +tag_symbol = '' +only_detached = true +tag_disabled = false +style = "blue" + [git_branch] format = '[ \($branch]($style)' +only_attached = true style = "blue" [git_status] diff --git a/sway/.config/sway/config b/sway/.config/sway/config @@ -11,7 +11,8 @@ bindsym $mod+Return exec $HOME/.usr/local/bin/mlterm-wl bindsym $mod+Shift+q kill -bindsym $mod+d exec zsh -c "fuzzel" +bindsym $mod+d exec zsh -lc "$($HOME/.usr/local/bin/tofi-drun)" +bindsym $mod+o exec find $HOME/.password-store -name '*.gpg' | sed "s@$HOME/.password-store/@@;"'s/\.gpg$//' | $HOME/.usr/local/bin/tofi | xargs -i pass "{}" -c bindsym $mod+h focus left bindsym $mod+j focus down @@ -150,7 +151,7 @@ input type:touchpad { output LVDS-1 resolution 1366x768 position 0,0 scale 1 # Change wallpaper -bindsym $mod+p exec ~/.fehbg r +bindsym $mod+p exec $HOME/.usr/local/bin/wpaperctl next # Take screenshot bindsym $mod+Shift+s exec grim -g "$(slurp)" - | wl-copy @@ -168,7 +169,7 @@ for_window [instance="^octave\-gui$"] floating enable for_window [instance="^matplotlib$"] floating enable for_window [app_id="com.sub.tui"] floating enable -exec ~/.fehbg +exec $HOME/.usr/local/bin/wpaperd exec mako exec wlsunset -l 50.049683 -L 19.944544 diff --git a/tofi/.config/tofi/config b/tofi/.config/tofi/config @@ -0,0 +1,323 @@ +# Default config for tofi +# +# Copy this file to ~/.config/tofi/config and get customising! +# +# A complete reference of available options can be found in `man 5 tofi`. + +# +### Fonts +# + # Font to use, either a path to a font file or a name. + # + # If a path is given, tofi will startup much quicker, but any + # characters not in the chosen font will fail to render. + # + # Otherwise, fonts are interpreted in Pango format. + font = "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" + + # Point size of text. + font-size = 10 + + # Comma separated list of OpenType font feature settings to apply, + # if supported by the chosen font. The format is similar to the CSS + # "font-feature-settings" property. + # + # Examples: + # + # font-features = "smcp, c2sc" (all small caps) + # font-features = "liga 0" (disable ligatures) + font-features = "" + + # Comma separated list of OpenType font variation settings to apply + # to variable fonts. The format is similar to the CSS + # "font-variation-settings" property. + # + # Examples: + # + # font-variations = "wght 900" (Extra bold) + # font-variations = "wdth 25, slnt -10" (Narrow and slanted) + font-variations = "" + + # Perform font hinting. Only applies when a path to a font has been + # specified via `font`. Disabling font hinting speeds up text + # rendering appreciably, but will likely look poor at small font pixel + # sizes. + hint-font = true + +# +### Text theming +# + # Default text color + # + # All text defaults to this color if not otherwise specified. + text-color = #abcdef + #background-color = #123456 + + # All pieces of text have the same theming attributes available: + # + # *-color + # Foreground color + # + # *-background + # Background color + # + # *-background-padding + # Background padding in pixels (comma-delimited, CSS-style list). + # See "DIRECTIONAL VALUES" under `man 5 tofi` for more info. + # + # *-background-corner-radius + # Radius of background box corners in pixels + + # Prompt text theme + #prompt-color = #abcdef + prompt-background = #123456 + prompt-background-padding = 7 + prompt-background-corner-radius = 20 + + # Placeholder text theme + #placeholder-color = #FFFFFFA8 + placeholder-background = #123456 + placeholder-background-padding = 7 + placeholder-background-corner-radius = 20 + + # Input text theme + # input-color = #FFFFFF + input-background = #123456 + input-background-padding = 7 + input-background-corner-radius = 20 + + # Default result text theme + # default-result-color = #FFFFFF + default-result-background = #123456 + default-result-background-padding = 7 + default-result-background-corner-radius = 20 + + # Alternate (even-numbered) result text theme + # + # If unspecified, these all default to the corresponding + # default-result-* attribute. + # + # alternate-result-color = #FFFFFF + # alternate-result-background = #00000000 + # alternate-result-background-padding = 0 + # alternate-result-background-corner-radius = 0 + + # Selection text + #selection-color = #F92672 + selection-color = #c1c1c1 + selection-background = #00223f + selection-background-padding = 7 + selection-background-corner-radius = 20 + + # Matching portion of selection text + selection-match-color = #00000000 + + +# +### Text cursor theme +# + # Style of the optional text cursor. + # + # Supported values: bar, block, underscore + text-cursor-style = bar + + # Color of the text cursor + # + # If unspecified, defaults to the same as input-color + # text-cursor-color = #FFFFFF + + # Color of text behind the text cursor when text-cursor-style = block + # + # If unspecified, defaults to the same as background-color + # text-cursor-background = #000000 + + # Corner radius of the text cursor + text-cursor-corner-radius = 0 + + # Thickness of the bar and underscore text cursors. + # + # If unspecified, defaults to a font-dependent value when + # text-cursor-style = underscore, or to 2 otherwise. + # text-cursor-thickness = 2 + +# +### Text layout +# + # Prompt to display. + prompt-text = "#!/bin/launcher:" + + # Extra horizontal padding between prompt and input. + prompt-padding = 20 + + # Placeholder input text. + placeholder-text = "_" + + # Maximum number of results to display. + # If 0, tofi will draw as many results as it can fit in the window. + num-results = 0 + + # Spacing between results in pixels. Can be negative. + result-spacing = 20 + + # List results horizontally. + horizontal = true + + # Minimum width of input in horizontal mode. + min-input-width = 0 + +# +### Window theming +# + # Width and height of the window. Can be pixels or a percentage. + width = 40% + height = 21 + + # Window background color + #background-color = #123456 + background-color = #00000000 + + # Width of the border outlines in pixels. + outline-width = 0 + + # Border outline color + outline-color = #080800 + + # Width of the border in pixels. + border-width = 0 + + # Border color + border-color = #F92672 + + # Radius of window corners in pixels. + corner-radius = 0 + + # Padding between borders and text. Can be pixels or a percentage. + padding-top = 3 + padding-bottom = 2 + padding-left = 0 + padding-right = 0 + + # Whether to clip text drawing to be within the specified padding. This + # is mostly important for allowing text to be inset from the border, + # while still allowing text backgrounds to reach right to the edge. + clip-to-padding = false + + # Whether to scale the window by the output's scale factor. + scale = true + +# +### Window positioning +# + # The name of the output to appear on. An empty string will use the + # default output chosen by the compositor. + output = "" + + # Location on screen to anchor the window to. + # + # Supported values: top-left, top, top-right, right, bottom-right, + # bottom, bottom-left, left, center. + anchor = top-left + + # Set the size of the exclusive zone. + # + # A value of -1 means ignore exclusive zones completely. + # A value of 0 will move tofi out of the way of other windows' zones. + # A value greater than 0 will set that much space as an exclusive zone. + # + # Values greater than 0 are only meaningful when tofi is anchored to a + # single edge. + exclusive-zone = -1 + + # Window offset from edge of screen. Only has an effect when anchored + # to the relevant edge. Can be pixels or a percentage. + margin-top = 0 + margin-bottom = 0 + margin-left = 0 + margin-right = 0 + +# +### Behaviour +# + # Hide the mouse cursor. + hide-cursor = false + + # Show a text cursor in the input field. + text-cursor = true + + # Sort results by number of usages in run and drun modes. + history = true + + # Specify an alternate file to read and store history information + # from / to. This shouldn't normally be needed, and is intended to + # facilitate the creation of custom modes. + # history-file = /path/to/histfile + + # Select the matching algorithm used. If normal, substring matching is + # used, weighted to favour matches closer to the beginning of the + # string. If prefix, only substrings at the beginning of the string are + # matched. If fuzzy, searching is performed via a simple fuzzy matching + # algorithm. + # + # Supported values: normal, prefix, fuzzy + matching-algorithm = fuzzy + + # If true, require a match to allow a selection to be made. If false, + # making a selection with no matches will print input to stdout. + # In drun mode, this is always true. + require-match = true + + # If true, automatically accept a result if it is the only one + # remaining. If there's only one result on startup, window creation is + # skipped altogether. + auto-accept-single = false + + # If true, typed input will be hidden, and what is displayed (if + # anything) is determined by the hidden-character option. + hide-input = false + + # Replace displayed input characters with a character. If the empty + # string is given, input will be completely hidden. + # This option only has an effect when hide-input is set to true. + hidden-character = "*" + + # If true, use physical keys for shortcuts, regardless of the current + # keyboard layout. If false, use the current layout's keys. + physical-keybindings = true + + # Instead of printing the selected entry, print the 1-based index of + # the selection. This option has no effect in run or drun mode. If + # require-match is set to false, non-matching input will still result + # in the input being printed. + print-index = false + + # If true, directly launch applications on selection when in drun mode. + # Otherwise, just print the command line to stdout. + drun-launch = false + + # The terminal to run terminal programs in when in drun mode. + # This option has no effect if drun-launch is set to true. + # Defaults to the value of the TERMINAL environment variable. + # terminal = foot + + # Delay keyboard initialisation until after the first draw to screen. + # This option is experimental, and will cause tofi to miss keypresses + # for a short time after launch. The only reason to use this option is + # performance on slow systems. + late-keyboard-init = false + + # If true, allow multiple simultaneous processes. + # If false, create a lock file on startup to prevent multiple instances + # from running simultaneously. + multi-instance = false + + # Assume input is plain ASCII, and disable some Unicode handling + # functions. This is faster, but means e.g. a search for "e" will not + # match "é". + ascii-input = false + +# +### Inclusion +# + # Configs can be split between multiple files, and then included + # within each other. + # include = /path/to/config diff --git a/wpaperd/.config/wpaperd/config.toml b/wpaperd/.config/wpaperd/config.toml @@ -0,0 +1,4 @@ +[any] +duration = "30m" +sorting = "ascending" +path = "/home/szymon/Pictures/Wallpapers" diff --git a/zsh/.zshenv b/zsh/.zshenv @@ -18,5 +18,6 @@ done export PERL5LIB="$HOME/.usr/local/lib/perl5/" export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.usr/local/share" -export PYTHONPATH="/usr/lib/python3.13/site-packages:$HOME/.usr/local/lib/python3/site-packages" +export PYTHONPATH="/usr/lib/python3.13/site-packages:$HOME/.usr/local/lib/python3/site-packages:$HOME/.usr/local/lib/python3/dist-packages" [ -f "$XDG_RUNTIME_DIR/arista-ssh/agent.sock" ] && export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/arista-ssh/agent.sock" +export ZSH_EXEC=1