diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 070e7b142937..781734a189a8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -226,6 +226,12 @@
+
+
+ programs.x2goserver is now
+ services.x2goserver
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index c1fde5a032b4..3a29b29f1063 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -64,4 +64,6 @@ In addition to numerous new and upgraded packages, this release has the followin
- ExcelDnaRegistration
- MathNetNumerics
+* `programs.x2goserver` is now `services.x2goserver`
+
## Other Notable Changes
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index b350bcfedae1..2938f79fb16a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -198,7 +198,6 @@
./programs/waybar.nix
./programs/wireshark.nix
./programs/wshowkeys.nix
- ./programs/x2goserver.nix
./programs/xfs_quota.nix
./programs/xonsh.nix
./programs/xss-lock.nix
@@ -854,6 +853,7 @@
./services/networking/xandikos.nix
./services/networking/xinetd.nix
./services/networking/xl2tpd.nix
+ ./services/networking/x2goserver.nix
./services/networking/xrdp.nix
./services/networking/yggdrasil.nix
./services/networking/zerobin.nix
diff --git a/nixos/modules/programs/x2goserver.nix b/nixos/modules/services/networking/x2goserver.nix
similarity index 92%
rename from nixos/modules/programs/x2goserver.nix
rename to nixos/modules/services/networking/x2goserver.nix
index 05707a56542f..6d6151f0f4be 100644
--- a/nixos/modules/programs/x2goserver.nix
+++ b/nixos/modules/services/networking/x2goserver.nix
@@ -3,7 +3,7 @@
with lib;
let
- cfg = config.programs.x2goserver;
+ cfg = config.services.x2goserver;
defaults = {
superenicer = { enable = cfg.superenicer.enable; };
@@ -17,7 +17,11 @@ let
'';
in {
- options.programs.x2goserver = {
+ imports = [
+ (mkAliasOptionModule [ "programs" "x2goserver" "enable" ] [ "services" "x2goserver" "enable" ])
+ ];
+
+ options.services.x2goserver = {
enable = mkEnableOption "x2goserver" // {
description = ''
Enables the x2goserver module.
@@ -63,6 +67,14 @@ in {
config = mkIf cfg.enable {
+ # x2goserver can run X11 program even if "services.xserver.enable = false"
+ xdg = {
+ autostart.enable = true;
+ menus.enable = true;
+ mime.enable = true;
+ icons.enable = true;
+ };
+
environment.systemPackages = [ pkgs.x2goserver ];
users.groups.x2go = {};
diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix
index b7dd1c5d99dd..9be7c3233e26 100644
--- a/nixos/modules/services/networking/xrdp.nix
+++ b/nixos/modules/services/networking/xrdp.nix
@@ -61,6 +61,12 @@ in
'';
};
+ openFirewall = mkOption {
+ default = false;
+ type = types.bool;
+ description = "Whether to open the firewall for the specified RDP port.";
+ };
+
sslKey = mkOption {
type = types.str;
default = "/etc/xrdp/key.pem";
@@ -99,6 +105,8 @@ in
config = mkIf cfg.enable {
+ networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+
# xrdp can run X11 program even if "services.xserver.enable = false"
xdg = {
autostart.enable = true;
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index 4156c82f91b9..d40d8032c294 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -1,20 +1,20 @@
-{ lib, fetchgit, cups, libssh, libXpm, nx-libs, openldap, openssh
+{ lib, fetchurl, cups, libssh, libXpm, nx-libs, openldap, openssh
, mkDerivation, qtbase, qtsvg, qtx11extras, qttools, phonon, pkg-config }:
-mkDerivation {
+mkDerivation rec {
pname = "x2goclient";
- version = "unstable-2019-07-24";
+ version = "4.1.2.2";
- src = fetchgit {
- url = "git://code.x2go.org/x2goclient.git";
- rev = "704c4ab92d20070dd160824c9b66a6d1c56dcc49";
- sha256 = "1pndp3lfzwifyxqq0gps3p1bwakw06clbk6n8viv020l4bsfmq5f";
+ src = fetchurl {
+ url = "https://code.x2go.org/releases/source/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "yZUyZ8QPpnEZrZanO6yx8mYZbaIFnwzc0bjVGZQh0So=";
};
buildInputs = [ cups libssh libXpm nx-libs openldap openssh
qtbase qtsvg qtx11extras qttools phonon pkg-config ];
postPatch = ''
+ substituteInPlace src/onmainwindow.cpp --replace "/usr/sbin/sshd" "${openssh}/bin/sshd"
substituteInPlace Makefile \
--replace "SHELL=/bin/bash" "SHELL=$SHELL" \
--replace "lrelease-qt4" "${qttools.dev}/bin/lrelease" \
@@ -33,6 +33,7 @@ mkDerivation {
meta = with lib; {
description = "Graphical NoMachine NX3 remote desktop client";
homepage = "http://x2go.org/";
+ maintainers = with maintainers; [ mkg20001 ];
license = licenses.gpl2;
platforms = platforms.linux;
};
diff --git a/pkgs/applications/networking/remote/x2goserver/default.nix b/pkgs/applications/networking/remote/x2goserver/default.nix
index 0b8e858d2557..6d7923872ec9 100644
--- a/pkgs/applications/networking/remote/x2goserver/default.nix
+++ b/pkgs/applications/networking/remote/x2goserver/default.nix
@@ -8,8 +8,8 @@ let
version = "4.1.0.3";
src = fetchurl {
- url = "http://code.x2go.org/releases/source/x2goserver/${pname}-${version}.tar.gz";
- sha256 = "1l6wd708kbipib4ldprfiihqmj4895nifg0bkws4x97majislxk7";
+ url = "https://code.x2go.org/releases/source/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "Z3aqo1T1pE40nws8F21JiMiKYYwu30bJijeuicBp3NA=";
};
x2go-perl = perlPackages.buildPerlPackage rec {
@@ -26,7 +26,7 @@ let
};
perlEnv = perl.withPackages (p: with p; [
- x2go-perl DBI DBDSQLite FileBaseDir TryTiny CaptureTiny ConfigSimple Switch
+ x2go-perl DBI DBDSQLite FileBaseDir TryTiny CaptureTiny ConfigSimple Switch FileWhich
]);
binaryDeps = [
@@ -88,6 +88,6 @@ stdenv.mkDerivation rec {
homepage = "http://x2go.org/";
platforms = lib.platforms.linux;
license = licenses.gpl2;
- maintainers = [ maintainers.averelld ];
+ maintainers = with maintainers; [ averelld mkg20001 ];
};
}