WSL: Difference between revisions
imported>Onny Run container on startup |
imported>Onny Note that NixOS is not yet officially packaged on MS store |
||
| Line 9: | Line 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Download the latest release of <code>nixos-wsl.tar.gz</code> from the [https://github.com/nix-community/NixOS-WSL/releases NixOS-WSL Github page]. | NixOS is [https://github.com/microsoft/WSL/issues/11206 not yet packaged] as a official WSL distribution or on the Microsoft store. Download the latest release of <code>nixos-wsl.tar.gz</code> from the [https://github.com/nix-community/NixOS-WSL/releases NixOS-WSL Github page]. | ||
Import the WSL container using PowerShell | Import the WSL container using PowerShell | ||
Revision as of 17:07, 24 February 2024
Notes on running NixOS on the Windows Subsystem for Linux (WSL, WSL2)
Setup
Ensure that WSL is installed and up to date
wsl --update
NixOS is not yet packaged as a official WSL distribution or on the Microsoft store. Download the latest release of nixos-wsl.tar.gz from the NixOS-WSL Github page.
Import the WSL container using PowerShell
wsl --import NixOS .\NixOS\ nixos-wsl.tar.gz --version 2
Usage
Start it with PowerShell
wsl -d NixOS
Tips and tricks
Run container on startup
To run the distro NixOS on Windows startup or user login in the background, proceed with following commands in PowerShell
echo "" > $HOME\run_wsl2_at_startup.vbs
notepad $HOME\run_wsl2_at_startup.vbs
Inside the script we define NixOS as the distribution name, as imported in the setup step above
set object = createobject("wscript.shell")
object.run "wsl.exe --distribution NixOS", 0Execute following command to open the task planer
taskschd.msc
Click on New task on the right pane, set name to WSL. On the tab "Triggers" click on "New ..." and select run task on user login. On the tab "Action" click on "New ..." and insert as command: %USERPROFILE%\run_wsl2_at_startup.vbs