Skip to content

Commit 6a4e9df

Browse files
Merge master into staging-next
2 parents 01a65d8 + e81467f commit 6a4e9df

File tree

87 files changed

+4061
-2138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+4061
-2138
lines changed

maintainers/team-list.nix

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,20 @@ with lib.maintainers; {
307307
shortName = "Flying Circus employees";
308308
};
309309

310+
formatter = {
311+
members = [
312+
piegames
313+
infinisil
314+
das_j
315+
tomberek
316+
_0x4A6F
317+
# Not in the maintainer list
318+
# Sereja313
319+
];
320+
scope = "Tentative Nix formatter team to be established in https://github.com/NixOS/rfcs/pull/166";
321+
shortName = "Nix formatter team";
322+
};
323+
310324
freedesktop = {
311325
members = [ jtojnar ];
312326
scope = "Maintain Freedesktop.org packages for graphical desktop.";

nixos/doc/manual/release-notes/rl-2405.section.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
6161

6262
- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
6363

64+
- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
65+
6466
## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
6567

6668
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -184,6 +186,14 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
184186

185187
- [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
186188

189+
- The `jdt-language-server` package now uses upstream's provided python wrapper instead of our own custom wrapper. This results in the following breaking and notable changes:
190+
191+
- The main binary for the package is now named `jdtls` instead of `jdt-language-server`, equivalent to what most editors expect the binary to be named.
192+
193+
- JVM arguments should now be provided with the `--jvm-arg` flag instead of setting `JAVA_OPTS`.
194+
195+
- The `-data` path is no longer required to run the package, and will be set to point to a folder in `$TMP` if missing.
196+
187197
## Other Notable Changes {#sec-release-24.05-notable-changes}
188198

189199
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

nixos/modules/module-list.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,7 @@
832832
./services/monitoring/riemann-dash.nix
833833
./services/monitoring/riemann-tools.nix
834834
./services/monitoring/riemann.nix
835+
./services/monitoring/rustdesk-server.nix
835836
./services/monitoring/scollector.nix
836837
./services/monitoring/smartd.nix
837838
./services/monitoring/snmpd.nix
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
{ lib, pkgs, config, ... }:
2+
let
3+
TCPPorts = [21115 21116 21117 21118 21119];
4+
UDPPorts = [21116];
5+
in {
6+
options.services.rustdesk-server = with lib; with types; {
7+
enable = mkEnableOption "RustDesk, a remote access and remote control software, allowing maintenance of computers and other devices.";
8+
9+
package = mkPackageOption pkgs "rustdesk-server" {};
10+
11+
openFirewall = mkOption {
12+
type = types.bool;
13+
default = false;
14+
description = ''
15+
Open the connection ports.
16+
TCP (${lib.concatStringsSep ", " (map toString TCPPorts)})
17+
UDP (${lib.concatStringsSep ", " (map toString UDPPorts)})
18+
'';
19+
};
20+
21+
relayIP = mkOption {
22+
type = str;
23+
description = ''
24+
The public facing IP of the RustDesk relay.
25+
'';
26+
};
27+
};
28+
29+
config = let
30+
cfg = config.services.rustdesk-server;
31+
serviceDefaults = {
32+
enable = true;
33+
requiredBy = [ "rustdesk.target" ];
34+
serviceConfig = {
35+
Slice = "system-rustdesk.slice";
36+
User = "rustdesk";
37+
Group = "rustdesk";
38+
Environment = [];
39+
WorkingDirectory = "/var/lib/rustdesk";
40+
StateDirectory = "rustdesk";
41+
StateDirectoryMode = "0750";
42+
LockPersonality = true;
43+
NoNewPrivileges = true;
44+
PrivateDevices = true;
45+
PrivateMounts = true;
46+
PrivateTmp = true;
47+
PrivateUsers = true;
48+
ProtectClock = true;
49+
ProtectControlGroups = true;
50+
ProtectHome = true;
51+
ProtectHostname = true;
52+
ProtectKernelLogs = true;
53+
ProtectKernelModules = true;
54+
ProtectKernelTunables = true;
55+
ProtectProc = "invisible";
56+
ProtectSystem = "strict";
57+
RemoveIPC = true;
58+
RestrictNamespaces = true;
59+
RestrictSUIDSGID = true;
60+
};
61+
};
62+
in lib.mkIf cfg.enable {
63+
users.users.rustdesk = {
64+
description = "System user for RustDesk";
65+
isSystemUser = true;
66+
group = "rustdesk";
67+
};
68+
users.groups.rustdesk = {};
69+
70+
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall TCPPorts;
71+
networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall UDPPorts;
72+
73+
systemd.slices.system-rustdesk = {
74+
enable = true;
75+
description = "Slice designed to contain RustDesk Signal & RustDesk Relay";
76+
};
77+
78+
systemd.targets.rustdesk = {
79+
enable = true;
80+
description = "Target designed to group RustDesk Signal & RustDesk Relay";
81+
after = [ "network.target" ];
82+
wantedBy = [ "multi-user.target" ];
83+
};
84+
85+
systemd.services.rustdesk-signal = lib.mkMerge [ serviceDefaults {
86+
serviceConfig.ExecStart = "${cfg.package}/bin/hbbs -r ${cfg.relayIP}";
87+
} ];
88+
89+
systemd.services.rustdesk-relay = lib.mkMerge [ serviceDefaults {
90+
serviceConfig.ExecStart = "${cfg.package}/bin/hbbr";
91+
} ];
92+
};
93+
94+
meta.maintainers = with lib.maintainers; [ ppom ];
95+
}

pkgs/applications/audio/mopidy/mopidy.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
pythonPackages.buildPythonApplication rec {
66
pname = "mopidy";
7-
version = "3.4.1";
7+
version = "3.4.2";
88

99
src = fetchFromGitHub {
1010
owner = "mopidy";
1111
repo = "mopidy";
1212
rev = "refs/tags/v${version}";
13-
sha256 = "sha256-IUQe5WH2vsrAOgokhTNVVM3lnJXphT2xNGu27hWBLSo=";
13+
sha256 = "sha256-2OFav2HaQq/RphmZxLyL1n3suwzt1Y/d4h33EdbStjk=";
1414
};
1515

1616
nativeBuildInputs = [ wrapGAppsNoGuiHook ];

pkgs/applications/misc/moonlight-embedded/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
3030
homepage = "https://github.com/moonlight-stream/moonlight-embedded";
3131
license = licenses.gpl3Plus;
3232
maintainers = [];
33+
mainProgram = "moonlight";
3334
platforms = platforms.linux;
3435
};
3536
}

pkgs/applications/networking/browsers/polypane/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
let
44
pname = "polypane";
5-
version = "17.0.0";
5+
version = "17.1.0";
66

77
src = fetchurl {
88
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
99
name = "${pname}-${version}.AppImage";
10-
sha256 = "sha256-ppAzE7dNjEb6uYO+c3o00RIdwMxx2o1AE+ZI+SMbS24=";
10+
sha256 = "sha256-vOSw+zjO8OJWRzAdnl4i3MLg+AyXFQwYBg332MXdQhw=";
1111
};
1212

1313
appimageContents = appimageTools.extractType2 {

pkgs/applications/networking/cluster/atlantis/default.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
buildGoModule rec {
44
pname = "atlantis";
5-
version = "0.27.0";
5+
version = "0.27.1";
66

77
src = fetchFromGitHub {
88
owner = "runatlantis";
99
repo = "atlantis";
1010
rev = "v${version}";
11-
hash = "sha256-a+xrmEHkSh5kicxIIxnoXgF9ep2ay5kCXwMR2sAVJIA=";
11+
hash = "sha256-qtfMkCI1vX9aKWFNAhqCrnc5mhE+4kh2pogzv4oRXnE=";
1212
};
1313
ldflags = [
1414
"-X=main.version=${version}"
1515
"-X=main.date=1970-01-01T00:00:00Z"
1616
];
1717

18-
vendorHash = "sha256-ZbCNHARgliw9TMkHyS9k+cnWgbdCCJ+8nMdJMu66Uvo=";
18+
vendorHash = "sha256-W3bX5fAxFvI1zQCx8ioNIc/yeDAXChpxNPYyaghnxxE=";
1919

2020
subPackages = [ "." ];
2121

pkgs/applications/networking/cluster/terraform-docs/default.nix

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
{ lib, buildGoModule, fetchFromGitHub }:
1+
{ lib, buildGoModule, fetchFromGitHub, go_1_21 }:
22
buildGoModule rec {
33
pname = "terraform-docs";
4-
version = "0.16.0";
4+
version = "0.17.0";
5+
6+
go = go_1_21;
57

68
src = fetchFromGitHub {
79
owner = "terraform-docs";
810
repo = pname;
911
rev = "v${version}";
10-
sha256 = "sha256-zSSK2WfcbD1DvqsFUKdTydLfyApWzm1h+ihSnLUmq2E=";
12+
sha256 = "sha256-HkkW6JX5wcGElmr6CiSukyeS/8rz4CUThy8rZfx4hbo=";
1113
};
1214

13-
vendorHash = "sha256-0Bkjx/gq2MAWjxoMSGtBcRzv40SSUVDZBh4PzEtKj5o=";
15+
patches = [ ./update-to-go-1.21.patch ];
16+
17+
vendorHash = "sha256-ZHWAiXJG8vCmUkf6GNxoIJbIEjEWukLdrmdIb64QleI=";
1418

1519
subPackages = [ "." ];
1620

0 commit comments

Comments
 (0)