Merge branch 'migrate-to-mint-bsd'

This commit is contained in:
Fabio Scotto di Santolo
2026-07-17 17:43:45 +02:00
51 changed files with 1457 additions and 354 deletions

View File

@@ -1,2 +1,2 @@
export EDITOR=vim
export VISUAL=emacs
export VISUAL=vim

View File

@@ -0,0 +1,88 @@
// Minimal niri profile for the laptop.
// niri arranges windows in scrollable columns, which keeps small laptop screens usable.
input {
keyboard {
xkb {
layout "us"
variant "intl"
}
}
touchpad {
tap
natural-scroll
}
}
layout {
gaps 12
center-focused-column "on-overflow"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
width 4
active-color "#54d6ff"
inactive-color "#505050"
}
}
spawn-at-startup "waybar"
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
binds {
Mod+Shift+Slash { show-hotkey-overlay; }
Mod+Return hotkey-overlay-title="Open a Terminal" { spawn "foot"; }
Mod+D hotkey-overlay-title="Run an Application" { spawn "rofi" "-show" "drun"; }
Mod+B hotkey-overlay-title="Open Browser" { spawn "firefox"; }
Mod+Q repeat=false { close-window; }
Mod+O repeat=false { toggle-overview; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+R { switch-preset-column-width; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
Mod+V { toggle-window-floating; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Print { screenshot; }
Mod+Shift+E { quit; }
}

View File

@@ -0,0 +1 @@
# Per-host Niri environment overrides. Empty by default.

View File

@@ -42,7 +42,6 @@
'misc/doom-modeline
'misc/which-key
'misc/gptel
'misc/email
'misc/rss
'misc/terminal
'misc/vcs

View File

@@ -59,12 +59,6 @@
(with-eval-after-load 'vterm
(define-key vterm-mode-map (kbd "C-c C-t") #'vterm-copy-mode))
;; -------- mu4e --------
(autoload 'mu4e "mu4e" nil t)
(autoload 'mu4e-compose-new "mu4e" nil t)
(global-set-key (kbd "C-x m") #'mu4e-compose-new)
(define-key fscotto/open (kbd "m") #'mu4e)
;; -------- elfeed --------
(autoload 'elfeed "elfeed" nil t)
(define-key fscotto/open (kbd "f") #'fscotto/elfeed-load-db-and-open)

View File

@@ -1,6 +1,8 @@
;;; python.el -*- lexical-binding: t; -*-
(require 'reformatter)
(use-package reformatter
:ensure t
:demand t)
(with-eval-after-load 'project
(add-to-list 'project-vc-extra-root-markers "pyproject.toml")

View File

@@ -29,6 +29,20 @@
:hook
(elfeed-show-mode . visual-line-mode))
(use-package evil-collection
:ensure t
:after (evil elfeed)
:config
;; Enable Vim-style keybindings only for elfeed (search + entry views),
;; leaving the rest of the configuration on evil's defaults.
(evil-collection-init (list 'elfeed))
;; Restore the custom "v" -> mpv binding, which evil's normal-state visual
;; selection would otherwise shadow inside elfeed buffers.
(evil-collection-define-key 'normal 'elfeed-search-mode-map
"v" #'elfeed-play-with-mpv)
(evil-collection-define-key 'normal 'elfeed-show-mode-map
"v" #'elfeed-play-with-mpv))
(use-package elfeed-org
:ensure t
:after elfeed

View File

@@ -24,7 +24,7 @@
"C-c p" "Project"
"C-c d" "Debug"
"C-c g" "Git"
"C-c e" "Email / Elfeed")
"C-c e" "Elfeed")
;; --------------------------------------------------------------------------
;; Open (C-c o …)
@@ -33,7 +33,6 @@
"C-c o d" "Dirvish"
"C-c o f" "RSS (Elfeed)"
"C-c o l" "LLM chat (gptel)"
"C-c o m" "mu4e (Email Client)"
"C-c o T" "Terminal (multi-vterm)"
"C-c o z" "Ztree diff")

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env sh
mbsync -a & pid1=$!
wait $pid1
mu index

View File

@@ -0,0 +1,27 @@
#!/bin/sh
[ -r /etc/profile ] && . /etc/profile
[ -r "$HOME/.profile" ] && . "$HOME/.profile"
export XDG_CURRENT_DESKTOP=niri
export XDG_SESSION_DESKTOP=niri
export XDG_SESSION_TYPE=wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM='wayland;xcb'
export _JAVA_AWT_WM_NONREPARENTING=1
export SDL_VIDEODRIVER=wayland
export GDK_BACKEND='wayland,x11'
export SSH_AUTH_SOCK="$HOME/.local/state/ssh-agent/socket"
# Per-host session environment (GPU / Wayland tuning, etc.)
[ -r "$HOME/.config/niri/session-env" ] && . "$HOME/.config/niri/session-env"
exec dbus-run-session sh -eu -c '
umask 077
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
gpgconf --launch gpg-agent
"$HOME/.local/bin/update-turnstile-env"
exec niri --session
'