diff --git a/pkgs/os-specific/linux/dlm/default.nix b/pkgs/os-specific/linux/dlm/default.nix new file mode 100644 index 00000000000..9e81ea38348 --- /dev/null +++ b/pkgs/os-specific/linux/dlm/default.nix @@ -0,0 +1,26 @@ +{ lib +, rustPlatform +, fetchFromSourcehut +}: + +rustPlatform.buildRustPackage rec { + pname = "dlm"; + version = "2020-01-07"; + + src = fetchFromSourcehut { + owner = "~kennylevinsen"; + repo = pname; + rev = "6b0e11c4f453b1a4d7a32019227539a980b7ce66"; + sha256 = "1r3w7my0g3v2ya317qnvjx8wnagjahpj7yx72a65hf2pjbf5x42p"; + }; + + cargoSha256 = "OFMCsUmrRYlobiUAqm1huuzDxdf1BWmU2RqZ9Y6Yjew="; + + meta = with lib; { + description = "A stupid simple graphical login manager"; + homepage = "https://git.sr.ht/~kennylevinsen/dlm"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/greetd/default.nix b/pkgs/os-specific/linux/greetd/default.nix new file mode 100644 index 00000000000..fc5dd04b43c --- /dev/null +++ b/pkgs/os-specific/linux/greetd/default.nix @@ -0,0 +1,51 @@ +{ rustPlatform +, lib +, fetchFromSourcehut +, pam +, scdoc +, installShellFiles +}: + +rustPlatform.buildRustPackage rec { + pname = "greetd"; + version = "0.7.0"; + + src = fetchFromSourcehut { + owner = "~kennylevinsen"; + repo = pname; + rev = version; + sha256 = "b+S3fuJ8gjnSQzLHl3Bs9iO/Un2ynggAplz01GjJvFI="; + }; + + cargoSha256 = "w6d8rIc03Qa2/TpztpyVijjd3y0Vo38+JDhsOkSFG5E="; + + nativeBuildInputs = [ + scdoc + installShellFiles + ]; + + buildInputs = [ + pam + ]; + + postInstall = '' + for f in man/*; do + scdoc < "$f" > "$(sed 's/-\([0-9]\)\.scd$/.\1/' <<< "$f")" + rm "$f" + done + installManPage man/* + ''; + + meta = with lib; { + description = "Minimal and flexible login manager daemon"; + longDescription = '' + greetd is a minimal and flexible login manager daemon + that makes no assumptions about what you want to launch. + Comes with agreety, a simple, text-based greeter. + ''; + homepage = "https://kl.wtf/projects/greetd/"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/gtkgreet/default.nix b/pkgs/os-specific/linux/gtkgreet/default.nix new file mode 100644 index 00000000000..7ab7c01475b --- /dev/null +++ b/pkgs/os-specific/linux/gtkgreet/default.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, fetchFromSourcehut +, pkg-config +, cmake +, meson +, ninja +, gtk3 +, gtk-layer-shell +, json_c +, scdoc +}: + +stdenv.mkDerivation rec { + pname = "gtkgreet"; + version = "0.7"; + + src = fetchFromSourcehut { + owner = "~kennylevinsen"; + repo = pname; + rev = version; + sha256 = "ms+2FdtzzNlmlzNxFhu4cpX5H+5H+9ZOtZ0p8uVA3lo="; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + cmake + ]; + + buildInputs = [ + gtk3 + gtk-layer-shell + json_c + scdoc + ]; + + mesonFlags = [ + "-Dlayershell=enabled" + ]; + + meta = with lib; { + description = "GTK based greeter for greetd, to be run under cage or similar"; + homepage = "https://git.sr.ht/~kennylevinsen/gtkgreet"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/tuigreet/default.nix b/pkgs/os-specific/linux/tuigreet/default.nix new file mode 100644 index 00000000000..b6db7cfbb7f --- /dev/null +++ b/pkgs/os-specific/linux/tuigreet/default.nix @@ -0,0 +1,26 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "tuigreet"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "apognu"; + repo = pname; + rev = version; + sha256 = "1fk8ppxr3a8vdp7g18pp3sgr8b8s11j30mcqpdap4ai14v19idh8"; + }; + + cargoSha256 = "0qpambizjy6z44spnjnh2kd8nay5953mf1ga2iff2mjlv97zpq22"; + + meta = with lib; { + description = "Graphical console greter for greetd"; + homepage = "https://github.com/apognu/tuigreet"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/wlgreet/default.nix b/pkgs/os-specific/linux/wlgreet/default.nix new file mode 100644 index 00000000000..e48443b1b1e --- /dev/null +++ b/pkgs/os-specific/linux/wlgreet/default.nix @@ -0,0 +1,26 @@ +{ lib +, rustPlatform +, fetchFromSourcehut +}: + +rustPlatform.buildRustPackage rec { + pname = "wlgreet"; + version = "2020-10-20"; + + src = fetchFromSourcehut { + owner = "~kennylevinsen"; + repo = pname; + rev = "4425d296b81550cce01f044fbd7ff083e37550f4"; + sha256 = "0n0lzg3y1z5s9s6kfkdj5q8w67bqpw08hqfccc5kz0ninzy9j0cc"; + }; + + cargoSha256 = "01bfv2kzg2r9z75b8pq61n2ydc8l5zh69jdyjpj931l642f6kd5a"; + + meta = with lib; { + description = "Raw wayland greeter for greetd, to be run under sway or similar"; + homepage = "https://git.sr.ht/~kennylevinsen/wlgreet"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7da1acd8af5..2c4903c8934 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22591,6 +22591,14 @@ in grandorgue = callPackage ../applications/audio/grandorgue { }; + greetd = recurseIntoAttrs { + greetd = callPackage ../os-specific/linux/greetd { }; + gtkgreet = callPackage ../os-specific/linux/gtkgreet { }; + dlm = callPackage ../os-specific/linux/dlm { }; + wlgreet = callPackage ../os-specific/linux/wlgreet { }; + tuigreet = callPackage ../os-specific/linux/tuigreet { }; + }; + goldendict = libsForQt5.callPackage ../applications/misc/goldendict { inherit (darwin) libiconv; };