diff --git a/flake.lock b/flake.lock
index ba4af096..d3eb982a 100644
--- a/flake.lock
+++ b/flake.lock
@@ -24,31 +24,32 @@
         ]
       },
       "locked": {
-        "lastModified": 1691143977,
-        "narHash": "sha256-zXHmmghQdDLecVxFedRxSny4FtVH9lig1/BKObsHwfg=",
+        "lastModified": 1687871164,
+        "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "15043a65915bcc16ad207d65b202659e4988066b",
+        "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
+        "ref": "release-23.05",
         "repo": "home-manager",
         "type": "github"
       }
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1691006197,
-        "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=",
+        "lastModified": 1691065946,
+        "narHash": "sha256-IVSh42Q3oJwUjgLKMdzH5fMx+fk1z3V735gK1Izj1Zw=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "66aedfd010204949cb225cf749be08cb13ce1813",
+        "rev": "e9ca92b55bed47696cc7cc25d3f854a1e2e01f86",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
-        "ref": "nixos-unstable",
+        "ref": "nixos-23.05",
         "repo": "nixpkgs",
         "type": "github"
       }
@@ -71,11 +72,28 @@
         "type": "github"
       }
     },
+    "nixpkgs-unstable": {
+      "locked": {
+        "lastModified": 1691006197,
+        "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "66aedfd010204949cb225cf749be08cb13ce1813",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "root": {
       "inputs": {
         "flake-parts": "flake-parts",
         "home-manager": "home-manager",
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "nixpkgs-unstable": "nixpkgs-unstable"
       }
     }
   },
diff --git a/flake.nix b/flake.nix
index f1da5dff..76bf2d90 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,12 +1,22 @@
 {
   inputs = {
     home-manager.inputs.nixpkgs.follows = "nixpkgs";
-    home-manager.url = "github:nix-community/home-manager";
-    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+    home-manager.url = "github:nix-community/home-manager/release-23.05";
+    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
   };
 
   outputs =
-    inputs@{ flake-parts, home-manager, nixpkgs, self, ... }:
+    inputs@{ flake-parts, home-manager, nixpkgs, nixpkgs-unstable, self, ... }:
+    let
+      system = "x86_64-linux";
+
+      specialArgs = {
+        pkgs-unstable = import nixpkgs-unstable {
+          inherit inputs system;
+        };
+      };
+    in
     flake-parts.lib.mkFlake { inherit inputs; } {
       systems = [ "x86_64-linux" ];
 
@@ -19,14 +29,19 @@
       flake = {
         nixosConfigurations = {
           nixedo = nixpkgs.lib.nixosSystem {
+            inherit specialArgs;
+
             modules = [
               ./system/nixos/nixedo/configuration.nix
 
               home-manager.nixosModules.home-manager
               {
-                home-manager.useGlobalPkgs = true;
-                home-manager.useUserPackages = true;
-                home-manager.users.opdavies = import ./home-manager/nixedo.nix;
+                home-manager = {
+                  extraSpecialArgs = specialArgs;
+                  useGlobalPkgs = true;
+                  useUserPackages = true;
+                  users.opdavies = import ./home-manager/nixedo.nix;
+                };
               }
             ];
           };
diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix
index b96f89ab..ce1cec99 100644
--- a/home-manager/modules/common.nix
+++ b/home-manager/modules/common.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, pkgs-unstable, ... }:
 
 let
   vim-astro = pkgs.vimUtils.buildVimPlugin {
@@ -75,7 +75,7 @@ in
   nixpkgs.config.allowUnfreePredicate = pkg:
     builtins.elem (lib.getName pkg) [ "postman" ];
 
-  home.packages = (import ./home-manager-packages.nix) { inherit pkgs; };
+  home.packages = (import ./home-manager-packages.nix) { inherit pkgs pkgs-unstable; };
 
   home.file."nodemon.json".text = ''
     {
@@ -165,9 +165,9 @@ in
 
       # LSP
       vimPlugins.null-ls-nvim
-      vimPlugins.nvim-lspconfig
       vimPlugins.lsp-status-nvim
-      vimPlugins.lsp-zero-nvim
+      pkgs-unstable.vimPlugins.lsp-zero-nvim
+      pkgs-unstable.vimPlugins.nvim-lspconfig
 
       # Completion
       vimPlugins.cmp-buffer
@@ -212,7 +212,6 @@ in
       # Language servers
       ansible-language-server
       lua53Packages.lua-lsp
-      nixd
       nodePackages.intelephense
       nodePackages."@astrojs/language-server"
       nodePackages."@tailwindcss/language-server"
@@ -225,6 +224,7 @@ in
       nodePackages.vue-language-server
       nodePackages.yaml-language-server
       phpactor
+      pkgs-unstable.nixd
       rnix-lsp
       terraform-ls
 
diff --git a/home-manager/modules/home-manager-packages.nix b/home-manager/modules/home-manager-packages.nix
index e6220e06..6ad1e2bd 100644
--- a/home-manager/modules/home-manager-packages.nix
+++ b/home-manager/modules/home-manager-packages.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, pkgs-unstable, ... }:
 
 with pkgs; [
   awscli2
@@ -35,13 +35,13 @@ with pkgs; [
   php81Packages.phpcs
   php81Packages.phpstan
   pinentry
+  pkgs-unstable.rustywind
   platformsh
   postman
   pulumi-bin
   pv
   python3Full
   ripgrep
-  rustywind
   terraform
   tldr
   tmuxinator
diff --git a/home-manager/nixedo.nix b/home-manager/nixedo.nix
index 17b644fb..01dfc789 100644
--- a/home-manager/nixedo.nix
+++ b/home-manager/nixedo.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, pkgs-unstable, ... }:
 
 {
   imports = [
diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix
index 36e5e8a5..c9a2bcac 100644
--- a/system/nixos/nixedo/configuration.nix
+++ b/system/nixos/nixedo/configuration.nix
@@ -114,7 +114,7 @@ in
     isNormalUser = true;
     description = "Oliver Davies";
     extraGroups = [ "docker" "networkmanager" "wheel" ];
-    packages = with pkgs; [];
+    packages = with pkgs; [ ];
   };
 
   security.sudo.wheelNeedsPassword = false;