diff --git a/flake.lock b/flake.lock
index cb3b0a6..e11f71c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -294,16 +294,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1747331121,
-        "narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=",
+        "lastModified": 1747556831,
+        "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "1eec32f0efe3b830927989767a9e6ece0d82d608",
+        "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "ref": "release-24.11",
+        "ref": "release-25.05",
         "repo": "home-manager",
         "type": "github"
       }
@@ -386,16 +386,16 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1747335874,
-        "narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=",
+        "lastModified": 1747428706,
+        "narHash": "sha256-XVds9FkRrY59xRNNq14FNsFGqDiexXX/mlHcX4hPyyk=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858",
+        "rev": "2e1496bf8652ff4af4e4d4737277f71e4a4f5cb2",
         "type": "github"
       },
       "original": {
         "owner": "NixOS",
-        "ref": "nixos-24.11",
+        "ref": "nixos-25.05",
         "repo": "nixpkgs",
         "type": "github"
       }
diff --git a/flake.nix b/flake.nix
index 7d68912..7262eb3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,7 +15,7 @@ rec {
   };
 
   inputs = {
-    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
 
     nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
 
@@ -29,7 +29,7 @@ rec {
     flake-utils.url = "github:numtide/flake-utils";
 
     home-manager = {
-      url = "github:nix-community/home-manager/release-24.11";
+      url = "github:nix-community/home-manager/release-25.05";
       inputs.nixpkgs.follows = "nixpkgs";
     };
 
diff --git a/home/browsers/firefox.nix b/home/browsers/firefox.nix
index 2b1dd05..7f551a3 100644
--- a/home/browsers/firefox.nix
+++ b/home/browsers/firefox.nix
@@ -65,15 +65,16 @@ in
       private = {
         id = 0;
         extraConfig = sharedExtraConfig;
-        extensions = commonExtensions;
+        extensions.packages = commonExtensions;
       };
       work = {
         id = 1;
         extraConfig = sharedExtraConfig;
-        extensions =
+        extensions.packages =
           commonExtensions
           ++ (with firefox-addons; [
-            bitwarden
+            # dashlane
+            # bitwarden
             react-devtools
             reduxdevtools
           ]);
diff --git a/home/browsers/mullvad-browser.nix b/home/browsers/mullvad-browser.nix
index d5d5bf2..f5614c7 100644
--- a/home/browsers/mullvad-browser.nix
+++ b/home/browsers/mullvad-browser.nix
@@ -50,124 +50,145 @@ let
   commonSearch = {
     force = true;
     # TODO defaults don't work
-    default = "Qwant";
-    privateDefault = "Qwant";
+    default = "qwant";
+    privateDefault = "qwant";
     order = [
-      "Qwant"
-      "Ecosia"
-      "DuckDuckGo"
-      "Startpage"
+      "qwant"
+      "ecosia"
+      "ddg"
+      "startpage"
       "kagi"
     ];
     engines = {
       # builtin
-      "Startpage".metaData.alias = "@s";
-      "DuckDuckGo".metaData.alias = "@d";
+      startpage.metaData.alias = "@s";
+      ddg.metaData.alias = "@d";
 
       # extra
-      "Qwant" = {
+      qwant = {
+        name = "Qwant";
         urls = [ { template = "https://www.qwant.com/?q={searchTerms}"; } ];
-        iconURL = "https://www.qwant.com/favicon.ico";
+        iconMapObj."16" = "https://www.qwant.com/favicon.ico";
         definedAliases = [ "@q" ];
       };
-      "Ecosia" = {
+      ecosia = {
+        name = "Ecosia";
         urls = [ { template = "https://www.ecosia.org/search?q={searchTerms}"; } ];
-        iconURL = "https://www.ecosia.org/favicon.ico";
+        iconMapObj."16" = "https://www.ecosia.org/favicon.ico";
         definedAliases = [ "@e" ];
       };
-      "kagi" = {
+      kagi = {
+        name = "Kagi";
         urls = [ { template = "https://kagi.com/search?q={searchTerms}"; } ];
-        iconURL = "https://kagi.com/favicon.ico";
+        iconMapObj."16" = "https://kagi.com/favicon.ico";
         definedAliases = [ "@k" ];
       };
-      "GitHub" = {
+      github = {
+        name = "GitHub";
         urls = [ { template = "https://github.com/search?q={searchTerms}"; } ];
-        iconURL = "https://github.com/favicon.ico";
+        iconMapObj."16" = "https://github.com/favicon.ico";
         definedAliases = [ "@gh" ];
       };
-      "GitLab" = {
+      gitlab = {
+        name = "GitLab";
         urls = [ { template = "https://gitlab.com/search?search={searchTerms}"; } ];
-        iconURL = "https://gitlab.com/favicon.ico";
+        iconMapObj."16" = "https://gitlab.com/favicon.ico";
         definedAliases = [ "@gl" ];
       };
-      "Codeberg" = {
+      codeberg = {
+        name = "Codeberg";
         urls = [ { template = "https://codeberg.org/explore/repos?q={searchTerms}"; } ];
-        iconURL = "https://codeberg.org/favicon.ico";
+        iconMapObj."16" = "https://codeberg.org/favicon.ico";
         definedAliases = [ "@cb" ];
       };
-      "Nix Packages" = {
+      nix-packages = {
+        name = "Nix Packages";
         urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ];
         icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
         definedAliases = [ "@np" ];
       };
-      "NixOS Options" = {
+      nixos-options = {
+        name = "NixOS Options";
         urls = [ { template = "https://search.nixos.org/options?query={searchTerms}"; } ];
         icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
         definedAliases = [ "@no" ];
       };
-      "Nix Flakes: Packages" = {
+      nix-flakes-packages = {
+        name = "Nix Flakes: Packages";
         urls = [ { template = "https://search.nixos.org/flakes?type=packages&query={searchTerms}"; } ];
         icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
         definedAliases = [ "@nfp" ];
       };
-      "Nix Flakes: Options" = {
+      nix-flakes-options = {
+        name = "Nix Flakes: Options";
         urls = [ { template = "https://search.nixos.org/flakes?type=options&query={searchTerms}"; } ];
         icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
         definedAliases = [ "@nfo" ];
       };
-      "NixOS Wiki" = {
+      nixos-wiki = {
+        name = "NixOS Wiki";
         urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
         icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
         definedAliases = [ "@nw" ];
       };
-      "Crates.io" = {
+      crates-io = {
+        name = "Crates.io";
         urls = [ { template = "https://crates.io/search?q={searchTerms}"; } ];
-        iconURL = "https://crates.io/favicon.ico";
+        iconMapObj."16" = "https://crates.io/favicon.ico";
         definedAliases = [ "@rc" ];
       };
-      "Docs.rs" = {
+      docs-rs = {
+        name = "Docs.rs";
         urls = [ { template = "https://docs.rs/releases/search?query={searchTerms}"; } ];
-        iconURL = "https://docs.rs/favicon.ico";
+        iconMapObj."16" = "https://docs.rs/favicon.ico";
         definedAliases = [ "@rd" ];
       };
-      "Rust Book" = {
+      rust-book = {
+        name = "Rust Book";
         urls = [ { template = "https://doc.rust-lang.org/book/?search={searchTerms}"; } ];
-        iconURL = "https://doc.rust-lang.org/book/favicon.svg";
+        iconMapObj."16" = "https://doc.rust-lang.org/book/favicon.svg";
         definedAliases = [ "@rb" ];
       };
-      "Rust std" = {
+      rust-std = {
+        name = "Rust std";
         urls = [ { template = "https://doc.rust-lang.org/stable/std/?search={searchTerms}"; } ];
-        iconURL = "https://www.rust-lang.org/static/images/favicon.svg";
+        iconMapObj."16" = "https://www.rust-lang.org/static/images/favicon.svg";
         definedAliases = [ "@rs" ];
       };
-      "npm" = {
+      npm = {
+        name = "npm";
         urls = [ { template = "https://www.npmjs.com/search?q={searchTerms}"; } ];
-        iconURL = "https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png";
+        iconMapObj."16" = "https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png";
         definedAliases = [ "@npm" ];
       };
-      "PyPI" = {
+      pypi = {
+        name = "PyPI";
         urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ];
-        iconURL = "https://pypi.org/favicon.ico";
+        iconMapObj."16" = "https://pypi.org/favicon.ico";
         definedAliases = [ "@pypi" ];
       };
-      "Stack Overflow" = {
+      stack-overflow = {
+        name = "Stack Overflow";
         urls = [ { template = "https://stackoverflow.com/search?q={searchTerms}"; } ];
-        iconURL = "https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico";
+        iconMapObj."16" = "https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico";
         definedAliases = [ "@so" ];
       };
-      "Wikipedia" = {
+      wikipedia = {
+        name = "Wikipedia";
         urls = [ { template = "https://en.wikipedia.org/wiki/{searchTerms}"; } ];
-        iconURL = "https://en.wikipedia.org/favicon.ico";
+        iconMapObj."16" = "https://en.wikipedia.org/favicon.ico";
         definedAliases = [ "@w" ];
       };
-      "Wolfram Alpha" = {
+      wolfram-alpha = {
+        name = "Wolfram Alpha";
         urls = [ { template = "https://www.wolframalpha.com/input?i={searchTerms}"; } ];
-        iconURL = "https://www.wolframalpha.com/_next/static/images/favicon_1zbE9hjk.ico";
+        iconMapObj."16" = "https://www.wolframalpha.com/_next/static/images/favicon_1zbE9hjk.ico";
         definedAliases = [ "@wa" ];
       };
-      "Reddit" = {
+      reddit = {
+        name = "Reddit";
         urls = [ { template = "https://www.reddit.com/search/?q={searchTerms}"; } ];
-        iconURL = "https://www.reddit.com/favicon.ico";
+        iconMapObj."16" = "https://www.reddit.com/favicon.ico";
         definedAliases = [ "@r" ];
       };
     };
@@ -191,13 +212,12 @@ in
         id = 0;
         settings = commonSettings;
         search = commonSearch;
-        extensions = commonExtensions;
+        extensions.packages = commonExtensions;
       };
       work = {
         id = 1;
         settings = commonSettings;
-        search = commonSearch;
-        extensions =
+        extensions.packages =
           commonExtensions
           ++ (with firefox-addons; [
             bitwarden
diff --git a/home/desktop/mimeapps.nix b/home/desktop/mimeapps.nix
index 901b0f1..d974caf 100644
--- a/home/desktop/mimeapps.nix
+++ b/home/desktop/mimeapps.nix
@@ -26,7 +26,7 @@ let
     pdf = [ "re.sonny.Junction.desktop" ] ++ browsers;
     ebook = [ "com.github.johnfactotum.Foliate.desktop" ];
     magnet = [ "transmission-gtk.desktop" ];
-    signal = [ "signal-desktop.desktop" ];
+    signal = [ "signal.desktop" ];
   };
 
   mimeMap = {
@@ -89,7 +89,7 @@ let
     pdf = [ "application/pdf" ];
     ebook = [ "application/epub+zip" ];
     magnet = [ "x-scheme-handler/magnet" ];
-    signal = [ "signal-desktop.desktop" ];
+    signal = [ "signal.desktop" ];
   };
 
   associations =
diff --git a/home/felschr-server.nix b/home/felschr-server.nix
index 068d8fb..fbaeeb2 100644
--- a/home/felschr-server.nix
+++ b/home/felschr-server.nix
@@ -26,9 +26,9 @@
     sshKeys = [ "3C48489F3B0FBB44E72180D4B1D7541C201C9987" ];
     defaultCacheTtl = 600;
     defaultCacheTtlSsh = 600;
-    pinentryPackage = pkgs.pinentry-curses;
+    pinentry.package = pkgs.pinentry-curses;
   };
-  programs.zsh.initExtra = ''
+  programs.zsh.initContent = ''
     export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh
   '';
 
@@ -44,5 +44,5 @@
     }
   '';
 
-  home.stateVersion = "24.11";
+  home.stateVersion = "25.05";
 }
diff --git a/home/felschr-work.nix b/home/felschr-work.nix
index 6d7011e..db68ce4 100644
--- a/home/felschr-work.nix
+++ b/home/felschr-work.nix
@@ -28,9 +28,9 @@ with pkgs;
     sshKeys = [ "8A6213DCDAF86BD3A63549FCFDF71B2C92DAE02C" ];
     defaultCacheTtl = 600;
     defaultCacheTtlSsh = 600;
-    pinentryPackage = pkgs.pinentry-gnome3;
+    pinentry.package = pkgs.pinentry-gnome3;
   };
-  programs.zsh.initExtra = ''
+  programs.zsh.initContent = ''
     export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh
   '';
 
@@ -75,5 +75,5 @@ with pkgs;
     emblem
   ];
 
-  home.stateVersion = "24.11";
+  home.stateVersion = "25.05";
 }
diff --git a/home/felschr.nix b/home/felschr.nix
index 4654366..b9b43b2 100644
--- a/home/felschr.nix
+++ b/home/felschr.nix
@@ -28,9 +28,9 @@
     ];
     defaultCacheTtl = 600;
     defaultCacheTtlSsh = 600;
-    pinentryPackage = pkgs.pinentry-gnome3;
+    pinentry.package = pkgs.pinentry-gnome3;
   };
-  programs.zsh.initExtra = ''
+  programs.zsh.initContent = ''
     export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh
   '';
 
@@ -96,5 +96,5 @@
     emblem
   ];
 
-  home.stateVersion = "24.11";
+  home.stateVersion = "25.05";
 }
diff --git a/home/shell/zellij.nix b/home/shell/zellij.nix
index 1555ef8..03c1740 100644
--- a/home/shell/zellij.nix
+++ b/home/shell/zellij.nix
@@ -4,6 +4,7 @@
   programs.zellij.enable = true;
   programs.zellij.package = pkgs.unstable.zellij;
   programs.zellij.enableZshIntegration = true;
+  programs.zellij.exitShellOnExit = true;
   programs.zellij.settings = {
     default_layout = "compact"; # or default
     default_mode = "normal";
@@ -17,8 +18,4 @@
       strider.path = "strider";
     };
   };
-
-  home.sessionVariables = {
-    ZELLIJ_AUTO_EXIT = "true";
-  };
 }
diff --git a/home/shell/zsh.nix b/home/shell/zsh.nix
index d997075..acd0cb2 100644
--- a/home/shell/zsh.nix
+++ b/home/shell/zsh.nix
@@ -29,7 +29,7 @@ in
         file = "share/zsh-history-substring-search/zsh-history-substring-search.zsh";
       }
     ];
-    initExtra = ''
+    initContent = ''
       export KEYTIMEOUT=1
 
       ZSH_AUTOSUGGEST_USE_ASYNC=1
diff --git a/home/signal.nix b/home/signal.nix
index 265d6f4..d355c37 100644
--- a/home/signal.nix
+++ b/home/signal.nix
@@ -4,7 +4,7 @@
   home.packages = with pkgs; [
     signal-desktop
     (makeAutostartItem {
-      name = "signal-desktop";
+      name = "signal";
       package = signal-desktop;
       prependExtraArgs = [ "--start-in-tray" ];
     })
diff --git a/services/authelia.nix b/services/authelia.nix
index ff8e4c3..011bfb1 100644
--- a/services/authelia.nix
+++ b/services/authelia.nix
@@ -100,8 +100,7 @@ in
     settings = {
       theme = "dark";
       server = {
-        host = "::1";
-        inherit port;
+        address = "tcp://[::1]:${toString port}";
       };
       default_2fa_method = "webauthn";
       default_redirection_url = "https://${domain}";
diff --git a/system/fonts.nix b/system/fonts.nix
index 496155b..b3fbb75 100644
--- a/system/fonts.nix
+++ b/system/fonts.nix
@@ -6,7 +6,7 @@
     noto-fonts-extra
     noto-fonts-cjk-sans
     noto-fonts-emoji
-    (nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
+    nerd-fonts.symbols-only
     fira-code
   ];
   fonts.fontconfig.defaultFonts = {
diff --git a/system/sound.nix b/system/sound.nix
index 75a1b7b..d9ef316 100644
--- a/system/sound.nix
+++ b/system/sound.nix
@@ -6,8 +6,8 @@
 }:
 
 {
-  hardware.pulseaudio.enable = false;
   security.rtkit.enable = true;
+  services.pulseaudio.enable = false;
   services.pipewire = {
     enable = true;
     alsa.enable = true;