When both size AND position change (common in tiling WMs), picom's
win_position_changed() returns false. Only size_changed is true.
This means the geometry trigger fires but only scale-x/y change,
not offset-x/y.
Added scale-x and scale-y with spring physics to the geometry
animation so windows animate properly when resized.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Home-manager was concatenating its generated settings with our custom
config. Disable home-manager's picom entirely and create our own
systemd service that uses only our config file.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Set settings = {} to prevent home-manager from generating any picom
config settings that would be appended to our custom config file.
This was causing duplicate/conflicting settings.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Give up on @include workarounds - libconfig doesn't support ~.
Write the complete picom config directly with correct () list syntax
for animations, using xdg.configFile with force=true to override
home-manager's generated config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The config files are symlinks to nix store, so relative paths don't
resolve correctly. Try using ~/.config/picom paths.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
picom doesn't support multiple --config flags. Use a wrapper config
with libconfig @include directive to merge the base config and
animations config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
XDG_CONFIG_HOME is not set in the systemd environment, causing the
animations config path to resolve incorrectly.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Home-manager generates [] (arrays) but picom needs () (lists) for
the animations setting. Move animations to a separate config file
with correct syntax and override the picom service to load both.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update picom from dccsillag fork to colonelpanic8/picom spring-physics
branch, which adds spring physics animation support to mainline picom.
Spring curve syntax: spring(stiffness, dampening, mass, clamping)
- stiffness: spring constant (higher = faster)
- dampening: resistance (higher = less oscillation)
- mass: inertia (higher = slower)
- clamping: prevent overshoot (false for bounce effects)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add nixpkgs PR 483705 to bump codex from 0.89.0 to 0.92.0
- Disable overlay version overrides in favor of PR patches
- Replace deprecated pkgs.system with pkgs.stdenv.hostPlatform.system
- Replace deprecated xfce.thunar with thunar
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>