diff options
author | tdro <tdro@users.noreply.github.com> | 2020-12-05 04:33:48 -0500 |
---|---|---|
committer | tdro <tdro@users.noreply.github.com> | 2020-12-05 04:35:40 -0500 |
commit | 2038dc9f3e44b6bbbebda7503dc1a6eeee1d7b97 (patch) | |
tree | 58d46bdf1bb9c32cdb7a8e6aa836072496fc5756 /.config | |
parent | ea0d4733ad73f3e0d4d00fa1d18c3dfa1935e70e (diff) | |
download | dotfiles-2038dc9f3e44b6bbbebda7503dc1a6eeee1d7b97.tar.gz dotfiles-2038dc9f3e44b6bbbebda7503dc1a6eeee1d7b97.tar.bz2 dotfiles-2038dc9f3e44b6bbbebda7503dc1a6eeee1d7b97.zip |
.config/systemd/user: Add idle event X11 hook
Diffstat (limited to '.config')
-rw-r--r-- | .config/nixpkgs/config.nix | 1 | ||||
-rw-r--r-- | .config/nixpkgs/packages/xprintidle/default.nix | 27 | ||||
-rw-r--r-- | .config/systemd/user/events-idle.service | 14 |
3 files changed, 42 insertions, 0 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index 684eba2..4963689 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -168,6 +168,7 @@ in Xorg = pkgs.buildEnv { name = "xorg"; paths = [ + (callPackage ./packages/xprintidle/default.nix {}) xorg.xauth xorg.xev xorg.xf86inputevdev diff --git a/.config/nixpkgs/packages/xprintidle/default.nix b/.config/nixpkgs/packages/xprintidle/default.nix new file mode 100644 index 0000000..975b464 --- /dev/null +++ b/.config/nixpkgs/packages/xprintidle/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, libX11, libXScrnSaver, libXext, meson, pkg-config +, ninja }: + +stdenv.mkDerivation rec { + pname = "xprintidle"; + version = "0.2.4"; + + src = fetchFromGitHub { + owner = "g0hl1n"; + repo = pname; + rev = version; + sha256 = "10na3ymzfhpq800wsyd23m57ngz69nn5i10c7p9iya8hzi7cf20a"; + }; + + nativeBuildInputs = [ meson pkg-config ninja ]; + + buildInputs = [ libX11 libXScrnSaver libXext ]; + + meta = { + inherit version; + description = "A command-line tool to print idle time from libXss"; + homepage = "https://github.com/g0hl1n/xprintidle"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/.config/systemd/user/events-idle.service b/.config/systemd/user/events-idle.service new file mode 100644 index 0000000..360a754 --- /dev/null +++ b/.config/systemd/user/events-idle.service @@ -0,0 +1,14 @@ +[Unit] +Description=Execute events on X11 idle + +[Service] +Type=simple +ExecStart=/usr/bin/env sh -c 'while true; do sleep 3 && [ "$(xprintidle)" -gt 60000 ] && %h/.local/bin/scripts/events-idle; done' +Restart=always +RestartSec=5s +SyslogIdentifier=events-idle +CPUQuota=60% +IOWeight=60 + +[Install] +WantedBy=default.target |