diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 81d6251f7968..e62a4d40867d 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 000000000000..8909a0c0eb5a --- /dev/null +++ b/pkgs/tools/misc/kanshi/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, udev }: +rustPlatform.buildRustPackage +{ + pname = "kanshi-unstable"; + version = "2019-02-02"; + + src = fetchFromGitHub { + owner = "emersion"; + repo = "kanshi"; + rev = "970267e400c21a6bb51a1c80a0aadfd1e6660a7b"; + sha256 = "10lfdan86bmwazpma6ixnv46z9cnf879gxln8gx87v7a1x3ss0bh"; + }; + + buildInputs = [ pkgconfig udev ]; + + 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 d95ef3723e25..0fd552546871 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17975,6 +17975,8 @@ in kanboard = callPackage ../applications/misc/kanboard { }; + kanshi = callPackage ../tools/misc/kanshi { }; + kdeApplications = let mkApplications = import ../applications/kde;