diff --git a/flake.lock b/flake.lock index 7b9d1a5..4369d0c 100644 --- a/flake.lock +++ b/flake.lock @@ -512,11 +512,11 @@ ] }, "locked": { - "lastModified": 1781472706, - "narHash": "sha256-NlJmL3tuAUMd/jB27xxj5z0Viird+/QCboOV/JlNGdo=", + "lastModified": 1781481548, + "narHash": "sha256-j/qUgav30Wg+yafFcORfu66+7KQ0eAi2yFIyfjTPWU0=", "owner": "chiefnoah", "repo": "ngp-nur", - "rev": "37dc5462e29f9e5e51c3a2b1f24daccc0e9c3f34", + "rev": "53b3ee399819d2ac89fab3c2401218114c527ca0", "type": "github" }, "original": { diff --git a/modules/xrdp-lxqt-desktop.nix b/modules/xrdp-lxqt-desktop.nix index 9668f42..85d40e8 100644 --- a/modules/xrdp-lxqt-desktop.nix +++ b/modules/xrdp-lxqt-desktop.nix @@ -8,7 +8,11 @@ let system = pkgs.stdenv.hostPlatform.system; chicago95Theme = inputs.ngp-nur.packages.${system}.chicago95-theme; memphis98IconTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/memphis98-icon-theme" { }; + retro5Classic98OpenboxTheme = + pkgs.callPackage "${inputs.ngp-nur}/pkgs/retro-5-classic98-openbox-theme" + { }; windowsClassicTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/windows-classic-theme" { }; + windows98LxqtTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/windows98-lxqt-theme" { }; xrdpLxqtSession = pkgs.writeShellScript "xrdp-lxqt-session" '' export DESKTOP_SESSION=lxqt export XDG_SESSION_DESKTOP=lxqt @@ -50,7 +54,9 @@ in environment.systemPackages = [ chicago95Theme memphis98IconTheme + retro5Classic98OpenboxTheme windowsClassicTheme + windows98LxqtTheme pkgs.lxqt.lxqt-menu-data ]; } diff --git a/modules/xrdp-lxqt-home.nix b/modules/xrdp-lxqt-home.nix index 65ddf7c..58939f3 100644 --- a/modules/xrdp-lxqt-home.nix +++ b/modules/xrdp-lxqt-home.nix @@ -9,17 +9,20 @@ let system = pkgs.stdenv.hostPlatform.system; chicago95Theme = inputs.ngp-nur.packages.${system}.chicago95-theme; memphis98IconTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/memphis98-icon-theme" { }; + retro5Classic98OpenboxTheme = + pkgs.callPackage "${inputs.ngp-nur}/pkgs/retro-5-classic98-openbox-theme" + { }; windowsClassicTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/windows-classic-theme" { }; + windows98LxqtTheme = pkgs.callPackage "${inputs.ngp-nur}/pkgs/windows98-lxqt-theme" { }; themeName = "Chicago95"; - lxqtThemeName = "windows-classic"; + lxqtThemeName = "windows-98"; + openboxThemeName = "retro-5-classic98-obiwine"; panelIconTheme = "Memphis98"; - panelIconPath = "${memphis98IconTheme}/share/icons/${panelIconTheme}"; - panelStartIcon = "${panelIconPath}/places/24/start-here.png"; openboxRc = pkgs.runCommand "openbox-rc-${lxqtThemeName}" { } '' cp ${pkgs.openbox}/etc/xdg/openbox/rc.xml "$out" chmod u+w "$out" ${pkgs.perl}/bin/perl -0pi -e ' - s#(\s*)[^<]*()#$1${lxqtThemeName}$2#s; + s#(\s*)[^<]*()#$1${openboxThemeName}$2#s; for my $place (qw(ActiveWindow InactiveWindow)) { s#(\s*)[^<]*(\s*)[^<]*(\s*\s*)[^<]*(\s*\s*)[^<]*()#''${1}Sans Serif''${2}10''${3}Normal''${4}Normal''${5}#s; } @@ -53,7 +56,9 @@ in home.packages = [ chicago95Theme memphis98IconTheme + retro5Classic98OpenboxTheme windowsClassicTheme + windows98LxqtTheme ]; xdg.configFile."openbox/rc.xml" = { @@ -171,7 +176,7 @@ in "lockPanel=false", "opacity=100", "panelSize=32", - "plugins=mainmenu, quicklaunch, spacer, taskbar, statusnotifier, tray, spacer2, worldclock, spacer3, showdesktop", + "plugins=mainmenu, quicklaunch, taskbar, statusnotifier, tray, spacer2, worldclock, spacer3, showdesktop, spacer6", "position=Bottom", "reserve-space=true", "show-delay=0", @@ -183,13 +188,13 @@ in s/(\[panel1\]\n(?:[^\[]*\n)*?\Q$key\E=)[^\n]*/$1$value/s or s/(\[panel1\]\n)/$1$key=$value\n/s; } - for my $section (qw(mainmenu quicklaunch spacer taskbar statusnotifier tray spacer2 worldclock spacer3 showdesktop)) { + for my $section (qw(mainmenu quicklaunch taskbar statusnotifier tray spacer2 worldclock spacer3 showdesktop spacer6)) { s#\z#\n[$section]\n# unless /\[$section\]\n/; } for my $kv ( "alignment=Left", - "icon=${panelStartIcon}", - "ownIcon=true", + "icon=", + "ownIcon=false", "showText=true", "text=Start", "type=mainmenu", @@ -227,11 +232,16 @@ in s/(\[spacer2\]\n(?:[^\[]*\n)*?\Q$key\E=)[^\n]*/$1$value/s or s/(\[spacer2\]\n)/$1$key=$value\n/s; } - for my $kv ("alignment=Left", "expandable=true", "type=spacer") { + for my $kv ("alignment=Left", "expandable=false", "size=8", "spaceType=lined", "type=spacer") { my ($key, $value) = split /=/, $kv, 2; s/(\[spacer3\]\n(?:[^\[]*\n)*?\Q$key\E=)[^\n]*/$1$value/s or s/(\[spacer3\]\n)/$1$key=$value\n/s; } + for my $kv ("alignment=Left", "type=spacer") { + my ($key, $value) = split /=/, $kv, 2; + s/(\[spacer6\]\n(?:[^\[]*\n)*?\Q$key\E=)[^\n]*/$1$value/s + or s/(\[spacer6\]\n)/$1$key=$value\n/s; + } for my $kv ( "autoRotate=true", "dateFormatType=custom",