Commit Graph
931088 Commits
Author SHA1 Message Date
Jan TojnarandGitHub 83cef26a44 libwpe: 1.16.2 -> 1.16.3 (#445681) 2026-01-19 09:45:22 +00:00
Gutyina Gergő 0e032794b8 lua-language-server: drop maintainer sei40kr 2026-01-19 10:42:02 +01:00
nixpkgs-ci[bot]andGitHub 33957d4e5d hawkeye: 6.4.0 -> 6.4.1 (#481420) 2026-01-19 09:41:37 +00:00
nixpkgs-ci[bot]andGitHub ee5b723fea labelle: 1.4.2 -> 1.4.3 (#480945) 2026-01-19 09:41:28 +00:00
Gutyina Gergő 3480cf37cb lua-language-server: 3.16.1 -> 3.17.0 2026-01-19 10:38:40 +01:00
R. Ryantm 502a92dc61 python3Packages.django-filer: 3.4.1 -> 3.4.3 2026-01-19 09:37:54 +00:00
Kierán MeinhardtandArian van Putten be846f5e47 nixos/nspawn-container: assign getty TODO to @arianvp
Co-Authored-By: Arian van Putten <arian.vanputten@gmail.com>
2026-01-19 10:36:38 +01:00
Kierán Meinhardt f4baee30bb nixos/virtualisation: factor out common networking options between qemu-vm and nspawn-container 2026-01-19 10:36:38 +01:00
Kierán Meinhardt 1e3c78f75d nixos/nspawn-container: run-nspawn as cli application 2026-01-19 10:36:38 +01:00
Kierán Meinhardt 7ba279d21e nixos/nspawn-container: rename initArgs to cmdline 2026-01-19 10:36:38 +01:00
Kierán Meinhardt 835e38cf1a nixos/nspawn-container: clarify format of virtualisation.systemd-nspawn option tree 2026-01-19 10:36:37 +01:00
Kierán Meinhardt 46303ebf09 nixos/nspawn-container: fix typo in virtualisation.allInterfaces 2026-01-19 10:36:37 +01:00
Kierán Meinhardt 40f2d0b242 nixos/nspawn-container: fix typo in comment 2026-01-19 10:36:37 +01:00
Jeremy FleischmanandKierán Meinhardt 4bd5482aa6 nixos/nspawn-container: init a new nspawn-container profile
This shares a lot in common with the
<nixos/modules/virtualisation/nixos-containers.nix> infrastructure, but
is designed to behave like our `qemu-vm.nix` profile (provides a lot of
the same `virtualisation.*` options, produces a simple script you can
run).

This lays the groundwork to be able to rework the nixos test
infrastructure to allow for containers as well as qemu nodes. That work
isn't quite done yet, but if you want more context, you can see the
followup work in <https://github.com/applicative-systems/nixpkgs/compare/nspawn-container-profile...applicative-systems:nixpkgs:nixos-test-containers>.

Credit due to the [Clan.lol](https://clan.lol/) team for first
implementing this. I'm just cleaning it up and making it play nicely
with upstream.

To try it out, create a `demo.nix`:

```nix
let
  pkgs = import ./. { };
  mkContainer =
    {
      nodeNumber,
      vlans,
    }:
    pkgs.nixos (
      {
        config,
        modulesPath,
        pkgs,
        lib,
        ...
      }:
      let
        interfaces = lib.attrValues config.virtualisation.allInterfaces;

        # Automatically assign IP addresses to requested interfaces.
        assignIPs = lib.filter (i: i.assignIP) interfaces;
        ipInterfaces = lib.forEach assignIPs (
          i:
          lib.nameValuePair i.name {
            ipv4.addresses = [
              {
                address = "192.168.${toString i.vlan}.${toString nodeNumber}";
                prefixLength = 24;
              }
            ];
          }
        );
      in
      {
        imports = [ "${modulesPath}/virtualisation/nspawn-container" ];
        users.users.root.password = "";

        networking.hostName = "c${toString nodeNumber}";
        virtualisation.vlans = vlans;
        networking.interfaces = lib.listToAttrs ipInterfaces;

        environment.systemPackages = [ pkgs.neovim ];
        system.stateVersion = lib.trivial.release;
      }
    );
in
{
  container1 = mkContainer {
    nodeNumber = 1;
    vlans = [ 1 ];
  };
  container2 = mkContainer {
    nodeNumber = 2;
    vlans = [ 2 ];
  };
  container12 = mkContainer {
    nodeNumber = 12;
    vlans = [
      1
      2
    ];
  };
}
```

Build and run the machines in separate terminals (unfortunately,
`systemd-nspawn` requires `sudo`):

```console
$ sudo $(nix-build ./demo.nix -A container1.config.system.build.nspawn)/bin/run-c1-nspawn
$ sudo $(nix-build ./demo.nix -A container2.config.system.build.nspawn)/bin/run-c2-nspawn
$ sudo $(nix-build ./demo.nix -A container12.config.system.build.nspawn)/bin/run-c12-nspawn
```

You can log into this machines as `root`, and verify they can ping each
other:

`c1` can ping `c12`:

```
[root@c1:~]# ping 192.168.1.12 -c 1
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data.
64 bytes from 192.168.1.12: icmp_seq=1 ttl=64 time=0.164 ms
...
```

So can `c2`:

```
[root@c2:~]# ping 192.168.2.12
PING 192.168.2.12 (192.168.2.12) 56(84) bytes of data.
64 bytes from 192.168.2.12: icmp_seq=1 ttl=64 time=0.127 ms
```
2026-01-19 10:36:37 +01:00
kirillrdyandGitHub dfe0520457 gemini-cli-bin: 0.22.5 -> 0.24.4 and use ripgrep from nixpkgs (#479314) 2026-01-19 09:36:10 +00:00
Gaetan Lepage dde8c23da2 python3Packages.torch-geometric: skip failing tests on python>=3.14 2026-01-19 09:35:44 +00:00
R. Ryantm 93f1770864 screenly-cli: 1.0.5 -> 1.1.0 2026-01-19 09:33:51 +00:00
Gutyina Gergő e665f2e7bb python3Packages.unify: remove superfluous pythonOlder 2026-01-19 10:31:53 +01:00
Gutyina Gergő 899c0c8d80 python3Packages.swagger-ui-bundle: remove superfluous pythonOlder 2026-01-19 10:31:53 +01:00
Gutyina Gergő 30d6e9d411 python3Packages.snscrape: remove superfluous pythonOlder 2026-01-19 10:31:53 +01:00
Gutyina Gergő 6b65f6c2c6 python3Packages.skorch: remove superfluous pythonOlder 2026-01-19 10:31:53 +01:00
Gutyina Gergő 696bc004c4 python3Packages.shiboken2: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő e511bd649a python3Packages.schema-salad: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 236437fae5 python3Packages.scancode-toolkit: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 68b5c0d7ff python3Packages.ray: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő de2bfd58ed python3Packages.pyside2: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 77a5ff56b6 python3Packages.pykakasi: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő e84a57437a python3Packages.pycairo: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 4590fce06d python3Packages.pluthon: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 85538dc908 python3Packages.pendulum: remove superfluous pythonOlder 2026-01-19 10:31:52 +01:00
Gutyina Gergő 465d0d8295 python3Packages.paddle-bfloat: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő ca5186caab python3Packages.openapi-spec-validator: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő 1369f0cc41 python3Packages.numpy_1: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő 8ee22e3aac python3Packages.mockupdb: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő c12e158c61 python3Packages.jsonschema-specifications: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő aca8316ca2 python3Packages.jaraco-text: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő 7ffceffe05 python3Packages.iso4217: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő 37962196fd python3Packages.injector: remove superfluous pythonOlder 2026-01-19 10:31:51 +01:00
Gutyina Gergő cab474c1fb python3Packages.ignite: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 2831b34187 python3Packages.guessit: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 0b49a77700 python3Packages.echo: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 10190dcf21 python3Packages.cssutils: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 66fe841c4b python3Packages.click-odoo-contrib: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő ad7a8b788c python3Packages.bacpypes: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 365fa3bb57 python3Packages.annoted-types: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő 30aa61ec00 xandikos: remove superfluous pythonOlder 2026-01-19 10:31:50 +01:00
Gutyina Gergő fb31a06cc3 unblob: remove superfluous pythonOlder 2026-01-19 10:31:49 +01:00
Gutyina Gergő 1320453bc5 ubi_reader: remove superfluous pythonOlder 2026-01-19 10:31:49 +01:00
Gutyina Gergő 3db930841b tg: remove superfluous pythonOlder 2026-01-19 10:31:49 +01:00
Gutyina Gergő ce5793b8e6 or-tools: remove superfluous pythonOlder 2026-01-19 10:31:49 +01:00