Picom: Difference between revisions

From NixOS Wiki
imported>Flexagoon
Create Picom page
 
Klinger (talk | contribs)
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[https://github.com/yshui/picom picom] is a standalone [[compositor]] for [[Xorg]], suitable for use with [[window managers]] that do not provide compositing. picom is a fork of [https://github.com/chjj/compton/ compton], which is a fork of [https://web.archive.org/web/20150429182855/http://oliwer.net/xcompmgr-dana/ xcompmgr-dana], which in turn is a fork of xcompmgr.
[https://github.com/yshui/picom picom] is a standalone [[compositor]] for [[Xorg]], suitable for use with window managers that do not provide compositing. picom is a fork of [https://github.com/chjj/compton/ compton], which is a fork of [https://web.archive.org/web/20150429182855/http://oliwer.net/xcompmgr-dana/ xcompmgr-dana], which in turn is a fork of xcompmgr.


== Installation ==
== Installation ==
Line 9: Line 9:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
packages.picom.enable = true;
packages.picom.enable = true;
</syntaxhighlight>
== Installing a custom fork ==
Picom is known for having multiple forks, each having their own features such as animations, better performance or fixes that the most popular forks don't implement. Usually these forks are not available in [[nixpkgs]]. But with the following code you can compile and build custom versions from any source. [https://github.com/nix-community/nurl Nurl] can be used to generate fetch calls.<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
  (picom.overrideAttrs (oldAttrs: rec {
    src = fetchFromGitHub {
      owner = "pijulius";
      repo = "picom";
      rev = "da21aa8ef70f9796bc8609fb495c3a1e02df93f9";
      hash = "sha256-rxGWAot+6FnXKjNZkMl1uHHHEMVSxm36G3VoV1vSXLA=";
    };
  }))
];
</syntaxhighlight>
</syntaxhighlight>


Line 14: Line 28:
=== Issues with Nvidia proprietary drivers ===
=== Issues with Nvidia proprietary drivers ===
See [[Nvidia#Fix_app_flickering_with_Picom]]
See [[Nvidia#Fix_app_flickering_with_Picom]]
[[Category:Window managers]]

Latest revision as of 16:34, 19 June 2024

picom is a standalone compositor for Xorg, suitable for use with window managers that do not provide compositing. picom is a fork of compton, which is a fork of xcompmgr-dana, which in turn is a fork of xcompmgr.

Installation

Put the following line into your system or home-manager config to install picom and enable it's service:

services.picom.enable = true;

If you just want to install picom without automatically running it every time your system boots, use this instead:

packages.picom.enable = true;

Installing a custom fork

Picom is known for having multiple forks, each having their own features such as animations, better performance or fixes that the most popular forks don't implement. Usually these forks are not available in nixpkgs. But with the following code you can compile and build custom versions from any source. Nurl can be used to generate fetch calls.

environment.systemPackages = with pkgs; [
  (picom.overrideAttrs (oldAttrs: rec {
    src = fetchFromGitHub {
      owner = "pijulius";
      repo = "picom";
      rev = "da21aa8ef70f9796bc8609fb495c3a1e02df93f9";
      hash = "sha256-rxGWAot+6FnXKjNZkMl1uHHHEMVSxm36G3VoV1vSXLA=";
    };
  }))
];

Troubleshooting

Issues with Nvidia proprietary drivers

See Nvidia#Fix_app_flickering_with_Picom