Commit Graph

349 Commits

Author SHA1 Message Date
Emily
2419b85a5e
nixos/syncplay: add missing options (#338579) 2024-09-03 04:36:51 +01:00
Assistant
8119ec6478 nixos/syncplay: add missing options
Exposes all currently available command-line arguments that were
missing, including some that were impossible to use with the catch-all
option `extraArgs` alone, requiring changes to other parts of the
system.
Those are now all self-contained in the module.
The service now uses systemd's `DynamicUsers`.
2024-09-02 22:26:11 -04:00
Alyssa Ross
ca4ecee93b nixos/doc/rl-2411: document "rust" deprecations 2024-09-02 21:48:21 +02:00
Martin Weinelt
76d4d43c6f
nixos/doc/rl-24.11: knot 3.4.0 migration guide 2024-09-02 15:25:32 +02:00
Weijia Wang
c0df3aea49
nixos/doc/rl-2411: warn about upcoming macOS version requirement (#338695) 2024-09-02 09:56:38 +02:00
Sarah Brofeldt
1860dfed71
nixos/kubernetes: allow setting multiple kubelet dns resolvers (#338523) 2024-09-01 15:07:08 +02:00
Jan Tojnar
ffdd6582a0 release-notes: Mention gnome scope dissolution
Now, only non-packages remain.
2024-09-01 14:16:31 +02:00
Emily
f1c3597d95 nixos/doc/rl-2411: warn about upcoming macOS version requirement
For a long time now, the SDK and minimum target version for
`x86_64-darwin` has been stuck on macOS 10.12. In the past, the minimum
SDK was updated quite regularly; at first, the current situation was
just because updating the SDKs was excessively burdensome and nobody
was up for doing the work, but the introduction of `aarch64-darwin`
with its macOS 11 default SDK has resulted in a long‐term fracture
of the two platforms.

Per <https://endoflife.date/macos>, macOS 10.12 has not received
an update since 2017 and went out of security support 5 years
ago. Trying to support it in Nixpkgs has been a large burden on the
Darwin maintainers, resulting in workarounds, porting work, and even
patching functionality out of applications. The existence of Nix
users using a macOS version this old is, to my knowledge, entirely
theoretical, and we pay in both maintenance costs and functionality:
for instance, applications built for `x86_64-darwin` do not support
automatic dark mode switching by default.

This situation has always been suboptimal, but it is
now becoming untenable. Python, a critical component
of the Nixpkgs standard environment for builds, is
dropping support for versions older than 10.13 in 3.13:
<https://www.python.org/downloads/release/python-3130rc1/>. Qt 6 only
supports macOS 11 and newer. libuv only supports the versions Apple
does, and is a ticking time bomb due to its use in the standard
environment. QEMU only supports the last two macOS releases, and
won’t build with an SDK older than macOS 12; we previously vendored
a set of backporting changes and functionality‐removing reverts
to keep it building for 10.12, but this also became overly onerous,
and we gave up in <https://github.com/NixOS/nixpkgs/pull/338598>.

`x86_64-darwin` is a platform with a limited upstream future. Apple no
longer sells any hardware that runs it natively, and it is unclear how
much longer they will support it in the operating system. There are
still many users of the platform, myself included, so we shouldn’t
drop support for it prematurely, but it’s unreasonable to try and
patch the entire world to keep it supporting insecure versions of
the OS that only run on hardware that is no longer sold.

Therefore, this adds a release note to warn users ahead of time that
25.05 will only support macOS 11 and newer, as suggested by the 24.05
release team when the possibility of bumping the required version
was raised.

Why target Big Sur, rather than any other version? The
reason is simple: it’s the same SDK and deployment target as
`aarch64-darwin`. There are many packages that work on `aarch64-darwin`
but not `x86_64-darwin`, and Darwin maintainers frequently need to be
called in to fix things that work fine on the newer platform but not
the older one. This change will increase the health of `x86_64-darwin`
by aligning the SDK versions and support between the two platforms;
the vast majority of packages that work on one will Just Work on the
other. macOS 11 is almost four years old and has itself been out of
security support for a year now, but as the first version to support
Apple Silicon, it’s a far more compatible base for us to build our
Darwin packages for. Any future change in supported versions should
be synchronized between the two Darwin architectures.

When 25.05 is released, users on old, unsupported versions of macOS
will have the following options:

* Update to a new macOS version. For users that are on hardware
  that Apple has dropped support for, OpenCore Legacy Patcher
  (<https://dortania.github.io/OpenCore-Legacy-Patcher/>) can enable
  the use of newer macOS versions on hardware even older than 10.12
  supports.

* Install NixOS. That obviously precludes the use of macOS software
  (though most of that software has already dropped support for 10.12),
  but will give users a secure, supported operating system that we
  can actually own the support for going forward.

* Keep using 24.11 forever. Since they’re not getting updates
  to their OS and core applications anyway, this is likely to be
  acceptable to many users.

* Switch to MacPorts. They support all the way back to 10.6 for
  `x86_64-darwin` by building packages separately for every OS release,
  though not every package is available for every version.

* Send patches. We *may* accept non‐invasive patches to keep
  certain critical packages (such as the core `stdenv` packages)
  building for old OS versions, on a case‐by‐case basis, but we
  can’t guarantee it. This will ultimately have to be a decision
  made by package maintainers and personally I doubt this will be a
  viable path to sustainably support older versions.
2024-09-01 00:29:37 +01:00
Lin Jian
485edde32f
doc/release-notes: change "New Services" to "New Modules" (#337984) 2024-08-31 23:11:50 +08:00
Martin Weinelt
b51e706d6e
nixos/doc/rl-2411: frigate breaking changes 2024-08-31 13:49:32 +02:00
github-actions[bot]
8158f1d5b3
Merge master into staging-next 2024-08-31 06:04:15 +00:00
Tristan Gosselin-Hane
2d54b2b048 nixos/kubernetes: allow setting multiple kubelet dns resolvers
The current kubernetes module only allows you to set a single DNS
resolver for the kubelet. Historically, this has not mattered as the
value was passed to a cli argument as a string and as per the kubelet's
configuration parsing mechanism, multiple values could be passed as a
comma-delimited string. However, recently, the module was refactored to
make configure kubernetes components via configuration files rather than
the deprecated command-line arguments. These files more strongly-typed
than CLI arguments and to pass multiple values, one must define a list
in the file. When this change was made, an incorrect assumption was made
that only a single DNS server could be specified and forced a
single-item list into this configuration file. We need to introduce a
breaking change to the module in order to allow the user to supply their
own list with however many dns resolvers they wish to use.
2024-08-30 22:17:00 -04:00
Yt
4dd3c85ad5
{prisma,prisma-engines}: 5.16.1 -> 5.18.0 (#337521) 2024-08-31 00:15:53 +00:00
Simon Žlender
dcbcaee4cf prisma: init at 5.18.0 2024-08-30 21:12:54 +02:00
github-actions[bot]
43febad8fc
Merge master into staging-next 2024-08-30 12:05:11 +00:00
WilliButz
c169763c30
userborn: init at 0.1.0 (#332719) 2024-08-30 12:22:54 +02:00
github-actions[bot]
59b57346d9
Merge master into staging-next 2024-08-28 18:04:19 +00:00
linsui
89f10dc1a8 nixos/foot: init 2024-08-29 01:37:27 +08:00
Lin Jian
bcd8941419
doc/release-notes: change "New Services" to "New Modules" 2024-08-29 01:29:06 +08:00
Christina Sørensen
a96a49338e
nixos/wakapi: init module (#335436) 2024-08-28 18:58:13 +02:00
Bobby Rong
ce95ecae1a
nixos/doc/rl-2411: Don't mention nemo layer-shell change (#337854) 2024-08-28 20:39:39 +08:00
github-actions[bot]
42531ffc56
Merge master into staging-next 2024-08-28 12:05:25 +00:00
Savyasachee Jha
781791a2da Added changelog entry for firefly-iii-data-importer 2024-08-28 08:29:32 +02:00
Bobby Rong
fce9e62bf1
nixos/doc/rl-2411: Don't mention nemo layer-shell change
It is dropped again in 6.2.8.

ref: a550001241
ref: 49d0f43f57
2024-08-28 11:32:16 +08:00
github-actions[bot]
903fa485a4
Merge master into staging-next 2024-08-27 18:04:19 +00:00
Kerstin
c680ce3c36
nixos/kanidm: fix systemd service type (#337527) 2024-08-27 14:23:38 +02:00
github-actions[bot]
da2ee88ef4
Merge master into staging-next 2024-08-27 06:04:43 +00:00
Emily
1162c1ed62
{tvheadend,antennas}: drop (#336395) 2024-08-27 02:47:56 +01:00
TheRealGramdalf
f298639e45 nixos/kanidm: fix systemd service type 2024-08-26 18:16:10 +00:00
github-actions[bot]
132f2322d0
Merge master into staging-next 2024-08-26 12:05:25 +00:00
nikstur
a3b027380d nixos/doc: add release notes for userborn 2024-08-26 13:53:45 +02:00
Masum Reza
b8024284d1
Merge pull request #335625 from JohnRTitor/uwsm-module
nixos/uwsm: init
2024-08-26 15:58:29 +05:30
github-actions[bot]
d6ec3d9fd7
Merge master into staging-next 2024-08-26 00:13:15 +00:00
Nick Cao
2a7a22122f
Merge pull request #337289 from Kiskae/nvidia/fixes_2024_08_25
nixos/nvidia: various fixes
2024-08-25 17:36:24 -04:00
Kiskae
20c5d0adfb nixos/nvidia: make the nvidia driver variant a mandatory user choice
fixes #329450
2024-08-25 21:47:29 +02:00
github-actions[bot]
42a36f336d
Merge master into staging-next 2024-08-25 18:03:42 +00:00
Masum Reza
8da188f8e7
Merge pull request #306650 from returntoreality/indi-3rdparty-refactor
indi-full: Indi 3rdparty refactor
2024-08-25 23:09:21 +05:30
github-actions[bot]
981c565848
Merge master into staging-next 2024-08-25 00:14:11 +00:00
Maximilian Bosch
b39569222b
gitea: drop PAM support
Strongly inspired by the forgejo counterpart[1], for the following
reasons:

* The feature is broken with the current module and crashes on
  authentication with the following stacktrace (with a PAM service
  `gitea` added):

      server # Stack trace of thread 1008:
      server # #0  0x00007f3116917dfb __nptl_setxid (libc.so.6 + 0x8ddfb)
      server # #1  0x00007f3116980ae6 setuid (libc.so.6 + 0xf6ae6)
      server # #2  0x00007f30cc80f420 _unix_run_helper_binary (pam_unix.so + 0x5420)
      server # #3  0x00007f30cc8108c9 _unix_verify_password (pam_unix.so + 0x68c9)
      server # #4  0x00007f30cc80e1b5 pam_sm_authenticate (pam_unix.so + 0x41b5)
      server # #5  0x00007f3116a84e5b _pam_dispatch (libpam.so.0 + 0x3e5b)
      server # #6  0x00007f3116a846a3 pam_authenticate (libpam.so.0 + 0x36a3)
      server # #7  0x00000000029b1e7a n/a (.gitea-wrapped + 0x25b1e7a)
      server # #8  0x000000000047c7e4 n/a (.gitea-wrapped + 0x7c7e4)
      server # ELF object binary architecture: AMD x86-64
      server #
      server # [   42.420827] gitea[897]: pam_unix(gitea:auth): unix_chkpwd abnormal exit: 159
      server # [   42.423142] gitea[897]: pam_unix(gitea:auth): authentication failure; logname= uid=998 euid=998 tty= ruser= rhost=  user=snenskek

  It only worked after turning off multiple sandbox settings and adding
  `shadow` as supplementary group to `gitea.service`.

  I'm not willing to maintain additional multiple sandbox settings for
  different features, especially given that it was probably not used for
  quite a long time:

  * There was no PR or bugreport about sandboxing issues related to
    PAM.

  * Ever since the module exists, it used the user `gitea`, i.e. it had
    never read-access to `/etc/shadow`.

* Upstream has it disabled by default[2].

If somebody really needs it, it can still be brought back by an overlay
updating `tags` accordingly and modifying the systemd service config.

[1] 07641a91c9
[2] https://docs.gitea.com/usage/authentication#pam-pluggable-authentication-module
2024-08-24 13:40:58 +02:00
github-actions[bot]
8751a0ec8d
Merge master into staging-next 2024-08-24 00:12:18 +00:00
Peder Bergebakken Sundt
d38f701636
Merge pull request #334559 from litchipi/ifm_fixup
ifm-web: init at 4.0.2
2024-08-24 01:07:30 +02:00
github-actions[bot]
ceef45b437
Merge master into staging-next 2024-08-23 12:05:14 +00:00
Florian Klink
25f5471de6
Merge pull request #333205 from flokli/buildkite-agent-3.77.0
buildkite-agent: 3.76.2 -> 3.77.0
2024-08-23 14:04:52 +03:00
Emily
a565cfeac3 antennas: drop 2024-08-22 15:51:27 +01:00
Emily
6fa5767e07 tvheadend: drop
Closes: #332259
2024-08-22 15:51:27 +01:00
github-actions[bot]
69716c980f
Merge staging-next into staging 2024-08-22 10:21:47 +00:00
K900
5c68540f8b Merge remote-tracking branch 'origin/staging-next' into staging 2024-08-22 13:20:38 +03:00
Sandro
a45dc99ba3
Merge pull request #287565 from RatCornu/pingvin-share 2024-08-22 11:59:03 +02:00
Sandro
b6890ecb57
Merge pull request #334549 from Yarny0/foomatic-db-update 2024-08-22 11:46:35 +02:00
John Titor
93343775bd
nixos/uwsm: init
[UWSM](https://github.com/Vladimir-csp/uwsm) is a session manager that wraps a wayland
window compositor with useful systemd units like `graphical-session-pre.target`,
`graphical-session.target`, `xdg-desktop-autostart.target`.

This is useful for Wayland Compositors that do not start
these units on these own.

Example for Hyprland:
```nix
programs.hyprland.enable = true;
programs.uwsm.enable = true;
programs.uwsm.waylandCompositors = {
  hyprland = {
    compositorPrettyName = "Hyprland";
    compositorComment = "Hyprland compositor managed by UWSM";
    compositorBinPath = "/run/current-system/sw/bin/Hyprland";
  };
};
```

Co-authored-by: Kai Norman Clasen <k.clasen@protonmail.com>
2024-08-21 16:09:54 +05:30