Commit Graph

86 Commits

Author SHA1 Message Date
Miguel Palhas d417a27f2d feat: make the clipboard work across tmux, ssh and hosts
CI / lint (push) Successful in 31s
CI / eval (push) Successful in 2m1s
tmux copy bindings piped to xclip, which is X11-only and never worked
under Hyprland or over SSH, and set-clipboard was never enabled, so the
vi-mode `y` binding was dead too. Route both through OSC 52 instead.
terminal-features has to name the outer terminal explicitly: tmux skips
OSC 52 silently when the terminfo entry does not claim the capability,
which is the common case for an SSH session on xterm-256color.

Neovim only falls back to OSC 52 when it finds no clipboard tool, but
wl-clipboard is installed on every host, so over SSH it wrote the remote
clipboard. Pin the OSC 52 provider for SSH sessions only.

Moonlight and Sunshine have no clipboard channel in the protocol, so
nothing at the terminal layer can help there. Add kdeconnect on all three
hosts for that, and start its indicator from Hyprland — kdeconnectd is
DBus-activated and nothing else brings it up at login.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 08:14:17 +01:00
naps62 395055ed35 Merge remote-tracking branch 'origin/main' into yolo
CI / lint (push) Successful in 32s
CI / eval (push) Successful in 2m28s
# Conflicts:
#	home/common/programs/default.nix
2026-08-17 13:09:04 +00:00
Miguel Palhas a8593d9157 wl kbptr
CI / lint (push) Successful in 32s
CI / eval (push) Failing after 1m39s
2026-08-17 13:39:37 +01:00
Miguel Palhas 4028c55d56 hyprland: add wl-kbptr, patched for HiDPI and rotated outputs
Keyboard control of the mouse pointer. SUPER+G labels detected targets and
clicks one; SUPER+SHIFT+G falls back to tile -> bisect for anything detection
misses.

Stock wl-kbptr 0.4.1 is unusable on this setup, for two unrelated reasons:

- Target detection is hardcoded for ~1080p. filter_rects() discards any
  candidate with height >= 50 or width >= 500, so on a 4K screen at scale = 1
  nearly every real control is dropped for being "too big" and only emoji and
  avatars survive — a full Slack window produced ~8 labels, all on images.

- On the rotated monitor the pointer landed in the wrong place. move_pointer()
  takes output->width/height from xdg_output.logical_size, which is already
  rotated, then applies the transform again. Asking for global (4000,1000) on
  DP-2 landed at (4286,3726); the double rotation predicts (4301,3736).

Neither is exposed as a config option, hence the overrideAttrs. Sizes in the
config file are likewise doubled: wl-kbptr paints raw cairo onto a layer
surface and never sees a scale factor, so upstream's defaults render half-size.

Both binds are pidof-guarded: wl-kbptr only exits on a keypress, so an overlay
that loses focus first sits there holding an exclusive keyboard grab.
2026-08-17 13:39:37 +01:00
naps62 77bdbe108d feat: add yolo host
New NixOS VM on proxmox, replacing the Ubuntu box. Reuses the existing
Hyprland config; remote access is Sunshine/Moonlight rather than xrdp,
since xrdp cannot drive a wayland compositor.

Two fixes here are not yolo-specific and affect any fresh install:
git at system level (nix needs it for the type = "git" hyprland input,
but git only came from home-manager, so neither rebuild could run), and
dropping the yogurt input, whose private repo made home-manager
un-evaluatable without GitHub auth.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 06:30:54 +00:00
Miguel Palhas 3d9c273fd3 wip
CI / lint (push) Successful in 33s
CI / eval (push) Failing after 1m41s
2026-07-30 13:18:47 +01:00
Miguel Palhas 79d4bcc989 fixing
CI / lint (push) Successful in 1m8s
CI / eval (push) Failing after 2m31s
2026-07-08 10:15:41 +01:00
Miguel Palhas eea9bdb095 sunshine fixes 2026-07-06 09:54:23 +01:00
Miguel Palhas 4f2438d383 hyprland: replace noctalia locker with hyprlock
noctalia's built-in lock screen is hard to theme and opaque to logind
(LockedHint never flips). Swap to hyprlock: clean dark theme, drive it from
hypridle (idle + before-sleep via loginctl lock-session) so logind tracks
lock state, and add a $mod CTRL+L manual lock bind. Applies to both hosts
that share this module (konishi + arrakis).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 15:55:22 +01:00
Miguel Palhas ff408faf69 yogurt
CI / eval (push) Failing after 3m22s
CI / lint (push) Successful in 55s
2026-07-03 07:14:01 +01:00
Miguel Palhas 39e6276c7d Session overhaul: dev tooling, cleanup, theming, fixes
Tooling:
- nh + nvd/nom/statix/deadnix/comma (new programs/nix.nix); GC via nh clean
- zoxide (cd), atuin, just, lazydocker, dust, duf, difftastic (git dft)

