mobile-nixos: import by fetchFromGitHub instead of via flake

This commit is contained in:
Colin 2024-06-07 21:15:54 +00:00
parent 8b607ddefd
commit 11cdac0357
5 changed files with 26 additions and 38 deletions

View File

@ -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",

View File

@ -52,16 +52,6 @@
url = "github:nix-community/nixpkgs-wayland";
inputs.nixpkgs.follows = "nixpkgs-unpatched";
};
mobile-nixos = {
# <https://github.com/nixos/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 = {
# <https://github.com/Mic92/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)
;
};

View File

@ -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?

View File

@ -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);
})

View File

@ -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 { };