Commit Graph

4319 Commits

Author SHA1 Message Date
Mikaela Allan
21b6bec0ff
nixos/config/swap: improve randomEncrytion
* add sector size parameter to swap randomEncryption
  * add key size parameter to swap randomEncryption
  * allow deviceName to be overridden for encrypted swap
  * create test for swap random encryption
  * update release notes
2023-05-05 13:36:42 -04:00
github-actions[bot]
2181c1e956
Merge staging-next into staging 2023-05-05 12:02:09 +00:00
Jacek Galowicz
3ba45b082e
Merge pull request #228111 from alyssais/nixosTest-hostname
nixosTest: remove hostname limitations
2023-05-05 08:12:36 +02:00
github-actions[bot]
1b8f2397cf
Merge staging-next into staging 2023-05-05 00:02:42 +00:00
Sandro
3971f4c98c
Merge pull request #226652 from totoroot/remove-qlandkartegt
qlandkartegt: remove
2023-05-04 23:07:21 +02:00
Jonas Chevalier
3d2bdd0788
python: implement PEP 668 (#229166)
Add a marker file to the python outputs that tells pip and other tooling
following PEP 668 that they should not be installing things system-wide.

This provides better feedback to the user and also potentially avoids issues in
single-user installs where the /nix/store is owned by the user.

For more details, see <https://peps.python.org/pep-0668/>

Here is how it currently looks like:

    $ pip install requests
    error: externally-managed-environment

    × This environment is externally managed
    ╰─> This command has been disabled as it tries to modify the immutable
        `/nix/store` filesystem.

        To use Python with Nix and nixpkgs, have a look at the online documentation:
        <https://nixos.org/manual/nixpkgs/stable/#python>.
2023-05-04 18:30:25 +02:00
Matthias Thym
4138d6a449 qlandkartegt: remove 2023-05-03 21:58:12 +02:00
pennae
407f6196a2 nixos-render-docs: add examples support
the nixos manual contains enough examples to support them as a proper
toc entity with specialized rendering, and if in the future the nixpkgs
wants to use nixos-render-docs we will definitely have to support them.
this also allows us to restore some examples that were lost in previous
translation steps because there were too few to add renderer support
back then.
2023-05-03 19:58:21 +02:00
Izorkin
544ebba973 nixos/fail2ban: update bantime options 2023-05-03 08:45:26 +02:00
Artturi
2d256ca7c2
Merge pull request #227499 from tollb/w20230421d_use_systemd_hwdb_to_build_udev_hwdb 2023-05-02 19:04:06 +03:00
Jonas Heinrich
d932d6929b
Merge pull request #227401 from onny/maddytls2
nixos/maddy: Add tls option
2023-05-02 07:32:56 +02:00
Jonas Heinrich
fcf6662fb5
Merge pull request #229159 from Misterio77/refactor-nextcloud-createlocally
nixos/nextcloud: refactor database.createLocally
2023-05-01 20:04:20 +02:00
Jonas Heinrich
616ba4ae5c nixos/maddy: Add tls option 2023-05-01 19:12:26 +02:00
Gabriel Fontes
fddf531c6f
nixos/nextcloud: refactor database.createLocally
Fixes https://github.com/NixOS/nixpkgs/issues/228971
2023-05-01 12:20:40 -03:00
Vladimír Čunát
8663481786
Merge #228476: staging-next 2023-04-27 2023-05-01 11:20:22 +02:00
K900
5c95114a2f
Merge pull request #228951 from aacebedo/aacebedo/asusctl_4.6.2
asusctl: 4.5.8 -> 4.6.2
2023-05-01 12:08:37 +03:00
Alexandre Acebedo
576d7d34c4 asusctl: 4.5.8 -> 4.6.2 2023-05-01 11:07:39 +02:00
Weijia Wang
cdefca3d7a nixos/release-notes: fix typo 2023-05-01 14:21:01 +08:00
github-actions[bot]
7e5a4795a7
Merge master into staging-next 2023-05-01 06:01:42 +00:00
Weijia Wang
b87aa62298
Merge pull request #227936 from wineee/dde
nixos/deepin: init
2023-05-01 08:38:45 +03:00
github-actions[bot]
2b265000ed
Merge master into staging-next 2023-04-30 18:01:17 +00:00
Kira Bruneau
50200de3f4
Merge pull request #216230 from tcheronneau/master
nixos/{consul-template,vault-agent}: init
2023-04-30 13:53:57 -04:00
github-actions[bot]
3d5144e385
Merge master into staging-next 2023-04-30 00:02:27 +00:00
Kira Bruneau
f81a619c91
Merge pull request #227916 from IndeedNotJames/lldap
lldap: init at 0.4.3; nixos/lldap: init; nixosTests.lldap: init
2023-04-29 15:24:12 -04:00
IndeedNotJames
87ccd1a47b
nixos/lldap: init
Co-authored-by: LongerHV <46924944+LongerHV@users.noreply.github.com>
2023-04-29 21:14:25 +02:00
rewine
7f61f65def
nixos/doc: add release note for Deepin Desktop Environment 2023-04-29 22:36:22 +08:00
github-actions[bot]
9701323277
Merge master into staging-next 2023-04-29 12:01:20 +00:00
Minijackson
0c97d307e6 netbox: 3.4.10 -> 3.5.0 2023-04-29 12:39:32 +02:00
github-actions[bot]
33176679ce
Merge master into staging-next 2023-04-29 06:01:04 +00:00
Raito Bezarius
bc502d0a14 nixos/bootspec: adopt the merged RFC-0125
This removes the feature preview warning, enable by default bootspec,
adds a validation flag to prevent Go to go into build-time closure.

This will break all downstream users of bootspec as those changes are
not backward-compatible.
2023-04-28 18:26:11 -07:00
github-actions[bot]
4ad6839f0c
Merge master into staging-next 2023-04-27 12:01:14 +00:00
Sinkerine
fbd67ea6c1
zplug: update the output path (#228284)
* zplug: update the output path

This is a breaking change because the old behavior pollutes the nix profile root
dir with all files in https://github.com/zplug/zplug and needs to be fixed.

I created a corresponding PR in the home manager repo
https://github.com/nix-community/home-manager/pull/3922. For non HM users, they
will need to update their dependency on `${pkgs.zplug}/init.zsh` to `${pkgs.zplug}/share/zplug/init.zsh`.

* Only add necessary files to $out/share/zplug. Also add the zplug man pages

The LICENSE file is not in the 2.4.2 tag and there's not a release after that. I
would skip adding the license $out/licenses/zplug in this commit.

Reference: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zplug
2023-04-27 10:13:15 +02:00
github-actions[bot]
0ceaddfbc3
Merge staging-next into staging 2023-04-27 00:02:17 +00:00
Jonas Heinrich
8ab44af90f
Merge pull request #226141 from e1mo/dokuwiki-23-05
nixos/dokuwiki: Finally remove extraConfig
2023-04-26 22:23:12 +02:00
github-actions[bot]
63a3bd8731
Merge staging-next into staging 2023-04-26 18:01:39 +00:00
Artturi
3ad4a15a7c
Merge pull request #228343 from Artturin/mentiondep1 2023-04-26 20:04:23 +03:00
Artturin
fdc0b6830d release-notes: mention {build,host,target}Platform deprecation 2023-04-26 19:13:53 +03:00
github-actions[bot]
3f176be544
Merge staging-next into staging 2023-04-25 18:01:56 +00:00
Yureka
e353d3f3d6 nixos/release-notes: add note on rp-pppoe plugin rename 2023-04-25 18:00:12 +02:00
Jonas Heinrich
e7e169ca03
Merge pull request #225883 from e1mo/dokuwiki-2023-04-04
dokuwiki: 2022-07-31a -> 2023-04-04
2023-04-25 14:02:59 +02:00
Robert Hensing
3ec3d283c5 nixos/tests: extra-python-packages -> nixos-test-driver/extra-python-packages
Categorizing the tests for the test driver helps with testing the test driver.
2023-04-25 12:03:15 +02:00
Alyssa Ross
d6e84a4574
nixosTest: remove hostname limitations 2023-04-25 08:55:30 +00:00
gaykitty
c251c021fe nixos/stargazer: init 2023-04-24 21:52:19 -03:00
Thomas
4e8bde773f
nixos/{consul-template,vault-agent}: init 2023-04-24 06:55:57 +02:00
Yorick van Pelt
0a8004f496
asterisk: drop 16 and 19
These will go EOL within the 23.05 support window.
2023-04-23 15:56:57 +02:00
Bruce Toll
0fce0749b5 nixos/udev: Fix hwdb conflict handling; build with systemdb-hwdb
Switch to systemdb-hwdb to build the udev hwdb.bin, as "udevadm hwdb" is
deprecated. This fixes an issue where the order of conflicting keys is
not respected.  The systemd-hwdb command creates a newer format (v3) of
hwdb.bin that respects the ordering of duplicate keys, with later
values replacing earlier occurrences.

A release note is included, as some mappings may be affected.
2023-04-21 19:08:37 -04:00
bezmuth
51c5aae874 nixos/pixelfed: init module 2023-04-21 17:39:24 +02:00
Robert Hensing
73d2aeacf5
Merge pull request #206179 from ThinkChaos/refactor/gitea-settings
gitea: new options and settings refactor
2023-04-20 16:53:51 +02:00
ThinkChaos
70cf02924e
nixos/gitea: convert more simple settings to freeform
Also update `settings.server.PROTOCOL` to use non deprecated values.
2023-04-19 12:18:47 -04:00
Ryan Lahfa
2fa5e844de
Merge pull request #223749 from Alexis211/add-wgautomesh
wgautomesh: init at 0.1.0
2023-04-19 08:26:09 +02:00
Sandro
ce4159b4cd
Merge pull request #226514 from AtaraxiaSjel/update/ivpn 2023-04-19 00:57:19 +02:00
Dmitriy Kholkin
706060e47d
nixos/ivpn: init 2023-04-18 22:11:10 +03:00
Sandro
4f6b51d99c
Merge pull request #224212 from Guekka/monica
monica: init at 4.0.0 & nixos-module
2023-04-18 16:58:42 +02:00
Sandro
ed7dd78b3f
Merge pull request #225274 from tie/nixos-pufferpanel
nixos/pufferpanel: init
2023-04-18 16:57:14 +02:00
Linus Heckemann
b14aded48a
Merge pull request #222617 from oddlama/esphome
nixos/esphome: init module
2023-04-18 06:45:40 +02:00
Alex Auvolat
a727a3d676 nixos/wgautomesh: init at 0.1.0 2023-04-17 12:37:18 +02:00
Weijia Wang
4c3edba856
Merge pull request #225750 from r-ryantm/auto-update/rtsp-simple-server
rtsp-simple-server: 0.21.6 -> 0.22.0
2023-04-17 10:28:44 +03:00
Ryan Lahfa
6bf4cde63f
Merge pull request #226214 from leon-barrett/leon-make-disk-image-dir
nixos/make-disk-image: fix contents dir paths
2023-04-16 21:49:09 +02:00
Leon Barrett
15c760d6b8 nixos/make-disk-image: fix contents dir paths
`make-disk-image` is a tool for creating VM images. It takes an argument
`contents` that allows one to specify files and directories that should
be copied into the VM image. However, directories end up not at the
specified target, but instead at a subdirectory of the target, with a
nix-store-like path, e.g.
`/target/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-source`. See issue
https://github.com/NixOS/nixpkgs/issues/226203 .

This change adds a test for make-disk-image's contents directory
handling and adds a fix (appending `/` to rsync input directory names).

This closes issue https://github.com/NixOS/nixpkgs/issues/226203 .
2023-04-16 09:54:45 -07:00
Ivan Trubach
4bbe09068a nixos/pufferpanel: init 2023-04-16 15:41:24 +03:00
Atemu
445ef28548
Merge pull request #225748 from Atemu/buildFHSEnvBubblewrap-by-default
buildFHSEnv: use bubblewrap by default
2023-04-16 13:03:36 +02:00
Edgar B
32d3f6a2d8 nixos/release-notes: add services.monica 2023-04-16 11:24:00 +02:00
Atemu
f63a12f296 tree-wide: buildFHSUserEnv -> buildFHSEnv 2023-04-16 10:15:13 +02:00
John Ericson
0794f40589
Merge pull request #226288 from Luflosi/kubo-better-api-access
nixos/kubo: improve API access
2023-04-15 15:07:01 -04:00
Nick Cao
7a2fcddf52
Merge pull request #223730 from zendo/clash-verge-module
nixos/clash-verge: init module
2023-04-15 22:00:55 +08:00
Luflosi
f2be3ae30d
nixos/kubo: restrict access to the API to users in a group by default 2023-04-15 15:25:20 +02:00
Luflosi
8a9190bee7
nixos/doc/rl-2305: clean up Kubo notes
- Link to the `services.kubo.settings` option
- Fix an incorrect quote
2023-04-15 15:24:30 +02:00
Flakebi
01e1c5bd40
albert: 0.17.6 -> 0.20.13
As added to the release notes, the biggest changes are in [0.18.0](https://github.com/albertlauncher/albert/blob/v0.18.0/CHANGELOG.md).
The config and plugin format changed and they updated to QT 6.

I tested it locally on sway.

Diff: https://github.com/albertlauncher/albert/compare/v0.17.6...v0.20.13

Changelog: https://github.com/albertlauncher/albert/blob/v0.20.13/CHANGELOG.md
2023-04-15 13:41:42 +02:00
Janne Heß
ee0bfeddf7
Merge pull request #226010 from helsinki-systems/drop/deprecated-ssh-files
nixos/openssh: Drop deprecated locations
2023-04-15 11:41:16 +02:00
Moritz 'e1mo' Fromm
8c2f6a1d9e
dokuwiki: 2022-07-31a -> 2023-04-04
See changelog at
<https://www.dokuwiki.org/changes#release_2023-04-04_jack_jackrum> for
list of (significant) changes.
2023-04-15 10:41:32 +02:00
Moritz 'e1mo' Fromm
e78f08fa21
nixos/dokuwiki: Finally remove extraConfig
After the introduction of structured settings in #208299 the old
string-style options  / types which were kept for compatibility are now
removed in preparation for the 23.05 release.
2023-04-14 18:12:42 +02:00
Sandro
f9e70759cd
Merge pull request #213816 from karmanyaahm/karmanyaahm/nixos/kubo 2023-04-14 00:48:37 +02:00
Janne Heß
98c3d190b2
nixos/openssh: Drop deprecated locations
The changelog entry should give a good indication why I don't think this
is necessary anymore.
2023-04-13 20:31:18 +02:00
Jonas Heinrich
86a685ceb1 nixos/maddy: Add option ensureCredentials 2023-04-13 09:36:54 -04:00
Karmanyaah Malhotra
6086d85777 nixos/kubo: documentation suggestions
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-04-13 03:14:59 -05:00
Karmanyaah Malhotra
4bd622cd9d nixos/kubo: unmount on service stop
When kubo is force killed with `pkill -KILL ipfs` or by systemd-oomd,
it doesn't unmount /ipfs and /ipns. That prevents it
from starting up the next time. So, unmount on postStop.
2023-04-13 03:14:59 -05:00
Vladimír Čunát
2a3291834f
Merge #224806: staging-next 2023-04-05 2023-04-12 13:18:37 +02:00
Doron Behar
504849a7bb rtsp-simple-server: rebrand as mediamtx 2023-04-12 12:23:44 +03:00
Javed Mohamed
3ecc7b1484 nixos/gpsd: add multiple-device support for gpsd 2023-04-12 10:15:47 +02:00
github-actions[bot]
3c070a08ff
Merge master into staging-next 2023-04-11 12:01:14 +00:00
Michael Raitza
9f0e1b6047 modules.openafsServer: Add FABS backup server 2023-04-11 08:30:56 -03:00
Ryan Hendrickson
43e6f67f75 nixos/snapper: support more options 2023-04-09 02:28:16 -04:00
github-actions[bot]
fc0616b73d
Merge master into staging-next 2023-04-09 06:01:16 +00:00
betaboon
e4e00d22bf nixos/hardware/ipu6: init 2023-04-09 00:41:45 +02:00
betaboon
dd33a7a9b9 nixos/v4l2-relayd: init 2023-04-09 00:41:45 +02:00
github-actions[bot]
8ae069b888
Merge master into staging-next 2023-04-08 12:01:05 +00:00
Infinidoge
cc46277bf5 nixos/minipro: init
Minipro requires a set of udev rules to be installed to work properly.
This module installs the package and the udev rules.
2023-04-07 22:32:02 -04:00
github-actions[bot]
1ad73cb589
Merge master into staging-next 2023-04-07 18:01:06 +00:00
Vladimír Čunát
b856c0f8f4
Merge #218143: GNOME: 43 → 44
...into staging-next
2023-04-07 16:09:13 +02:00
Nick Gerace
6b556aed2c nodePackages.pnpm: 7.29.1 -> 8.1.1
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
2023-04-07 10:08:04 -04:00
Mihai Fufezan
c816bd50aa
nixos/hyprland: init (#221730)
* nixos/hyprland: init


---------

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2023-04-07 14:43:01 +01:00
github-actions[bot]
06a0a17fc7
Merge master into staging-next 2023-04-07 06:01:28 +00:00
mrobbetts
3c1c5600e8
bind: replace hard-coded allow-query zone setting with a real zone parameter. (#224776) 2023-04-07 06:55:09 +02:00
github-actions[bot]
135af46604
Merge master into staging-next 2023-04-07 00:02:13 +00:00
Sandro
0cca0c5d18
Merge pull request #224526 from christoph-heiss/pkgs/trurl 2023-04-07 00:15:20 +02:00
Christoph Heiss
453c8f4157
trurl: init at 0.3
This is a new tool for "translating and transposing URLs, made by curl's
Daniel Sternberg.

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-04-06 16:29:30 +02:00
Vladimír Čunát
6afd316cbc
Merge branch 'master' into staging-next 2023-04-06 11:54:07 +02:00
alyaeanyx
bd573376ad nixos/wstunnel: init 2023-04-06 09:51:30 +02:00
github-actions[bot]
6e7ab02752
Merge master into staging-next 2023-04-06 06:01:26 +00:00
Franz Pletz
0e950a1ec7
Merge pull request #223085 from Izorkin/update-nginx-proxy-cache
nixos/nginx: enable multiple proxyCachePath support
2023-04-06 02:52:44 +02:00
Bobby Rong
771a33899e nixos/doc/rl-2305: Mention default mutter version change for Pantheon 2023-04-06 01:36:42 +02:00
Jan Tojnar
ec3f75d01c nixos/doc/rl-2305: Mention GNOME 44 2023-04-06 01:36:40 +02:00
github-actions[bot]
136b8f41e4
Merge master into staging-next 2023-04-05 18:01:36 +00:00
oddlama
8df62ec46c
nixos/esphome: init module 2023-04-05 17:35:58 +02:00
Ryan Lahfa
a6bc6ed645
Merge pull request #206983 from minijackson/netbox-3.4.1
netbox: 3.3.9 -> 3.4.7, netbox_3_3: init at 3.3.10, RFC42-style options, more tests
2023-04-05 14:04:27 +02:00
github-actions[bot]
ae5b53747b
Merge master into staging-next 2023-04-05 12:01:10 +00:00
Nick Cao
2d2abaa467
Merge pull request #224042 from linyinfeng/rime-data-refactor
{ibus,fcitx5}-rime: Refactor RIME data support
2023-04-05 16:16:18 +08:00
github-actions[bot]
80f198ff3a
Merge staging-next into staging 2023-04-05 06:01:50 +00:00
Sergey
e4f9d4f62c nixos/manual: fix cross-compilation
Remove absolute reference to xsltproc. This reference breaks cross-compilation: instead of host version builder tries to execute binary for target and fails.
2023-04-05 04:49:26 +02:00
github-actions[bot]
5e498b046d
Merge staging-next into staging 2023-04-04 12:01:50 +00:00
Martin Weinelt
fea1100c99
Merge pull request #194420 from helsinki-systems/drop/elk6
elk6: remove
2023-04-04 11:55:33 +02:00
Minijackson
70e95c699a nixos/doc: add release notes for NetBox changes 2023-04-04 11:45:30 +02:00
ajs124
8b4505a841 nixos/rl-2305: mention elk6 removal 2023-04-04 10:32:26 +02:00
Vladimír Čunát
4eaca2b138
Merge #188492: glibc: 2.35-224 -> 2.37-8
...into staging
2023-04-03 20:29:07 +02:00
David Dunn
e0205290f5
go-ethereum: 1.10.26 -> 1.11.5
Release notes:
https://github.com/ethereum/go-ethereum/releases/tag/v1.11.5

Removes `puppeth`, as noted in the `Removed Features` section of the
release notes for v1.11.0:
https://github.com/ethereum/go-ethereum/releases/tag/v1.11.0
2023-04-03 13:40:09 +02:00
7c6f434c
8ce248a734
Merge pull request #218870 from Uthar/lisp2
lisp-modules: replace with an implementation based on github:uthar/nix-cl
2023-04-03 06:00:48 +00:00
Bobby Rong
28031f7579
Merge pull request #216737 from FedericoSchonborn/budgie
Budgie Desktop
2023-04-03 10:57:32 +08:00
Federico Damián Schonborn
ce6f0af954
nixos/doc: add release note for Budgie Desktop
Signed-off-by: Federico Damián Schonborn <fdschonborn@gmail.com>
2023-04-02 21:52:39 -03:00
Kasper Gałkowski
2b180f796a lisp-modules: add release note about the new manual and the interface 2023-04-02 21:49:37 +02:00
Lin Yinfeng
e4246ae1e7
{ibus,fcitx5}-rime: Refactor RIME data support 2023-04-02 10:36:36 +08:00
Sandro
b5618fe81b
Merge pull request #215493 from Izorkin/fix-dhcpcd-ipv6rs 2023-04-01 22:58:01 +02:00
Izorkin
8a289bcc79
nixos/nginx: enable multiple proxyCachePath support 2023-04-01 13:55:56 +03:00
Izorkin
3ab26f9f00
nixos/dhcpcd: add IPv6rs option 2023-04-01 13:52:38 +03:00
Izorkin
77d6fd36cf
nixos/nginx: update quic configuration 2023-04-01 13:09:49 +03:00
ajs124
800426cf64
Merge pull request #222422 from mdarocha/remove-dotnet-3
dotnet-sdk_3: remove
2023-03-29 16:13:25 +02:00
Sandro
c2ae278eb8
Merge pull request #221851 from Ma27/postgresql-jit-support
postgresql: implement opt-in JIT support
2023-03-29 13:29:30 +02:00
zendo
907bd4927b nixos/clash-verge: init module 2023-03-29 19:05:40 +08:00
Maximilian Bosch
667fac1b4e
nixos/doc: mention glibc update in release notes 2023-03-29 09:50:29 +02:00
Maximilian Bosch
43dbeae02d
postgresql: pass through JIT-enabled variant of non-JIT postgres and vice versa
This is useful if your postgresql version is dependant on
`system.stateVersion` and not pinned down manually. Then it's not
necessary to find out which version exactly is in use and define
`package` manually, but just stay with what NixOS provides as default:

    $ nix-instantiate -A postgresql
    /nix/store/82fzmb77mz2b787dgj7mn4a8i4f6l6sn-postgresql-14.7.drv
    $ nix-instantiate -A postgresql_jit
    /nix/store/qsjkb72fcrrfpsszrwbsi9q9wgp39m50-postgresql-14.7.drv
    $ nix-instantiate -A postgresql.withJIT
    /nix/store/qsjkb72fcrrfpsszrwbsi9q9wgp39m50-postgresql-14.7.drv
    $ nix-instantiate -A postgresql.withJIT.withoutJIT
    /nix/store/82fzmb77mz2b787dgj7mn4a8i4f6l6sn-postgresql-14.7.drv

I.e. you can use postgresql with JIT (for complex queries only[1]) like
this:

    services.postgresql = {
      enable = true;
      enableJIT = true;
    };

Performing a new override instead of re-using the `_jit`-variants for
that has the nice property that overlays for the original package apply
to the JIT-enabled variant, i.e.

    with import ./. {
      overlays = [
        (self: super: {
          postgresql = super.postgresql.overrideAttrs (_: { fnord = "snens"; });
        })
      ];
    };
    postgresql.withJIT.fnord

still gives the string `snens` whereas `postgresql_jit` doesn't have the
attribute `fnord` in its derivation.

[1] https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-JIT-ABOVE-COST
2023-03-29 08:39:46 +02:00
Maximilian Bosch
2282fa73a1
postgresql: implement opt-in JIT support
Closes #150801

Note: I decided against resuming directly on #150801 because the
conflict was too big (and resolving it seemed too error-prone to me).
Also the `this`-refactoring could be done in an easier manner, i.e. by
exposing JIT attributes with the correct configuration. More on that
below.

This patch creates variants of the `postgresql*`-packages with JIT[1]
support. Please note that a lot of the work was derived from previous
patches filed by other contributors, namely dasJ, andir and abbradar,
hence the co-authored-by tags below.

Effectively, the following things have changed:

* For JIT variants an LLVM-backed stdenv with clang is now used as
  suggested by dasJ[2]. We need LLVM and CLang[3] anyways to build the
  JIT-part, so no need to mix this up with GCC's stdenv. Also, using the
  `dev`-output of LLVM and clang's stdenv for building (and adding llvm
  libs as build-inputs) seems more cross friendly to me (which will
  become useful when cross-building for JIT-variants will actually be
  supported).

* Plugins inherit the build flags from the Makefiles in
  `$out/lib/pgxs/src` (e.g. `-Werror=unguarded-availability-new`). Since
  some of the flags are clang-specific (and stem from the use of the
  CLang stdenv) and don't work on gcc, the stdenv of `pkgs.postgresql`
  is passed to the plugins. I.e., plugins for non-JIT variants are built
  with a gcc stdenv on Linux and plugins for JIT variants with a clang
  stdenv.

  Since `plv8` hard-codes `gcc` as `$CC` in its Makefile[4], I marked it
  as broken for JIT-variants of postgresql only.

* Added a test-matrix to confirm that JIT works fine on each
  `pkgs.postgresql_*_jit` (thanks Andi for the original test in
  #124804!).

* For each postgresql version, a new attribute
  `postgresql_<version>_jit` (and a corresponding
  `postgresqlPackages<version>JitPackages`) are now exposed for better
  discoverability and prebuilt artifacts in the binary cache.

* In #150801 the `this`-argument was replaced by an internal recursion.
  I decided against this approach because it'd blow up the diff even
  more which makes the readability way harder and also harder to revert
  this if necessary.

  Instead, it is made sure that `this` always points to the correct
  variant of `postgresql` and re-using that in an additional
  `.override {}`-expression is trivial because the JIT-variant is
  exposed in `all-packages.nix`.

* I think the changes are sufficiently big to actually add myself as
  maintainer here.

* Added `libxcrypt` to `buildInputs` for versions <v13. While
  building things with an LLVM stdenv, these versions complained that
  the extern `crypt()` symbol can't be found. Not sure what this is
  exactly about, but since we want to switch to libxcrypt for `crypt()`
  usage anyways[5] I decided to add it. For >=13 it's not relevant
  anymore anyways[6].

* JIT support doesn't work with cross-compilation. It is attempted to
  build LLVM-bytecode (`%.bc` is the corresponding `make(1)`-rule) for
  each sub-directory in `backend/` for the JIT apparently, but with a
  $(CLANG) that can produce binaries for the build, not the host-platform.

  I managed to get a cross-build with JIT support working with
  `depsBuildBuild = [ llvmPackages.clang ] ++ buildInputs`, but
  considering that the resulting LLVM IR isn't platform-independent this
  doesn't give you much. In fact, I tried to test the result in a VM-test,
  but as soon as JIT was used to optimize a query, postgres would
  coredump with `Illegal instruction`.

A common concern of the original approach - with llvm as build input -
was the massive increase of closure size. With the new approach of using
the LLVM stdenv directly and patching out references to the clang drv in
`$out` the effective closure size changes are:

    $ nix path-info -Sh $(nix-build -A postgresql_14)
    /nix/store/kssxxqycwa3c7kmwmykwxqvspxxa6r1w-postgresql-14.7	306.4M
    $ nix path-info -Sh $(nix-build -A postgresql_14_jit)
    /nix/store/xc7qmgqrn4h5yr4vmdwy56gs4bmja9ym-postgresql-14.7	689.2M

Most of the increase in closure-size stems from the `lib`-output of
LLVM

    $ nix path-info -Sh /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib
    /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib	349.8M

which is why this shouldn't be enabled by default.

While this is quite much because of LLVM, it's still a massive
improvement over the simple approach of adding llvm/clang as
build-inputs and building with `--with-llvm`:

    $ nix path-info -Sh $(nix-build -E '
	with import ./. {};
	postgresql.overrideAttrs ({ configureFlags ? [], buildInputs ? [], ... }: {
	  configureFlags = configureFlags ++ [ "--with-llvm" ];
	  buildInputs = buildInputs ++ [ llvm clang ];
	})' -j0)
    /nix/store/i3bd2r21c6c3428xb4gavjnplfqxn27p-postgresql-14.7	  1.6G

Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
Co-authored-by: Janne Heß <janne@hess.ooo>
Co-authored-by: Nikolay Amiantov <ab@fmap.me>

[1] https://www.postgresql.org/docs/current/jit-reason.html
[2] https://github.com/NixOS/nixpkgs/pull/124804#issuecomment-864616931
    & https://github.com/NixOS/nixpkgs/pull/150801#issuecomment-1467868321
[3] This fails with the following error otherwise:
    ```
    configure: error: clang not found, but required when compiling --with-llvm, specify with CLANG=
    ```
[4] https://github.com/plv8/plv8/blob/v3.1.5/Makefile#L14
[5] https://github.com/NixOS/nixpkgs/pull/181764
[6] c45643d618
2023-03-29 08:39:46 +02:00
Sandro
1625c82884
Merge pull request #221297 from MrFreezeex/bridge-update
protonmail-bridge: 3.0.18 -> 3.0.21
2023-03-28 14:25:49 +02:00
Arthur Outhenin-Chalandre
c492acd865
protonmail-bridge: rename back the binary to protonmail-bridge
`bridge` is used by iproute2, so using this name for protonmail-bridge
made it very likely to produce a name "conflict".
Also `bridge` is used in the Makefile by upstream project Makefile but
it apparently is renamed later on when packaged in rpm/deb so even for
coherence purposes it does make sense to revert it back to the name
`protonmail-bridge` that were previously being used.

Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
2023-03-28 13:12:26 +02:00
Jian Lin
b0fd7a3179
nixos/nftables: add release notes for checkRuleset option (#223283) 2023-03-26 19:51:14 +02:00
mdarocha
43f7cc0df7 dotnet-sdk_3: remove
Also remove all reference to outdated .NET versions.
2023-03-26 14:24:49 +02:00
github-actions[bot]
392b3f3dc3
Merge master into staging-next 2023-03-25 18:01:17 +00:00
pennae
dce79b3cb1
Merge pull request #221877 from ambroisie/woodpecker-agents
nixos/woodpecker: refactor to multi-agents setup
2023-03-25 16:32:55 +01:00
github-actions[bot]
6a3acb9982
Merge master into staging-next 2023-03-25 06:05:24 +00:00
Nick Cao
851cd65a21
Merge pull request #220776 from Vonfry/deprecated/fcitx4
fcitx: remove version 4
2023-03-25 10:23:06 +08:00
06kellyjac
6373a3966b nixos/authelia: init module
Co-authored-by: Martin Weinelt <hexa@darmstadt.ccc.de>
2023-03-24 21:23:41 -03:00
Vladimír Čunát
12dd95fbb1
Merge branch 'master' into staging-next 2023-03-24 09:07:41 +01:00
Will Fancher
5a9b9e620d
Merge pull request #176828 from therishidesai/luks-multi-key-files
nixos/luksroot: add tryEmptyPassphrase option
2023-03-24 03:02:20 -04:00
Bruno BELANYI
67de7d105e nixos/woodpecker-agents: per-agent 'enable' option 2023-03-23 21:33:20 +00:00
K900
fae7294cf5
Merge pull request #222689 from K900/bye-dpi-2
nixos/hidpi: remove harder
2023-03-23 22:13:06 +03:00
K900
8454084ffc nixos/hidpi: remove harder
We can't agree on what the right settings are (see #222236), so let's make the users choose.
2023-03-23 21:50:45 +03:00
github-actions[bot]
307b719414
Merge master into staging-next 2023-03-23 18:01:20 +00:00
K900
382c756097
Merge pull request #217205 from linj-fork/fix-zsh-set-env
zsh: set environment variables in zshenv instead of zprofile
2023-03-23 18:57:40 +03:00
Bruno BELANYI
e4f5f1b718 nixos/woodpecker: refactor to multi-agents setup
The module file has been renamed from `agent.nix` to `agents.nix` to
mirror the change.
2023-03-23 12:47:47 +00:00
Vladimír Čunát
09c3a593df
Merge branch 'master' into staging-next 2023-03-23 11:13:46 +01:00
Weijia Wang
52ee7a6a92
Merge pull request #203236 from Flakebi/fail2ban
fail2ban: 0.11.2 -> 1.0.2
2023-03-23 10:36:14 +02:00
github-actions[bot]
6a3714135d
Merge master into staging-next 2023-03-23 00:02:14 +00:00
Maximilian Bosch
c042a318a7
Merge pull request #222372 from NixOS/nextcloud26
nextcloud26: init at 26.0.0
2023-03-22 23:35:31 +01:00
Maximilian Bosch
42c78ccc6b nixos/nextcloud: release notes 2023-03-22 22:37:17 +01:00
github-actions[bot]
85f7b5276e
Merge master into staging-next 2023-03-22 18:01:11 +00:00
Rishi Desai
cccc3f8a8e nixos/luksroot: add tryEmptyPassphrase option 2023-03-22 09:17:23 -05:00
woojiq
296e7f92cd keyd: add keyd service and test
The keyd package already exists, but without a systemd service.

Keyd requires write access to /var/run to create its socket. Currently
the directory it uses can be changed with an environment variable, but
the keyd repo state suggests that this may turn into a compile-time
option. with that set, and some supplementary groups added, we can run
the service under DynamicUser.

Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2023-03-22 15:12:29 +01:00
zowoq
ade83d316b nixos/doc/rl-2305: remove stray conflict marker 2023-03-22 16:06:43 +10:00
github-actions[bot]
797a2b9bcc
Merge master into staging-next 2023-03-21 18:01:07 +00:00
Ryan Lahfa
06541976aa
Merge pull request #222236 from K900/bye-dpi
nixos/hidpi: remove
2023-03-21 15:04:59 +01:00
K900
4787ebf7ae nixos/hidpi: remove
The single option tries to do too much work, which just ends up confusing people.

So:
- don't force the console font, the kernel can figure this out as of #210205
- don't force the systemd-boot mode, it's an awkward mode that's not supported
  on most things and will break flicker-free boot
- add a separate option for the xorg cursor scaling trick and move it under the xorg namespace
- add a general `fonts.optimizeForVeryHighDPI` option that explicitly says what it does
- alias the old option to that
- don't set any of those automatically in nixos-generate-config
2023-03-21 13:29:57 +01:00
Martin Weinelt
ffe3165b27
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- nixos/doc/manual/release-notes/rl-2305.section.md
2023-03-21 12:35:53 +01:00
Sandro
680e4d75b0
Merge pull request #222006 from mdarocha/remove-baget 2023-03-21 01:39:54 +01:00
github-actions[bot]
75c28ec351
Merge master into staging-next 2023-03-20 18:01:16 +00:00
Vladimír Čunát
f18e6d2e95
Merge #222022: dovecot: avoid testing DES-encrypted passwords
...into staging-next
2023-03-20 16:39:35 +01:00
Alvar Penning
0810a6e018 nixos/prometheus.alertmanagerIrcRelay: init
Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
2023-03-20 15:57:11 +01:00
Martin Weinelt
9959ec97f8
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/wxPython/4.0.nix
- pkgs/development/python-modules/wxPython/4.1.nix
2023-03-20 15:07:36 +01:00
Lily Foster
ccae7d35d8
Merge pull request #221075 from fufexan/regreet
nixos/regreet: init
2023-03-20 08:22:18 -04:00
Vladimír Čunát
9666d43d40
dovecot: avoid testing DES-encrypted passwords 2023-03-20 10:56:30 +01:00
github-actions[bot]
7ed71f917d
Merge master into staging-next 2023-03-20 06:01:08 +00:00
Yarny0
6efba935d3 tvbrowser: use alias for old tvbrowser-bin
...instead of a hard throw.
2023-03-19 22:46:32 -03:00
github-actions[bot]
96f7385465
Merge master into staging-next 2023-03-20 00:02:29 +00:00
Mihai Fufezan
692c28ec10
nixos/regreet: init 2023-03-20 02:01:50 +02:00
laalsaas
62b3fd5fd2
plasma5: move excludePackages option for consistency 2023-03-19 20:12:31 +01:00
Sandro
1641813e3b
Merge pull request #217515 from tensor5/nextcloud-s3-sse-c 2023-03-19 20:06:23 +01:00
Ryan Lahfa
aa85df4561
Merge pull request #194594 from nbraud/hidpi
nixos/hidpi: Harmonise default with documented recommendations
2023-03-19 19:22:40 +01:00
github-actions[bot]
84c97a9e91
Merge master into staging-next 2023-03-19 18:00:59 +00:00
mdarocha
4062f28a76 baget: remove due to upstream being unmaintained 2023-03-19 14:19:49 +01:00
pennae
3dc0323bae nixos/manual: apply options preprocessing to full manual
the conversion to the markdown-based workflow missed that generating the
manual as docbook also generates the option docs with nixos-specific
wrapper elements that require postprocessing before the document is
real, valid docbook. restore this processing to the full manual.

it's not the prettiest thing, done like this, but we only need it for
one release so it doesn't have to be.
2023-03-19 13:02:03 +01:00
github-actions[bot]
36748936f9
Merge master into staging-next 2023-03-18 06:01:16 +00:00
Aidan Gauland
7fb4aae81f
nixos/peroxide: add module for peroxide service 2023-03-18 07:43:59 +13:00
github-actions[bot]
4632436394
Merge staging-next into staging 2023-03-16 06:02:13 +00:00
Thiago Kenji Okada
62d946fca0 doc: document i3status-rust 0.30.x breaking changes 2023-03-15 23:40:39 +00:00
github-actions[bot]
795332a826
Merge staging-next into staging 2023-03-15 18:01:44 +00:00
Martin Weinelt
578fb7fd1f
Merge pull request #220557 from mweinelt/libxcrypt-strong
libxcrypt: Build only with strong hashes
2023-03-15 16:43:12 +00:00
Adam Stephens
a26d5fbdef
nushell: 0.76.0 -> 0.77.0 2023-03-15 08:42:32 -04:00
github-actions[bot]
a3b786aa94
Merge staging-next into staging 2023-03-15 00:03:06 +00:00
Janik H
a8e4f58d90 rl-2305: Mention woodpecker addition 2023-03-14 20:31:39 +01:00
github-actions[bot]
9feb9fda3e
Merge staging-next into staging 2023-03-14 18:02:00 +00:00
K900
1fab86929f nixos/pipewire: spring cleaning
- drop media-session (rip 💀)
- stop trying to let people override default configs, those never got merged correctly
- drop all the complexity arising from having to vendor default config files
- build docs in sandbox as we no longer recurse
2023-03-14 20:31:32 +03:00
Linus Heckemann
7ca65eeecf
Merge pull request #219354 from Izorkin/update-profiles-base
nixos/profiles: optimize base and minimal profiles
2023-03-14 14:45:15 +01:00
github-actions[bot]
59ffe854f9
Merge staging-next into staging 2023-03-13 18:01:48 +00:00
Florian Klink
504d66bae9
Merge pull request #216826 from gdamjan/systemd-253
systemd: 252.5 -> 253
2023-03-13 17:37:39 +01:00
Marcus Ramberg
f834dfad8f nimdow: Add nixos windowmanager option 2023-03-13 11:37:32 -05:00
Vonfry
051b74fe7d
nixos/fcitx: deprecated, and suggestions to use fcitx5 instead 2023-03-13 18:47:05 +08:00
sternenseemann
4fa82b9ecd Merge remote-tracking branch 'origin/master' into haskell-updates 2023-03-13 11:25:02 +01:00
Lin Jian
8e2e741ab5
zsh: set environment variables in zshenv instead of zprofile
This patch fixes two issues:

1. The file in which environment variables are set is inconsistent.
  - This file sets them in zprofile when programs.zsh.enable is not
  set.
  - Zsh module sets them in zshenv when programs.zsh.enable is set.

2. Setting environment variables in zprofile overrides what users set
in .zshenv.  See these[1] home-manager[2] issues[3].

/etc/profile is also changed to /etc/set-environment. Here is a
comparison:

Using /etc/profile:
- Pros
  - config.environment.shellInit is sourced in all zsh
- Cons
  - config.environment.loginShellInit is also sourced in non-login zsh
  - config.programs.bash.shellInit is also sourced in all zsh
  - config.programs.bash.loginShellInit is also sourced in all zsh

Using /etc/set-environment:
- Pros
  - config.programs.bash.shellInit is not sourced in any zsh
  - config.programs.bash.loginShellInit is not sourced in any zsh
- Cons
  - config.environment.shellInit is not sourced in any zsh
  - config.environment.loginShellInit is not sourced in any zsh

[1]: https://github.com/nix-community/home-manager/issues/2751#issuecomment-1048682643
[2]: https://github.com/nix-community/home-manager/issues/2991
[3]: https://github.com/nix-community/home-manager/issues/3681#issuecomment-1436054233
2023-03-13 17:25:04 +08:00
Martin Weinelt
4e300e071b
libxcrypt: Build only with strong hashes
Effectively removes support for the following hashing algorithms
as announced in the NixOS 22.11 release notes:

- bcrypt_x ($2x$)
- sha256crypt ($5$)
- sha1crypt ($sha1$)
- sunmd5 ($md5$)
- md5crypt ($1$)
- nt ($3$)
- bdiscrypt (_)
- bigcrypt (:)
- descrypt (:)

And exposes the crypt scheme ids for enabled algorithms, so they can be
reused for validation in the users-groups module.
2023-03-13 07:54:27 +01:00
nicoo
5e118ba9ed nixos/hidpi: Add release notes entry for 23.05 2023-03-12 21:03:53 +00:00
Jocelyn Thode
e7f54823b1
readarr: init at 0.1.4.1596 2023-03-12 20:54:23 +01:00
github-actions[bot]
54e1e4365c
Merge master into haskell-updates 2023-03-11 00:12:14 +00:00
genesis
cab32f0f86 nixos/jellyseerr: init 2023-03-10 16:18:00 +01:00