diff --git a/configs/thilo-pc/hardware-configuration.nix b/configs/thilo-pc/hardware-configuration.nix
index 499a169..23ce156 100644
--- a/configs/thilo-pc/hardware-configuration.nix
+++ b/configs/thilo-pc/hardware-configuration.nix
@@ -15,21 +15,24 @@
 
   boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
   boot.initrd.kernelModules = [ ];
-  boot.kernelModules = [ "kvm-amd" ];
+  boot.kernelModules = [ ];
   boot.extraModulePackages = [ ];
 
   fileSystems."/" =
-    { device = "/dev/disk/by-uuid/caa83e18-f2f2-46f9-8c27-0842c3051dc1";
-      fsType = "btrfs";
-      options = [ "subvol=@" ];
+    { device = "/dev/disk/by-uuid/ecc9110a-4510-4a67-9227-021e146b59ca";
+      fsType = "ext4";
     };
 
   fileSystems."/boot" =
-    { device = "/dev/disk/by-uuid/DADB-44A9";
+    { device = "/dev/disk/by-uuid/230E-6756";
       fsType = "vfat";
       options = [ "fmask=0077" "dmask=0077" ];
     };
 
+  swapDevices =
+    [ { device = "/dev/disk/by-uuid/9ad760a9-34e4-4858-96e6-98c7a8e497a4"; }
+    ];
+
   fileSystems = {
     "/data" = {
       device = "/dev/disk/by-uuid/a13a2cfa-12af-463d-ae5c-d46c881fcdd6";
diff --git a/configs/thilo-pc/home.nix b/configs/thilo-pc/home.nix
index 2eaea42..0a881f9 100644
--- a/configs/thilo-pc/home.nix
+++ b/configs/thilo-pc/home.nix
@@ -13,6 +13,8 @@
     extraSpecialArgs = {
       inherit inputs;
     };
+    backupFileExtension = ".bak";
+
     users.thilo = {
       imports = [ ./../../home-manager/modules/machine.nix ];
 
@@ -42,6 +44,25 @@
       home.packages = with pkgs; [
         lix
       ];
+
+      programs.distrobox = {
+        enable = true;
+        containers = {
+          arch = {
+            image = "quay.io/toolbx/arch-toolbox";
+            additional_packages = "python python-pip nodejs";
+            volume = "/etc/static/profiles/per-user:/etc/profiles/per-user:ro";
+            replace = true;
+          };
+          fedora = {
+            image = "quay.io/fedora/fedora-toolbox:41";
+            additional_packages = "python python-pip code";
+            home = "/home/thilo/.distrobox/fedora";
+            pre_init_hooks = ''rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null'';
+            replace = true;
+          };
+        };
+      };
     };
   };
 }
diff --git a/configs/thilo-pc/nixos.nix b/configs/thilo-pc/nixos.nix
index 0bc6a6a..f139162 100644
--- a/configs/thilo-pc/nixos.nix
+++ b/configs/thilo-pc/nixos.nix
@@ -1,7 +1,12 @@
 # Edit this configuration file to define what should be installed on
 # your system.  Help is available in the configuration.nix(5) man page
 # and in the NixOS manual (accessible by running ‘nixos-help’).
-{ pkgs, options, ... }:
+{
+  pkgs,
+  inputs,
+  lib,
+  ...
+}:
 
 {
   imports = [
@@ -9,6 +14,7 @@
     ./hardware-configuration.nix
     ./../../nixos/common.nix
     ./../../nixos/builders.nix
+    inputs.jovian-nixos.nixosModules.jovian
   ];
 
   # Bootloader.
@@ -17,6 +23,7 @@
       grub = {
         efiSupport = true;
         device = "nodev";
+        useOSProber = true;
       };
       efi.canTouchEfiVariables = true;
     };
@@ -43,14 +50,7 @@
       layout = "us";
       variant = "";
     };
-    # AI
-    # ollama = {
-    #   enable = true;
-    #   acceleration = "rocm";
-    # };
-    # open-webui = {
-    #   enable = true;
-    # };
+    envfs.enable = true;
   };
 
   programs.kdeconnect.enable = true;
