diff --git a/flake.lock b/flake.lock index 0b89f210..b75b8cab 100644 --- a/flake.lock +++ b/flake.lock @@ -33,11 +33,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1674242456, - "narHash": "sha256-yBy7rCH7EiBe9+CHZm9YB5ii5GRa+MOxeW0oDEBO8SE=", + "lastModified": 1674868155, + "narHash": "sha256-eFNm2h6fNbgD7ZpO4MHikCB5pSnCJ7DTmwPisjetmwc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cdead16a444a3e5de7bc9b0af8e198b11bb01804", + "rev": "ce20e9ebe1903ea2ba1ab006ec63093020c761cb", "type": "github" }, "original": { diff --git a/modules/wsl-distro.nix b/modules/wsl-distro.nix index e75e7f01..dc02a243 100644 --- a/modules/wsl-distro.nix +++ b/modules/wsl-distro.nix @@ -37,20 +37,20 @@ with lib; { mkIf cfg.enable ( mkMerge [ { - # We don't need a boot loader - boot.loader.grub.enable = false; - system.build.installBootLoader = "${pkgs.coreutils}/bin/true"; - boot.initrd.enable = false; - system.build.initialRamdisk = pkgs.runCommand "fake-initrd" { } '' - mkdir $out - touch $out/${config.system.boot.loader.initrdFile} - ''; - system.build.initialRamdiskSecretAppender = pkgs.writeShellScriptBin "append-initrd-secrets" ""; + # WSL uses its own kernel and boot loader + boot = { + initrd.enable = false; + kernel.enable = false; + loader.grub.enable = false; + modprobeConfig.enable = false; + }; + + # WSL does not support virtual consoles + console.enable = false; hardware.opengl.enable = true; # Enable GPU acceleration environment = { - # Only set the options if the files are managed by WSL etc = mkMerge [ (mkIf config.wsl.wslConf.network.generateHosts { @@ -69,6 +69,7 @@ with lib; { ]; }; + # dhcp is handled by windows networking.dhcpcd.enable = false; users.users.${cfg.defaultUser} = { @@ -106,20 +107,16 @@ with lib; { ''; }; + # no udev devices can be attached + services.udev.enable = lib.mkDefault false; + systemd = { # Disable systemd units that don't make sense on WSL services = { - # no virtual console to switch to - "serial-getty@ttyS0".enable = false; - "serial-getty@hvc0".enable = false; - "getty@tty1".enable = false; - "autovt@".enable = false; firewall.enable = false; - systemd-resolved.enable = false; + systemd-resolved.enable = lib.mkDefault false; # system clock cannot be changed systemd-timesyncd.enable = false; - # no udev devices can be attached - systemd-udevd.enable = false; }; # Don't allow emergency mode, because we don't have a console.