Capture ideas and pain points to work on when I have bandwidth:
- Get https://albertlauncher.github.io/ to properly link so I can deprecate the homebrew version
- Build aarch64-darwin support for ActivityWatch
- Compile emacs from pkgs-unstable to work around NixOS/nixpkgs#395169
- https://github.com/FelixKratz/SketchyBar
- Idea: Run
i3wmin full-screen XQuartz and run-natively-compiled X applications inside it- Chrome could be a challenge--I doubt it's commonly-compiled with X support against aarch64-darwin
- This would be a continued disinvestment in Wayland
- A lot of my darwin setup has prioritized cross-platform software, regardless
- https://cmacr.ae/blog/seamless-x11-on-osx/
- Idea: Make xquartz-wm expose modern Accessibility API hooks so X programs can be managed by MacOS window managers (like Aerospace)
copyqintegration with Alfred https://github.com/albertlauncher/albert-plugin-python-copyq- Might work to get images working
- Keyboard: Ctrl+Shift+Return as paste
- Then layer https://github.com/jtroo/kanata/ on top of the Karabiner virtual keyboard
- Consider alternatives to handy for speech-to-text, primarily so I can have separate push-to-talk and toggle keybindings instead of having to choose one or another, in addition to better CLI control / integration.
- Aerospace alternative idea:
- https://github.com/tmandry/glide + https://github.com/jurplel/InstantSpaceSwitcher
- Have to figure out a way to move windows between desktops with keyboard
- Adopting native spaces should hopefully be less glitchy
- Has focus-follows-mouse built-in
Ideas from Stealing from the Best Emacs Configs:
- Disable bidirectional text scanning to improve redisplay performance in large buffers
- Skip fontification during active typing to reduce micro-stutters
- Increase process output buffer to 4MB for better LSP server performance
- Hide cursors in non-focused windows to reduce rendering overhead
- Preserve existing clipboard content before killing text in Emacs
- Remove duplicate entries from the kill ring to save slots
- Persist kill ring across sessions using savehist mode
- Strip text properties from kill ring entries to prevent file bloat
- Auto-execute shell scripts by adding executable permissions on save
- Switch re-builder to string syntax for more intuitive regexp development
- Disable ffap hostname pinging to prevent network-related freezes
- Enable minibuffer-regexp-mode for visual regexp structure feedback
- Use proportional window resizing when splitting frames
- Make C-x 1 toggle between single and multi-window layouts with winner-mode
- Restore previous window configurations instead of permanently deleting them
- Enable faster mark ring navigation with consecutive C-SPC presses
- Recenter view after save-place restores cursor position
- Auto-select help windows to streamline documentation viewing
- Use built-in lazy isearch counting for match statistics
- https://github.com/magit/with-editor
- Alias for nixos-deploy within Emacs
- Ghostty shell integration https://ghostty.org/docs/features/shell-integration
- Ghostty quick terminal setup / keybinding
- Beszel — lightweight server monitoring (CPU/RAM/disk) with hub on aroldo and agents on both machines
- CrowdSec — collaborative intrusion prevention (modern fail2ban with crowd-sourced threat intel), has Caddy bouncer plugin
- Headplane — web UI for Headscale node/ACL/DNS management without SSH
- App Connectors — once landed (targeting v0.31.0), replace AdGuard DNS rewrites for vanity domains (e.g. status.malloc47.com) with Headscale ACL-based domain routing through tagged connector nodes
- Vaultwarden — lightweight Bitwarden server, benefits from always-on public availability separate from home server
- Offsite backup target — use aroldo as Restic/Borg destination over Tailscale for geographic redundancy (limited by 45GB disk)
- Miniflux / FreshRSS — lightweight RSS reader, always accessible
- DNS-over-HTTPS proxy — public encrypted DNS entry point forwarding to AdGuard over tailnet, works without Tailscale active on device
- My emacs rgrep is experiencing weird issues with vertico, and I'm tired of not having github-project-aware project search. Look around for the most minimal options in this area that are not overly coupled to project tooling.
- zbuffers — buffer management plugin for zellij
Stylix drift — the light path generally flows through config.lib.stylix.colors, but
several dark paths and older configs still hardcode solarized palettes, so switching
polarity won't propagate cleanly.
- agent-deck:
theme = "light"is hardcoded inconfig/home-ai.nix:178. Derive fromconfig.stylix.polarity(or the same~/.config/theme-modetoggle tmux/emacs use) so it follows system dark mode. - Emacs:
config/emacs.nix:38-55hardcodes the solarized-dark base16 palette while the light path usesconfig.lib.stylix.colors.withHashtag. Asymmetric — either hardcode both or stylix-derive both. - i3 / i3status / i3bar:
stylix.targets.i3.enable = false(set inconfig/flake.nix) with a full hand-rolled solarized palette inconfig/wm.nix:18-171. Evaluate whether stylix's current i3 module is usable; if so, drop the manual colors. config/theme.nix:13passes#fdf6e3literally to ImageMagick for the blank wallpaper — replace withconfig.lib.stylix.colors.base00(or similar) for consistency.- Ghostty's dual palette (
config/terminal.nix:36-83, withstylix.targets.ghostty.colors.enable = false) is intentional — native OS-followinglight:X,dark:Xtheme switching. Keep as a documented exception, not drift. - Stylix with the
autoEnable = trueimplicitly themes things without asking; audit what is being implicitly styled (e.g. vim) and convert to an opt-in approach.
- Normalize all repos on
mainbranch (config and personal currently usemaster) - Create an automatic (ideally evented or, at worst, time-based) way to automatically pull down config/ and work-config/ repo changes that I can run via launchd/systemd to pull down the latest github state so I don't forget to do a
git pull.
- Audit SSH private keys ending up in
/nix/store— flake inputs (personal, work-config's./ssh) are copied to the store world-readable; consider using agenix for private keys instead
Bifurcate wifi into separate LANs
- https://github.com/utensils/mcp-nixos , https://mcp-nixos.io/
- Bootstrap OpenCode
- Examine https://github.com/notifications/subscriptions for updates and craft TODO items when these are closed
- Karakeep bookmark manager: https://github.com/karakeep-app/karakeep