ly: 1.0.3 -> 1.1.0 (#414490)

This commit is contained in:
Pol Dellaiera
2025-06-13 07:24:32 +02:00
committed by GitHub
4 changed files with 72 additions and 39 deletions
@@ -12,7 +12,7 @@ let
cfg = config.services.displayManager.ly;
xEnv = config.systemd.services.display-manager.environment;
ly = cfg.package;
ly = cfg.package.override { x11Support = cfg.x11Support; };
iniFmt = pkgs.formats.iniWithGlobalSection { };
@@ -41,13 +41,11 @@ let
path = "/run/current-system/sw/bin";
term_reset_cmd = "${pkgs.ncurses}/bin/tput reset";
term_restore_cursor_cmd = "${pkgs.ncurses}/bin/tput cnorm";
mcookie_cmd = "/run/current-system/sw/bin/mcookie";
waylandsessions = "${dmcfg.sessionData.desktops}/share/wayland-sessions";
wayland_cmd = dmcfg.sessionData.wrapper;
xsessions = "${dmcfg.sessionData.desktops}/share/xsessions";
xauth_cmd = lib.optionalString xcfg.enable "${pkgs.xorg.xauth}/bin/xauth";
x_cmd = lib.optionalString xcfg.enable xserverWrapper;
x_cmd_setup = dmcfg.sessionData.wrapper;
setup_cmd = dmcfg.sessionData.wrapper;
};
finalConfig = defaultConfig // cfg.settings;
@@ -59,6 +57,11 @@ in
options = {
services.displayManager.ly = {
enable = mkEnableOption "ly as the display manager";
x11Support = mkOption {
description = "Whether to enable support for X11";
type = lib.types.bool;
default = true;
};
package = mkPackageOption pkgs [ "ly" ] { };
+36 -10
View File
@@ -1,23 +1,35 @@
{ ... }:
{ lib, ... }:
let
machineBase = {
imports = [ ./common/user-account.nix ];
services.displayManager.ly = {
enable = true;
settings = {
load = false;
save = false;
};
};
};
in
{
name = "ly";
nodes.machine =
{ ... }:
{
imports = [ ./common/user-account.nix ];
services.displayManager.ly = {
enable = true;
settings = {
load = false;
save = false;
};
};
lib.attrsets.recursiveUpdate machineBase {
services.displayManager.ly.x11Support = true;
services.xserver.enable = true;
services.displayManager.defaultSession = "none+icewm";
services.xserver.windowManager.icewm.enable = true;
};
nodes.machineNoX11 =
{ ... }:
lib.attrsets.recursiveUpdate machineBase {
services.displayManager.ly.x11Support = false;
services.displayManager.defaultSession = "sway";
programs.sway.enable = true;
};
testScript =
{ nodes, ... }:
@@ -26,6 +38,7 @@
in
''
start_all()
machine.wait_until_tty_matches("2", "password:")
machine.send_key("ctrl-alt-f2")
machine.sleep(1)
@@ -38,5 +51,18 @@
machine.succeed("xauth merge /run/user/${toString user.uid}/lyxauth")
machine.wait_for_window("^IceWM ")
machine.screenshot("icewm")
machineNoX11.wait_until_tty_matches("2", "password:")
machineNoX11.send_key("ctrl-alt-f2")
machineNoX11.sleep(1)
machineNoX11.screenshot("ly-no-x11")
machineNoX11.send_chars("alice")
machineNoX11.send_key("tab")
machineNoX11.send_chars("${user.password}")
machineNoX11.send_key("ret")
machineNoX11.wait_for_file("/run/user/${toString user.uid}/wayland-1")
machineNoX11.wait_for_file("/run/user/${toString user.uid}/sway-ipc.*.sock")
machineNoX11.sleep(5)
machineNoX11.screenshot("sway")
'';
}
+7 -7
View File
@@ -89,23 +89,23 @@ let
in
linkFarm name [
{
name = "122062d301a203d003547b414237229b09a7980095061697349f8bef41be9c30266b";
name = "clap-0.10.0-oBajB434AQBDh-Ei3YtoKIRxZacVPF1iSwp3IX_ZB8f0";
path = fetchZigArtifact {
name = "clap";
url = "https://github.com/Hejsil/zig-clap/archive/refs/tags/0.9.1.tar.gz";
hash = "sha256-7qxm/4xb+58MGG+iUzssUtR97OG2dRjAqyS0BAet4HY=";
url = "https://github.com/Hejsil/zig-clap/archive/refs/tags/0.10.0.tar.gz";
hash = "sha256-cbPGmVlIXwIuRPIfQoFXzwLulT4XEv8rQWcJUl1ueyo=";
};
}
{
name = "12209b971367b4066d40ecad4728e6fdffc4cc4f19356d424c2de57f5b69ac7a619a";
name = "zigini-0.3.1-BSkB7XJGAAB2E-sKyzhTaQCBlYBL8yqzE4E_jmSY99sC";
path = fetchZigArtifact {
name = "zigini";
url = "https://github.com/Kawaii-Ash/zigini/archive/0bba97a12582928e097f4074cc746c43351ba4c8.tar.gz";
hash = "sha256-OdaJ5tqmk2MPwaAbpK4HRD/CcQCN+Cjj8U63BqUcFMs=";
url = "https://github.com/Kawaii-Ash/zigini/archive/2ed3d417f17fab5b0ee8cad8a63c6d62d7ac1042.tar.gz";
hash = "sha256-Zj9uU6EEHkNZ1cPIDgDj1E2CEpbmPmpJYjSSFnxxdf0=";
};
}
{
name = "1220b0979ea9891fa4aeb85748fc42bc4b24039d9c99a4d65d893fb1c83e921efad8";
name = "N-V-__8AAB9qAACwl56piR-krrhXSPxCvEskA52cmaTWXYk_";
path = fetchZigArtifact {
name = "ini";
url = "https://github.com/ziglibs/ini/archive/e18d36665905c1e7ba0c1ce3e8780076b33e3002.tar.gz";
+22 -18
View File
@@ -1,51 +1,55 @@
{
stdenv,
lib,
fetchFromGitHub,
fetchFromGitea,
linux-pam,
libxcb,
makeBinaryWrapper,
zig_0_13,
zig_0_14,
callPackage,
nixosTests,
x11Support ? true,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "ly";
version = "1.0.3";
version = "1.1.0";
src = fetchFromGitHub {
owner = "fairyglade";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "AnErrupTion";
repo = "ly";
rev = "v1.0.3";
hash = "sha256-TsEn0kH7j4myjjgwHnbOUmIZjHn8A1d/7IjamoWxpXQ=";
tag = "v${finalAttrs.version}";
hash = "sha256-+rRvrlzV5MDwb/7pr/oZjxxDmE1kbnchyUi70xwp0Cw=";
};
nativeBuildInputs = [
makeBinaryWrapper
zig_0_13.hook
zig_0_14.hook
];
buildInputs = [
libxcb
linux-pam
];
] ++ (lib.optionals x11Support [ libxcb ]);
postPatch = ''
ln -s ${
callPackage ./deps.nix {
zig = zig_0_13;
zig = zig_0_14;
}
} $ZIG_GLOBAL_CACHE_DIR/p
'';
zigBuildFlags = [
"-Denable_x11_support=${lib.boolToString x11Support}"
];
passthru.tests = { inherit (nixosTests) ly; };
meta = with lib; {
meta = {
description = "TUI display manager";
license = licenses.wtfpl;
homepage = "https://github.com/fairyglade/ly";
maintainers = [ maintainers.vidister ];
platforms = platforms.linux;
license = lib.licenses.wtfpl;
homepage = "https://codeberg.org/AnErrupTion/ly";
maintainers = [ lib.maintainers.vidister ];
platforms = lib.platforms.linux;
mainProgram = "ly";
};
}
})