Skip to content

Commit 856b27a

Browse files
Merge master into staging-next
2 parents 8b94c51 + a7e3137 commit 856b27a

File tree

63 files changed

+704
-190
lines changed

Some content is hidden

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

63 files changed

+704
-190
lines changed

maintainers/maintainer-list.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3054,6 +3054,12 @@
30543054
githubId = 5409401;
30553055
name = "Bradley Cooley";
30563056
};
3057+
bct = {
3058+
email = "[email protected]";
3059+
github = "bct";
3060+
githubId = 548;
3061+
name = "Brendan Taylor";
3062+
};
30573063
bcyran = {
30583064
email = "[email protected]";
30593065
github = "bcyran";

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@
124124

125125
- [Szurubooru](https://github.com/rr-/szurubooru), an image board engine inspired by services such as Danbooru, dedicated for small and medium communities. Available as [services.szurubooru](#opt-services.szurubooru.enable).
126126

127+
- [LubeLogger](https://lubelogger.com/), a vehicle maintenance and fuel mileage tracker.
128+
Available as [services.lubelogger](#opt-services.lubelogger.enable).
129+
127130
- The [Neat IP Address Planner](https://spritelink.github.io/NIPAP/) (NIPAP) can now be enabled through [services.nipap.enable](#opt-services.nipap.enable).
128131

129132
- [tpm2-totp](https://github.com/tpm2-software/tpm2-totp) can now be used to show a TOTP during boot using Plymouth. Available as [boot.plymouth.tpm2-totp](#opt-boot.plymouth.tpm2-totp.enable).

nixos/modules/module-list.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1646,6 +1646,7 @@
16461646
./services/web-apps/libretranslate.nix
16471647
./services/web-apps/limesurvey.nix
16481648
./services/web-apps/linkwarden.nix
1649+
./services/web-apps/lubelogger.nix
16491650
./services/web-apps/mainsail.nix
16501651
./services/web-apps/mastodon.nix
16511652
./services/web-apps/matomo.nix
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
config,
3+
lib,
4+
pkgs,
5+
...
6+
}:
7+
8+
let
9+
cfg = config.services.lubelogger;
10+
in
11+
{
12+
meta.maintainers = with lib.maintainers; [
13+
bct
14+
lyndeno
15+
];
16+
17+
options = {
18+
services.lubelogger = {
19+
enable = lib.mkEnableOption "LubeLogger, a self-hosted, open-source, web-based vehicle maintenance and fuel milage tracker";
20+
21+
package = lib.mkPackageOption pkgs "lubelogger" { };
22+
23+
dataDir = lib.mkOption {
24+
description = "Path to LubeLogger config and metadata inside of `/var/lib/`.";
25+
default = "lubelogger";
26+
type = lib.types.str;
27+
};
28+
29+
port = lib.mkOption {
30+
description = "The TCP port LubeLogger will listen on.";
31+
default = 5000;
32+
type = lib.types.port;
33+
};
34+
35+
user = lib.mkOption {
36+
description = "User account under which LubeLogger runs.";
37+
default = "lubelogger";
38+
type = lib.types.str;
39+
};
40+
41+
group = lib.mkOption {
42+
description = "Group under which LubeLogger runs.";
43+
default = "lubelogger";
44+
type = lib.types.str;
45+
};
46+
47+
openFirewall = lib.mkOption {
48+
description = "Open ports in the firewall for the LubeLogger web interface.";
49+
default = false;
50+
type = lib.types.bool;
51+
};
52+
53+
settings = lib.mkOption {
54+
type = with lib.types; attrsOf str;
55+
default = { };
56+
example = {
57+
LUBELOGGER_ALLOWED_FILE_EXTENSIONS = "";
58+
LUBELOGGER_LOGO_URL = "";
59+
};
60+
description = ''
61+
Additional configuration for LubeLogger, see <https://docs.lubelogger.com/Environment%20Variables> for supported values.
62+
'';
63+
};
64+
65+
environmentFile = lib.mkOption {
66+
type = lib.types.nullOr lib.types.path;
67+
default = null;
68+
example = "/run/secrets/lubelogger";
69+
description = ''
70+
Path to a file containing extra LubeLogger config options in the systemd `EnvironmentFile` format.
71+
Refer to the [documentation] for supported options.
72+
73+
[documentation]: https://docs.lubelogger.com/Advanced/Environment%20Variables
74+
75+
This can be used to pass secrets to LubeLogger without putting them in the Nix store.
76+
77+
For example, to set an SMTP password, point `environmentFile` at a file containing:
78+
```
79+
MailConfig__Password=<pass>
80+
```
81+
'';
82+
};
83+
};
84+
};
85+
86+
config = lib.mkIf cfg.enable {
87+
systemd.services.lubelogger = {
88+
description = "LubeLogger";
89+
90+
after = [ "network.target" ];
91+
wantedBy = [ "multi-user.target" ];
92+
93+
environment = {
94+
Kestrel__Endpoints__Http__Url = "http://localhost:${toString cfg.port}";
95+
}
96+
// cfg.settings;
97+
98+
serviceConfig = {
99+
Type = "simple";
100+
User = cfg.user;
101+
Group = cfg.group;
102+
StateDirectory = cfg.dataDir;
103+
WorkingDirectory = "/var/lib/${cfg.dataDir}";
104+
ExecStart = lib.getExe cfg.package;
105+
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
106+
Restart = "on-failure";
107+
108+
CapabilityBoundingSet = [ "" ];
109+
DeviceAllow = [ "" ];
110+
PrivateDevices = true;
111+
PrivateTmp = true;
112+
ProtectHome = true;
113+
RestrictAddressFamilies = [
114+
"AF_UNIX"
115+
"AF_INET"
116+
"AF_INET6"
117+
];
118+
RestrictNamespaces = true;
119+
};
120+
};
121+
122+
users.users = lib.mkIf (cfg.user == "lubelogger") {
123+
lubelogger = {
124+
isSystemUser = true;
125+
group = cfg.group;
126+
home = "/var/lib/${cfg.dataDir}";
127+
};
128+
};
129+
130+
users.groups = lib.mkIf (cfg.group == "lubelogger") { lubelogger = { }; };
131+
132+
networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
133+
};
134+
}

pkgs/applications/editors/vscode/vscode.nix

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,20 @@ let
3636

3737
hash =
3838
{
39-
x86_64-linux = "sha256-C+VAuyK2/4unyQm6h0lJJnAMFpGZYC3v8qPaeHkL8gE=";
40-
x86_64-darwin = "sha256-DpBTTIrKZdItpBgDp3SA9fL9eVvvp/O1FDsVK93nTPw=";
41-
aarch64-linux = "sha256-o1YyBeQ/ydcd06vxf8sndik4DTqmcgqBSDAuOsMr3WM=";
42-
aarch64-darwin = "sha256-7XO+Y8T85EeGOUy8traWt+MOFhtCmPQp0benY6ZJCS4=";
43-
armv7l-linux = "sha256-FAjeY+D4sRpt4/7U+k5c+JZMRMT6vvkYdUTahiQt/mM=";
39+
x86_64-linux = "sha256-zQ6HHayJy48g/0viZRWm2Ea3Oy50LLkLhSjum68HETk=";
40+
x86_64-darwin = "sha256-nl4Dn1xiXKZbbKfBHx92h4cxlNTQ7ManVg1LyYvd1xQ=";
41+
aarch64-linux = "sha256-Yxr2JgpE6nW1B9iCpu8zDHpKHkDr0yy5gQRjNsq73tc=";
42+
aarch64-darwin = "sha256-iElSgv6jjmKoVZqrZ1ET2EnwyZfiaXkfx9xlSgsUsTc=";
43+
armv7l-linux = "sha256-M0ZkHHnJB/BtRagJjCi3yfhKz8B4v79IYuiaqdmPrkg=";
4444
}
4545
.${system} or throwSystem;
4646

4747
# Please backport all compatible updates to the stable release.
4848
# This is important for the extension ecosystem.
49-
version = "1.106.0";
49+
version = "1.106.1";
5050

5151
# This is used for VS Code - Remote SSH test
52-
rev = "ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57";
52+
rev = "cb1933bbc38d329b3595673a600fab5c7368f0a7";
5353
in
5454
callPackage ./generic.nix {
5555
pname = "vscode" + lib.optionalString isInsiders "-insiders";
@@ -82,7 +82,7 @@ callPackage ./generic.nix {
8282
src = fetchurl {
8383
name = "vscode-server-${rev}.tar.gz";
8484
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
85-
hash = "sha256-/ZBBSQTj0gr6H4wRLH9r2Qhukua8qeOq1MVlaScy+IE=";
85+
hash = "sha256-HYyzA5qfE7CHFqenBjPCe9QhANP0mOgUoORRm/QvxVk=";
8686
};
8787
stdenv = stdenvNoCC;
8888
};

pkgs/by-name/ai/airshipper/package.nix

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,11 @@ rustPlatform.buildRustPackage {
112112
];
113113
in
114114
''
115-
patchelf --set-rpath "${libPath}" "$out/bin/airshipper"
116-
wrapProgram "$out/bin/airshipper" --set VELOREN_PATCHER "${patch}"
115+
# We set LD_LIBRARY_PATH instead of using patchelf in order to propagate the libs
116+
# to both Airshipper itself as well as the binaries downloaded by Airshipper.
117+
wrapProgram "$out/bin/airshipper" \
118+
--set VELOREN_PATCHER "${patch}" \
119+
--prefix LD_LIBRARY_PATH : "${libPath}"
117120
'';
118121

119122
doCheck = false;

pkgs/by-name/aw/aws-workspaces/package.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
writeShellApplication,
55
buildFHSEnv,
66
webkitgtk_4_1,
7-
ffmpeg,
7+
ffmpeg-full,
88
gtk3,
99
pango,
1010
atk,
@@ -49,7 +49,7 @@ buildFHSEnv {
4949
custom_lsb_release
5050
webkitgtk_4_1
5151
gtk3
52-
ffmpeg
52+
ffmpeg-full
5353
pango
5454
atk
5555
cairo

0 commit comments

Comments
 (0)