system-flakes — NixOS-WSL/Home Manger configuration
This project is based on the flake-parts' ez-configs module, with binary caching supported by Cachix.
To push a specific version of the flake inputs to the cache, run this command on the root of a local checkout of this repository:
flake-archive | cachix-cache pushShow the outpus provided by a flake.
Variants:
nix flake show . --no-pure-evalnix flake show 'github:nix-community/NixOS-WSL'nix flake show 'github:karaolidis/NixOS-WSL/wl-clipboard-wsl'nix flake show 'github:nixos/nixpkgs/nixpkgs-unstable'
Run a Nix application.
Variants:
nix run 'github:nixos/nixpkgs/nixpkgs-unstable#jq'
Variants:
nix run 'github:nixos/nixpkgs/nixpkgs-unstable#jq'GALLIUM_DRIVER=d3d12 MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA glxinfo -B | grep "OpenGL renderer"
Variants:
vulkaninfo --summary
nix-collect-garbage --delete-old 2>&1 | tail -n 10deleting '/nix/store/7bnhxdc1q58fv1w6fj3yv0b73cbi1mab-env-manifest.nix'
deleting '/nix/store/dyhlmmf4i82xzxapavrjwysxbjp9cvh1-NerdFontsSymbolsOnly-3.4.0.tar.gz'
deleting '/nix/store/pspff0rp45gfx1gf0xpwp38z1i08qc0x-lerc-4.2.0-dev'
deleting '/nix/store/4jcmmsyz3pjnap26kxvg12inc9flcnpd-spirv_cross'
deleting '/nix/store/z12r8jhhd69nk9zq06ifhv2f494ljsk8-boehm-gc-8.2.12-dev'
deleting '/nix/store/wwhwcvivqpcws0g2jahwh14ib6kpyrw4-dry-activate'
deleting '/nix/store/jqx0vr4gfdv1h93wfivkabhda1dpjzqx-translate_c'
deleting unused links...
note: hard linking is currently saving 12.3 GiB
666 store paths deleted, 13.3 GiB freed
sudo nix-collect-garbage --delete-old 2>&1 | tail -n 10deleting '/nix/store/qz6xbjhhwvvp8r19905708qbcqibhlgd-activation-script.drv'
deleting '/nix/store/rw2nkp754iy0q78ha35v45aihf2l2x5q-system-path'
deleting '/nix/store/a255y52cd785cknx237z70za6nxsiyid-system-path.drv'
deleting '/nix/store/yrsqsyaczsrsllijdqny6j3glnaszwqi-hm_.configzsh.zshrc'
deleting '/nix/store/l8lprjk43ngff8rxrb5pd5ymls4a5ks5-hm_.configzsh.zshrc.drv'
deleting '/nix/store/dafr6i1i82mhg1q4b0zyba3mz6chqg3q-home-manager-path.drv'
deleting '/nix/store/2clhiwmyf13zf7ljg64h3zp2hn2cvlzw-home-manager-path'
deleting unused links...
note: hard linking is currently saving 12.3 GiB
39 store paths deleted, 3.8 MiB freed
Calls the flake default formatter.
Warning
This will run commands embedded in markdown.
After a successful and non-idempotent just switch, it may make sense to free up disk space by running nix-collect-garbage. Formatting the README.md file is an unusual way to accomplish this:
touch README.md
nix fmtBe sure to know the name of your WSL distribution:
wsl --list -v NAME STATE VERSION
* NixOS Running 2
podman-machine-default Stopped 2
docker-desktop Stopped 2
It must not be sparsed already:
wsl --manage NixOS --set-sparse falseLearn the path of its VHDX file:
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss\*"State : 1
Version : 2
BasePath : C:\Users\tarci\AppData\Local\wsl\{7527fb51-83d7-4564-bc19-617c2e6b096a}
Flags : 15
DefaultUid : 0
RunOOBE : 0
VhdFileName : ext4.vhdx
DistributionName : NixOS
Modern : 1
ShortcutPath : C:\Users\tarci\AppData\Roaming\Microsoft\Windows\Start Menu\NixOS.lnk
TerminalProfilePath : C:\Users\tarci\AppData\Local\Microsoft\Windows Terminal\Fragments\Microsoft.WSL\{96dc692a-1006-5fa5-bc6b-f63e8df2226b}.json
Flavor : nixos
OsVersion : 26.11
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{7527fb51-83d7-4564-bc19-617c2e6b096a}
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
PSChildName : {7527fb51-83d7-4564-bc19-617c2e6b096a}
PSDrive : HKCU
PSProvider : Microsoft.PowerShell.Core\Registry
Optimize the disk:
optimize-vhd -Path 'C:\Users\tarci\AppData\Local\wsl\{7527fb51-83d7-4564-bc19-617c2e6b096a}\ext4.vhdx' -Mode full(Re)Enable sparse mode:
wsl --manage NixOS --set-sparse true --allow-unsafeez-configs's author own dotfiles: ehllie/dotfiles
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.vanilla-dmz;
name = "Vanilla-DMZ";
size = 28;
};Verify:
env | grep -i cursorExpected:
XCURSOR_PATH=/home/tarci/.nix-profile/share/icons:/home/tarci/.icons:/home/tarci/.local/share/icons:/home/tarci/.nix-profile/share/icons:/home/tarci/.nix-profile/share/pixmaps:/nix/profile/share/icons:/nix/profile/share/pixmaps:/home/tarci/.local/state/nix/profile/share/icons:/home/tarci/.local/state/nix/profile/share/pixmaps:/etc/profiles/per-user/tarci/share/icons:/etc/profiles/per-user/tarci/share/pixmaps:/nix/var/nix/profiles/default/share/icons:/nix/var/nix/profiles/default/share/pixmaps:/run/current-system/sw/share/icons:/run/current-system/sw/share/pixmaps
XCURSOR_SIZE=28
XCURSOR_THEME=Vanilla-DMZ