diff --git a/NixOS Upgrades.md b/NixOS Upgrades.md index 66b023b..fa566cf 100644 --- a/NixOS Upgrades.md +++ b/NixOS Upgrades.md @@ -2,6 +2,13 @@ Notes on how I upgraded my NixOS systems. + +* [NixOS Upgrades](#nixos-upgrades) + * [Upgrade from 23.05 to 23.11](#upgrade-from-2305-to-2311) + * [Upgrade from 23.11 to 24.05](#upgrade-from-2311-to-2405) + * [Upgrade from 24.05 to 24.11](#upgrade-from-2405-to-2411) + + ## Upgrade from 23.05 to 23.11 * https://discourse.nixos.org/t/nixos-23-11-released/36210 @@ -97,3 +104,65 @@ sudo nix-channel --list sudo nix-channel --add https://nixos.org/channels/nixos-24.05 nixos sudo nix-channel --update ``` + +## Upgrade from 24.05 to 24.11 + +Announcement: https://nixos.org/blog/announcements/2024/nixos-2411/ + +- Featured + - Gnome 47 + - https://release.gnome.org/47/ + - GNOME 47 includes an enhanced fractional display scaling feature, which provides better support for legacy X11 apps. This feature is still considered experimental and should only be used for testing. To enable it, you can run the following from the command line: + - `gsettings set org.gnome.mutter experimental-features '["scale-monitor-framebuffer", "xwayland-native-scaling"]'` + +Release manual: https://nixos.org/manual/nixos/stable/release-notes#sec-release-24.11 + +- Highlights + - Convenience options for amdgpu, the open source driver for Radeon cards, are now available under hardware.amdgpu (https://nixos.org/manual/nixos/stable/options#opt-hardware.amdgpu.initrd.enable) + - AMDVLK, AMD’s open source Vulkan driver, is now available to be configured under the hardware.amdgpu.amdvlk option (https://nixos.org/manual/nixos/stable/options#opt-hardware.amdgpu.amdvlk.enable). This also allows configuring runtime settings for AMDVLK, including enabling experimental features. + - default sound server for most graphical sessions has been switched from PulseAudio to PipeWire + - Firefly-iii Data Importer, a data importer for Firefly-III. Available as services.firefly-iii-data-importer. + - ddns-updater, a service with a WebUI to update DNS records periodically for many providers. Available as services.ddns-updater. + - Collabora Online, a collaborative online office suite based on LibreOffice technology. Available as services.collabora-online. + - Immich, a self-hosted photo and video backup solution. Available as services.immich. + +- Backward Incompatibilities + - `sound` options, see below + - openssh and openssh_hpn are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components. + +- Other Notable Changes + - The new boot.loader.systemd-boot.windows option makes setting up dual-booting with Windows on a different drive easier. + +- sound options removal + - pipewire -> remove `sound.enable` + +Home-Manager: https://nix-community.github.io/home-manager/release-notes.xhtml#sec-release-24.11 + +- There was no state version change in this release. + +Change the tracking branch of nixpkgs from 24.05 to 24.11: + +```shell +niv show +niv modify nixpkgs --branch nixos-24.11 +niv modify home-manager --branch release-24.11 +niv update +``` + +Update `home.stateVersion` to `home.stateVersion = "24.11";` in order to match the NixOS channel. + +Update channels: + +```shell +sudo nix-channel --list +#=> nixos https://nixos.org/channels/nixos-24.05 +sudo nix-channel --add https://nixos.org/channels/nixos-24.11 nixos +sudo nix-channel --update +``` + +Updating with nixos-rebuild boot and rebooting is recommended: + +```shell +colmena build --on $(hostname) -v --show-trace && colmena apply-local --sudo boot +sudo reboot +``` diff --git a/modules/audio.nix b/modules/audio.nix index e45e8e0..05ae33b 100644 --- a/modules/audio.nix +++ b/modules/audio.nix @@ -14,7 +14,6 @@ { # Enable sound with pipewire. # https://github.com/tolgaerok/nixos-kde/blob/main/core/system/audio/default.nix - sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { diff --git a/modules/home-manager.nix b/modules/home-manager.nix index 63f6d40..aea57ac 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -22,11 +22,11 @@ in home-manager.users.yoda = { osConfig, config, pkgs, ... }: { # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # Switching to a higher state version typically requires performing some manual steps, such as data conversion or moving files. - home.stateVersion = "24.05"; + home.stateVersion = "24.11"; }; home-manager.users.root = { osConfig, config, pkgs, ... }: { # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # Switching to a higher state version typically requires performing some manual steps, such as data conversion or moving files. - home.stateVersion = "24.05"; + home.stateVersion = "24.11"; }; } diff --git a/nix/sources.json b/nix/sources.json index 42d808b..cb2b942 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -5,34 +5,34 @@ "homepage": "https://nur.nix-community.org/", "owner": "nix-community", "repo": "NUR", - "rev": "251d756a74e67bda25d89327b01a3da19dddabae", - "sha256": "0djbzaxlaiy4asbnb6974i9cp26bdsikzhfw25n9sv2fm6f632a4", + "rev": "f2a6ddadaf2743b6a09af9a0da86072b78f2bc81", + "sha256": "1pvwj8bq5933f4m6cmncvksxk18frdsyxg6cqpr5rqmms2c6mx5z", "type": "tarball", - "url": "https://github.com/nix-community/NUR/archive/251d756a74e67bda25d89327b01a3da19dddabae.tar.gz", + "url": "https://github.com/nix-community/NUR/archive/f2a6ddadaf2743b6a09af9a0da86072b78f2bc81.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "home-manager": { - "branch": "release-24.05", + "branch": "release-24.11", "description": "Manage a user environment using Nix [maintainer=@rycee] ", "homepage": "https://nix-community.github.io/home-manager/", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", - "sha256": "00wp0s9b5nm5rsbwpc1wzfrkyxxmqjwsc1kcibjdbfkh69arcpsn", + "rev": "62d536255879be574ebfe9b87c4ac194febf47c5", + "sha256": "0v9bsc6r2626kap2m12zxw47m4p2kpr4pjldr7wvgqq48vwd72cm", "type": "tarball", - "url": "https://github.com/nix-community/home-manager/archive/2f23fa308a7c067e52dfcc30a0758f47043ec176.tar.gz", + "url": "https://github.com/nix-community/home-manager/archive/62d536255879be574ebfe9b87c4ac194febf47c5.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "nixpkgs": { - "branch": "nixos-24.05", + "branch": "nixos-24.11", "description": "Nix Packages collection", "homepage": null, "owner": "NixOS", "repo": "nixpkgs", - "rev": "7e1ca67996afd8233d9033edd26e442836cc2ad6", - "sha256": "03pdf5wrpxwmr37p3xn45vm6cz1m7bzvif2v8xhqpmm09m40zb7j", + "rev": "f9f0d5c5380be0a599b1fb54641fa99af8281539", + "sha256": "1nv2gvdzdqcrzac353yanm432cpbs5x18d9m7h529pj9hm5a0zqj", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/7e1ca67996afd8233d9033edd26e442836cc2ad6.tar.gz", + "url": "https://github.com/NixOS/nixpkgs/archive/f9f0d5c5380be0a599b1fb54641fa99af8281539.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "rust-overlay": {