diff --git a/flake.lock b/flake.lock
index 15dabb67..3be38bd5 100644
--- a/flake.lock
+++ b/flake.lock
@@ -7,16 +7,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1726989464,
-        "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
+        "lastModified": 1731235328,
+        "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
+        "rev": "60bb110917844d354f3c18e05450606a435d2d10",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "ref": "release-24.05",
+        "ref": "master",
         "repo": "home-manager",
         "type": "github"
       }
@@ -39,16 +39,16 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1729691686,
-        "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=",
+        "lastModified": 1731139594,
+        "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37",
+        "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
-        "ref": "nixos-24.05",
+        "ref": "nixos-unstable",
         "repo": "nixpkgs",
         "type": "github"
       }
diff --git a/flake.nix b/flake.nix
index ad540163..aa34b530 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,12 +1,11 @@
 {
   inputs = {
     home-manager.inputs.nixpkgs.follows = "nixpkgs";
-    home-manager.url = "github:nix-community/home-manager/release-24.05";
+    home-manager.url = "github:nix-community/home-manager/master";
 
     nixos-hardware.url = "github:NixOS/nixos-hardware/master";
 
-    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
-
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
   };
 
diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix
index ea1e8425..17e3aa76 100644
--- a/lib/shared/home-manager-packages.nix
+++ b/lib/shared/home-manager-packages.nix
@@ -32,6 +32,7 @@ with pkgs;
   cachix
   ctop
   delta
+  devenv
   dog
   doppler
   entr
@@ -68,8 +69,6 @@ with pkgs;
   xh
   yarn
 
-  unstable.devenv
-
   # Scripts.
   create-zellij-session
   deliver
diff --git a/lib/shared/home-manager.nix b/lib/shared/home-manager.nix
index e25c4704..c977cfeb 100644
--- a/lib/shared/home-manager.nix
+++ b/lib/shared/home-manager.nix
@@ -11,6 +11,17 @@
   # Nicely reload system units when changing configs.
   systemd.user.startServices = "sd-switch";
 
+  # See https://github.com/nix-community/home-manager/issues/2064#issuecomment-2259307514.
+  # This is a workaround for the following errors that appeared when switching back to unstable:
+  # - 1: Failed to start unit flameshot.service
+  # - 2: org.freedesktop.systemd1.NoSuchUnit: Unit tray.target not found.
+  systemd.user.targets.tray = {
+    Unit = {
+      Description = "Home Manager System Tray";
+      Requires = [ "graphical-session-pre.target" ];
+    };
+  };
+
   home.stateVersion = "22.05";
 
   programs.home-manager.enable = true;
diff --git a/modules/home-manager/neovim.nix b/modules/home-manager/neovim.nix
index 010df70a..66aa5054 100644
--- a/modules/home-manager/neovim.nix
+++ b/modules/home-manager/neovim.nix
@@ -4,8 +4,6 @@
   programs.neovim = {
     enable = true;
 
-    package = pkgs.unstable.neovim-unwrapped;
-
     plugins = with pkgs.vimPlugins; [
       comment-nvim
       dial-nvim
diff --git a/modules/nixos/desktop/gitea.nix b/modules/nixos/desktop/gitea.nix
index 2f622203..b093e0f1 100644
--- a/modules/nixos/desktop/gitea.nix
+++ b/modules/nixos/desktop/gitea.nix
@@ -3,7 +3,6 @@
 {
   services.gitea = {
     enable = true;
-    package = pkgs.unstable.gitea;
 
     settings = {
       server = {