@@ -167,36 +167,29 @@
   hardware.bluetooth.enable = true;
   hardware.bluetooth.powerOnBoot = true;
 
-  programs.steam.gamescopeSession = {
-    enable = false;
-    env = {
-      WLR_RENDERER = "vulkan";
-      DXVK_HDR = "1";
-      STEAM_GAMESCOPE_VRR_SUPPORTED = "1";
-      SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "0";
-      ENABLE_GAMESCOPE_WSI = "1";
-      WINE_FULLSCREEN_FSR = "1";
+  specialisation = {
+    game-console.configuration = {
+      services.displayManager.sddm.enable = lib.mkForce false;
+      jovian = {
+        steam = {
+          autoStart = true;
+          enable = true;
+          user = "thilo";
+          desktopSession = "plasma";
+        };
+      };
     };
-    args = [
-      "-f"
-      "-F fsr"
-      "--rt"
-      "--adaptive-sync"
-      "-w 1920"
-      "-h 1080"
-      "-r 120"
-      "--hdr-enabled"
-      "--hdr-itm-enable"
-      "-O DP-3"
-    ];
   };
 
   programs.gamescope.enable = true;
 
+  networking.firewall.enable = false;
+
   system.stateVersion = "24.11";
 
   environment.systemPackages = with pkgs; [
     kdePackages.skanpage
+    qt5.qtwayland
   ];
 
   services.resolved = {
diff --git a/flake.lock b/flake.lock
index 1891ff5..ee7ffe2 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,25 +1,5 @@
 {
   "nodes": {
-    "dagger": {
-      "inputs": {
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1741791233,
-        "narHash": "sha256-NyezPcnXjuZSsIkZZr4rRuThs7u1sYhPU+PwgJjmFgU=",
-        "owner": "dagger",
-        "repo": "nix",
-        "rev": "a16cf50595de02fd3cfa644794e0983d8761d177",
-        "type": "github"
-      },
-      "original": {
-        "owner": "dagger",
-        "repo": "nix",
-        "type": "github"
-      }
-    },
     "flake-compat": {
       "locked": {
         "lastModified": 1733328505,
@@ -50,24 +30,6 @@
         "type": "github"
       }
     },
-    "flake-utils_2": {
-      "inputs": {
-        "systems": "systems_2"
-      },
-      "locked": {
-        "lastModified": 1710146030,
-        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
     "home-manager": {
       "inputs": {
         "nixpkgs": [
@@ -75,11 +37,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1741955947,
-        "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
+        "lastModified": 1743527271,
+        "narHash": "sha256-EuanEW1qqXZ2h0zJnq7uz8BoHbsgHgUrqWkCZHwZ9FA=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
+        "rev": "f4d9d1e2ad19d544a0a0cf3f8f371c6139c762e9",
         "type": "github"
       },
       "original": {
@@ -88,6 +50,26 @@
         "type": "github"
       }
     },
+    "jovian-nixos": {
+      "inputs": {
+        "nix-github-actions": "nix-github-actions",
+        "nixpkgs": "nixpkgs"
+      },
+      "locked": {
+        "lastModified": 1743144043,
+        "narHash": "sha256-QlEk4Xm5KG0jW5Kus9teY3bhxdf0GUTexxTUCaJM5ms=",
+        "owner": "Jovian-Experiments",
+        "repo": "Jovian-NixOS",
+        "rev": "1c17514c8558886af0afc34b6c348c1f2ee9fd24",
+        "type": "github"
+      },
+      "original": {
+        "owner": "Jovian-Experiments",
+        "ref": "development",
+        "repo": "Jovian-NixOS",
+        "type": "github"
+      }
+    },
     "mmdoc": {
       "inputs": {
         "nixpkgs": [
@@ -110,31 +92,11 @@
         "type": "github"
       }
     },
-    "muse-sounds-manager": {
-      "inputs": {
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1711493694,
-        "narHash": "sha256-u6hPaeOUsV/d/kBNo1vlG6X0/gHvTkHfCECH9pjFnV8=",
-        "owner": "thilobillerbeck",
-        "repo": "muse-sounds-manager-nix",
-        "rev": "06b0da28c54331d5af73efd2ebf264ce914e5936",
-        "type": "github"
-      },
-      "original": {
-        "owner": "thilobillerbeck",
-        "repo": "muse-sounds-manager-nix",
-        "type": "github"
-      }
-    },
     "nix-alien": {
       "inputs": {
         "flake-compat": "flake-compat",
         "nix-index-database": "nix-index-database",
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs_2"
       },
       "locked": {
         "lastModified": 1742038403,
@@ -150,6 +112,28 @@
         "type": "github"
       }
     },
+    "nix-github-actions": {
+      "inputs": {
+        "nixpkgs": [
+          "jovian-nixos",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1729697500,
+        "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
+        "owner": "zhaofengli",
+        "repo": "nix-github-actions",
+        "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
+        "type": "github"
+      },
+      "original": {
+        "owner": "zhaofengli",
+        "ref": "matrix-name",
+        "repo": "nix-github-actions",
+        "type": "github"
+      }
+    },
     "nix-index-database": {
       "inputs": {
         "nixpkgs": [
@@ -193,6 +177,43 @@
       }
     },
     "nixpkgs": {
+      "locked": {
+        "lastModified": 1739214665,
+        "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "nixpkgs-update": {
+      "inputs": {
+        "mmdoc": "mmdoc",
+        "nixpkgs": "nixpkgs_4",
+        "runtimeDeps": "runtimeDeps",
+        "treefmt-nix": "treefmt-nix"
+      },
+      "locked": {
+        "lastModified": 1742857708,
+        "narHash": "sha256-eKl1y0COzmaD5tPw8MgmEBSsH46t4jmPbneulCLgG3M=",
+        "owner": "ryantm",
+        "repo": "nixpkgs-update",
+        "rev": "30ca7d55d05bfc99bfb04521ba09c26ccbec8625",
+        "type": "github"
+      },
+      "original": {
+        "owner": "ryantm",
+        "repo": "nixpkgs-update",
+        "type": "github"
+      }
+    },
+    "nixpkgs_2": {
       "locked": {
         "lastModified": 1741851582,
         "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
@@ -208,34 +229,13 @@
         "type": "github"
       }
     },
-    "nixpkgs-update": {
-      "inputs": {
-        "mmdoc": "mmdoc",
-        "nixpkgs": "nixpkgs_3",
-        "runtimeDeps": "runtimeDeps",
-        "treefmt-nix": "treefmt-nix"
-      },
+    "nixpkgs_3": {
       "locked": {
-        "lastModified": 1738838691,
-        "narHash": "sha256-0vSf4gjSg/MGTdI+b3ZOjdvVZR53MZWRyRUvREc16jo=",
-        "owner": "ryantm",
-        "repo": "nixpkgs-update",
-        "rev": "ca25a2a7aaa94faeb209bf488c201b34dddcda27",
-        "type": "github"
-      },
-      "original": {
-        "owner": "ryantm",
-        "repo": "nixpkgs-update",
-        "type": "github"
-      }
-    },
-    "nixpkgs_2": {
-      "locked": {
-        "lastModified": 1742069588,
-        "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
+        "lastModified": 1743315132,
+        "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5",
+        "rev": "52faf482a3889b7619003c0daec593a1912fddc1",
         "type": "github"
       },
       "original": {
@@ -245,7 +245,7 @@
         "type": "github"
       }
     },
-    "nixpkgs_3": {
+    "nixpkgs_4": {
       "locked": {
         "lastModified": 1672428209,
         "narHash": "sha256-eejhqkDz2cb2vc5VeaWphJz8UXNuoNoM8/Op8eWv2tQ=",
@@ -259,32 +259,14 @@
         "type": "indirect"
       }
     },
-    "nixpkgs_4": {
-      "locked": {
-        "lastModified": 1726142289,
-        "narHash": "sha256-Jks8O42La+nm5AMTSq/PvM5O+fUAhIy0Ce1QYqLkyZ4=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "280db3decab4cbeb22a4599bd472229ab74d25e1",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "ref": "nixpkgs-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "root": {
       "inputs": {
-        "dagger": "dagger",
         "home-manager": "home-manager",
-        "muse-sounds-manager": "muse-sounds-manager",
+        "jovian-nixos": "jovian-nixos",
         "nix-alien": "nix-alien",
         "nixgl": "nixgl",
-        "nixpkgs": "nixpkgs_2",
-        "nixpkgs-update": "nixpkgs-update",
-        "suyu": "suyu"
+        "nixpkgs": "nixpkgs_3",
+        "nixpkgs-update": "nixpkgs-update"
       }
     },
     "runtimeDeps": {
@@ -303,25 +285,6 @@
         "type": "github"
       }
     },
-    "suyu": {
-      "inputs": {
-        "flake-utils": "flake-utils_2",
-        "nixpkgs": "nixpkgs_4"
-      },
-      "locked": {
-        "lastModified": 1726259531,
-        "narHash": "sha256-84sIM3Gd7e6PhjsBT2EiiAInJlKQsb4HpgUPTYr6eg0=",
-        "owner": "Noodlez1232",
-        "repo": "suyu-flake",
-        "rev": "e3ea28163248edaf5fe2a65f92e9ef3593bdc20a",
-        "type": "github"
-      },
-      "original": {
-        "owner": "Noodlez1232",
-        "repo": "suyu-flake",
-        "type": "github"
-      }
-    },
     "systems": {
       "locked": {
         "lastModified": 1681028828,
@@ -337,21 +300,6 @@
         "type": "github"
       }
     },
-    "systems_2": {
-      "locked": {
-        "lastModified": 1681028828,
-        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
-        "owner": "nix-systems",
-        "repo": "default",
-        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-systems",
-        "repo": "default",
-        "type": "github"
-      }
-    },
     "treefmt-nix": {
       "inputs": {
         "nixpkgs": [
diff --git a/flake.nix b/flake.nix
index 5a13390..331b035 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,18 +12,12 @@
       url = "github:nix-community/home-manager";
       inputs.nixpkgs.follows = "nixpkgs";
     };
-    dagger.url = "github:dagger/nix";
-    dagger.inputs.nixpkgs.follows = "nixpkgs";
     nixgl = {
       url = "github:guibou/nixGL";
       inputs.nixpkgs.follows = "nixpkgs";
     };
-    muse-sounds-manager = {
-      url = "github:thilobillerbeck/muse-sounds-manager-nix";
-      inputs.nixpkgs.follows = "nixpkgs";
-    };
-    suyu.url = "github:Noodlez1232/suyu-flake";
     nix-alien.url = "github:thiagokokada/nix-alien";
+    jovian-nixos.url = "github:Jovian-Experiments/Jovian-NixOS/development";
   };
 
   nixConfig = {
@@ -61,7 +55,7 @@
       };
     in
     {
-      nixosConfigurations.thilo-pc = nixpkgs.lib.nixosSystem {
+      nixosConfigurations."thilo-pc" = nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = [
           home-manager.nixosModules.home-manager
diff --git a/home-manager/modules/machine.nix b/home-manager/modules/machine.nix
index a6b6ff7..b973870 100644
--- a/home-manager/modules/machine.nix
+++ b/home-manager/modules/machine.nix
@@ -32,6 +32,7 @@ with lib;
     ./../programs/hstr.nix
     ./../programs/thefuck.nix
     ./../programs/ssh.nix
+    ./../programs/vscode.nix
     ./../programs/zed.nix
     ./../../nix.nix
     ./packages.nix
diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix
index 9117039..e15ea25 100644
--- a/home-manager/modules/packages.nix
+++ b/home-manager/modules/packages.nix
@@ -14,14 +14,6 @@ let
 in
 {
   config = {
-    nixpkgs.overlays = [
-      (_: prev: {
-        quickemu = prev.quickemu.overrideAttrs (old: {
-          patches = (old.patches or [ ]) ++ [ ./../patches/quickemu.patch ];
-        });
-      })
-    ];
-
     home.packages =
       with pkgs;
       [
@@ -66,19 +58,15 @@ in
         ddev
         act
         mkcert
-        # pulumi
         kubectl
-        pulumiPackages.pulumi-language-nodejs
         ncdu
         devenv
         inputs.nixpkgs-update.packages.x86_64-linux.nixpkgs-update
-        inputs.dagger.packages.x86_64-linux.dagger
+        nixpkgs-review
         unzip
         nil
         nixd
         unrar
-        # inputs.w17.packages.x86_64-linux.default
-        aichat
         nix-output-monitor
         nodePackages.pnpm
         npm-check-updates
@@ -94,8 +82,6 @@ in
 
         php
         (lib.hiPrio phpPackages.composer)
-
-        nixfmt-rfc-style
       ]
       ++ (
         if (!config.machine.isGeneric) then
@@ -141,10 +127,8 @@ in
             bottles
             protontricks
             heroic
-            (vscode.override { commandLineArgs = electronFlags; })
             quickemu
             quickgui
-            trilium-desktop
             anki
             muse-sounds-manager
             jetbrains-toolbox
@@ -155,7 +139,6 @@ in
             inkscape
             musescore
             obsidian
-            syncthingtray
             reaper
             yabridge
             torzu
@@ -166,6 +149,7 @@ in
             telegram-desktop
             thunderbird
             gearlever
+            kdePackages.merkuro
           ]
         else
           [ ]
diff --git a/home-manager/programs/firefox.nix b/home-manager/programs/firefox.nix
index 06ffc31..e1f7c1a 100644
--- a/home-manager/programs/firefox.nix
+++ b/home-manager/programs/firefox.nix
@@ -1,7 +1,7 @@
 { config, ... }:
 
 {
-  programs.firefox = {
+  programs.floorp = {
     enable = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
   };
 }
diff --git a/home-manager/programs/syncthing.nix b/home-manager/programs/syncthing.nix
index 2ab81c9..1bdb3d1 100644
--- a/home-manager/programs/syncthing.nix
+++ b/home-manager/programs/syncthing.nix
@@ -1,5 +1,5 @@
 {
   services.syncthing = {
-    enable = true;
+    enable = false;
   };
 }
diff --git a/home-manager/programs/topgrade.nix b/home-manager/programs/topgrade.nix
index 26d70ed..7b22e66 100644
--- a/home-manager/programs/topgrade.nix
+++ b/home-manager/programs/topgrade.nix
@@ -25,6 +25,7 @@ in
           "nix"
           "uv"
         ];
+        nix_arguments = "--builders \"\"";
       };
       git.repos = [ configPath ];
       firmware = {
diff --git a/home-manager/programs/vscode.nix b/home-manager/programs/vscode.nix
new file mode 100644
index 0000000..39292b7
--- /dev/null
+++ b/home-manager/programs/vscode.nix
@@ -0,0 +1,5 @@
+{
+  programs.vscode = {
+    enable = true;
+  };
+}
diff --git a/nixos/common.nix b/nixos/common.nix
index 0055cac..acac05d 100644
--- a/nixos/common.nix
+++ b/nixos/common.nix
@@ -111,6 +111,7 @@ in
     };
     tailscale = {
       enable = true;
+      useRoutingFeatures = "both";
     };
     flatpak.enable = true;
     avahi = {