about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nix/writers/default.nix1
-rw-r--r--third_party/nixpkgs/default.nix3
-rw-r--r--third_party/overlays/patches/cbtemulator-uds.patch140
-rw-r--r--third_party/overlays/tvl.nix7
-rw-r--r--third_party/rust-crates/default.nix2
-rw-r--r--third_party/sources/sources.json30
-rw-r--r--tvix/eval/src/vm/mod.rs4
-rw-r--r--tvix/glue/src/refscan.rs3
-rw-r--r--tvix/nix-compat/src/nar/reader/mod.rs2
-rw-r--r--tvix/nix-compat/src/nixhash/ca_hash.rs7
-rw-r--r--tvix/shell.nix7
-rw-r--r--users/Profpatsch/git-db/default.nix16
-rw-r--r--users/aspen/system/home/machines/roswell.nix2
-rw-r--r--users/aspen/system/home/modules/common.nix2
-rw-r--r--users/aspen/system/system/machines/ogopogo.nix3
-rw-r--r--users/tazjin/nixos/arbat/default.nix2
-rw-r--r--users/tazjin/nixos/modules/desktop.nix8
-rw-r--r--users/tazjin/nixos/zamalek/default.nix4
-rw-r--r--users/wpcarro/nixos/marcus/default.nix11
19 files changed, 56 insertions, 198 deletions
diff --git a/nix/writers/default.nix b/nix/writers/default.nix
index 55355913a9f4..e849f1cb0e24 100644
--- a/nix/writers/default.nix
+++ b/nix/writers/default.nix
@@ -23,7 +23,6 @@ let
     { name
     , dependencies ? [ ]
     , doCheck ? true
-    ,
     }: src:
     (if doCheck then testRustSimple else pkgs.lib.id)
       (pkgs.buildRustCrate ({
diff --git a/third_party/nixpkgs/default.nix b/third_party/nixpkgs/default.nix
index 03dc7b267c98..3ec49ea084d8 100644
--- a/third_party/nixpkgs/default.nix
+++ b/third_party/nixpkgs/default.nix
@@ -58,6 +58,9 @@ let
 
     # the big lis package change breaks everything in //3p/lisp, undo it for now.
     lispPackages = stableNixpkgs.lispPackages;
+
+    # mypaint is broken on stable (2024-09-05)
+    mypaint = stableNixpkgs.mypaint;
   };
 
   # Overlay to expose the nixpkgs commits we are using to other Nix code.
diff --git a/third_party/overlays/patches/cbtemulator-uds.patch b/third_party/overlays/patches/cbtemulator-uds.patch
deleted file mode 100644
index a19255306f88..000000000000
--- a/third_party/overlays/patches/cbtemulator-uds.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-commit 1397e10225d8c6fd079a86fccd58fb5d0f4200bc
-Author: Florian Klink <flokli@flokli.de>
-Date:   Fri Mar 29 10:06:34 2024 +0100
-
-    feat(bigtable/emulator): allow listening on Unix Domain Sockets
-    
-    cbtemulator listening on unix domain sockets is much easier than trying
-    to allocate free TCP ports, especially if many cbtemulators are run at
-    the same time in integration tests.
-    
-    This adds an additional flag, address, which has priority if it's set,
-    rather than host:port.
-    
-    `NewServer` already takes a `laddr string`, so we simply check for it to
-    contain slashes, and if so, listen on unix, rather than TCP.
-
-diff --git a/bigtable/bttest/inmem.go b/bigtable/bttest/inmem.go
-index 556abc2a85..33e4bf2667 100644
---- a/bttest/inmem.go
-+++ b/bttest/inmem.go
-@@ -40,6 +40,7 @@ import (
- 	"math"
- 	"math/rand"
- 	"net"
-+	"os"
- 	"regexp"
- 	"sort"
- 	"strings"
-@@ -106,7 +107,15 @@ type server struct {
- // The Server will be listening for gRPC connections, without TLS,
- // on the provided address. The resolved address is named by the Addr field.
- func NewServer(laddr string, opt ...grpc.ServerOption) (*Server, error) {
--	l, err := net.Listen("tcp", laddr)
-+	var l net.Listener
-+	var err error
-+
-+	// If the address contains slashes, listen on a unix domain socket instead.
-+	if strings.Contains(laddr, "/") {
-+		l, err = net.Listen("unix", laddr)
-+	} else {
-+		l, err = net.Listen("tcp", laddr)
-+	}
- 	if err != nil {
- 		return nil, err
- 	}
-diff --git a/bigtable/cmd/emulator/cbtemulator.go b/bigtable/cmd/emulator/cbtemulator.go
-index 144c09ffb1..deaf69b717 100644
---- a/cmd/emulator/cbtemulator.go
-+++ b/cmd/emulator/cbtemulator.go
-@@ -27,8 +27,9 @@ import (
- )
- 
- var (
--	host = flag.String("host", "localhost", "the address to bind to on the local machine")
--	port = flag.Int("port", 9000, "the port number to bind to on the local machine")
-+	host    = flag.String("host", "localhost", "the address to bind to on the local machine")
-+	port    = flag.Int("port", 9000, "the port number to bind to on the local machine")
-+	address = flag.String("address", "", "address:port number or unix socket path to listen on. Has priority over host/port")
- )
- 
- const (
-@@ -42,7 +43,15 @@ func main() {
- 		grpc.MaxRecvMsgSize(maxMsgSize),
- 		grpc.MaxSendMsgSize(maxMsgSize),
- 	}
--	srv, err := bttest.NewServer(fmt.Sprintf("%s:%d", *host, *port), opts...)
-+
-+	var laddr string
-+	if *address != "" {
-+		laddr = *address
-+	} else {
-+		laddr = fmt.Sprintf("%s:%d", *host, *port)
-+	}
-+
-+	srv, err := bttest.NewServer(laddr, opts...)
- 	if err != nil {
- 		log.Fatalf("failed to start emulator: %v", err)
- 	}
-commit ce16f843d6c93159d86b3807c6d9ff66e43aac67
-Author: Florian Klink <flokli@flokli.de>
-Date:   Fri Mar 29 11:53:15 2024 +0100
-
-    feat(bigtable): clean up unix socket on close
-    
-    Call srv.Close when receiving an interrupt, and delete the unix domain
-    socket in that function.
-
-diff --git a/bigtable/bttest/inmem.go b/bigtable/bttest/inmem.go
-index 33e4bf2667..0dc96024b1 100644
---- a/bttest/inmem.go
-+++ b/bttest/inmem.go
-@@ -148,6 +148,11 @@ func (s *Server) Close() {
- 
- 	s.srv.Stop()
- 	s.l.Close()
-+
-+	// clean up unix socket
-+	if strings.Contains(s.Addr, "/") {
-+		_ = os.Remove(s.Addr)
-+	}
- }
- 
- func (s *server) CreateTable(ctx context.Context, req *btapb.CreateTableRequest) (*btapb.Table, error) {
-diff --git a/bigtable/cmd/emulator/cbtemulator.go b/bigtable/cmd/emulator/cbtemulator.go
-index deaf69b717..5a9e8f7a8c 100644
---- a/cmd/emulator/cbtemulator.go
-+++ b/cmd/emulator/cbtemulator.go
-@@ -18,9 +18,12 @@ cbtemulator launches the in-memory Cloud Bigtable server on the given address.
- package main
- 
- import (
-+	"context"
- 	"flag"
- 	"fmt"
- 	"log"
-+	"os"
-+	"os/signal"
- 
- 	"cloud.google.com/go/bigtable/bttest"
- 	"google.golang.org/grpc"
-@@ -51,11 +54,18 @@ func main() {
- 		laddr = fmt.Sprintf("%s:%d", *host, *port)
- 	}
- 
-+	ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
-+	defer stop()
-+
- 	srv, err := bttest.NewServer(laddr, opts...)
- 	if err != nil {
- 		log.Fatalf("failed to start emulator: %v", err)
- 	}
- 
- 	fmt.Printf("Cloud Bigtable emulator running on %s\n", srv.Addr)
--	select {}
-+	select {
-+	case <-ctx.Done():
-+		srv.Close()
-+		stop()
-+	}
- }
diff --git a/third_party/overlays/tvl.nix b/third_party/overlays/tvl.nix
index 8d541f103da2..a7cc68b2d994 100644
--- a/third_party/overlays/tvl.nix
+++ b/third_party/overlays/tvl.nix
@@ -90,13 +90,6 @@ depot.nix.readTree.drvTargets {
     };
   }));
 
-  # https://github.com/googleapis/google-cloud-go/pull/9665
-  cbtemulator = super.cbtemulator.overrideAttrs (old: {
-    patches = old.patches or [ ] ++ [
-      ./patches/cbtemulator-uds.patch
-    ];
-  });
-
   crate2nix = super.crate2nix.overrideAttrs (old: {
     patches = old.patches or [ ] ++ [
       # TODO(Kranzes): Remove in next release.
diff --git a/third_party/rust-crates/default.nix b/third_party/rust-crates/default.nix
index 697e47cddefc..678384869d34 100644
--- a/third_party/rust-crates/default.nix
+++ b/third_party/rust-crates/default.nix
@@ -321,6 +321,7 @@ depot.nix.readTree.drvTargets rec{
       pkg-config
     ];
     env.LIBGIT2_NO_VENDOR = "1";
+    meta.broken = true; # TODO(profpatsch): fix git version mismatch
   };
 
   matches = buildRustCrate {
@@ -417,5 +418,6 @@ depot.nix.readTree.drvTargets rec{
       log
       url
     ];
+    meta.broken = true; # TODO(Profpatsch): see libgit2-sys
   };
 }
diff --git a/third_party/sources/sources.json b/third_party/sources/sources.json
index d99dcf1bf6d7..0dc49505b37d 100644
--- a/third_party/sources/sources.json
+++ b/third_party/sources/sources.json
@@ -29,10 +29,10 @@
         "homepage": "https://nix-community.github.io/home-manager/",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "086f619dd991a4d355c07837448244029fc2d9ab",
-        "sha256": "1vlfxqma4g20vffn2ysw1jwd7kwhyc655765dz6af6k15392gg7p",
+        "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
+        "sha256": "1wq1cn8r4igs5bb3fgcn8ima65rk427kkxkl25a0n6adabg35nah",
         "type": "tarball",
-        "url": "https://github.com/nix-community/home-manager/archive/086f619dd991a4d355c07837448244029fc2d9ab.tar.gz",
+        "url": "https://github.com/nix-community/home-manager/archive/c2cd2a52e02f1dfa1c88f95abeb89298d46023be.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "impermanence": {
@@ -41,10 +41,10 @@
         "homepage": "",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a",
-        "sha256": "1c99hc2mv0f5rjxj97wcypyrpi5i3xmpi3sd2fnw2481jxgqn5h3",
+        "rev": "c7f5b394397398c023000cf843986ee2571a1fd7",
+        "sha256": "0znd8asz61l1dm5qnjcqcznjr138ywwwkpqyla571s9z0s3jybvv",
         "type": "tarball",
-        "url": "https://github.com/nix-community/impermanence/archive/23c1f06316b67cb5dabdfe2973da3785cfe9c34a.tar.gz",
+        "url": "https://github.com/nix-community/impermanence/archive/c7f5b394397398c023000cf843986ee2571a1fd7.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "naersk": {
@@ -77,10 +77,10 @@
         "homepage": "",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a58bc8ad779655e790115244571758e8de055e3d",
-        "sha256": "0gnmmn1wc09z1q4bb8jkqi2f8vxl26kaa3xrs664q9i651am2mkl",
+        "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
+        "sha256": "1b47065q41ar9585ra4akb4s4kjwcs3p3g4chrpps8704vz7nx0s",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/a58bc8ad779655e790115244571758e8de055e3d.tar.gz",
+        "url": "https://github.com/NixOS/nixpkgs/archive/71e91c409d1e654808b2621f28a327acfdad8dc2.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "nixpkgs-stable": {
@@ -101,10 +101,10 @@
         "homepage": "",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "ea0bf33a11a26a62c60123c49d96011da396602c",
-        "sha256": "1z21v8c2dyf2rs6nqvgq8vhmw73hidi7byzfxhpzjn7x544yiyb7",
+        "rev": "87b6cffc276795b46ef544d7ed8d7fed6ad9c8e4",
+        "sha256": "01gf3m4a0ljzkxf65lkcvr5kwcjr3mbpjbpppf0djk82mm98qbh4",
         "type": "tarball",
-        "url": "https://github.com/oxalica/rust-overlay/archive/ea0bf33a11a26a62c60123c49d96011da396602c.tar.gz",
+        "url": "https://github.com/oxalica/rust-overlay/archive/87b6cffc276795b46ef544d7ed8d7fed6ad9c8e4.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "rustsec-advisory-db": {
@@ -113,10 +113,10 @@
         "homepage": "https://rustsec.org",
         "owner": "RustSec",
         "repo": "advisory-db",
-        "rev": "1d209d3f18c740f104380e988b5aa8eb360190d1",
-        "sha256": "1fgnjlfkb5zmhyif0s442pl4dalvs663y96mvx4l1mvshnwdxx23",
+        "rev": "fe4d5979b34444815287d61bd2a4e193cebbc7a6",
+        "sha256": "07zfq1bhghxmh5k5wiflnjw105b3fdg1315qkhp4in6qxmhzps66",
         "type": "tarball",
-        "url": "https://github.com/RustSec/advisory-db/archive/1d209d3f18c740f104380e988b5aa8eb360190d1.tar.gz",
+        "url": "https://github.com/RustSec/advisory-db/archive/fe4d5979b34444815287d61bd2a4e193cebbc7a6.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     }
 }
diff --git a/tvix/eval/src/vm/mod.rs b/tvix/eval/src/vm/mod.rs
index 8d89020363e2..49e9fc5864be 100644
--- a/tvix/eval/src/vm/mod.rs
+++ b/tvix/eval/src/vm/mod.rs
@@ -449,8 +449,8 @@ where
     ///    stack. In this case, the frame is not returned to the frame stack.
     ///
     /// 2. The code encounters a generator, in which case the frame in its
-    /// current state is pushed back on the stack, and the generator is left on
-    /// top of it for the outer loop to execute.
+    ///    current state is pushed back on the stack, and the generator is left
+    ///    on top of it for the outer loop to execute.
     ///
     /// 3. An error is encountered.
     ///
diff --git a/tvix/glue/src/refscan.rs b/tvix/glue/src/refscan.rs
index 4393c98614e5..80a126349746 100644
--- a/tvix/glue/src/refscan.rs
+++ b/tvix/glue/src/refscan.rs
@@ -230,7 +230,10 @@ where
                 break;
             }
         }
+
+        #[allow(clippy::needless_borrows_for_generic_args)] // misfiring lint (breaks code below)
         this.scanner.scan(&this.buffer);
+
         Poll::Ready(Ok(&this.buffer[*this.consumed..]))
     }
 
diff --git a/tvix/nix-compat/src/nar/reader/mod.rs b/tvix/nix-compat/src/nar/reader/mod.rs
index 7e9143c8f35f..eef3b10f3c28 100644
--- a/tvix/nix-compat/src/nar/reader/mod.rs
+++ b/tvix/nix-compat/src/nar/reader/mod.rs
@@ -29,9 +29,11 @@ struct ArchiveReader<'a, 'r> {
     inner: &'a mut Reader<'r>,
 
     /// In debug mode, also track when we need to abandon this archive reader.
+    ///
     /// The archive reader must be abandoned when:
     ///   * An error is encountered at any point
     ///   * A file or directory reader is dropped before being read entirely.
+    ///
     /// All of these checks vanish in release mode.
     status: ArchiveReaderStatus<'a>,
 }
diff --git a/tvix/nix-compat/src/nixhash/ca_hash.rs b/tvix/nix-compat/src/nixhash/ca_hash.rs
index 423531696afe..e6cbaf5b710a 100644
--- a/tvix/nix-compat/src/nixhash/ca_hash.rs
+++ b/tvix/nix-compat/src/nixhash/ca_hash.rs
@@ -72,7 +72,8 @@ impl CAHash {
     /// - `text:sha256:$nixbase32sha256digest`
     /// - `fixed:r:$algo:$nixbase32digest`
     /// - `fixed:$algo:$nixbase32digest`
-    /// which is the format that's used in the NARInfo for example.
+    ///
+    /// These formats are used in NARInfo, for example.
     pub fn from_nix_hex_str(s: &str) -> Option<Self> {
         let (tag, s) = s.split_once(':')?;
 
@@ -108,11 +109,13 @@ impl CAHash {
     /// know whether we have a invalid or a missing NixHashWithMode structure in another structure,
     /// e.g. Output.
     /// This means we have this combinatorial situation:
+    ///
     /// - no hash, no hashAlgo: no [CAHash] so we return Ok(None).
     /// - present hash, missing hashAlgo: invalid, we will return missing_field
     /// - missing hash, present hashAlgo: same
     /// - present hash, present hashAlgo: either we return ourselves or a type/value validation
-    /// error.
+    ///   error.
+    ///
     /// This function is for internal consumption regarding those needs until we have a better
     /// solution. Now this is said, let's explain how this works.
     ///
diff --git a/tvix/shell.nix b/tvix/shell.nix
index 947cda269b2f..d6b4bb7d3458 100644
--- a/tvix/shell.nix
+++ b/tvix/shell.nix
@@ -10,13 +10,6 @@
     depot.third_party.sources = import ./sources { };
     additionalOverlays = [
       (self: super: {
-        # https://github.com/googleapis/google-cloud-go/pull/9665
-        cbtemulator = super.cbtemulator.overrideAttrs (old: {
-          patches = old.patches or [ ] ++ [
-            ./nixpkgs/cbtemulator-uds.patch
-          ];
-        });
-
         # macFUSE bump containing fix for https://github.com/osxfuse/osxfuse/issues/974
         # https://github.com/NixOS/nixpkgs/pull/320197
         fuse =
diff --git a/users/Profpatsch/git-db/default.nix b/users/Profpatsch/git-db/default.nix
index ad5d927677bf..340fc3430882 100644
--- a/users/Profpatsch/git-db/default.nix
+++ b/users/Profpatsch/git-db/default.nix
@@ -1,10 +1,12 @@
 { depot, pkgs, lib, ... }:
 
-depot.nix.writers.rustSimple
-{
-  name = "git-db";
-  dependencies = [
-    depot.third_party.rust-crates.git2
-  ];
+(depot.nix.writers.rustSimple
+  {
+    name = "git-db";
+    dependencies = [
+      depot.third_party.rust-crates.git2
+    ];
+  }
+  (builtins.readFile ./git-db.rs)) // {
+  meta.broken = true;
 }
-  (builtins.readFile ./git-db.rs)
diff --git a/users/aspen/system/home/machines/roswell.nix b/users/aspen/system/home/machines/roswell.nix
index 135477b12ddf..600abb052b56 100644
--- a/users/aspen/system/home/machines/roswell.nix
+++ b/users/aspen/system/home/machines/roswell.nix
@@ -34,7 +34,7 @@ in
     openssl
 
     # Nix things
-    nixfmt
+    nixfmt-classic
     nix-prefetch-github
     nixpkgs-review
     cachix
diff --git a/users/aspen/system/home/modules/common.nix b/users/aspen/system/home/modules/common.nix
index b51ae1c7db7e..5117187d6b98 100644
--- a/users/aspen/system/home/modules/common.nix
+++ b/users/aspen/system/home/modules/common.nix
@@ -43,7 +43,7 @@
     openssl
 
     # Nix things
-    nixfmt
+    nixfmt-classic
     nix-prefetch-github
     nixpkgs-review
     cachix
diff --git a/users/aspen/system/system/machines/ogopogo.nix b/users/aspen/system/system/machines/ogopogo.nix
index bbc3860a6322..4b425246034d 100644
--- a/users/aspen/system/system/machines/ogopogo.nix
+++ b/users/aspen/system/system/machines/ogopogo.nix
@@ -83,6 +83,7 @@
     vSync = true;
   };
   hardware.graphics.enable32Bit = true;
+  hardware.nvidia.open = true;
 
   services.postgresql = {
     enable = true;
@@ -90,8 +91,8 @@
     authentication = "host all all 0.0.0.0/0 md5";
     dataDir = "/data/postgresql";
     package = pkgs.postgresql_15;
-    port = 5431;
     settings = {
+      port = 5431;
       wal_level = "logical";
     };
   };
diff --git a/users/tazjin/nixos/arbat/default.nix b/users/tazjin/nixos/arbat/default.nix
index 3bf039e94bae..c87aa445c29c 100644
--- a/users/tazjin/nixos/arbat/default.nix
+++ b/users/tazjin/nixos/arbat/default.nix
@@ -66,8 +66,6 @@ in
     mouse.naturalScrolling = false;
     mouse.disableWhileTyping = true;
   };
-  # services.xserver.libinput.touchpad.clickMethod = "clickfinger";
-  # services.xserver.libinput.touchpad.tapping = false;
 
   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
   system.stateVersion = "24.11";
diff --git a/users/tazjin/nixos/modules/desktop.nix b/users/tazjin/nixos/modules/desktop.nix
index f59b868ad363..6f7c8906334b 100644
--- a/users/tazjin/nixos/modules/desktop.nix
+++ b/users/tazjin/nixos/modules/desktop.nix
@@ -14,11 +14,7 @@
     libinput.enable = true;
 
     xserver = {
-      enable = true;
-      xkb.layout = "us";
-      xkb.options = "caps:super";
-
-      displayManager.sessionPackages = [ pkgs.niri ];
+      enable = true; # wayland doesn't work otherwise ...?!
       displayManager.gdm = {
         enable = true;
         wayland = true;
@@ -26,6 +22,8 @@
     };
   };
 
+  services.displayManager.sessionPackages = [ pkgs.niri ];
+
   programs.xwayland.enable = true;
 
   environment.systemPackages = with pkgs; [
diff --git a/users/tazjin/nixos/zamalek/default.nix b/users/tazjin/nixos/zamalek/default.nix
index e6159444d246..ebaf2d2cfa6d 100644
--- a/users/tazjin/nixos/zamalek/default.nix
+++ b/users/tazjin/nixos/zamalek/default.nix
@@ -74,8 +74,8 @@ in
     graphics.enable = true;
   };
 
-  services.xserver.libinput.touchpad.clickMethod = "clickfinger";
-  services.xserver.libinput.touchpad.tapping = false;
+  services.libinput.touchpad.clickMethod = "clickfinger";
+  services.libinput.touchpad.tapping = false;
   services.avahi.enable = true;
   services.tailscale.enable = true;
 
diff --git a/users/wpcarro/nixos/marcus/default.nix b/users/wpcarro/nixos/marcus/default.nix
index 22bc1ca5e2ce..b9ad5f8ed0a4 100644
--- a/users/wpcarro/nixos/marcus/default.nix
+++ b/users/wpcarro/nixos/marcus/default.nix
@@ -50,13 +50,14 @@ in
       interval = "1d";
     };
 
+    libinput = {
+      enable = true;
+      touchpad.naturalScrolling = false;
+      touchpad.tapping = false;
+    };
+
     xserver = {
       enable = true;
-      libinput = {
-        enable = true;
-        touchpad.naturalScrolling = false;
-        touchpad.tapping = false;
-      };
       xkb.layout = "us";
       xkb.options = "caps:escape";
       displayManager = {