Compare commits

...

9 commits

Author SHA1 Message Date
95a1d578fb
git: Enable Mergiraf as a merge driver 2024-12-30 16:29:35 +05:30
fd0960254d
tmux: Clean up configuration 2024-12-30 16:29:35 +05:30
ad4413ba3b
tmux: Set clipboard for enabling OSC52 2024-12-30 16:29:35 +05:30
029eebb85b
tmux/tmuxp: Create a generic coding session 2024-12-30 16:29:35 +05:30
1a6fb8bd4a
tmuxp: Do not start neovim in GStreamer pane 2024-12-30 16:29:34 +05:30
66c5c739c1
nvim: mini: Enable a/i text objects 2024-12-30 16:29:34 +05:30
dbab0c863f
environment: Enable Rust backtrace by default 2024-12-30 16:29:34 +05:30
e1281e7feb
nvim: Drop settings for vim-matchup
We dropped the vim-matchup plugin in 03bd6276d but missed
removing these settings.
2024-12-30 16:29:34 +05:30
2642258c09
arch-packages: Update package list
Remove a whole bunch of fonts. Not sure how these ever
got installed in the first place.

The terminus font is required for systemd-vconsole which
requires the ter-132n we set in /etc/vconsole.conf.
2024-12-30 16:29:34 +05:30
11 changed files with 85 additions and 93 deletions

View file

@ -5,12 +5,10 @@ alsa-firmware
alsa-plugins alsa-plugins
alsa-utils alsa-utils
amd-ucode amd-ucode
android-tools
asp asp
autoconf autoconf
autogen autogen
automake automake
b43-fwcutter
base base
bash-completion bash-completion
bat bat
@ -22,7 +20,6 @@ binutils
bison bison
blueman blueman
bluez-utils bluez-utils
boost
brother-dcp-l2540dw-cups-bin brother-dcp-l2540dw-cups-bin
brother-dcp-l2540dw-lpr-bin brother-dcp-l2540dw-lpr-bin
bustle bustle
@ -40,7 +37,6 @@ check
chrpath chrpath
clapper clapper
cmake cmake
colordiff
coppwr-bin coppwr-bin
cpio cpio
cryptsetup cryptsetup
@ -70,8 +66,6 @@ efibootmgr
efitools efitools
elan-lean elan-lean
element-desktop-nightly-bin element-desktop-nightly-bin
elixir
elixir-ls
endeavouros-keyring endeavouros-keyring
endeavouros-mirrorlist endeavouros-mirrorlist
eos-hooks eos-hooks
@ -136,6 +130,7 @@ hadolint-bin
haveged haveged
hdparm hdparm
helvum helvum
hexyl
hotdoc hotdoc
htop htop
hunspell-en_gb hunspell-en_gb
@ -159,10 +154,7 @@ less
libdeflate libdeflate
libdvdcss libdvdcss
libglvnd libglvnd
libgsf
libopenraw
libportal libportal
libpwquality
libqalculate libqalculate
libreoffice-still libreoffice-still
libsndfile libsndfile
@ -196,6 +188,7 @@ man-db
man-pages man-pages
mdadm mdadm
mediainfo mediainfo
mergiraf-bin
mesa mesa
mesa-demos mesa-demos
meson meson
@ -271,11 +264,11 @@ pptpclient
python python
python-dbus python-dbus
python-lxml python-lxml
python-pandocfilters
python-poetry python-poetry
python-pygments python-pygments
qpdf qpdf
qt6-wayland qt6-wayland
racket
radeontop radeontop
refind refind
reflector reflector
@ -291,7 +284,6 @@ ruff
rust-bindgen rust-bindgen
rustup rustup
rye rye
s-nail
sccache sccache
sdparm sdparm
sed sed
@ -326,18 +318,10 @@ transmission-cli
transmission-gtk transmission-gtk
trash-cli trash-cli
tree-sitter-cli tree-sitter-cli
ttf-bitstream-vera
ttf-caladea
ttf-carlito
ttf-croscore
ttf-dejavu
ttf-font-awesome ttf-font-awesome
ttf-hack
ttf-jetbrains-mono ttf-jetbrains-mono
ttf-liberation ttf-liberation
ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols
ttf-opensans
ttf-ubuntu-font-family
typst typst
unrar unrar
unzip unzip

View file

@ -14,3 +14,5 @@ DISABLE_RTKIT=1
PIPEWIRE_LOG_COLOR=force PIPEWIRE_LOG_COLOR=force
SYSTEMD_LESS=FRXMK SYSTEMD_LESS=FRXMK
RUST_BACKTRACE=full

View file

