diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5b21aec51bdd..1abf87dfcc63 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -854,7 +854,7 @@ ./services/x11/extra-layouts.nix ./services/x11/clight.nix ./services/x11/colord.nix - ./services/x11/compton.nix + ./services/x11/picom.nix ./services/x11/unclutter.nix ./services/x11/unclutter-xfixes.nix ./services/x11/desktop-managers/default.nix diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/picom.nix similarity index 89% rename from nixos/modules/services/x11/compton.nix rename to nixos/modules/services/x11/picom.nix index 61174672e2dd..e3bd21be73e4 100644 --- a/nixos/modules/services/x11/compton.nix +++ b/nixos/modules/services/x11/picom.nix @@ -5,7 +5,7 @@ with builtins; let - cfg = config.services.compton; + cfg = config.services.picom; pairOf = x: with types; addCheck (listOf x) (y: length y == 2); @@ -31,20 +31,24 @@ let (key: value: "${toString key}=${mkValueString value};") v) + " }" - else abort "compton.mkValueString: unexpected type (v = ${v})"; + else abort "picom.mkValueString: unexpected type (v = ${v})"; in "${escape [ sep ] k}${sep}${mkValueString v};") attrs); - configFile = pkgs.writeText "compton.conf" (toConf cfg.settings); + configFile = pkgs.writeText "picom.conf" (toConf cfg.settings); in { - options.services.compton = { + imports = [ + (mkAliasOptionModule [ "services" "compton" ] [ "services" "picom" ]) + ]; + + options.services.picom = { enable = mkOption { type = types.bool; default = false; description = '' - Whether of not to enable Compton as the X.org composite manager. + Whether of not to enable Picom as the X.org composite manager. ''; }; @@ -85,7 +89,7 @@ in { ]; description = '' List of conditions of windows that should not be faded. - See compton(1) man page for more examples. + See picom(1) man page for more examples. ''; }; @@ -125,7 +129,7 @@ in { ]; description = '' List of conditions of windows that should have no shadow. - See compton(1) man page for more examples. + See picom(1) man page for more examples. ''; }; @@ -192,7 +196,7 @@ in { apply = x: let res = x != "none"; - msg = "The type of services.compton.vSync has changed to bool:" + msg = "The type of services.picom.vSync has changed to bool:" + " interpreting ${x} as ${boolToString res}"; in if isBool x then x @@ -222,13 +226,13 @@ in { type = loaOf (types.either configTypes (loaOf (types.either configTypes (loaOf configTypes)))); default = {}; description = '' - Additional Compton configuration. + Additional Picom configuration. ''; }; }; config = mkIf cfg.enable { - services.compton.settings = let + services.picom.settings = let # Hard conversion to float, literally lib.toInt but toFloat toFloat = str: let may_be_float = builtins.fromJSON str; @@ -264,8 +268,8 @@ in { refresh-rate = mkDefault cfg.refreshRate; }; - systemd.user.services.compton = { - description = "Compton composite manager"; + systemd.user.services.picom = { + description = "Picom composite manager"; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; @@ -275,13 +279,13 @@ in { }; serviceConfig = { - ExecStart = "${pkgs.compton}/bin/compton --config ${configFile}"; + ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}"; RestartSec = 3; Restart = "always"; }; }; - environment.systemPackages = [ pkgs.compton ]; + environment.systemPackages = [ pkgs.picom ]; }; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/picom/default.nix similarity index 87% rename from pkgs/applications/window-managers/compton/default.nix rename to pkgs/applications/window-managers/picom/default.nix index 3f7cfd4864d6..ad5f73ab1739 100644 --- a/pkgs/applications/window-managers/compton/default.nix +++ b/pkgs/applications/window-managers/picom/default.nix @@ -3,15 +3,16 @@ , xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev , dbus, libconfig, libdrm, libGL, pcre, libX11 , libXinerama, libXext, xwininfo, libxdg_basedir }: + stdenv.mkDerivation rec { - pname = "compton"; - version = "7.2"; + pname = "picom"; + version = "7.5"; src = fetchFromGitHub { owner = "yshui"; - repo = "compton"; + repo = "picom"; rev = "v${version}"; - sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3"; + sha256 = "1l48fxl04vkzr4r94sl37nbbw7a621rn8sxmkbdv4252i1gjxd4z"; fetchSubmodules = true; }; @@ -43,7 +44,7 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; postInstall = '' - wrapProgram $out/bin/compton-trans \ + wrapProgram $out/bin/picom-trans \ --prefix PATH : ${lib.makeBinPath [ xwininfo ]} ''; @@ -57,7 +58,7 @@ stdenv.mkDerivation rec { well-defined and proper place. ''; license = licenses.mit; - homepage = "https://github.com/yshui/compton"; + homepage = "https://github.com/yshui/picom"; maintainers = with maintainers; [ ertes enzime twey ]; platforms = platforms.linux; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4911f96fad62..c4bfcbc09839 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -71,6 +71,7 @@ mapAliases ({ clawsMail = claws-mail; # added 2016-04-29 clutter_gtk = clutter-gtk; # added 2018-02-25 conkerorWrapper = conkeror; # added 2015-01 + compton = picom; # added 2019-12-02 compton-git = compton; # added 2019-05-20 conntrack_tools = conntrack-tools; # added 2018-05 cool-old-term = cool-retro-term; # added 2015-01-31 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5d568971b26..fe832c910287 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22215,7 +22215,7 @@ in inherit (xorg) xcompmgr; - compton = callPackage ../applications/window-managers/compton {}; + picom = callPackage ../applications/window-managers/picom {}; xdaliclock = callPackage ../tools/misc/xdaliclock {};