From d5b9994c5f516c36380bcfcd950ecb01927815ad Mon Sep 17 00:00:00 2001 From: tonybtw Date: Thu, 4 Dec 2025 22:17:17 -0800 Subject: [PATCH 1/3] maintainers: add tonybanters --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4ab71bbb8762..cfb3a29151ee 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -26575,6 +26575,12 @@ githubId = 6740669; name = "Tom Smeets"; }; + tonybanters = { + email = "tony@tonybtw.com"; + github = "tonybanters"; + githubId = 27378358; + name = "tony"; + }; toonn = { email = "nixpkgs@toonn.io"; matrix = "@toonn:matrix.org"; From 53089a1e715e3c0fd3e025cfec1b160c423f4411 Mon Sep 17 00:00:00 2001 From: tonybtw Date: Thu, 4 Dec 2025 22:20:56 -0800 Subject: [PATCH 2/3] oxwm: init at 0.9.0 --- pkgs/by-name/ox/oxwm/package.nix | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 pkgs/by-name/ox/oxwm/package.nix diff --git a/pkgs/by-name/ox/oxwm/package.nix b/pkgs/by-name/ox/oxwm/package.nix new file mode 100644 index 000000000000..e9de0f4fa38c --- /dev/null +++ b/pkgs/by-name/ox/oxwm/package.nix @@ -0,0 +1,58 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libX11, + libXft, + libXrender, + freetype, + fontconfig, + versionCheckHook, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "oxwm"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "tonybanters"; + repo = "oxwm"; + tag = "v${finalAttrs.version}"; + hash = "sha256-zVYYRGe5ZIR1AJgKZi9s403NKM7hKAqhEbNWYSkgpT0="; + }; + + cargoHash = "sha256-Rs8eGR8WY7qOPM0rfu6lTNDl6TVMR+rrIc6Ub+M7vfs="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + libX11 + libXft + libXrender + freetype + fontconfig + ]; + + # tests require a running X server + doCheck = false; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + postInstall = '' + install -Dm644 resources/oxwm.desktop -t $out/share/xsessions + install -Dm644 resources/oxwm.1 -t $out/share/man/man1 + install -Dm644 templates/oxwm.lua -t $out/share/oxwm + ''; + + passthru.providedSessions = [ "oxwm" ]; + + meta = { + description = "Dynamic window manager written in Rust, inspired by dwm"; + homepage = "https://github.com/tonybanters/oxwm"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ tonybanters ]; + platforms = lib.platforms.linux; + mainProgram = "oxwm"; + }; +}) From 50050d807c1685a750e5c696d05bc8106d46327c Mon Sep 17 00:00:00 2001 From: tonybtw Date: Thu, 4 Dec 2025 22:21:37 -0800 Subject: [PATCH 3/3] nixos/oxwm: init module --- nixos/modules/module-list.nix | 1 + .../services/x11/window-managers/oxwm.nix | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 nixos/modules/services/x11/window-managers/oxwm.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 50323f0dd888..87d92eaf6d01 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1810,6 +1810,7 @@ ./services/x11/window-managers/metacity.nix ./services/x11/window-managers/nimdow.nix ./services/x11/window-managers/none.nix + ./services/x11/window-managers/oxwm.nix ./services/x11/window-managers/twm.nix ./services/x11/window-managers/windowlab.nix ./services/x11/window-managers/wmii.nix diff --git a/nixos/modules/services/x11/window-managers/oxwm.nix b/nixos/modules/services/x11/window-managers/oxwm.nix new file mode 100644 index 000000000000..88277f95233e --- /dev/null +++ b/nixos/modules/services/x11/window-managers/oxwm.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.xserver.windowManager.oxwm; +in +{ + options.services.xserver.windowManager.oxwm = { + enable = lib.mkEnableOption "oxwm"; + package = lib.mkPackageOption pkgs "oxwm" { }; + }; + + config = lib.mkIf cfg.enable { + services.displayManager.sessionPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package ]; + environment.pathsToLink = [ + "/share/oxwm" + "/share/xsessions" + ]; + }; +}