@ -1,3 +1,28 @@
package-lock.json binary package-lock.json binary
Cargo.lock binary Cargo.lock binary
stack.yaml.lock binary stack.yaml.lock binary
*.java merge=mergiraf
*.rs merge=mergiraf
*.go merge=mergiraf
*.js merge=mergiraf
*.jsx merge=mergiraf
*.json merge=mergiraf
*.yml merge=mergiraf
*.yaml merge=mergiraf
*.toml merge=mergiraf
*.html merge=mergiraf
*.htm merge=mergiraf
*.xhtml merge=mergiraf
*.xml merge=mergiraf
*.c merge=mergiraf
*.cc merge=mergiraf
*.h merge=mergiraf
*.cpp merge=mergiraf
*.hpp merge=mergiraf
*.cs merge=mergiraf
*.dart merge=mergiraf
*.scala merge=mergiraf
*.sbt merge=mergiraf
*.ts merge=mergiraf
*.py merge=mergiraf

View file

@ -57,6 +57,9 @@
conflictstyle = zdiff3 conflictstyle = zdiff3
ff = only ff = only
tool = nvimdiff1 tool = nvimdiff1
[merge "mergiraf"]
name = mergiraf
driver = mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P
[mergetool] [mergetool]
hideResolved = false hideResolved = false
keepBackup = false keepBackup = false

View file

