diff --git a/flake.lock b/flake.lock index ba9b229..ba454ca 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -20,7 +36,43 @@ "type": "github" } }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1755261305, + "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "203a7b463f307c60026136dd1191d9001c43457f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "main", + "repo": "NixOS-WSL", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1754725699, + "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1756125398, "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", @@ -36,7 +88,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1756787288, "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", @@ -54,7 +106,7 @@ }, "pydev": { "inputs": { - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "pyproject-build-systems": "pyproject-build-systems", "pyproject-nix": "pyproject-nix_2", "uv2nix": "uv2nix" @@ -141,7 +193,8 @@ "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixos-wsl": "nixos-wsl", + "nixpkgs": "nixpkgs_2", "pydev": "pydev" } }, diff --git a/flake.nix b/flake.nix index 0fa3add..104f845 100644 --- a/flake.nix +++ b/flake.nix @@ -7,9 +7,10 @@ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; }; - outputs = { self, nixpkgs, home-manager, pydev }@inputs: + outputs = { self, nixpkgs, home-manager, pydev, nixos-wsl, ... }@inputs: let system = "x86_64-linux"; @@ -40,18 +41,34 @@ # ./home-manager/autumn/sysconfs/lesbos.nix ]; }; + "autumn@wsl-hive" = home-manager.lib.homeManagerConfiguration{ + extraSpecialArgs = specialArgs; + pkgs = pkgs; + modules = [ + ./home-manager/autumn/home.nix + ]; + }; }; - nixosConfigurations."yukigekko" = nixpkgs.lib.nixosSystem{ - specialArgs = specialArgs; - modules = [ - ./system/yukigekko/configuration.nix - ]; - }; - nixosConfigurations."lesbos" = nixpkgs.lib.nixosSystem{ - specialArgs = specialArgs; - modules = [ - ./system/lesbos/configuration.nix - ]; + nixosConfigurations = { + "yukigekko" = nixpkgs.lib.nixosSystem{ + specialArgs = specialArgs; + modules = [ + ./system/yukigekko/configuration.nix + ]; + }; + "lesbos" = nixpkgs.lib.nixosSystem{ + specialArgs = specialArgs; + modules = [ + ./system/lesbos/configuration.nix + ]; + }; + "wsl-hive" = nixpkgs.lib.nixosSystem{ + specialArgs = specialArgs; + system = system; + modules = [ + ./system/wsl-hive/configuration.nix + ]; + }; }; }; } diff --git a/system/wsl-hive/configuration.nix b/system/wsl-hive/configuration.nix new file mode 100644 index 0000000..85cc79c --- /dev/null +++ b/system/wsl-hive/configuration.nix @@ -0,0 +1,29 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +# NixOS-WSL specific options are documented on the NixOS-WSL repository: +# https://github.com/nix-community/NixOS-WSL + +{ config, lib, pkgs, ... }: + +{ + imports = [ + # include NixOS-WSL modules + + ]; + + wsl.enable = true; + wsl.defaultUser = "autumn"; + networking.hostName = "wsl-hive"; + environment.systemPackages = [pkgs.git]; + nix.settings.experimental-features = ["nix-command" "flakes"]; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It's perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "25.05"; # Did you read the comment? +}