From 11cdac0357f9cf7b63df238012a1ef65170eeaf7 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 7 Jun 2024 21:15:54 +0000 Subject: [PATCH] mobile-nixos: import by fetchFromGitHub instead of via flake --- flake.lock | 18 ------------------ flake.nix | 16 +--------------- modules/image.nix | 10 +++++----- pkgs/additional/mobile-nixos/default.nix | 19 +++++++++++++++++++ pkgs/default.nix | 1 + 5 files changed, 26 insertions(+), 38 deletions(-) create mode 100644 pkgs/additional/mobile-nixos/default.nix diff --git a/flake.lock b/flake.lock index 16204f08a..2bd4ce55a 100644 --- a/flake.lock +++ b/flake.lock @@ -74,23 +74,6 @@ "type": "github" } }, - "mobile-nixos": { - "flake": false, - "locked": { - "lastModified": 1694749521, - "narHash": "sha256-MiVokKlpcJmfoGuWAMeW1En7gZ5hk0rCQArYm6P9XCc=", - "owner": "nixos", - "repo": "mobile-nixos", - "rev": "d25d3b87e7f300d8066e31d792337d9cd7ecd23b", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "d25d3b87e7f300d8066e31d792337d9cd7ecd23b", - "repo": "mobile-nixos", - "type": "github" - } - }, "nix-eval-jobs": { "inputs": { "flake-parts": "flake-parts", @@ -254,7 +237,6 @@ }, "root": { "inputs": { - "mobile-nixos": "mobile-nixos", "nixpkgs-next-unpatched": "nixpkgs-next-unpatched", "nixpkgs-staging-unpatched": "nixpkgs-staging-unpatched", "nixpkgs-unpatched": "nixpkgs-unpatched", diff --git a/flake.nix b/flake.nix index d44294690..5f004b01f 100644 --- a/flake.nix +++ b/flake.nix @@ -52,16 +52,6 @@ url = "github:nix-community/nixpkgs-wayland"; inputs.nixpkgs.follows = "nixpkgs-unpatched"; }; - - mobile-nixos = { - # - # only used for building disk images, not relevant after deployment - # TODO: replace with something else. commit `0f3ac0bef1aea70254a3bae35e3cc2561623f4c1` - # replaces the imageBuilder with a "new implementation from celun" and wildly breaks my use. - # pinning to d25d3b... is equivalent to holding at 2023-09-15 - url = "github:nixos/mobile-nixos?ref=d25d3b87e7f300d8066e31d792337d9cd7ecd23b"; - flake = false; - }; sops-nix = { # # used to distribute secrets to my hosts @@ -83,7 +73,6 @@ nixpkgs-next-unpatched ? nixpkgs-unpatched, nixpkgs-staging-unpatched ? nixpkgs-unpatched, nixpkgs-wayland, - mobile-nixos, sops-nix, uninsane-dot-org, ... @@ -222,11 +211,9 @@ default = final: prev: self.overlays.pkgs final prev; sane-all = final: prev: import ./overlays/all.nix final prev; pkgs = final: prev: import ./overlays/pkgs.nix final prev; - pins = final: prev: import ./overlays/pins.nix final prev; preferences = final: prev: import ./overlays/preferences.nix final prev; passthru = final: prev: let - mobile = (import "${mobile-nixos}/overlay/overlay.nix"); uninsane = uninsane-dot-org.overlays.default; wayland = final: prev: { # default is to dump the packages into `waylandPkgs` *and* the toplevel. @@ -237,8 +224,7 @@ ; }; in - (mobile final prev) - // (uninsane final prev) + (uninsane final prev) // (wayland final prev) ; }; diff --git a/modules/image.nix b/modules/image.nix index b7ee000f5..2d929ffad 100644 --- a/modules/image.nix +++ b/modules/image.nix @@ -111,11 +111,11 @@ in vfatUuidFromFs = fs: builtins.replaceStrings ["-"] [""] (uuidFromFs fs); fsBuilderMapBoot = { - "vfat" = pkgs.imageBuilder.fileSystem.makeESP; + "vfat" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeESP; }; fsBuilderMapNix = { - "ext4" = pkgs.imageBuilder.fileSystem.makeExt4; - "btrfs" = pkgs.imageBuilder.fileSystem.makeBtrfs; + "ext4" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeExt4; + "btrfs" = pkgs.mobile-nixos.imageBuilder.fileSystem.makeBtrfs; }; bootFsImg = fsBuilderMapBoot."${bootFs.fsType}" { @@ -162,7 +162,7 @@ in cp -v ${closureInfo}/registration ./nix-path-registration ''; }; - img = (pkgs.imageBuilder.diskImage.makeGPT { + img = (pkgs.mobile-nixos.imageBuilder.diskImage.makeGPT { name = "nixos"; diskID = vfatUuidFromFs bootFs; # leave some space for firmware @@ -170,7 +170,7 @@ in # Tow-Boot manages to do that; not sure how. headerHole = cfg.extraGPTPadding; partitions = [ - (pkgs.imageBuilder.gap cfg.firstPartGap) + (pkgs.mobile-nixos.imageBuilder.gap cfg.firstPartGap) ] ++ lib.optionals (cfg.platformPartSize != null) [ { name = "kernel"; #< TODO: is it safe to rename this? diff --git a/pkgs/additional/mobile-nixos/default.nix b/pkgs/additional/mobile-nixos/default.nix new file mode 100644 index 000000000..cda92d06f --- /dev/null +++ b/pkgs/additional/mobile-nixos/default.nix @@ -0,0 +1,19 @@ +{ pkgs +, fetchFromGitHub +}: +let + src = fetchFromGitHub { + owner = "nixos"; + repo = "mobile-nixos"; + # XXX: commit `0f3ac0bef1aea70254a3bae35e3cc2561623f4c1` + # replaces the imageBuilder with a "new implementation from celun" and wildly breaks my use. + # pinning to d25d3b... is equivalent to holding at 2023-09-15 + rev = "d25d3b87e7f300d8066e31d792337d9cd7ecd23b"; + hash = "sha256-MiVokKlpcJmfoGuWAMeW1En7gZ5hk0rCQArYm6P9XCc="; + }; + overlay = import "${src}/overlay/overlay.nix"; + final = pkgs.appendOverlays [ overlay ]; +in src.overrideAttrs (base: { + # passthru only mobile-nixos' own packages -- not the whole nixpkgs-with-mobile-nixos-as-overlay: + passthru = base.passthru // (overlay final pkgs); +}) diff --git a/pkgs/default.nix b/pkgs/default.nix index ea7c30efa..0132ba7f5 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -60,6 +60,7 @@ let linux-postmarketos-exynos5 = callPackage ./additional/linux-postmarketos-exynos5 { }; mcg = callPackage ./additional/mcg { }; megapixels-next = callPackage ./additional/megapixels-next { }; + mobile-nixos = callPackage ./additional/mobile-nixos { }; modemmanager-split = callPackage ./additional/modemmanager-split { }; mx-sanebot = callPackage ./additional/mx-sanebot { }; networkmanager-split = callPackage ./additional/networkmanager-split { };