diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index da2e3288936d..38feb4165cf4 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -84,7 +84,7 @@ let # If you prefer a stable release instead, you can change the word unstable to the latest number shown here: https://nixos.org/download # i.e. nixos-24.11 # Use `nix flake update` to update the flake to the latest revision of the chosen release channel. - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.zst"; }; outputs = inputs\@{ self, nixpkgs, ... }: { # NOTE: '${options.networking.hostName.default}' is the default hostname diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 5681165a4e15..61366c3ea75f 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -24,6 +24,8 @@ let hostPkgs = cfg.host.pkgs; + useVirtiofs = hostPkgs.stdenv.hostPlatform.isLinux; + consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles; driveOptions = @@ -324,23 +326,25 @@ let '' )} - echo "Starting virtiofs daemons..." - NIX_VIRTIOFS_DIR=$(mktemp -d) - ${lib.concatLines ( - lib.mapAttrsToList (tag: share: '' - ${lib.getExe hostPkgs.virtiofsd} \ - --socket-path="$NIX_VIRTIOFS_DIR"/"${tag}" \ - --shared-dir="${share.source}" \ - ${if share.writable then "--writeback" else "--readonly"} \ - --sandbox=none \ - --seccomp=none \ - --cache=always \ - --no-announce-submounts \ - --translate-uid=host:65534:0:1 \ - --translate-gid=host:65534:0:1 \ - & - '') cfg.sharedDirectories - )} + ${lib.optionalString useVirtiofs '' + echo "Starting virtiofs daemons..." + NIX_VIRTIOFS_DIR=$(mktemp -d) + ${lib.concatLines ( + lib.mapAttrsToList (tag: share: '' + ${lib.getExe hostPkgs.virtiofsd} \ + --socket-path="$NIX_VIRTIOFS_DIR"/"${tag}" \ + --shared-dir="${share.source}" \ + ${if share.writable then "--writeback" else "--readonly"} \ + --sandbox=none \ + --seccomp=none \ + --cache=always \ + --no-announce-submounts \ + --translate-uid=host:65534:0:1 \ + --translate-gid=host:65534:0:1 \ + & + '') cfg.sharedDirectories + )} + ''} # Start QEMU. exec ${ @@ -437,11 +441,11 @@ in (mkRemovedOptionModule [ "virtualisation" "msize" - ] "9p was replaced with virtiofs and thus this option is obsolete.") + ] "The 9p msize is no longer configurable.") (mkRemovedOptionModule [ "virtualisation" "nixStore9pCache" - ] "9p was replaced with virtiofs and thus this option is obsolete.") + ] "The 9p cache mode for the Nix store is no longer configurable.") ]; options = { @@ -592,8 +596,9 @@ in }; description = '' An attributes set of directories that will be shared with the - virtual machine using VirtFS (9P filesystem over VirtIO). - The attribute name will be used as the 9P mount tag. + virtual machine using virtiofs on Linux hosts and VirtFS (9P filesystem + over VirtIO) on other hosts. The attribute name will be used as the + mount tag. ''; }; @@ -1278,10 +1283,20 @@ in "-machine memory-backend=mem0" ]) (lib.flatten ( - lib.mapAttrsToList (tag: share: [ - "-chardev socket,id=${tag},path=$NIX_VIRTIOFS_DIR/${tag}" - "-device vhost-user-fs-pci,chardev=${tag},tag=${tag}" - ]) cfg.sharedDirectories + lib.mapAttrsToList ( + tag: share: + if useVirtiofs then + [ + "-chardev socket,id=${tag},path=$NIX_VIRTIOFS_DIR/${tag}" + "-device vhost-user-fs-pci,chardev=${tag},tag=${tag}" + ] + else + [ + "-virtfs local,path=${share.source},security_model=none,mount_tag=${tag}${ + lib.optionalString (!share.writable) ",readonly=on" + }" + ] + ) cfg.sharedDirectories )) ( let @@ -1373,9 +1388,20 @@ in name = share.target; value = { device = tag; - fsType = "virtiofs"; + fsType = if useVirtiofs then "virtiofs" else "9p"; neededForBoot = true; - options = lib.mkIf (!share.writable) [ "ro" ]; + options = + if useVirtiofs then + lib.mkIf (!share.writable) [ "ro" ] + else + [ + "trans=virtio" + "version=9p2000.L" + "msize=16384" + "x-systemd.requires=modprobe@9pnet_virtio.service" + ] + ++ lib.optional (tag == "nix-store") "cache=loose" + ++ lib.optional (!share.writable) "ro"; }; }) cfg.sharedDirectories) { @@ -1488,8 +1514,6 @@ in (isEnabled "VIRTIO_PCI") (isEnabled "VIRTIO_NET") (isEnabled "EXT4_FS") - (isEnabled "NET_9P_VIRTIO") - (isEnabled "9P_FS") (isYes "BLK_DEV") (isYes "PCI") (isYes "NETDEVICES") @@ -1497,6 +1521,15 @@ in (isYes "INET") (isYes "NETWORK_FILESYSTEMS") ] + ++ ( + if useVirtiofs then + [ (isEnabled "VIRTIO_FS") ] + else + [ + (isEnabled "NET_9P_VIRTIO") + (isEnabled "9P_FS") + ] + ) ++ optionals (!cfg.graphics) [ (isYes "SERIAL_8250_CONSOLE") (isYes "SERIAL_8250") diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 65b70865adee..343033d99541 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -32,18 +32,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "1.39.5"; + version = "1.39.6"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; tag = "v${finalAttrs.version}"; - hash = "sha256-k9JW6GMXFwphkYGcYMwA59uafNj0EV96wTnbzeuVM1w="; + hash = "sha256-cBYn/g6eLT5rTumo4Y24rWSHS2Sc7gFthPuCg1AQ22k="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src; - hash = "sha256-hbh4+vpZtVpda2yVZK+fkdPXWd5+GYLbWYPfJsYtPfM="; + hash = "sha256-djiIwZie9HjQ/+bCEGniMFkJA66oI0n+9y9Iax4GHOM="; }; postPatch = '' diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index fccc7b4f1618..ac4d2d5c74c2 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.16.6"; + version = "0.16.7"; __structuredAttrs = true; @@ -24,12 +24,12 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-D4/bCgMlaa+hBp9exisCuab6h2aJXxdj014qE1+60JM="; + hash = "sha256-djWM6RWAgMpvRnuRyyAAjb7OmfVB+whyB3q35C8z1u8="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-GCsUqGuWXfP9WiCzq20Xjl70mXv8a1RtvUg1+IK3TKo="; + cargoHash = "sha256-EknMZ4fuWJs0/iB+AkX4ZLMY9E6DAxk+k2tKtTbA1yo="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 5e27f13231c7..66976d48fd8d 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -5,38 +5,38 @@ "lts": false }, "6.1": { - "version": "6.1.187", - "hash": "sha256:0av4fcw3hv4pfql85s2rirxj7hkdr2kdasj219kwl257xa57jvhv", + "version": "6.1.188", + "hash": "sha256:0fm3048h1c98gxhpwjprjc2jkrhhwaac1vw91hikbhh72g5hlkgd", "lts": true }, "5.15": { - "version": "5.15.220", - "hash": "sha256:08v7mbwvfgy9vv60j2ssdks4ss218p27rkwwrmjch2hj0ljrkcmm", + "version": "5.15.221", + "hash": "sha256:130ll4gnj2779kpx8x4r6v28vnwjn4qdw9ksaq3f5vr8wphq4y60", "lts": true }, "5.10": { - "version": "5.10.269", - "hash": "sha256:1sf6iikwr9rikdi097xplz7yw1jj4cx6ldng7gzp8rj0360icnlw", + "version": "5.10.270", + "hash": "sha256:1rzb9ms2v04gwwka7d8byaxrcfymlikslq36p1p1zsabn0ldawyy", "lts": true }, "6.6": { - "version": "6.6.156", - "hash": "sha256:07a1dyaxmcv289r0n4agna2li2rfsjdld8279cs18jmg9r52dqmf", + "version": "6.6.157", + "hash": "sha256:0c4c42qzr2vcbqglb9vq5q5vqv4mbqasq1n93j3vf288cg846jmp", "lts": true }, "6.12": { - "version": "6.12.109", - "hash": "sha256:1yp370f2y5czvq24xqply8f6a14gnpjqkfmfyhcm1q9lld9fb12l", + "version": "6.12.110", + "hash": "sha256:0k2w1lr3h1d814707vfmj826gaz67a9n3msla96zzdlvhghikvlc", "lts": true }, "6.18": { - "version": "6.18.51", - "hash": "sha256:04znimsjfimxxaarzaksn4jvkj1xr5ba7yh1j691ykdzb3w60bxs", + "version": "6.18.52", + "hash": "sha256:1f11had1amrvhl5f606ikc9ykrlyf0rvln8rkf2hrsjggm7mcs9b", "lts": true }, "7.2": { - "version": "7.2.5", - "hash": "sha256:0y1bcg3pg6zm59bjfrgh1bsy68kxjy9vvxygdzcxmn95hggz1pam", + "version": "7.2.6", + "hash": "sha256:01pnc344dx239hkfl84hpfdpm7gc08yzrz7llgnlm6dhya2fz6h3", "lts": false } } diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index d7112f3d536f..a6b22fba574e 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -138,6 +138,7 @@ let jobs.stdenv.aarch64-darwin jobs.vim.aarch64-darwin jobs.cachix.aarch64-darwin + jobs.darwin.linux-builder.aarch64-darwin # UI apps # jobs.firefox-unwrapped.aarch64-darwin @@ -220,6 +221,7 @@ let jobs.vim.aarch64-darwin jobs.inkscape.aarch64-darwin jobs.qt5.qtmultimedia.aarch64-darwin + jobs.darwin.linux-builder.aarch64-darwin /* jobs.tests.cc-wrapper.default.aarch64-darwin jobs.tests.cc-wrapper.llvmPackages.clang.aarch64-darwin