Compare commits
8 Commits
master
...
staging/me
Author | SHA1 | Date | |
---|---|---|---|
2631d6f590 | |||
fe16b72081 | |||
a3fb2f06a5 | |||
e8ac4fee7a | |||
fcf6f9f6f3 | |||
398c07ea9f | |||
39edaabcc7 | |||
3a14a44483 |
|
@ -78,6 +78,9 @@
|
||||||
self.overlays.passthru
|
self.overlays.passthru
|
||||||
self.overlays.pins
|
self.overlays.pins
|
||||||
];
|
];
|
||||||
|
# nixpkgs.crossSystem = target;
|
||||||
|
nixpkgs.hostPlatform = target;
|
||||||
|
nixpkgs.buildPlatform = local;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,6 +10,9 @@
|
||||||
sane.services.wg-home.enable = true;
|
sane.services.wg-home.enable = true;
|
||||||
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
|
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
|
||||||
|
|
||||||
|
# TODO: re-enable once base is cross-compiled
|
||||||
|
sane.programs.guiApps.enableSuggested = false;
|
||||||
|
|
||||||
# cross-compiled documentation is *slow*.
|
# cross-compiled documentation is *slow*.
|
||||||
# no obvious way to natively compile docs (2022/09/29).
|
# no obvious way to natively compile docs (2022/09/29).
|
||||||
# entrypoint is nixos/modules/misc/documentation.nix
|
# entrypoint is nixos/modules/misc/documentation.nix
|
||||||
|
|
|
@ -1,22 +1,163 @@
|
||||||
{ config, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkCrossFrom = localSystem: pkgs: import pkgs.path {
|
# these are the overlays which we *also* pass through to the cross and emulated package sets.
|
||||||
inherit localSystem;
|
# TODO: refactor to not specify same overlay in multiple places (here and flake.nix).
|
||||||
|
overlays = [
|
||||||
|
(import ./../../overlays/pkgs.nix)
|
||||||
|
(import ./../../overlays/pins.nix)
|
||||||
|
];
|
||||||
|
mkCrossFrom = localSystem: pkgs:
|
||||||
|
import pkgs.path {
|
||||||
|
inherit localSystem; # localSystem is equivalent to buildPlatform
|
||||||
crossSystem = pkgs.stdenv.hostPlatform.system;
|
crossSystem = pkgs.stdenv.hostPlatform.system;
|
||||||
inherit (config.nixpkgs) config overlays;
|
inherit (config.nixpkgs) config;
|
||||||
|
inherit overlays;
|
||||||
|
};
|
||||||
|
mkEmulated = pkgs:
|
||||||
|
import pkgs.path {
|
||||||
|
localSystem = pkgs.stdenv.hostPlatform.system;
|
||||||
|
inherit (config.nixpkgs) config;
|
||||||
|
inherit overlays;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
# options = {
|
||||||
|
# perlPackageOverrides = lib.mkOption {
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
config = {
|
||||||
# the configuration of which specific package set `pkgs.cross` refers to happens elsewhere;
|
# the configuration of which specific package set `pkgs.cross` refers to happens elsewhere;
|
||||||
# here we just define them all.
|
# here we just define them all.
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(next: prev: {
|
(next: prev: rec {
|
||||||
# non-emulated packages build *from* local *for* target.
|
# non-emulated packages build *from* local *for* target.
|
||||||
# for large packages like the linux kernel which are expensive to build under emulation,
|
# for large packages like the linux kernel which are expensive to build under emulation,
|
||||||
# the config can explicitly pull such packages from `pkgs.cross` to do more efficient cross-compilation.
|
# the config can explicitly pull such packages from `pkgs.cross` to do more efficient cross-compilation.
|
||||||
crossFrom."x86_64-linux" = mkCrossFrom "x86_64-linux" next;
|
crossFrom."x86_64-linux" = mkCrossFrom "x86_64-linux" prev;
|
||||||
crossFrom."aarch64-linux" = mkCrossFrom "aarch64-linux" next;
|
crossFrom."aarch64-linux" = mkCrossFrom "aarch64-linux" prev;
|
||||||
|
|
||||||
|
emulated = mkEmulated prev;
|
||||||
|
})
|
||||||
|
(next: prev:
|
||||||
|
let
|
||||||
|
emulated = prev.emulated;
|
||||||
|
in {
|
||||||
|
# packages which don't cross compile
|
||||||
|
inherit (emulated)
|
||||||
|
# adwaita-qt # psqlodbc
|
||||||
|
apacheHttpd # TODO: not properly patched (we only need mod_dnssd?)
|
||||||
|
appstream
|
||||||
|
blueman
|
||||||
|
brltty
|
||||||
|
cantarell-fonts # python3.10-skia-pathops
|
||||||
|
cdrtools
|
||||||
|
colord
|
||||||
|
duplicity # python3.10-s3transfer
|
||||||
|
evince
|
||||||
|
flakpak
|
||||||
|
fuzzel
|
||||||
|
fwupd-efi
|
||||||
|
fwupd
|
||||||
|
gcr
|
||||||
|
gmime
|
||||||
|
# gnome-keyring
|
||||||
|
# gnome-remote-desktop
|
||||||
|
gnome-tour
|
||||||
|
# gnustep-base # (used by unar)
|
||||||
|
gocryptfs # gocryptfs-2.3-go-modules
|
||||||
|
# grpc
|
||||||
|
gst_all_1 # gst_all_1.gst-editing-services
|
||||||
|
gupnp
|
||||||
|
gupnp_1_6
|
||||||
|
# gvfs
|
||||||
|
flatpak
|
||||||
|
hdf5
|
||||||
|
http2
|
||||||
|
ibus
|
||||||
|
kitty
|
||||||
|
iio-sensor-proxy
|
||||||
|
libHX
|
||||||
|
libgweather
|
||||||
|
librest
|
||||||
|
librest_1_0
|
||||||
|
libsForQt5 # qtbase
|
||||||
|
libuv
|
||||||
|
mod_dnssd
|
||||||
|
ncftp
|
||||||
|
obex_data_server
|
||||||
|
openfortivpn
|
||||||
|
ostree
|
||||||
|
pam_mount
|
||||||
|
perl # perl5.36.0-Test-utf8
|
||||||
|
pipewire
|
||||||
|
psqlodbc
|
||||||
|
pulseaudio # python3.10-defcon
|
||||||
|
# qgnomeplatform
|
||||||
|
# qtbase
|
||||||
|
qt6 # psqlodbc
|
||||||
|
rmlint
|
||||||
|
sequoia
|
||||||
|
# splatmoji
|
||||||
|
squeekboard
|
||||||
|
sysprof
|
||||||
|
tracker-miners # it just can't run tests
|
||||||
|
twitter-color-emoji # python3.10-defcon
|
||||||
|
unar # python3.10-psycopg2
|
||||||
|
visidata # python3.10-psycopg2
|
||||||
|
vpnc
|
||||||
|
webp-pixbuf-loader
|
||||||
|
xdg-utils # perl5.36.0-File-BaseDir
|
||||||
|
;
|
||||||
|
# pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
|
# (py-next: py-prev: {
|
||||||
|
# defcon = py-prev.defcon.override { inherit (prev.emulated) stdenv; };
|
||||||
|
# # psycopg2 = py-prev.psycopg2.override { inherit prev.emulated.stdenv; };
|
||||||
|
# })
|
||||||
|
# ];
|
||||||
|
|
||||||
|
gnome = prev.gnome.overrideScope' (self: super: {
|
||||||
|
inherit (emulated.gnome)
|
||||||
|
gnome-color-manager
|
||||||
|
gnome-keyring
|
||||||
|
gnome-remote-desktop # TODO: figure out what's asking for this and remove it
|
||||||
|
gnome-user-share
|
||||||
|
mutter
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
# gst_all_1.gst-editing-services = emulated.gst_all_1.gst-editing-services;
|
||||||
|
|
||||||
|
# gst_all_1 = prev.gst_all_1.overrideScope' (self: super: {
|
||||||
|
# inherit (emulated.gst_all_1)
|
||||||
|
# gst-editing-services
|
||||||
|
# ;
|
||||||
|
# });
|
||||||
|
|
||||||
|
# libsForQt5 = prev.libsForQt5.overrideScope' (self: super: {
|
||||||
|
# inherit (emulated.libsForQt5)
|
||||||
|
# qtbase
|
||||||
|
# ;
|
||||||
|
# });
|
||||||
|
|
||||||
|
# apacheHttpdPackagesFor = apacheHttpd: self:
|
||||||
|
# let
|
||||||
|
# prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd);
|
||||||
|
# in
|
||||||
|
# (prev.apacheHttpdPackagesFor apacheHttpd self) // {
|
||||||
|
# # inherit (prevHttpdPkgs) mod_dnssd;
|
||||||
|
# mod_dnssd = prevHttpdPkgs.mod_dnssd.override {
|
||||||
|
# inherit (self) apacheHttpd;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# perlPackageOverrides = _perl: {
|
||||||
|
# inherit (pkgs.emulated.perl.pkgs)
|
||||||
|
# Testutf8
|
||||||
|
# ;
|
||||||
|
# };
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,12 +50,15 @@ let
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: split these into smaller groups.
|
||||||
|
# - iphone utils (libimobiledevice, ifuse) only wanted on desko, maybe lappy
|
||||||
|
# - transcoders (ffmpeg, imagemagick) only wanted on desko/lappy
|
||||||
consolePkgs = {
|
consolePkgs = {
|
||||||
inherit (pkgs)
|
inherit (pkgs)
|
||||||
backblaze-b2
|
# backblaze-b2 # TODO: put into the same package set as duplicity
|
||||||
cdrtools
|
cdrtools
|
||||||
dmidecode
|
dmidecode
|
||||||
duplicity
|
# duplicity # TODO: enable as part of some smaller package set
|
||||||
efivar
|
efivar
|
||||||
flashrom
|
flashrom
|
||||||
fwupd
|
fwupd
|
||||||
|
|
|
@ -63,6 +63,26 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# phosh enables `services.gnome.{core-os-services, core-shell}`
|
||||||
|
# and this in turn enables some default apps we don't really care about.
|
||||||
|
# see <nixos/modules/services/x11/desktop-managers/gnome.nix>
|
||||||
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
|
# gnome.gnome-menus # unused outside gnome classic, but probably harmless
|
||||||
|
gnome-tour
|
||||||
|
];
|
||||||
|
services.dleyna-renderer.enable = false;
|
||||||
|
services.dleyna-server.enable = false;
|
||||||
|
services.gnome.gnome-browser-connector.enable = false;
|
||||||
|
services.gnome.gnome-initial-setup.enable = false;
|
||||||
|
services.gnome.gnome-online-accounts.enable = false;
|
||||||
|
services.gnome.gnome-remote-desktop.enable = false;
|
||||||
|
services.gnome.gnome-user-share.enable = false;
|
||||||
|
services.gnome.rygel.enable = false;
|
||||||
|
|
||||||
|
# gnome doesn't use mkDefault for these -- unclear why not
|
||||||
|
services.gnome.evolution-data-server.enable = mkForce false;
|
||||||
|
services.gnome.gnome-online-miners.enable = mkForce false;
|
||||||
|
|
||||||
# XXX: phosh enables networkmanager by default; can probably disable these lines
|
# XXX: phosh enables networkmanager by default; can probably disable these lines
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
22
nixpatches/2023-01-30-mesa-cma-leak.patch
Normal file
22
nixpatches/2023-01-30-mesa-cma-leak.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
|
||||||
|
index 56fa74e5c0c..3573bb0af49 100644
|
||||||
|
--- a/pkgs/development/libraries/mesa/default.nix
|
||||||
|
+++ b/pkgs/development/libraries/mesa/default.nix
|
||||||
|
@@ -88,7 +88,7 @@
|
||||||
|
let
|
||||||
|
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
||||||
|
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
||||||
|
- version = "22.3.4";
|
||||||
|
+ version = "22.3.2";
|
||||||
|
branch = lib.versions.major version;
|
||||||
|
|
||||||
|
withLibdrm = lib.meta.availableOn stdenv.hostPlatform libdrm;
|
||||||
|
@@ -120,7 +120,7 @@ self = stdenv.mkDerivation {
|
||||||
|
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
|
||||||
|
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
||||||
|
];
|
||||||
|
- sha256 = "37a1ddaf03f41919ee3c89c97cff41e87de96e00e9d3247959cc8279d8294593";
|
||||||
|
+ sha256 = "c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b";
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO:
|
|
@ -2,16 +2,15 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673163619,
|
"lastModified": 1675123384,
|
||||||
"narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=",
|
"narHash": "sha256-RpU+kboEWlIYwbRMGIPBIcztH63CvmqWN1B8GpJogd4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe",
|
"rev": "e0fa1ece2f3929726c9b98c539ad14b63ae8e4fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-22.11",
|
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -27,6 +27,11 @@
|
||||||
# allows to actually run signald
|
# allows to actually run signald
|
||||||
./2023-01-25-signald-update.patch
|
./2023-01-25-signald-update.patch
|
||||||
|
|
||||||
|
# fix for CMA memory leak in mesa: <https://gitlab.freedesktop.org/mesa/mesa/-/issues/8198>
|
||||||
|
# only necessary on aarch64.
|
||||||
|
# it's a revert of nixpkgs commit dcf630c172df2a9ecaa47c77f868211e61ae8e52
|
||||||
|
./2023-01-30-mesa-cma-leak.patch
|
||||||
|
|
||||||
# # kaiteki: init at 2022-09-03
|
# # kaiteki: init at 2022-09-03
|
||||||
# vendorHash changes too frequently (might not be reproducible).
|
# vendorHash changes too frequently (might not be reproducible).
|
||||||
# using local package defn until stabilized
|
# using local package defn until stabilized
|
||||||
|
|
|
@ -9,4 +9,15 @@
|
||||||
# so just forward the unstable packages.
|
# so just forward the unstable packages.
|
||||||
inherit (next.stable or prev)
|
inherit (next.stable or prev)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
# 2023/01/30: one test times out. probably flakey test that only got built because i patched mesa.
|
||||||
|
gjs = prev.gjs.overrideAttrs (_upstream: {
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
libadwaita = prev.libadwaita.overrideAttrs (_upstream: {
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
libsecret = prev.libsecret.overrideAttrs (_upstream: {
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user