···1+# Non Switchable Systems {#sec-non-switchable-system}
2+3+In certain systems, most notably image based appliances, updates are handled
4+outside the system. This means that you do not need to rebuild your
5+configuration on the system itself anymore.
6+7+If you want to build such a system, you can use the `image-based-appliance`
8+profile:
9+10+```nix
11+{ modulesPath, ... }: {
12+ imports = [ "${modulesPath}/profiles/image-based-appliance.nix" ]
13+}
14+```
15+16+The most notable deviation of this profile from a standard NixOS configuration
17+is that after building it, you cannot switch *to* the configuration anymore.
18+The profile sets `config.system.switch.enable = false;`, which excludes
19+`switch-to-configuration`, the central script called by `nixos-rebuild`, from
20+your system. Removing this script makes the image lighter and slightly more
21+secure.
···357358## Other Notable Changes {#sec-release-23.11-notable-changes}
35900000360- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
361362- GNOME, Pantheon, Cinnamon module no longer forces Qt applications to use Adwaita style since it was buggy and is no longer maintained upstream (specifically, Cinnamon now defaults to the gtk2 style instead, following the default in Linux Mint). If you still want it, you can add the following options to your configuration but it will probably be eventually removed:
···357358## Other Notable Changes {#sec-release-23.11-notable-changes}
359360+- A new option `system.switch.enable` was added. By default, this is option is
361+ enabled. Disabling it makes the system unable to be reconfigured via
362+ `nixos-rebuild`. This is good for image based appliances where updates are
363+ handled outside the image.
364+365- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
366367- GNOME, Pantheon, Cinnamon module no longer forces Qt applications to use Adwaita style since it was buggy and is no longer maintained upstream (specifically, Cinnamon now defaults to the gtk2 style instead, following the default in Linux Mint). If you still want it, you can add the following options to your configuration but it will probably be eventually removed:
···1+# This profile sets up a sytem for image based appliance usage. An appliance is
2+# installed as an image, cannot be re-built, has no Nix available, and is
3+# generally not meant for interactive use. Updates to such an appliance are
4+# handled by updating whole partition images via a tool like systemd-sysupdate.
5+6+{ lib, modulesPath, ... }:
7+8+{
9+10+ # Appliances are always "minimal".
11+ imports = [
12+ "${modulesPath}/profiles/minimal.nix"
13+ ];
14+15+ # The system cannot be rebuilt.
16+ nix.enable = false;
17+ system.switch.enable = false;
18+19+ # The system is static.
20+ users.mutableUsers = false;
21+22+ # The system avoids interpreters as much as possible to reduce its attack
23+ # surface.
24+ boot.initrd.systemd.enable = lib.mkDefault true;
25+ networking.useNetworkd = lib.mkDefault true;
26+}
···1+diff --git a/Makefile.PL b/Makefile.PL
2+index eaf47e0..32766d7 100644
3+--- a/Makefile.PL
4++++ b/Makefile.PL
5+@@ -146,7 +146,7 @@ extern "C"
6+ /* We use char because int might match the return type of a gcc2
7+ builtin and then its argument prototype would still apply. */
8+ char $f ();
9+-char (*f) ();
10++char f;
11+12+ #ifdef F77_DUMMY_MAIN
13+ # ifdef __cplusplus
···28 generate = ...;
2930 });
31+32+ Please note that `pkgs` may not always be available for use due to the split
33+ options doc build introduced in fc614c37c653, so lazy evaluation of only the
34+ 'type' field is required.
35+36 */
373839 inherit (import ./formats/java-properties/default.nix { inherit lib pkgs; })
40 javaProperties;
41+42+ libconfig = (import ./formats/libconfig/default.nix { inherit lib pkgs; }).format;
4344 json = {}: {
45
···328 gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17
329 gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
330 graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24
000331 gr-gsm = throw "'gr-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
332 gringo = clingo; # added 2022-11-27
333 gr-limesdr = throw "'gr-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
···328 gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17
329 gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
330 graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24
331+ graylog-3_3 = throw "graylog 3.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 3.x to latest series."; # Added 2023-10-09
332+ graylog-4_0 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
333+ graylog-4_3 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
334 gr-gsm = throw "'gr-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
335 gringo = clingo; # added 2022-11-27
336 gr-limesdr = throw "'gr-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10