diff options
-rw-r--r-- | nix/writers/default.nix | 1 | ||||
-rw-r--r-- | third_party/nixpkgs/default.nix | 3 | ||||
-rw-r--r-- | third_party/overlays/patches/cbtemulator-uds.patch | 140 | ||||
-rw-r--r-- | third_party/overlays/tvl.nix | 7 | ||||
-rw-r--r-- | third_party/rust-crates/default.nix | 2 | ||||
-rw-r--r-- | third_party/sources/sources.json | 30 | ||||
-rw-r--r-- | tvix/eval/src/vm/mod.rs | 4 | ||||
-rw-r--r-- | tvix/glue/src/refscan.rs | 3 | ||||
-rw-r--r-- | tvix/nix-compat/src/nar/reader/mod.rs | 2 | ||||
-rw-r--r-- | tvix/nix-compat/src/nixhash/ca_hash.rs | 7 | ||||
-rw-r--r-- | tvix/shell.nix | 7 | ||||
-rw-r--r-- | users/Profpatsch/git-db/default.nix | 16 | ||||
-rw-r--r-- | users/aspen/system/home/machines/roswell.nix | 2 | ||||
-rw-r--r-- | users/aspen/system/home/modules/common.nix | 2 | ||||
-rw-r--r-- | users/aspen/system/system/machines/ogopogo.nix | 3 | ||||
-rw-r--r-- | users/tazjin/nixos/arbat/default.nix | 2 | ||||
-rw-r--r-- | users/tazjin/nixos/modules/desktop.nix | 8 | ||||
-rw-r--r-- | users/tazjin/nixos/zamalek/default.nix | 4 | ||||
-rw-r--r-- | users/wpcarro/nixos/marcus/default.nix | 11 |
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 = { |