Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

envision: autopatchelf after build #337340

Closed
wants to merge 162 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
9711af0
nixos/iso-image: fix isoImage.grubTheme = null; logic
jonringer Jan 25, 2022
71b36a1
openutau: bump dotnet version 7 -> 8
r3n3gad3p3arl Sep 8, 2024
2c14728
llvmPackages.compiler_rt: Fix compiler_rt version tests for git
pwaller Nov 8, 2024
51ba14b
llvmPackages: Make targetLlvmLibraries overridable
pwaller Nov 10, 2024
d954930
stdenv: add Silvermont support, remove incorrect AES support
CHN-beta Nov 11, 2024
625c8e4
pmbootstrap: 2.3.1 > 3.0.0
theotheroracle Nov 13, 2024
95fe499
youki: add systemd build flag
Builditluc Nov 13, 2024
7a0ebd3
aspellDicts: expose pname and version
jopejoe1 Nov 15, 2024
7b47ad2
vscode-extensions: set pname
jopejoe1 Nov 9, 2024
640a639
netbird-dashboard: 2.5.0 -> 2.7.0
vrifox Nov 17, 2024
c8145a3
prometheus-aruba-exporter: init at unstable-2023-01-18
NetaliDev Nov 17, 2024
1a03c1d
git-prole: 0.5.1 -> 0.5.3
9999years Nov 18, 2024
4167057
ghidra: add wasm extension
BonusPlay Nov 19, 2024
c565ccd
freebsd: improve overridability of entire package set
rhelmot Sep 3, 2024
bbeed35
cue: format with nixfmt
aaronjheng Nov 20, 2024
f995dcd
cue: 0.10.1 -> 0.11.0
aaronjheng Nov 20, 2024
d028ee0
python312Packages.python-socks: 2.5.2 -> 2.5.3
r-ryantm Nov 20, 2024
c1ce95d
firefox-beta-unwrapped: 133.0b1 -> 133.0b9
r-ryantm Nov 20, 2024
0906424
chiptrack: 0.3.1 -> 0.5
OPNA2608 Nov 11, 2024
afa66f4
factorio: fix `updateScript` definition
nbraud Nov 20, 2024
36c71c5
suitesparse-graphblas: 9.3.1 -> 9.4.2
r-ryantm Nov 21, 2024
5f830be
lua-language-server: 3.13.0 -> 3.13.2
gepbird Nov 21, 2024
1bdff91
flutter: revert remove usages of aliases {build,host,target}Platform
RossComputerGuy Nov 19, 2024
9662edb
python312Packages.openai: 1.52.1 -> 1.54.5
malob Nov 20, 2024
c3c14a9
ladybird: 0-unstable-2024-11-06 -> 0-unstable-2024-11-21
fgaz Nov 21, 2024
410c68d
vault: 1.18.1 -> 1.18.2
techknowlogick Nov 21, 2024
8ff76bc
vault-bin: 1.18.1 -> 1.18.2
techknowlogick Nov 21, 2024
1aa5a56
telegram-bot-api: 7.11 -> 8.0
nartsisss Nov 21, 2024
bc7da81
vscode-extensions.chanhx.crabviz: init at 0.4.0
thtrf Nov 22, 2024
9dfbe51
python312Packages.ocrmypdf: 16.5.0 -> 16.6.2
dotlambda Oct 30, 2024
8b81bdd
paperless-ngx: fix tests with OCRmyPDF 16.6
dotlambda Nov 22, 2024
d25befd
unciv: 4.14.5-patch1 -> 4.14.9
goatastronaut0212 Nov 20, 2024
3561b1d
dotnet-{sdk,runtime,aspnetcore}_{6,7}: mark as EOL
emilazy Nov 23, 2024
0d7512f
woof-doom: 14.5.0 -> 15.0.0
keenanweaver Nov 23, 2024
83aba60
wordpress: 6.7 -> 6.7.1
r-ryantm Nov 23, 2024
7882454
nixos/manticore: fix mkKeyValueDefault
Stunkymonkey Nov 24, 2024
7c5948b
nvc: move to pkgs/by-name
wegank Nov 24, 2024
4f1da3e
nvc: reformat
wegank Nov 24, 2024
2acfd43
nvc: 1.14.1 -> 1.14.2
wegank Nov 24, 2024
79facd2
zammad: refactor package
NetaliDev Dec 29, 2023
f41f218
nixos/zammad: refactor module
NetaliDev Dec 29, 2023
4ad703d
nixos/tests/zammad: refactor test
NetaliDev Dec 29, 2023
edfc76c
radicle-{explorer,httpd}: 0.17.0 -> 0.17.1
mjoerg Nov 24, 2024
eff53a2
singularity-tools: enable __structuredAttrs and pass contents directly
ShamrockLee Nov 24, 2024
b250839
taterclient-ddnet: 8.6.1 -> 9.0.0
theobori Nov 24, 2024
0fd4999
python312Packages.pinocchio: Disable test that fails on darwin
john-rodewald Nov 24, 2024
029bc6a
skypeforlinux: 8.132.0.201 -> 8.133.0.202
mjoerg Nov 24, 2024
3a2ff8a
sql-studio: 0.1.27 -> 0.1.32
frectonz Nov 24, 2024
b32389d
qlog: 0.39.0 -> 0.40.0
r-ryantm Nov 24, 2024
bef3f40
edk2: 202408.01 -> 202411
mjoerg Nov 24, 2024
fc827af
decent-sampler: 1.12.1 -> 1.12.5
chewblacka Nov 24, 2024
d7705cc
zizmor: 0.2.1 -> 0.5.0
LeSuisse Nov 24, 2024
6c1474b
radicale: 3.3.0 -> 3.3.1
dotlambda Nov 24, 2024
8dca276
radicale: format with nixfmt-rfc-style
dotlambda Nov 24, 2024
077802d
python312Packages.radicale-infcloud: modernize
dotlambda Nov 24, 2024
e34cd11
libretro-core-info: move to pkgs/by-name, format with nixfmt-rfc-style
thiagokokada Nov 23, 2024
1a6115a
retroarch-assets: move to pkgs/by-name, format with nixfmt-rfc-style
thiagokokada Nov 23, 2024
859926a
retroarch-joypad-autoconfig: move to pkgs/by-name, format by nixfmt-r…
thiagokokada Nov 23, 2024
b65ca14
kodi-retroarch-advanced-launchers: move to pkgs/by-name, format with …
thiagokokada Nov 23, 2024
7ae7e0d
retroarch: format with nixfmt-rfc-style
thiagokokada Nov 23, 2024
006b13c
retroarch-{bare,full}: renamed from retroarch{Bare,Full}
thiagokokada Nov 24, 2024
bc078e1
retroarch-bare: add passthru.wrapper, refactor derivation to use it
thiagokokada Nov 24, 2024
3c11d3e
retroarch-bare: move to pkgs/by-name
thiagokokada Nov 24, 2024
3aa0725
retroarch: add withCores helper
thiagokokada Nov 23, 2024
61d8a91
libretro: renamed from retroarch
thiagokokada Nov 24, 2024
b3cc74f
libretro: update README.md
thiagokokada Nov 24, 2024
e981e0a
retroarch-free: init
thiagokokada Nov 23, 2024
2d0d7ee
retroarch-bare: remove top-level `with lib` in meta
thiagokokada Nov 24, 2024
60d1565
retroarch: define it using wrapRetroArch instead retroarch-bare.wrapper
thiagokokada Nov 24, 2024
3d61666
retroarch-{bare,free}: use lib instead of builtins
thiagokokada Nov 24, 2024
50c7be1
retroarch-bare: add missing . in longDescription
thiagokokada Nov 24, 2024
600ffd1
retroarch: use makeBinaryWrapper
thiagokokada Nov 24, 2024
8d8d408
spl: 0.4.0 -> 0.4.1
TudbuT Nov 24, 2024
880c2da
convbin: 3.7 -> 5.1
aucub Nov 24, 2024
c983d7b
libbitcoin{,-client,-explorer,-network,-protocol}: drop
emilazy Nov 24, 2024
8d3e3da
sumokoin: drop
emilazy Nov 23, 2024
fb2dd4a
boost175: drop
emilazy Nov 24, 2024
f1dd207
rippled{,-validator-keys-tool}: drop
emilazy Nov 24, 2024
6960c3b
cemu-ti: add aarch64-linux platform
utopiatopia Nov 18, 2024
6b92b09
cemu-ti: mark x86_64-linux broken
utopiatopia Nov 23, 2024
31c6a65
python312Packages.cachecontrol: 0.14.0 -> 0.14.1
dotlambda Nov 25, 2024
f5ed2b6
python3Packages.globus-sdk: 3.45.0 -> 3.48.0
Bot-wxt1221 Nov 25, 2024
bb102da
gleam: 1.6.1 -> 1.6.2
r-ryantm Nov 25, 2024
6962442
tinymist: 0.12.0 -> 0.12.4
GaetanLepage Nov 20, 2024
017849d
home-assistant-custom-components.solax_modbus: 2024.11.1 -> 2024.11.2
Luflosi Nov 25, 2024
2a765df
chromium: resolve ref to rev for blink version string
emilylange Nov 25, 2024
bb545cc
markdown-oxide: 0.24.2 -> 0.24.3
r-ryantm Nov 24, 2024
5ace30a
radicale: 3.3.0 -> 3.3.1 (#358813)
erictapen Nov 25, 2024
187a67c
factorio: fix `updateScript` definition (#357689)
lukegb Nov 25, 2024
9443f54
qlog: 0.39.0 -> 0.40.0 (#358767)
mkg20001 Nov 25, 2024
ba4c0e5
dotnet-{sdk,runtime,aspnetcore}_{6,7}: mark as EOL (#358533)
emilazy Nov 25, 2024
cf12b6d
nixVersions.{nix_2_20,nix_2_21,nix_2_22,nix_2_23}: drop
Mic92 Nov 25, 2024
b994c8c
llvmPackages.compiler_rt: Fix version tests for git (#354471)
RossComputerGuy Nov 25, 2024
7c18ea3
llvmPackages: Make targetLlvmLibraries overridable (#355001)
RossComputerGuy Nov 25, 2024
091621c
ghidra: add wasm extension (#349645)
philiptaron Nov 25, 2024
21595ae
home-assistant-custom-components.solax_modbus: 2024.11.1 -> 2024.11.2…
mweinelt Nov 25, 2024
12d14a9
openutau: bump dotnet version 7 -> 8 (#340611)
emilazy Nov 25, 2024
af64a86
ocamlPackages.eio: 1.1 → 1.2
toastal Nov 23, 2024
eb72068
radicle-{explorer,httpd}: 0.17.0 -> 0.17.1 (#358720)
gador Nov 25, 2024
84d3fd1
python3Packages.pyside2-tools: fix
tfc Nov 23, 2024
97ebfb6
nixVersions.{nix_2_20,nix_2_21,nix_2_22,nix_2_23}: drop (#359024)
Mic92 Nov 25, 2024
6b83f70
retroarch: refactor (#358405)
thiagokokada Nov 25, 2024
1b5d0bc
tinymist: 0.12.0 -> 0.12.4 (#357498)
drupol Nov 25, 2024
92d6437
typstyle: 0.12.3 -> 0.12.4
GaetanLepage Nov 25, 2024
a102f13
nixos/manticore: fix mkKeyValueDefault (#358673)
philiptaron Nov 25, 2024
e2f8979
pmbootstrap: 2.3.1 > 3.0.0 (#355579)
philiptaron Nov 25, 2024
e423d1d
edk2: 202408.01 -> 202411 (#358771)
adamcstephens Nov 25, 2024
40d3278
python312Packages.facedancer: 3.0.4 -> 3.0.5
r-ryantm Nov 25, 2024
d2b29e6
convbin: 3.7 -> 5.1 (#356192)
donovanglover Nov 25, 2024
6c058a9
vscode-extensions.chanhx.crabviz: init at 0.4.0 (#358114)
drupol Nov 25, 2024
9af3765
spl: 0.4.0 -> 0.4.1 (#358826)
donovanglover Nov 25, 2024
62742e9
singularity-tools: enable __structuredAttrs and pass contents directl…
philiptaron Nov 25, 2024
3624127
chiptrack: 0.3.1 -> 0.5 (#355208)
OPNA2608 Nov 25, 2024
f16a14f
python312Packages.pyschlage: 2024.8.0 -> 2024.11.0
r-ryantm Nov 25, 2024
64cf4de
sql-studio: 0.1.27 -> 0.1.32 (#358764)
donovanglover Nov 25, 2024
86b2251
taterclient-ddnet: 8.6.1 -> 9.0.0 (#358727)
donovanglover Nov 25, 2024
58334e6
zizmor: 0.2.1 -> 0.5.0 (#358793)
donovanglover Nov 25, 2024
d0ca65e
woof-doom: 14.5.0 -> 15.0.0 (#358579)
donovanglover Nov 25, 2024
3eb5481
vault: 1.18.1 -> 1.18.2 (#358001)
NickCao Nov 25, 2024
ac24b97
nixos/zammad: refactor package, module and nixos-test (#277456)
NetaliDev Nov 25, 2024
1ff4137
vscode-extensions: set pname (#354740)
jopejoe1 Nov 25, 2024
90eeeea
aspellDicts: expose pname and version (#356318)
jopejoe1 Nov 25, 2024
82648db
prometheus-aruba-exporter: init at unstable-2023-01-18 (#356827)
NetaliDev Nov 25, 2024
01fdad8
stdenv: add Silvermont support, remove incorrect AES support (#355127)
philiptaron Nov 25, 2024
96be30f
netbird-dashboard: 2.5.0 -> 2.7.0 (#356738)
donovanglover Nov 25, 2024
6093301
cups-kyocera-3500-4500: reorder source URLs
me-and Nov 25, 2024
07bee95
lua-language-server: 3.13.0 -> 3.13.2 (#357849)
donovanglover Nov 25, 2024
69b3452
git-prole: 0.5.1 -> 0.5.3 (#357066)
lf- Nov 25, 2024
77a71a8
markdown-oxide: 0.24.2 -> 0.24.3 (#358830)
donovanglover Nov 25, 2024
a0a8e91
suitesparse-graphblas: 9.3.1 -> 9.4.2 (#357761)
nixpkgs-merge-bot[bot] Nov 25, 2024
779a285
python312Packages.pinocchio: Disable test that fails on darwin (#358668)
wegank Nov 25, 2024
4f31313
sumokoin: drop (#358866)
wegank Nov 25, 2024
ba76e15
rippled: drop (#358864)
wegank Nov 25, 2024
bf84cc7
wordpress: 6.7 -> 6.7.1 (#358426)
wegank Nov 25, 2024
613c347
nvc: 1.14.1 -> 1.14.2 (#358689)
wegank Nov 25, 2024
bdf3bbe
libbitcoin{,-client,-explorer,-network,-protocol}: drop; boost175: dr…
wegank Nov 25, 2024
2034012
youki: add systemd build flag (#355607)
wegank Nov 25, 2024
2632b1a
cemu-ti: platform changes (#356874)
kirillrdy Nov 25, 2024
af9f001
typstyle: 0.12.3 -> 0.12.4 (#359056)
drupol Nov 25, 2024
87b163f
python312Packages.facedancer: 3.0.4 -> 3.0.5 (#359067)
NickCao Nov 25, 2024
1942e92
python312Packages.pyschlage: 2024.8.0 -> 2024.11.0 (#359071)
NickCao Nov 25, 2024
a914d7e
flutter: revert remove usages of aliases {build,host,target}Platform …
RossComputerGuy Nov 25, 2024
f590fcc
python312Packages.openai: 1.52.1 -> 1.54.5 (#354068)
happysalada Nov 25, 2024
d328c0c
gleam: 1.6.1 -> 1.6.2 (#358888)
happysalada Nov 25, 2024
d225878
python312Packages.ocrmypdf: 16.5.0 -> 16.6.2 (#352270)
dotlambda Nov 25, 2024
ea03907
python312Packages.cachecontrol: 0.14.0 -> 0.14.1 (#354297)
dotlambda Nov 25, 2024
59133ee
python312Packages.python-socks: 2.5.2 -> 2.5.3 (#357461)
jopejoe1 Nov 25, 2024
882842d
unciv: 4.14.5-patch1 -> 4.14.9 (#357456)
jopejoe1 Nov 25, 2024
8a22c82
cue: 0.10.1 -> 0.11.0 (#357449)
jopejoe1 Nov 25, 2024
657103b
firefox-beta-unwrapped: 133.0b1 -> 133.0b9 (#357537)
jopejoe1 Nov 25, 2024
8586e05
chromium: resolve ref to rev for blink version string (#358997)
emilylange Nov 25, 2024
e1c3527
flare-signal: 0.15.2 -> 0.15.6 (#359047)
dotlambda Nov 25, 2024
1640581
python3Packages.globus-sdk: 3.45.0 -> 3.48.0 (#358880)
jopejoe1 Nov 25, 2024
c27366f
decent-sampler: 1.12.1 -> 1.12.5 (#358774)
jopejoe1 Nov 25, 2024
914616a
skypeforlinux: 8.132.0.201 -> 8.133.0.202 (#358741)
jopejoe1 Nov 25, 2024
fa4b963
nixos/iso-image: fix isoImage.grubTheme = null; logic (#156754)
Artturin Nov 25, 2024
70f4e3b
telegram-bot-api: 7.11 -> 8.0 (#358021)
jopejoe1 Nov 25, 2024
428141a
freebsd: improve overridability of entire package set (#339912)
Ericson2314 Nov 25, 2024
b718c27
ladybird: 0-unstable-2024-11-06 -> 0-unstable-2024-11-21 (#357995)
jopejoe1 Nov 25, 2024
3328076
doc/interoperability: add OpenXR doc
Pandapip1 Aug 25, 2024
d71427b
auto-patchelf: Fix missing defaults and add --no-add-existing option
Pandapip1 Nov 7, 2024
8af5d9e
envision: autopatchelf after build
Pandapip1 Aug 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions doc/interoperability/openxr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# OpenXR in NixOS

OpenXR is a standard for eXtended Reality (XR) applications and drivers (providers).

OpenXR runtime providers must ensure that the library path of the runtime's shared library can be loaded by Nix applications. If your OpenXR runtime provider runs in an FHSEnv, this means you may have to use `auto-patchelf` to link dependencies to the Nix store.
13 changes: 7 additions & 6 deletions lib/systems/architectures.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@ rec {
x86-64-v3 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "fma" ];
x86-64-v4 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "avx512" "fma" ];
# x86_64 Intel
nehalem = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" ];
westmere = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" ];
sandybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
ivybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
haswell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
broadwell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
nehalem = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
westmere = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
silvermont = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
sandybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" ];
ivybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" ];
haswell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "fma" ];
broadwell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "fma" ];
skylake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
skylake-avx512 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
cannonlake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
Expand Down
3 changes: 3 additions & 0 deletions nixos/doc/manual/release-notes/rl-2505.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,13 @@

- Support for CUDA 10 has been dropped, as announced in the 24.11 release notes.

- `zammad` has had its support for MySQL removed, since it was never working correctly and is now deprecated upstream. Check the [migration guide](https://docs.zammad.org/en/latest/appendix/migrate-to-postgresql.html) for how to convert your database to PostgreSQL.

- `kanata` was updated to v1.7.0, which introduces several breaking changes.
See the release notes of
[v1.7.0](https://github.com/jtroo/kanata/releases/tag/v1.7.0)
for more information.
- `vscode-utils.buildVscodeExtension` now requires pname as an argument

- the notmuch vim plugin now lives in a separate output of the `notmuch`
package. Installing `notmuch` will not bring the notmuch vim package anymore,
Expand Down
3 changes: 2 additions & 1 deletion nixos/modules/installer/cd-dvd/iso-image.nix
Original file line number Diff line number Diff line change
Expand Up @@ -335,12 +335,13 @@ let
set textmode=true
terminal_output console
}
'' + lib.optionalString (config.isoImage.grubTheme != null) ''
hiddenentry 'GUI mode' --hotkey 'g' {
$(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (\$root)/EFI/BOOT/grub-theme/%P\n")
set textmode=false
terminal_output gfxterm
}

'' + ''

# If the parameter iso_path is set, append the findiso parameter to the kernel
# line. We need this to allow the nixos iso to be booted from grub directly.
Expand Down
127 changes: 61 additions & 66 deletions nixos/modules/services/development/zammad.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{ config, lib, pkgs, ... }:

let
cfg = config.services.zammad;
settingsFormat = pkgs.formats.yaml { };
Expand All @@ -7,11 +8,11 @@ let
Type = "simple";
Restart = "always";

User = "zammad";
Group = "zammad";
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
StateDirectory = "zammad";
WorkingDirectory = cfg.dataDir;
WorkingDirectory = package;
};
environment = {
RAILS_ENV = "production";
Expand All @@ -21,6 +22,9 @@ let
REDIS_URL = "redis://${cfg.redis.host}:${toString cfg.redis.port}";
};
databaseConfig = settingsFormat.generate "database.yml" cfg.database.settings;
package = cfg.package.override {
dataDir = cfg.dataDir;
};
in
{

Expand All @@ -30,6 +34,22 @@ in

package = lib.mkPackageOption pkgs "zammad" { };

user = lib.mkOption {
type = lib.types.str;
default = "zammad";
description = ''
Name of the Zammad user.
'';
};

group = lib.mkOption {
type = lib.types.str;
default = "zammad";
description = ''
Name of the Zammad group.
'';
};

dataDir = lib.mkOption {
type = lib.types.path;
default = "/var/lib/zammad";
Expand Down Expand Up @@ -94,25 +114,9 @@ in
};

database = {
type = lib.mkOption {
type = lib.types.enum [ "PostgreSQL" "MySQL" ];
default = "PostgreSQL";
example = "MySQL";
description = "Database engine to use.";
};

host = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = {
PostgreSQL = "/run/postgresql";
MySQL = "localhost";
}.${cfg.database.type};
defaultText = lib.literalExpression ''
{
PostgreSQL = "/run/postgresql";
MySQL = "localhost";
}.''${config.services.zammad.database.type};
'';
type = lib.types.str;
default = "/run/postgresql";
description = ''
Database host address.
'';
Expand Down Expand Up @@ -195,13 +199,9 @@ in
};

config = lib.mkIf cfg.enable {

services.zammad.database.settings = {
production = lib.mapAttrs (_: v: lib.mkDefault v) (filterNull {
adapter = {
PostgreSQL = "postgresql";
MySQL = "mysql2";
}.${cfg.database.type};
adapter = "postgresql";
database = cfg.database.name;
pool = 50;
timeout = 5000;
Expand All @@ -217,13 +217,12 @@ in
config.services.zammad.websocketPort
];

users.users.zammad = {
users.users.${cfg.user} = {
group = "${cfg.group}";
isSystemUser = true;
home = cfg.dataDir;
group = "zammad";
};

users.groups.zammad = { };
users.groups.${cfg.group} = { };

assertions = [
{
Expand All @@ -240,19 +239,7 @@ in
}
];

services.mysql = lib.optionalAttrs (cfg.database.createLocally && cfg.database.type == "MySQL") {
enable = true;
package = lib.mkDefault pkgs.mariadb;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.database.user;
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
}
];
};

services.postgresql = lib.optionalAttrs (cfg.database.createLocally && cfg.database.type == "PostgreSQL") {
services.postgresql = lib.optionalAttrs (cfg.database.createLocally) {
enable = true;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
Expand All @@ -278,54 +265,52 @@ in
};
after = [
"network.target"
"systemd-tmpfiles-setup.service"
] ++ lib.optionals (cfg.database.createLocally) [
"postgresql.service"
] ++ lib.optionals cfg.redis.createLocally [
"redis-${cfg.redis.name}.service"
];
requires = [
requires = lib.optionals (cfg.database.createLocally) [
"postgresql.service"
];
description = "Zammad web";
wantedBy = [ "multi-user.target" ];
preStart = ''
# Blindly copy the whole project here.
chmod -R +w .
rm -rf ./public/assets/
rm -rf ./tmp/*
rm -rf ./log/*
cp -r --no-preserve=owner ${cfg.package}/* .
chmod -R +w .
# config file
cp ${databaseConfig} ./config/database.yml
chmod -R +w .
cat ${databaseConfig} > ${cfg.dataDir}/config/database.yml
${lib.optionalString (cfg.database.passwordFile != null) ''
{
echo -n " password: "
cat ${cfg.database.passwordFile}
} >> ./config/database.yml
} >> ${cfg.dataDir}/config/database.yml
''}
${lib.optionalString (cfg.secretKeyBaseFile != null) ''
{
echo "production: "
echo -n " secret_key_base: "
cat ${cfg.secretKeyBaseFile}
} > ./config/secrets.yml
} > ${cfg.dataDir}/config/secrets.yml
''}

if [ `${config.services.postgresql.package}/bin/psql \
--host ${cfg.database.host} \
${lib.optionalString
(cfg.database.port != null)
"--port ${toString cfg.database.port}"} \
--username ${cfg.database.user} \
--dbname ${cfg.database.name} \
--command "SELECT COUNT(*) FROM pg_class c \
JOIN pg_namespace s ON s.oid = c.relnamespace \
WHERE s.nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema') \
AND s.nspname NOT LIKE 'pg_temp%';" | sed -n 3p` -eq 0 ]; then
# needed for cleanup
shopt -s extglob

# cleanup state directory from module before refactoring in
# https://github.com/NixOS/nixpkgs/pull/277456
if [[ -e ${cfg.dataDir}/node_modules ]]; then
rm -rf ${cfg.dataDir}/!("tmp"|"config"|"log"|"state_dir_migrated"|"db_seeded")
rm -rf ${cfg.dataDir}/config/!("database.yml"|"secrets.yml")
# state directory cleanup required --> zammad was already installed --> do not seed db
echo true > ${cfg.dataDir}/db_seeded
fi

SEEDED=$(cat ${cfg.dataDir}/db_seeded)
if [[ $SEEDED != "true" ]]; then
echo "Initialize database"
./bin/rake --no-system db:migrate
./bin/rake --no-system db:seed
echo true > ${cfg.dataDir}/db_seeded
else
echo "Migrate database"
./bin/rake --no-system db:migrate
Expand All @@ -335,6 +320,16 @@ in
script = "./script/rails server -b ${cfg.host} -p ${toString cfg.port}";
};

systemd.tmpfiles.rules = [
"d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/config 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/tmp 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/log 0750 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/config/secrets.yml 0640 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/config/database.yml 0640 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/db_seeded 0640 ${cfg.user} ${cfg.group} - -"
];

systemd.services.zammad-websocket = {
inherit serviceConfig environment;
after = [ "zammad-web.service" ];
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/services/search/manticore.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ let
format = pkgs.formats.json { };

toSphinx = {
mkKeyValue ? mkKeyValueDefault {} "=",
mkKeyValue ? generators.mkKeyValueDefault {} "=",
listsAsDuplicateKeys ? true
}: attrsOfAttrs:
let
Expand Down
2 changes: 1 addition & 1 deletion nixos/tests/retroarch.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import ./make-test-python.nix (
services.xserver.enable = true;
services.xserver.desktopManager.retroarch = {
enable = true;
package = pkgs.retroarchBare;
package = pkgs.retroarch-bare;
};
services.xserver.displayManager = {
sddm.enable = true;
Expand Down
28 changes: 0 additions & 28 deletions nixos/tests/zammad.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,6 @@ import ./make-test-python.nix (
services.zammad.secretKeyBaseFile = pkgs.writeText "secret" ''
52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6
'';

systemd.services.zammad-locale-cheat =
let cfg = config.services.zammad; in
{
serviceConfig = {
Type = "oneshot";
Restart = "on-failure";

User = "zammad";
Group = "zammad";
PrivateTmp = true;
StateDirectory = "zammad";
WorkingDirectory = cfg.dataDir;
};
wantedBy = [ "zammad-web.service" ];
description = "Hack in the locale files so zammad doesn't try to access the internet";
script = ''
mkdir -p ./config/translations
VERSION=$(cat ${cfg.package}/VERSION)

# If these files are not in place, zammad will try to access the internet.
# For the test, we only need to supply en-us.
echo '[{"locale":"en-us","alias":"en","name":"English (United States)","active":true,"dir":"ltr"}]' \
> ./config/locales-$VERSION.yml
echo '[{"locale":"en-us","format":"time","source":"date","target":"mm/dd/yyyy","target_initial":"mm/dd/yyyy"},{"locale":"en-us","format":"time","source":"timestamp","target":"mm/dd/yyyy HH:MM","target_initial":"mm/dd/yyyy HH:MM"}]' \
> ./config/translations/en-us-$VERSION.yml
'';
};
};

testScript = ''
Expand Down
15 changes: 5 additions & 10 deletions pkgs/applications/audio/openutau/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ buildDotnetModule rec {
hash = "sha256-HE0KxPKU7tYZbYiCL8sm6I/NZiX0MJktt+5d6qB1A2E=";
};

dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;

# [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [[...]/OpenUtau.Core.csproj]
# [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: System.IO.IOException: The process cannot access the file '[...]/OpenUtau.Core.deps.json' because it is being used by another process. [[...]/OpenUtau.Core.csproj]
Expand All @@ -41,11 +41,11 @@ buildDotnetModule rec {
# socket cannot bind to localhost on darwin for tests
doCheck = !stdenv.hostPlatform.isDarwin;

# net7.0 replacement needed until upstream bumps to dotnet 7
# net8.0 replacement needed until upstream bumps to dotnet 8
postPatch = ''
substituteInPlace OpenUtau/OpenUtau.csproj OpenUtau.Test/OpenUtau.Test.csproj --replace \
'<TargetFramework>net6.0</TargetFramework>' \
'<TargetFramework>net7.0</TargetFramework>'
'<TargetFramework>net8.0</TargetFramework>'

substituteInPlace OpenUtau/Program.cs --replace \
'/usr/bin/fc-match' \
Expand Down Expand Up @@ -74,12 +74,7 @@ buildDotnetModule rec {
# some deps and worldline resampler
binaryNativeCode
];
license = with licenses; [
# dotnet code and worldline resampler binary
mit
# worldline resampler binary - no source is available (hence "unfree") but usage of the binary is MIT
unfreeRedistributable
];
license = licenses.mit;
maintainers = [ ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
mainProgram = "OpenUtau";
Expand Down
16 changes: 16 additions & 0 deletions pkgs/applications/editors/vscode/extensions/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -903,6 +903,22 @@ let
};
};

chanhx.crabviz = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "crabviz";
publisher = "chanhx";
version = "0.4.0";
hash = "sha256-SOsoSQLDNRqby91Ire4euSz6udRZI6G/RVloVjIvhUM=";
};
meta = {
description = "VSCode extension for generating call graphs based on LSP";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=chanhx.crabviz";
homepage = "https://github.com/chanhx/crabviz";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ thtrf ];
};
};

charliermarsh.ruff = callPackage ./charliermarsh.ruff { };

cameron.vscode-pytest = buildVscodeMarketplaceExtension {
Expand Down
Loading
Loading