| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Bottom-posting is arguably better but non-technical recipients find it
disorienting. reply_on_top=1 puts the cursor above the quoted text;
sig_bottom=false keeps the signature adjacent to the reply rather than
below the quote.
|
| |
|
|
|
|
|
|
|
| |
Matching only on app_id caused every TB window (compose, message
viewer, calendar event, settings) to be parked in the scratchpad,
leaving them hidden behind the main window. TB's main window title
always ends in 'Mozilla Thunderbird'; child windows don't. Narrow
both the for_window rule and the Super+t toggle with a title regex
so only the main window is managed.
|
| |
|
|
|
|
|
| |
lsblk without -d lists the partition AND its children, so on a LUKS
setup the second line (the mapper's UUID) was leaking into the
rendered cmdline and deploy script. Add -d so only the partition's
own UUID is emitted.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prompt once at 'chezmoi init' time for the LUKS root partition (e.g.
nvme0n1p2) and store it under [data].luksRootPartition in the per-machine
chezmoi config. etc/kernel/cmdline.tmpl resolves the UUID at apply time
via lsblk, so reinstalls only require re-entering the partition name.
The etc deploy script now renders *.tmpl sources through
'chezmoi execute-template' and installs them without the suffix. The
resolved UUID is folded into the onchange hash so the script re-runs
when the UUID changes even if etc/ content is unchanged.
just etc-status/diff transparently handle .tmpl sources (strip suffix
for the live-path mapping, render before diffing). etc-re-add skips
.tmpl files since template sources can't be reverse-rendered from the
live file.
|
| |
|
|
|
|
| |
Adds sourceDir = .chezmoi.sourceDir to the tracked config template.
After 'just init' (or 'chezmoi init --force -S .') regenerates the
per-machine config, 'chezmoi apply' etc. no longer need '-S .'.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Autostart thunderbird on sway launch; window rule parks it in the
scratchpad immediately so it runs in the background firing mako
notifications. Super+t toggles the window visible/hidden without
quitting the app — works around the long-standing lack of native
Linux tray support in Thunderbird.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Drop the hand-rolled kitchen-sink config in favour of a smaller set
inspired by HorlogeSkynet/thunderbird-user.js. Removes prefs that were
either restating Mozilla/Arch defaults (telemetry, app.update),
Firefox-only (extensions.screenshots), or guessed/stale
(mail.folder_widget.view_flags).
Keeps: remote-image block, no read receipts, plain-text compose with
format=flowed, no UA header leak, no Referer/prefetch, safe-browsing
off, DNT on, system gpg-agent for OpenPGP, vertical pane, Monday
calendar start.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mirror the firefox/ pattern for Thunderbird:
- thunderbird/user.js: telemetry off, safe-browsing off, remote images
blocked, read receipts disabled, plain-text compose with flowed
wrap at 72, vertical pane, calendar on Monday start
- run_onchange_after_deploy-thunderbird.sh.tmpl: detects default
profile and copies tracked files in on any change
- meta/mail.txt: add thunderbird package (official repo)
- .chezmoiignore: exclude thunderbird/ from $HOME deployment
- README: mention Thunderbird + Bridge + Radicale stack
Accounts/credentials/mailbox data stay local per profile.
|
| |
|
|
|
|
| |
Arch's protonmail-bridge-core ships /usr/lib/systemd/user/protonmail-bridge.service
with proper hardening. Replace custom unit with a minimal drop-in to
inject PASSWORD_STORE_DIR for the pass keychain backend.
|
| | |
|
| |
|
|
|
|
| |
The nogui variant was deleted from the AUR; the maintained headless
package is now protonmail-bridge-free-core (same /usr/bin/protonmail-bridge
binary, just no Qt GUI components).
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Remove aerc, khal, khard, vdirsyncer from meta/mail.txt and delete their
configs (aerc/, vdirsyncer systemd override, aerc .desktop handler).
Point linkhandler mailto at xdg-open until a GUI client is set up.
Add systemd user unit for protonmail-bridge --noninteractive, tied to
graphical-session.target so it starts with the sway session.
|
| | |
|
| |
|
|
|
|
|
| |
Ctrl+Shift+PageUp/Down are ghostty's default jump_to_prompt binds on
Linux, not tab/split binds — they were mislabeled and unbound by
mistake. Restoring the defaults also reverts the Ctrl+Alt+Up/Down
attempt that never reached ghostty (swallowed before the terminal).
|
| |
|
|
|
|
|
| |
Requires OSC 133 markers from ghostty's zsh shell integration.
Ctrl+Alt+arrow avoids conflicts with letter chords in zsh/nvim and
the already-used Ctrl+Shift+Up/Down scroll binds. Only works outside
zellij since zellij consumes the PTY and never forwards OSC 133.
|
| |
|
|
|
| |
Double-quoting a zsh array slice joins elements with spaces; use the
(F) parameter expansion flag to join with newlines instead.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Zellij has no native "copy last command output" feature, and ghostty's
jump_to_prompt (Ctrl+Shift+J/K, via OSC 133) can't work inside zellij
because zellij sits between the shell and the terminal emulator.
Build it ourselves: a zle widget runs 'zellij action dump-screen --full',
finds the last two lines matching the prompt prefix (user@host:), and
pipes everything between them to wl-copy. Bound to Alt+Shift+Y.
Requires running inside zellij and at least two prompts in the scrollback.
|
| |
|
|
|
| |
wlc pipes stdin to stdout (visible) AND to wl-copy (clipboard).
Usage: `somecmd | wlc`
|
| |
|
|
|
|
|
|
|
|
|
| |
overseer.nvim removed save/load_task_bundle in the "task bundles get the
axe" refactor, which caused auto-session to error on every session restore:
/lua/plugins/session.lua:27: attempt to call field 'load_task_bundle'
(a nil value)
Remove the pre_save/pre_restore/post_restore hooks that called the removed
API. DAP breakpoint save/restore via save_extra_data is preserved.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shell/nvim
Zellij's default Ctrl+* mode-entry keys (Ctrl+p/t/r/s/o/g/b/q) were
intercepted before reaching the inner shell/editor, shadowing zsh fzf
bindings (Ctrl+t), history navigation (Ctrl+p/n), nvim jumps (Ctrl+o),
save (Ctrl+s), etc.
Unbind all conflicting Ctrl+* entries and relocate mode-entry to
Alt+Shift+<first-letter-of-mode>:
Alt+Shift+P Pane
Alt+Shift+T Tab
Alt+Shift+R Resize
Alt+Shift+S Scroll
Alt+Shift+O Session
Alt+Shift+Z Locked (Z avoids Treewalker Alt+Shift+h/j/k/l swap)
Alt+Shift+Q Quit
TMUX-compat mode dropped. Only Ctrl+h/j/k/l remain bound in zellij (for
vim-zellij-navigator); every other Ctrl+* now passes through.
Requires fresh zellij session (kill-all-sessions -y) to take effect.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
xdg-user-dirs-update runs on login and rewrites user-dirs.dirs with
localized defaults, clobbering the custom short paths. enabled=False
in user-dirs.conf is the official opt-out.
|
| |
|
|
|
| |
setterm only affects the Linux console (TERM=linux); sway's KMS/DRM
session is unaffected. Wakes on any keypress.
|
| |
|
|
|
|
|
| |
Re-exports WAYLAND_DISPLAY, SWAYSOCK, DBUS, SSH_AUTH_SOCK etc. from the
currently running sway process, so a zellij pane whose server was
started in a different session (SSH-attached, logout/login, etc.)
regains working GUI/clipboard/systemctl --user.
|
| |
|
|
|
|
|
|
|
|
|
| |
- seat * xcursor_theme Adwaita 24: announces the cursor via
cursor-shape-v1 for Wayland clients and exports XCURSOR_THEME/SIZE
to Xwayland, so Xwayland GTK apps no longer fall back to the bitmap X
cursor.
- exec gsettings color-scheme prefer-dark: GTK4 ignores the settings.ini
gtk-application-prefer-dark-theme key (GTK3 only); it reads the gnome
color-scheme gsetting. This fixes light-mode GTK4 apps (gnome
calculator, nautilus, modern GNOME apps).
|
| |
|
|
|
|
|
|
|
|
|
| |
- zprofile: set QT_QPA_PLATFORM="wayland;xcb" (xcb fallback for bundled
Qt), SDL_VIDEODRIVER="wayland,x11" (SDL2 defaults to X11). Drop
MOZ_ENABLE_WAYLAND (Firefox 121+ default).
- meta/wayland: add qt5-wayland and qt6-wayland so QT_QPA_PLATFORM=wayland
actually resolves.
- electron-flags.conf: global --ozone-platform=wayland, Wayland window
decorations, GTK4. Applies to all apps using the Arch electron wrapper.
Bundled-electron apps (slack-desktop, etc.) unaffected.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- New dot_config/systemd/user/swayidle.service, pulled in by
sway-session.target alongside mako/display-watcher/poweralertd. Same
lifetime as the rest of the session: starts after graphical-session,
restarts on failure, stops on logout.
- Drop the swayidle exec from sway config (was unmanaged background
process with no restart, no logging hookup).
- Revert etc/systemd/logind.conf overrides: swayidle handles idle-lock
directly via Wayland ext-idle-notifier, so the logind IdleAction
belt-and-suspenders is redundant. Run just etc-reset
/etc/systemd/logind.conf on the host to restore pristine.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- logind: IdleAction=lock, IdleActionSec=5min. systemd emits a lock
signal at 5min idle (session becomes locked from logind PoV; swayidle
listens and invokes swaylock).
- swayidle: lock at 5min, blank display at 6min, lock before sleep.
Closes the gap where lid-close or manual suspend would wake to an
unlocked session.
- swaylock: add -i (--ignore-empty-password) to ignore accidental Enter.
- meta/wayland: add swayidle.
|
| |
|
|
|
|
| |
Arch already ships systemd-based HOOKS as default; only add sd-encrypt.
keymap is redundant with sd-vconsole but harmless, and keeping it
minimizes diff from upstream (one word changed).
|
| |
|
|
|
|
|
|
|
| |
Prerequisite for TPM2 LUKS unlock. systemd-cryptenroll stores TPM hints
in LUKS2 token metadata, so no cmdline options are needed beyond
rd.luks.name (sd-encrypt auto-discovers enrolled tokens).
After chezmoi apply: sudo mkinitcpio -P && sudo sbctl verify, then
reboot. Passphrase still works; TPM enrollment is a separate step.
|
| |
|
|
|
|
| |
Only CriticalPowerAction=PowerOff is a behaviorally meaningful change
vs pristine. Percentage tweaks (15/7/3 vs 20/5/2) are not worth the
drift.
|
| |
|
|
|
|
|
| |
- Drop ES/PT from country list (always-on VPN exits in Zurich; Iberian
mirrors are slow through that path).
- Replace --latest 5 + --sort age with --age 12 + --fastest 10 +
--threads 5 (real throughput benchmark over 5 parallel probes).
|
| |
|
|
|
| |
No behavior change; only the four overrides (PercentageLow/Critical/
Action, CriticalPowerAction=PowerOff) differ from upstream defaults.
|
| |
|
|
|
|
| |
Single-user laptop behind FDE with key-only SSH means local brute
force is not a realistic threat. Tight defaults (3 attempts, 10min
lock) mainly punish typos.
|
| |
|
|
|
|
| |
User scopes (e.g. ghostty surface containing zellij) inherit timeouts
from the user manager, not /etc/systemd/system.conf.d. Without this,
zellij sessions stall reboot for 90s before SIGKILL.
|
| |
|
|
|
|
|
|
| |
- use systemctl is-enabled per curated unit (list-unit-files does not
show instantiated template units like btrfs-scrub@-.timer)
- accept static/indirect/generated/alias states in addition to enabled
- drop pkgstats.timer from curated (no [Install] section)
- ignore systemd-oomd.socket (distro default)
|
| |
|
|
| |
fwupd-refresh; drop fstrim.timer
|
| |
|
|
|
| |
selene's neovim stdlib doesn't expose io.stdout:write/:flush. print()
goes to the same place in headless mode and is already allowed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New recipes (new 'Updates' section after 'Day-to-day'):
- update: pkg-update nvim-update
- pkg-update: paru -Syu
- nvim-update: nvim --headless +'lua require("config.update").run()'
New dot_config/nvim/lua/config/update.lua drives the headless session:
clean orphan plugins, vim.pack.update with force=true (skips the confirm
buffer since this is unattended; changes still go to nvim-pack.log),
then :MasonToolsUpdateSync — the blocking variant intended for headless
Interactive :PackSync stays unchanged (confirm buffer remains visible
for reviewed updates).
|
| |
|
|
|
|
| |
Auto-writing it defeated the purpose — no feedback on what changed.
Now :PackUpdate and :PackSync show the confirm buffer; user reviews
and :w to apply or :q to cancel. Matches vim.pack's intended UX.
|