picom: completely replace home-manager's picom with custom service
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>
This commit is contained in:
@@ -92,12 +92,25 @@ makeEnable config "myModules.xmonad" true {
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable picom service but disable its config generation - we write our own config
|
# Completely disable home-manager's picom - we manage everything ourselves
|
||||||
# to work around the libconfig list vs array syntax issue for animations
|
# to work around the libconfig list vs array syntax issue for animations
|
||||||
services.picom = {
|
services.picom.enable = false;
|
||||||
enable = true;
|
|
||||||
# Don't let home-manager generate any settings - we handle everything in xdg.configFile
|
# Our own picom systemd service
|
||||||
settings = {};
|
systemd.user.services.picom = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Picom X11 compositor";
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.picom}/bin/picom --config %h/.config/picom/picom.conf";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = 3;
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Write complete picom config directly to avoid home-manager's libconfig generator
|
# Write complete picom config directly to avoid home-manager's libconfig generator
|
||||||
|
|||||||
Reference in New Issue
Block a user