From 0958787ca489dd743925f32152e8c1de97aba1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=91=D0=B0=D0=BD=D1=82=D1=8C=D0=B5=D0=B2?= Date: Mon, 18 Mar 2019 00:47:38 +0300 Subject: [PATCH] kanshi: init at 2019-02-02 --- maintainers/maintainer-list.nix | 5 ++++ pkgs/tools/misc/kanshi/default.nix | 40 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 47 insertions(+) create mode 100644 pkgs/tools/misc/kanshi/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 81d6251f796..e62a4d40867 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -523,6 +523,11 @@ email = "sivaraman.balaji@gmail.com"; name = "Balaji Sivaraman"; }; + balsoft = { + email = "balsoft75@gmail.com"; + github = "balsoft"; + name = "Alexander Bantyev"; + }; bandresen = { email = "bandresen@gmail.com"; github = "bandresen"; diff --git a/pkgs/tools/misc/kanshi/default.nix b/pkgs/tools/misc/kanshi/default.nix new file mode 100644 index 00000000000..0efbed6e275 --- /dev/null +++ b/pkgs/tools/misc/kanshi/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, libudev }: +rustPlatform.buildRustPackage +{ + pname = "kanshi-unstable"; + version = "2019-02-02"; + + src = fetchFromGitHub { + owner = "emersion"; + repo = "kanshi"; + rev = "970267e400c21a6bb51a1c80a0aadfd1e6660a7b"; + sha256 = "10lfdan86bmwazpma6ixnv46z9cnf879gxln8gx87v7a1x3ss0bh"; + }; + + buildInputs = [ pkgconfig libudev ]; + + cargoSha256 = "sha256:0lf1zfmq9ypxk86ma0n4nczbklmjs631wdzfx4wd3cvhghyr8nkq"; + + meta = { + description = "Dynamic display configuration tool"; + longDescription = + '' + Kanshi uses a configuration file and a list of available displays to choose + the right settings for each display. It's useful if your window manager + doesn't support multiple display configurations (e.g. i3/Sway). + + For now, it only supports: + - sysfs as backend + - udev as notifier (optional) + - Configuration file + - GNOME (~/.config/monitors.xml) + - Kanshi (see below) + - Sway as frontend + ''; + homepage = "https://github.com/emersion/kanshi"; + downloadPage = "https://github.com/emersion/kanshi"; + license = stdenv.lib.licenses.mit; + maintainers = stdenv.lib.maintainers.balsoft; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7436ec0887..dbaa98c5023 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17969,6 +17969,8 @@ in kanboard = callPackage ../applications/misc/kanboard { }; + kanshi = callPackage ../tools/misc/kanshi { }; + kdeApplications = let mkApplications = import ../applications/kde;