Unverified Commit 468417b7 authored by Stig's avatar Stig Committed by GitHub
Browse files

Merge pull request #296479 from marcusramberg/marcus/nimdow

nixos/nimdow: module updates
parents 936ae679 501879e9
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -8,16 +8,23 @@ in
{
  options = {
    services.xserver.windowManager.nimdow.enable = mkEnableOption (lib.mdDoc "nimdow");
    services.xserver.windowManager.nimdow.package = mkOption {
      type = types.package;
      default = pkgs.nimdow;
      defaultText = "pkgs.nimdow";
      description = lib.mdDoc "nimdow package to use";
    };
  };


  config = mkIf cfg.enable {
    services.xserver.windowManager.session = singleton {
      name = "nimdow";
      start = ''
        ${pkgs.nimdow}/bin/nimdow &
        ${cfg.package}/bin/nimdow &
        waitPID=$!
      '';
    };
    environment.systemPackages = [ pkgs.nimdow ];
    environment.systemPackages = [ cfg.package pkgs.st ];
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -582,6 +582,7 @@ in {
  ndppd = handleTest ./ndppd.nix {};
  nebula = handleTest ./nebula.nix {};
  netbird = handleTest ./netbird.nix {};
  nimdow = handleTest ./nimdow.nix {};
  neo4j = handleTest ./neo4j.nix {};
  netdata = handleTest ./netdata.nix {};
  networking.networkd = handleTest ./networking.nix { networkd = true; };

nixos/tests/nimdow.nix

0 → 100644
+25 −0
Original line number Diff line number Diff line
import ./make-test-python.nix ({ pkgs, ...} : {
  name = "nimdow";
  meta = with pkgs.lib.maintainers; {
    maintainers = [ marcusramberg ];
  };

  nodes.machine = { lib, ... }: {
    imports = [ ./common/x11.nix ./common/user-account.nix ];
    test-support.displayManager.auto.user = "alice";
    services.xserver.displayManager.defaultSession = lib.mkForce "none+nimdow";
    services.xserver.windowManager.nimdow.enable = true;
  };

  testScript = { ... }: ''
    with subtest("ensure x starts"):
        machine.wait_for_x()
        machine.wait_for_file("/home/alice/.Xauthority")
        machine.succeed("xauth merge ~alice/.Xauthority")

    with subtest("ensure we can open a new terminal"):
        machine.send_key("meta_l-ret")
        machine.wait_for_window(r"alice.*?machine")
        machine.screenshot("terminal")
  '';
})
+8 −4
Original line number Diff line number Diff line
{ lib, buildNimPackage, fetchFromGitHub, testers }:
{ lib, buildNimPackage, fetchFromGitHub, nixosTests, testers }:

buildNimPackage (finalAttrs: {
  pname = "nimdow";
@@ -25,14 +25,18 @@ buildNimPackage (finalAttrs: {
    substituteInPlace src/nimdowpkg/config/configloader.nim --replace "/usr/share/nimdow" "$out/share/nimdow"
  '';

  passthru.tests.version = testers.testVersion {
  passthru.tests = {
    nimdow = nixosTests.nimdow;
    version = testers.testVersion {
      package = finalAttrs.finalPackage;
      version = "v${finalAttrs.version}";
    };
  };

  meta = with lib;
    finalAttrs.src.meta // {
      description = "Nim based tiling window manager";
      platforms = platforms.linux;
      license = [ licenses.gpl2 ];
      maintainers = [ maintainers.marcusramberg ];
      mainProgram = "nimdow";