diff --git a/flake.lock b/flake.lock index 5fdc22d..1f6846a 100755 --- a/flake.lock +++ b/flake.lock @@ -353,6 +353,22 @@ } }, "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1767039857, @@ -991,6 +1007,26 @@ "type": "github" } }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat_6", + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1776692876, + "narHash": "sha256-7Q05rUgwbkJnjxIJyi8bHUG+XnyZqLxFJz7c8RncpeU=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "51b302c28dbf904a5c341be005eebe0779cf4f16", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "main", + "repo": "NixOS-WSL", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1765934234, @@ -1098,6 +1134,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1776447299, + "narHash": "sha256-fhkbQptSg6w3CG4TCxalK6UZkj4+Afsi+6p0PuofJ48=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2c1b4e855f7cded41541747173c697b53c63de9b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1775888245, "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", @@ -1227,16 +1279,16 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1776447299, - "narHash": "sha256-fhkbQptSg6w3CG4TCxalK6UZkj4+Afsi+6p0PuofJ48=", + "lastModified": 1776169885, + "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c1b4e855f7cded41541747173c697b53c63de9b", + "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -1314,7 +1366,7 @@ }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_7", "gitignore": "gitignore_2", "nixpkgs": [ "nixpkgs" @@ -1407,7 +1459,8 @@ "nix-vscode-extensions": "nix-vscode-extensions", "nixos-apple-silicon": "nixos-apple-silicon", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_9", + "nixos-wsl": "nixos-wsl", + "nixpkgs": "nixpkgs_10", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable", "plasma-manager": "plasma-manager", @@ -1485,7 +1538,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1776119890, diff --git a/flake.nix b/flake.nix index fc7a523..bc79510 100755 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,8 @@ nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + home-manager-unstable = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; @@ -260,6 +262,15 @@ jovian.nixosModules.jovian ]; }; + + # ###################################################### + # WSL # + # ###################################################### + wsl-nixos = { + modules = with inputs; [ + nixos-wsl.nixosModules.default + ]; + }; }; }; diff --git a/systems/x86_64-linux/wsl-nixos/default.nix b/systems/x86_64-linux/wsl-nixos/default.nix new file mode 100644 index 0000000..9cdf45e --- /dev/null +++ b/systems/x86_64-linux/wsl-nixos/default.nix @@ -0,0 +1,27 @@ +{ lib, namespace, ... }: +let + net = lib.${namespace}.network; +in +{ + "${namespace}" = { + sops.enable = true; + + headless.enable = true; + + user = { + name = "matt"; + linger = true; + }; + }; + + wsl = { + enable = true; + defaultUser = "matt"; + useWindowsDriver = true; + docker-desktop.enable = true; + startMenuLaunchers = true; + interop.register = true; + }; + + boot.bootspec.enable = lib.mkForce false; +}