Structure:
- rename desktop -> konishi; homeConfigurations -> "user@host" for nh autodetect

Removals (heavy/unused):
- android-studio, unity/.NET/omnisharp/vscode, kicad, zoom, calibre,
  google-fonts, nerd-dictation

Screen recording:
- kooha + vokoscreen-ng + `webcam` corner-cam command/window-rule

Fixes:
- WEBKIT_DISABLE_DMABUF_RENDERER moved to common (electron/tauri on intel)
- kitty pinned to Catppuccin-Mocha; darkman no longer toggles kitty/claude
- claude theme dark + statusline locale fix
- ssh: migrate to settings API + multiplexing/keepalive/AddKeysToAgent;
  gpg-agent enableSshSupport
- silence hyprland configType / gtk4 / xdg userDirs deprecations

Flake hygiene:
- follows=nixpkgs for foundry/hardware/rose-pine/zen/spicetify (10->5 nixpkgs)
- zoxide _ZO_DOCTOR=0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 18:17:25 +01:00
Miguel Palhas a2b4d0f479 deadnix 2026-06-27 14:17:02 +01:00
Miguel Palhas 559edbe89a various fixes 2026-06-27 11:21:45 +01:00
Miguel Palhas 753426fd91 wip 2026-06-20 07:58:50 +01:00
Miguel Palhas 8a7439fe1d wip 2026-06-16 11:45:16 +01:00
Miguel Palhas d48267c8ad wip 2026-04-09 18:16:31 +01:00
Miguel Palhas 6f67e5f451 fixes 2026-03-26 14:30:47 +00:00
Miguel Palhas 9af55f9e16 wip 2026-03-21 16:01:20 +00:00
Miguel Palhas c9f554e276 yazi updates 2026-03-03 10:43:56 +00:00
Miguel Palhas 1e1238a6c1 several updates 2026-02-25 21:53:21 +00:00
Miguel Palhas 5939224604 wf-recorder 2026-02-18 13:49:44 +00:00
Miguel Palhas a5089b77e9 termfilechooser 2026-02-17 20:35:11 +00:00
Miguel Palhas abdf71f7dc desktop noctalia configs 2026-02-17 12:18:07 +00:00
Miguel Palhas 94666c75a0 wip 2026-02-17 11:40:09 +00:00
Miguel Palhas b6efd4d27b noctalia with fingerprint lock screen 2026-02-17 11:28:12 +00:00
Miguel Palhas 0993a23874 disable hyprfocus 2026-02-16 19:03:59 +00:00
Miguel Palhas ae1ac19436 auto rotate wallpapers 2026-02-16 19:00:27 +00:00
Miguel Palhas e8086e8528 Several hyprland updates:
plugins, new cursor, light/dark themes, new app launcher, ...
2026-02-16 17:33:40 +00:00
Miguel Palhas afb7ef8c68 wip 2026-02-05 14:57:31 +00:00
Miguel Palhas c763eed5b6 wip 2026-01-26 09:36:12 +00:00
Miguel Palhas b7fae3aa17 nerd-dictation 2025-12-23 14:03:41 +00:00
Miguel Palhas 0eda413f66 termfilechooser 2025-12-02 11:40:56 +00:00
Miguel Palhas 8e1025a3c1 better anims 2025-11-24 16:04:43 +00:00
Miguel Palhas 346d407744 yazi 2025-11-24 15:44:00 +00:00
Miguel Palhas 265d97cecc wip 2025-11-24 13:21:00 +00:00
Miguel Palhas 5e2701d93f updates 2025-11-10 11:15:39 +00:00
Miguel Palhas d026c0c4fa hyprpanel fixed 2025-09-25 09:57:55 +01:00
Miguel Palhas 9231cc6703 wip 2025-09-18 09:55:53 +01:00
Miguel Palhas 65dd668e9e updates 2025-07-16 14:59:50 +01:00
Miguel Palhas 4ea74bd1ab i3 updates 2025-07-14 13:57:36 +01:00
Miguel Palhas 3e3ad71e27 hypridle 2025-07-03 18:34:31 +01:00
Miguel Palhas d45f9f1869 window animations 2025-07-01 09:46:39 +01:00
Miguel Palhas 3257d435d1 fix portal 2025-06-30 12:00:35 +01:00
Miguel Palhas 0137e92e0d wip 2025-06-27 17:52:20 +01:00
Miguel Palhas 94a877d5cb Merge branch 'main' into unity2 2025-06-27 16:27:03 +01:00
Miguel Palhas bc8a219f16 wip 2025-06-15 09:26:50 +01:00
Miguel Palhas c0751a61cf wip 2025-04-24 22:21:24 +01:00
Miguel Palhas ed539c6764 fix num lock 2025-03-26 09:30:56 +00:00
Miguel Palhas 61a357409b wip 2025-03-15 19:20:26 +00:00
Miguel Palhas 49a137bc86 gnome 2025-03-14 16:37:44 +00:00