@ -1,6 +1,8 @@
local remap = vim.keymap.set local remap = vim.keymap.set
local opts = { noremap=true, silent=true, unique=true } local opts = { noremap=true, silent=true, unique=true }
-- `a/i` text objects
require('mini.ai').setup()
-- Diff hunks -- Diff hunks
require('mini.diff').setup({ require('mini.diff').setup({
mappings = { mappings = {

View file

@ -64,9 +64,6 @@ vim.g.mapleader = " "
vim.g.maplocalleader = "," vim.g.maplocalleader = ","
-- vim-dispatch -- vim-dispatch
vim.g.dispatch_no_maps = 1 vim.g.dispatch_no_maps = 1
-- vim-matchup
vim.g.matchup_matchparen_offscreen = { method = 'popup', fullwidth = true }
vim.g.matchup_surround_enabled = 1
-- No default mappings for tmux navigator -- No default mappings for tmux navigator
vim.g.tmux_navigator_no_mappings = 1 vim.g.tmux_navigator_no_mappings = 1
-- Write the current buffer, but only if changed before navigating from Vim to tmux pane -- Write the current buffer, but only if changed before navigating from Vim to tmux pane

View file

@ -41,9 +41,6 @@ require'nvim-treesitter.configs'.setup {
use_virtual_text = true, use_virtual_text = true,
lint_events = { "BufWrite", "CursorHold" }, lint_events = { "BufWrite", "CursorHold" },
}, },
matchup = {
enable = true,
},
} }
require "nvim-treesitter.parsers".get_parser_configs().lean = { require "nvim-treesitter.parsers".get_parser_configs().lean = {

View file

@ -1,42 +1,15 @@
# change the prefix from 'C-b' to 'M-a'
unbind C-b unbind C-b
set-option -g prefix M-a set-option -g prefix M-a
bind-key M-a send-prefix bind-key M-a send-prefix
# start with window 1 (instead of 0)
set -g base-index 1
# start with pane 1
set -g pane-base-index 1
# split panes using | and -, make sure they open in the same path
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"' unbind '"'
unbind % unbind %
# open new windows in the current path bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}"
# reload config file
bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded tmux.conf!" bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded tmux.conf!"
# shorten command delay
set -sg escape-time 1
# Increase scrollback buffer size
set -g history-limit 131072
# don't rename windows automatically
set-option -g allow-rename off
# mouse control (clickable windows, panes, resizable panes)
set -g mouse on
set -g focus-events on
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
@ -56,13 +29,11 @@ bind-key -T copy-mode-vi 'C-Down' select-pane -D
bind-key -T copy-mode-vi 'C-Up' select-pane -U bind-key -T copy-mode-vi 'C-Up' select-pane -U
bind-key -T copy-mode-vi 'C-Right' select-pane -R bind-key -T copy-mode-vi 'C-Right' select-pane -R
# Pane resizing with arrow keys
bind Left resize-pane -L 10 bind Left resize-pane -L 10
bind Down resize-pane -D 10 bind Down resize-pane -D 10
bind Up resize-pane -U 10 bind Up resize-pane -U 10
bind Right resize-pane -R 10 bind Right resize-pane -R 10
# Move windows back/forward
bind -n S-left swap-window -t -1 bind -n S-left swap-window -t -1
bind -n S-right swap-window -t +1 bind -n S-right swap-window -t +1
bind m command-prompt -p "Merge pane to:" "join-pane -t '%%'" bind m command-prompt -p "Merge pane to:" "join-pane -t '%%'"
@ -98,62 +69,51 @@ bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-selection bind -T copy-mode-vi y send-keys -X copy-selection
bind -T copy-mode-vi r send-keys -X rectangle-toggle bind -T copy-mode-vi r send-keys -X rectangle-toggle
# Save scrollback buffer to a file
bind S command-prompt -p 'Save history to filename:' -I '/tmp/tmux.history' 'capture-pane -S - -E -; save-buffer %1 ; delete-buffer' bind S command-prompt -p 'Save history to filename:' -I '/tmp/tmux.history' 'capture-pane -S - -E -; save-buffer %1 ; delete-buffer'
# Session selector
bind T display-popup -E "tmux switch-client -t (tmux list-sessions | fzf --exact | awk -F':' '{print $1}')" bind T display-popup -E "tmux switch-client -t (tmux list-sessions | fzf --exact | awk -F':' '{print $1}')"
# Last command output set -g base-index 1
set -g pane-base-index 1
set -g history-limit 131072
set -g allow-rename off
set -g mouse on
set -g focus-events on
set -g allow-passthrough on
set -g set-clipboard on
set -g default-terminal "tmux-256color"
set -sg escape-time 1
set -g @command-capture-key t set -g @command-capture-key t
set -g @command-capture-prompt-pattern '] % ' set -g @command-capture-prompt-pattern '] % '
set -g @command-capture-editor-cmd 'nvim -R' set -g @command-capture-editor-cmd 'nvim -R'
# Fuzzback
set -g @fuzzback-popup 1 set -g @fuzzback-popup 1
set -g @fuzzback-popup-size '90%' set -g @fuzzback-popup-size '90%'
# This effects color rendering and typing on terminal.
set-option -g default-terminal "tmux-256color"
## Status Bar settings
# Gruvbox dark color scheme
set-option -g status "on" set-option -g status "on"
# Default statusbar color set-option -g status-style bg=colour237,fg=colour223
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 set-option -g pane-active-border-style fg=colour250
# Default window title colors set-option -g pane-border-style fg=colour237
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 set-option -g message-style bg=colour239,fg=colour223
# Default window with an activity alert set-option -g message-command-style bg=colour239,fg=colour223
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 set-option -g display-panes-active-colour colour250
# Active window title colors set-option -g display-panes-colour colour237
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
# Pane border
set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1
# Message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
# Writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
# Pane number display
set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1
# Clock
set-window-option -g clock-mode-colour colour109 #blue
# Bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
# Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "centre" set-option -g status-justify "centre"
set-option -g status-left-style none set-option -g status-left-style none
set-option -g status-left-length "80" set-option -g status-left-length "80"
set-option -g status-right-style none set-option -g status-right-style none
set-option -g status-right-length "80" set-option -g status-right-length "80"
set-window-option -g window-status-separator ""
set-option -g status-left "#[bg=colour248,fg=colour237] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" set-option -g status-left "#[bg=colour248,fg=colour237] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
set-option -g status-right "#[bg=colour248,fg=colour237] %H:%M " set-option -g status-right "#[bg=colour248,fg=colour237] %H:%M "
set-window-option -g window-status-style bg=colour214,fg=colour237
set-window-option -g window-status-activity-style bg=colour237,fg=colour248
set-window-option -g window-status-current-style bg=red,fg=colour237
set-window-option -g clock-mode-colour colour109
set-window-option -g window-status-bell-style bg=colour167,fg=colour235
set-window-option -g window-status-separator ""
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]" set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]" set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
# Plugins
run-shell '~/.tmux/plugins/tmux-yank/yank.tmux' run-shell '~/.tmux/plugins/tmux-yank/yank.tmux'
run-shell '~/.tmux/plugins/tmux-open/open.tmux' run-shell '~/.tmux/plugins/tmux-open/open.tmux'
run-shell '~/.tmux/plugins/tmux-butler/tmux-butler.tmux' run-shell '~/.tmux/plugins/tmux-butler/tmux-butler.tmux'

View file

@ -5,3 +5,4 @@ tmuxp load -d gstreamer
tmuxp load -d work tmuxp load -d work
tmuxp load -d audio-dev tmuxp load -d audio-dev
tmuxp load -d rust tmuxp load -d rust
tmuxp load -d code

View file

@ -0,0 +1,22 @@
session_name: code
windows:
- window_name: Code-1
start_directory: "~/GitSources"
panes:
-
- window_name: Code-2
start_directory: "~/GitSources"
panes:
-
- window_name: Code-3
start_directory: "~/GitSources"
panes:
-
- window_name: Code-4
start_directory: "~/GitSources"
panes:
-
- window_name: Code-5
start_directory: "~/GitSources"
panes:
-

View file

@ -3,8 +3,7 @@ windows:
- window_name: gstreamer - window_name: gstreamer
start_directory: ~/GitSources/gstreamer start_directory: ~/GitSources/gstreamer
panes: panes:
- shell_command: -
- nvim
- window_name: gstreamer - window_name: gstreamer
start_directory: ~/GitSources/gstreamer start_directory: ~/GitSources/gstreamer
panes: panes: