Compare commits
19 Commits
master
...
staging/me
Author | SHA1 | Date |
---|---|---|
Colin | 3fc0233d42 | |
Colin | 9a44b96f57 | |
Colin | 690307e198 | |
Colin | 3da6e1fb41 | |
Colin | 67c561cf8e | |
Colin | f387a21dee | |
Colin | 172a1ed5a6 | |
Colin | 60e30c643d | |
Colin | cba200efb4 | |
Colin | 77ecde7289 | |
Colin | 8390e3d280 | |
Colin | 2631d6f590 | |
Colin | fe16b72081 | |
Colin | a3fb2f06a5 | |
Colin | e8ac4fee7a | |
Colin | fcf6f9f6f3 | |
Colin | 398c07ea9f | |
Colin | 39edaabcc7 | |
Colin | 3a14a44483 |
|
@ -78,6 +78,9 @@
|
|||
self.overlays.passthru
|
||||
self.overlays.pins
|
||||
];
|
||||
# nixpkgs.crossSystem = target;
|
||||
nixpkgs.hostPlatform = target;
|
||||
nixpkgs.buildPlatform = local;
|
||||
}
|
||||
];
|
||||
});
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
sane.gui.sway.enable = true;
|
||||
|
||||
sane.programs.guiApps.suggestedPrograms = [ "desktopGuiApps" ];
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
|
||||
|
||||
sane.programs.guiApps.suggestedPrograms = [ "desktopGuiApps" ];
|
||||
|
||||
sops.secrets.colin-passwd = {
|
||||
sopsFile = ../../../secrets/lappy.yaml;
|
||||
neededForUsers = true;
|
||||
|
|
|
@ -10,6 +10,14 @@
|
|||
sane.services.wg-home.enable = true;
|
||||
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;
|
||||
# compile a subset of the larger mobile package set, until we're ready for it.
|
||||
sane.programs.gpodder-configured.enableFor.user.colin = true;
|
||||
sane.programs.nheko.enableFor.user.colin = true;
|
||||
sane.programs.sublime-music-mobile.enableFor.user.colin = true;
|
||||
sane.programs.vlc.enableFor.user.colin = true;
|
||||
|
||||
# cross-compiled documentation is *slow*.
|
||||
# no obvious way to natively compile docs (2022/09/29).
|
||||
# entrypoint is nixos/modules/misc/documentation.nix
|
||||
|
|
|
@ -1,22 +1,534 @@
|
|||
{ config, ... }:
|
||||
# cross compiling
|
||||
# - for edge-casey things (e.g. `mesonEmulatorHook`, `depsBuildBuild`), see in nixpkgs:
|
||||
# `git show da9a9a440415b236f22f57ba67a24ab3fb53f595`
|
||||
#
|
||||
# build a particular package as evaluated here with:
|
||||
# - toplevel: `nix build '.#host-pkgs.moby-cross.xdg-utils'`
|
||||
# - scoped: `nix build '.#host-pkgs.moby-cross.gnome.mutter'`
|
||||
# - python: `nix build '.#host-pkgs.moby-cross.python310Packages.pandas'`
|
||||
# - perl: `nix build '.#host-pkgs.moby-cross.perl536Packages.ModuleBuild'`
|
||||
# - qt: `nix build '.#host-pkgs.moby-cross.libsForQt5.qtbase'`
|
||||
# most of these can be built in a nixpkgs source root like:
|
||||
# - `nix build '.#pkgsCross.aarch64-multiplatform.xdg-utils'`
|
||||
#
|
||||
# tracking issues, PRs:
|
||||
# - libuv tests fail: <https://github.com/NixOS/nixpkgs/issues/190807>
|
||||
# - last checked: 2023-02-07
|
||||
# - opened: 2022-09-11
|
||||
# - perl Module Build broken: <https://github.com/NixOS/nixpkgs/issues/66741>
|
||||
# - last checked: 2023-02-07
|
||||
# - opened: 2019-08
|
||||
# - perl536Packages.Testutf8 fails to cross: <https://github.com/NixOS/nixpkgs/issues/198548>
|
||||
# - last checked: 2023-02-07
|
||||
# - opened: 2022-10
|
||||
# - python310Packages.psycopg2: <https://github.com/NixOS/nixpkgs/issues/210265>
|
||||
# - last checked: 2023-02-06
|
||||
# - i have a potential fix:
|
||||
# """
|
||||
# i was able to just add `postgresql` to the `buildInputs` (so that it's in both `buildInputs` and `nativeBuildInputs`):
|
||||
# it fixed the build for `pkgsCross.aarch64-multiplatform.python310Packages.psycopg2` but not for `armv7l-hf-multiplatform` that this issue description calls out.
|
||||
#
|
||||
# also i haven't deployed it yet to make sure this doesn't cause anything funky at runtime though.
|
||||
# """
|
||||
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
mkCrossFrom = localSystem: pkgs: import pkgs.path {
|
||||
inherit localSystem;
|
||||
crossSystem = pkgs.stdenv.hostPlatform.system;
|
||||
inherit (config.nixpkgs) config overlays;
|
||||
};
|
||||
# these are the overlays which we *also* pass through to the cross and emulated package sets.
|
||||
# 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;
|
||||
inherit (config.nixpkgs) config;
|
||||
inherit overlays;
|
||||
};
|
||||
mkEmulated = pkgs:
|
||||
import pkgs.path {
|
||||
localSystem = pkgs.stdenv.hostPlatform.system;
|
||||
inherit (config.nixpkgs) config;
|
||||
inherit overlays;
|
||||
};
|
||||
in
|
||||
{
|
||||
# the configuration of which specific package set `pkgs.cross` refers to happens elsewhere;
|
||||
# here we just define them all.
|
||||
nixpkgs.overlays = [
|
||||
(next: prev: {
|
||||
# non-emulated packages build *from* local *for* target.
|
||||
# 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.
|
||||
crossFrom."x86_64-linux" = mkCrossFrom "x86_64-linux" next;
|
||||
crossFrom."aarch64-linux" = mkCrossFrom "aarch64-linux" next;
|
||||
})
|
||||
];
|
||||
# options = {
|
||||
# perlPackageOverrides = lib.mkOption {
|
||||
# };
|
||||
# };
|
||||
|
||||
config = {
|
||||
# the configuration of which specific package set `pkgs.cross` refers to happens elsewhere;
|
||||
# here we just define them all.
|
||||
nixpkgs.overlays = [
|
||||
(next: prev: {
|
||||
# non-emulated packages build *from* local *for* target.
|
||||
# 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.
|
||||
crossFrom."x86_64-linux" = mkCrossFrom "x86_64-linux" prev;
|
||||
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_2_4 # `configure: error: Size of "void *" is less than size of "long"`
|
||||
appstream # meson.build:139:0: ERROR: Program 'gperf' not found or not executable
|
||||
cantarell-fonts # python3.10-skia-pathops
|
||||
colord # (meson) ERROR: An exe_wrapper is needed but was not found. Please define one in cross file and check the command and/or add it to PATH.
|
||||
dante # "configure: error: error: getaddrinfo() error value count too low"
|
||||
# duplicity # python3.10-s3transfer
|
||||
emacs # "configure: error: cannot run test program while cross compiling"
|
||||
flatpak # No package 'libxml-2.0' found
|
||||
fwupd-efi # efi/meson.build:162:0: ERROR: Program or command 'gcc' not found or not executable
|
||||
fwupd # "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)"
|
||||
gcr_4 # meson ERROR: Program 'gpg2 gpg' not found or not executable
|
||||
gmime3 # "checking preferred charset formats for system iconv... cannot run test program while cross compiling"
|
||||
# gnome-keyring
|
||||
# gnome-remote-desktop
|
||||
# gnome-tour
|
||||
gnustep # gnustep.base: "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings."
|
||||
gocryptfs # gocryptfs-2.3-go-modules
|
||||
# grpc
|
||||
gst_all_1 # (gst_all_1.gst-editing-services) `Run-time dependency gst-validate-1.0 found: NO (tried pkgconfig and cmake)`
|
||||
# gupnp_1_6 # subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found
|
||||
gvfs # meson.build:312:2: ERROR: Assert failed: http required but libxml-2.0 not found
|
||||
# flatpak
|
||||
hdf5 # configure: error: cannot run test program while cross compiling
|
||||
# http2
|
||||
ibus # configure.ac:152: error: possibly undefined macro: AM_PATH_GLIB_2_0
|
||||
kitty # "FileNotFoundError: [Errno 2] No such file or directory: 'pkg-config'"
|
||||
iio-sensor-proxy # "./autogen.sh: line 26: gtkdocize: not found"
|
||||
libgccjit # "../../gcc-9.5.0/gcc/jit/jit-result.c:52:3: error: 'dlclose' was not declared in this scope"
|
||||
libgweather # "Run-time dependency vapigen found: NO (tried pkgconfig)"
|
||||
libjcat # data/tests/meson.build:10:0: ERROR: Program 'gnutls-certtool certtool' not found or not executable
|
||||
libsForQt5 # qtbase # make: g++: No such file or directory
|
||||
mod_dnssd # "configure: error: *** Sorry, could not find apxs ***"
|
||||
networkmanager-iodine # configure.ac:58: error: possibly undefined macro: AM_GLIB_GNU_GETTEXT
|
||||
notmuch # "Error: The dependencies of notmuch could not be satisfied" (xapian, gmime, glib, talloc)
|
||||
obex_data_server # "/nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 2: --prefix=ods_manager: command not found"
|
||||
openfortivpn # "checking for /proc/net/route... configure: error: cannot check for file existence when cross compiling"
|
||||
ostree # "configure: error: Need GPGME_PTHREAD version 1.1.8 or later"
|
||||
perlInterpreters # perl5.36.0-Module-Build perl5.36.0-Test-utf8 (see tracking issues ^)
|
||||
phoc # Program wayland-scanner found: NO
|
||||
phosh # libadwaita-1 not found
|
||||
phosh-mobile-settings # meson.build:26:0: ERROR: Dependency "phosh-plugins" not found, tried pkgconfig
|
||||
psqlodbc # "configure: error: odbc_config not found (required for unixODBC build)"
|
||||
# qgnomeplatform
|
||||
# qtbase
|
||||
qt6 # error in psqlodbc, not fixed by emulating only psqlodbc above for some reason
|
||||
rapidfuzz-cpp # error: could not find git for clone of catch2-populate
|
||||
re2 # FAILED: CMakeFiles/test.util
|
||||
rmlint # "Checking whether the C compiler works... no"
|
||||
sequoia # "/nix/store/q8hg17w47f9xr014g36rdc2gi8fv02qc-clang-aarch64-unknown-linux-gnu-12.0.1-lib/lib/libclang.so.12: cannot open shared object file: No such file or directory"', /build/sequoia-0.27.0-vendor.tar.gz/bindgen/src/lib.rs:1975:31"
|
||||
# splatmoji
|
||||
squeekboard # meson.build:1:0: ERROR: 'rust' compiler binary not defined in cross or native file
|
||||
tracker-miners # "meson.build:183:0: ERROR: Can not run test applications in this cross environment."
|
||||
twitter-color-emoji # /nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 1: pkg-config: command not found
|
||||
# unar has multiple failures:
|
||||
# - "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings. Please check for a more recent version or consider using --enable-nxconstantstring"
|
||||
# - "/nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 1: ar: command not found"
|
||||
unar
|
||||
visidata # python3.10-psycopg2 python3.10-pandas python3.10-h5py
|
||||
# vpnc # "/nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 1: perl: command not found"
|
||||
webp-pixbuf-loader # install phase: "Builder called die: Cannot wrap '/nix/store/kpp8qhzdjqgvw73llka5gpnsj0l4jlg8-gdk-pixbuf-aarch64-unknown-linux-gnu-2.42.10/bin/gdk-pixbuf-thumbnailer' because it is not an executable file"
|
||||
# webkitgtk_4_1 # requires nativeBuildInputs = perl.pkgs.FileCopyRecursive => perl5.36.0-Test-utf8
|
||||
# xdg-desktop-portal-gnome # data/meson.build:33:5: ERROR: Program 'msgfmt' not found or not executable
|
||||
# xdg-utils # perl5.36.0-File-BaseDir / perl5.36.0-Module-Build
|
||||
;
|
||||
|
||||
# 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;
|
||||
# };
|
||||
# };
|
||||
# appstream = prev.appstream.override {
|
||||
# # doesn't fix: "ld: error adding symbols: file in wrong format"
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
# appstream = prev.appstream.overrideAttrs (orig: {
|
||||
# # fixes "Program 'gperf' not found or not executable"
|
||||
# # does not fix "ERROR: An exe_wrapper is needed but was not found. Please define one in cross file and check the command and/or add it to PATH."
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ next.gperf ];
|
||||
# });
|
||||
|
||||
blueman = prev.blueman.overrideAttrs (orig: {
|
||||
# configure: error: ifconfig or ip not found, install net-tools or iproute2
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.iproute2 ];
|
||||
});
|
||||
brltty = prev.brltty.override {
|
||||
# configure: error: no acceptable C compiler found in $PATH
|
||||
inherit (emulated) stdenv;
|
||||
};
|
||||
cdrtools = prev.cdrtools.override {
|
||||
# "configure: error: installation or configuration problem: C compiler cc not found."
|
||||
inherit (emulated) stdenv;
|
||||
};
|
||||
# colord = prev.colord.override {
|
||||
# # doesn't fix: "ld: error adding symbols: file in wrong format"
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
|
||||
# evince = prev.evince.override {
|
||||
# # doesn't fix: "ld: error adding symbols: file in wrong format"
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
# flatpak = prev.flatpak.override {
|
||||
# # doesn't fix: "ld: error adding symbols: file in wrong format"
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
fuzzel = prev.fuzzel.override {
|
||||
# meson.build:100:0: ERROR: Dependency lookup for wayland-scanner with method 'pkgconfig' failed: Pkg-config binary for machine 0 not found. Giving up.
|
||||
inherit (emulated) stdenv;
|
||||
};
|
||||
# fwupd-efi = prev.fwupd-efi.override {
|
||||
# # efi/meson.build:33:2: ERROR: Problem encountered: gnu-efi support requested, but headers were not found
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
# fwupd = prev.fwupd.overrideAttrs (orig: {
|
||||
# # solves (meson) "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)", and others.
|
||||
# # some of these are kinda sus. maybe upstream fwupd buildscript is iffy
|
||||
# buildInputs = orig.buildInputs ++ [ next.gcab next.gi-docgen next.gnutls next.pkg-config ];
|
||||
# });
|
||||
|
||||
gmime = prev.gmime.overrideAttrs (orig: {
|
||||
# "checking preferred charset formats for system iconv... cannot run test program while cross compiling"
|
||||
configureFlags = orig.configureFlags ++ [ "ac_cv_have_iconv_detect_h=no" ];
|
||||
});
|
||||
# gmime3 = prev.gmime3.overrideAttrs (orig: {
|
||||
# # "checking preferred charset formats for system iconv... cannot run test program while cross compiling"
|
||||
# # unsolved: "ImportError: /nix/store/c190src4bjkfp7bdgc5sadnmvgzv7kxb-gobject-introspection-aarch64-unknown-linux-gnu-1.74.0/lib/gobject-introspection/giscanner/_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory"
|
||||
# configureFlags = orig.configureFlags ++ [ "ac_cv_have_iconv_detect_h=no" ];
|
||||
# });
|
||||
gupnp_1_6 = prev.gupnp_1_6.overrideAttrs (orig: {
|
||||
# "subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found"
|
||||
# this patch is copied from the default gupnp.
|
||||
# TODO: upstream
|
||||
outputs = [ "out" "dev" ]
|
||||
++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
||||
mesonFlags = [
|
||||
"-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
|
||||
"-Dintrospection=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
|
||||
];
|
||||
});
|
||||
|
||||
gnome = prev.gnome.overrideScope' (self: super: {
|
||||
inherit (emulated.gnome)
|
||||
evolution-data-server # "The 'perl' not found, not installing csv2vcard"
|
||||
gnome-keyring # configure.ac:374: error: possibly undefined macro: AM_PATH_LIBGCRYPT
|
||||
gnome-shell # "meson.build:128:0: ERROR: Program 'gjs' not found or not executable"
|
||||
gnome-settings-daemon # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable
|
||||
mutter # meson.build:237:2: ERROR: Dependency "gbm" not found, tried pkgconfig (it's provided by mesa)
|
||||
;
|
||||
evince = super.evince.overrideAttrs (orig: {
|
||||
# fixes (meson) "Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)"
|
||||
# inspired by gupnp
|
||||
outputs = [ "out" "dev" ]
|
||||
++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
||||
mesonFlags = orig.mesonFlags ++ [
|
||||
"-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
|
||||
];
|
||||
});
|
||||
# evolution-data-server = super.evolution-data-server.override {
|
||||
# inherit (next) stdenv;
|
||||
# };
|
||||
# evolution-data-server = super.evolution-data-server.overrideAttrs (orig: {
|
||||
# # fixes "The 'perl' not found, not installing csv2vcard"
|
||||
# # doesn't fix "CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately"
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ next.perl ];
|
||||
# });
|
||||
gnome-color-manager = super.gnome-color-manager.overrideAttrs (orig: {
|
||||
# fixes: "src/meson.build:3:0: ERROR: Program 'glib-compile-resources' not found or not executable"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
gnome-control-center = super.gnome-control-center.overrideAttrs (orig: {
|
||||
# fixes "subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
# gnome-control-center = super.gnome-control-center.override {
|
||||
# inherit (next) stdenv;
|
||||
# };
|
||||
gnome-remote-desktop = super.gnome-remote-desktop.overrideAttrs (orig: {
|
||||
# TODO: remove gnome-remote-desktop (wanted by gnome-control-center)
|
||||
# fixes: "Program gdbus-codegen found: NO"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
# gnome-shell = super.gnome-shell.overrideAttrs (orig: {
|
||||
# # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable"
|
||||
# # does not fix "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" (python import failure)
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ next.gjs next.gobject-introspection ];
|
||||
# # try to reduce gobject-introspection/shew dependencies
|
||||
# mesonFlags = [
|
||||
# "-Dextensions_app=false"
|
||||
# "-Dextensions_tool=false"
|
||||
# "-Dman=false"
|
||||
# ];
|
||||
# # fixes "gvc| Build-time dependency gobject-introspection-1.0 found: NO"
|
||||
# # inspired by gupnp_1_6
|
||||
# # outputs = [ "out" "dev" ]
|
||||
# # ++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
||||
# # mesonFlags = [
|
||||
# # "-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
|
||||
# # ];
|
||||
# });
|
||||
# gnome-shell = super.gnome-shell.override {
|
||||
# inherit (next) stdenv;
|
||||
# };
|
||||
# gnome-settings-daemon = super.gnome-settings-daemon.overrideAttrs (orig: {
|
||||
# # fixes "subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable"
|
||||
# # new error: "plugins/power/meson.build:22:0: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Pkg-config binary for machine 0 not found. Giving up."
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
# });
|
||||
gnome-session = super.gnome-session.overrideAttrs (orig: {
|
||||
# fixes: "gdbus-codegen not found or executable"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
gnome-user-share = super.gnome-user-share.overrideAttrs (orig: {
|
||||
# fixes: meson.build:111:6: ERROR: Program 'glib-compile-schemas' not found or not executable
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
# mutter = super.mutter.override {
|
||||
# # DOES NOT FIX: "meson.build:237:2: ERROR: Dependency "gbm" not found, tried pkgconfig (it's provided by mesa)"
|
||||
# inherit (next) stdenv;
|
||||
# };
|
||||
});
|
||||
|
||||
# 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
|
||||
# ;
|
||||
# });
|
||||
# gvfs = prev.gvfs.overrideAttrs (orig: {
|
||||
# # meson.build:312:2: ERROR: Assert failed: http required but libxml-2.0 not found
|
||||
# # nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.libxml2 prev.mesonEmulatorHook ];
|
||||
# # TODO: gvfs 1.50.2 -> 1.50.3 upgrade is upstreamed, and fixed cross compilation
|
||||
# version = "1.50.3";
|
||||
# src = next.fetchurl {
|
||||
# url = "mirror://gnome/sources/gvfs/1.50/gvfs-1.50.3.tar.xz";
|
||||
# sha256 = "aJcRnpe7FgKdJ3jhpaVKamWSYx+LLzoqHepO8rAYA/0=";
|
||||
# };
|
||||
# patches = [
|
||||
# # Hardcode the ssh path again.
|
||||
# # https://gitlab.gnome.org/GNOME/gvfs/-/issues/465
|
||||
# (next.fetchpatch2 {
|
||||
# url = "https://gitlab.gnome.org/GNOME/gvfs/-/commit/8327383e262e1e7f32750a8a2d3dd708195b0f53.patch";
|
||||
# hash = "sha256-ReD7qkezGeiJHyo9jTqEQNBjECqGhV9nSD+dYYGZWJ8=";
|
||||
# revert = true;
|
||||
# })
|
||||
# ];
|
||||
# });
|
||||
|
||||
# ibus = prev.ibus.override {
|
||||
# # "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory"
|
||||
# inherit (emulated) stdenv;
|
||||
# };
|
||||
|
||||
libHX = prev.libHX.overrideAttrs (orig: {
|
||||
# "Can't exec "libtoolize": No such file or directory at /nix/store/r4fvx9hazsm0rdm7s393zd5v665dsh1c-autoconf-2.71/share/autoconf/Autom4te/FileUtils.pm line 294."
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.libtool ];
|
||||
});
|
||||
|
||||
librest = prev.librest.overrideAttrs (orig: {
|
||||
# fixes "You must have gtk-doc >= 1.13 installed to build documentation"
|
||||
# by removing the "--enable-gtk-doc" flag
|
||||
configureFlags = [ "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt" ];
|
||||
});
|
||||
librest_1_0 = prev.librest_1_0.overrideAttrs (orig: {
|
||||
# fixes (meson) "Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)"
|
||||
# inspired by gupnp
|
||||
outputs = [ "out" "dev" ]
|
||||
++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
||||
mesonFlags = orig.mesonFlags ++ [
|
||||
"-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
|
||||
];
|
||||
});
|
||||
# libsForQt5 = prev.libsForQt5.overrideScope' (self: super: {
|
||||
# inherit (emulated.libsForQt5)
|
||||
# qtbase
|
||||
# ;
|
||||
# });
|
||||
|
||||
libuv = prev.libuv.overrideAttrs (orig: {
|
||||
# 2 tests fail:
|
||||
# - not ok 261 - tcp_bind6_error_addrinuse
|
||||
# - not ok 267 - tcp_bind_error_addrinuse_listen
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
ncftp = prev.ncftp.override {
|
||||
# fixes: "ar: No such file or directory"
|
||||
inherit (emulated) stdenv;
|
||||
};
|
||||
networkmanager-fortisslvpn = prev.networkmanager-fortisslvpn.overrideAttrs (orig: {
|
||||
# fixes "gdbus-codegen: command not found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
# networkmanager-iodine = prev.networkmanager-iodine.overrideAttrs (orig: {
|
||||
# # fails to fix "configure.ac:58: error: possibly undefined macro: AM_GLIB_GNU_GETTEXT"
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.gettext ];
|
||||
# });
|
||||
networkmanager-l2tp = prev.networkmanager-l2tp.overrideAttrs (orig: {
|
||||
# fixes "gdbus-codegen: command not found"
|
||||
# fixes "gtk4-builder-tool: command not found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib prev.gtk4 ];
|
||||
});
|
||||
networkmanager-openconnect = prev.networkmanager-openconnect.overrideAttrs (orig: {
|
||||
# fixes "properties/gresource.xml: Permission denied"
|
||||
# - by providing glib-compile-resources
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
networkmanager-openvpn = prev.networkmanager-openvpn.overrideAttrs (orig: {
|
||||
# fixes "properties/gresource.xml: Permission denied"
|
||||
# - by providing glib-compile-resources
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
networkmanager-sstp = prev.networkmanager-sstp.overrideAttrs (orig: {
|
||||
# fixes "gdbus-codegen: command not found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
networkmanager-vpnc = prev.networkmanager-vpnc.overrideAttrs (orig: {
|
||||
# fixes "properties/gresource.xml: Permission denied"
|
||||
# - by providing glib-compile-resources
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
nheko = prev.nheko.overrideAttrs (orig: {
|
||||
# fixes "fatal error: lmdb++.h: No such file or directory
|
||||
buildInputs = orig.buildInputs ++ [ next.lmdbxx ];
|
||||
});
|
||||
|
||||
pam_mount = prev.pam_mount.overrideAttrs (orig: {
|
||||
# fixes: "perl: command not found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.perl ];
|
||||
});
|
||||
|
||||
# perlPackageOverrides = _perl: {
|
||||
# inherit (pkgs.emulated.perl.pkgs)
|
||||
# Testutf8
|
||||
# ;
|
||||
# };
|
||||
|
||||
pipewire = prev.pipewire.overrideAttrs (orig: {
|
||||
# fix `spa/plugins/bluez5/meson.build:41:0: ERROR: Program 'gdbus-codegen' not found or not executable`
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||
});
|
||||
|
||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||
(py-next: py-prev: {
|
||||
defcon = py-prev.defcon.overridePythonAttrs (orig: {
|
||||
# TODO: diagnose and upstream
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs;
|
||||
});
|
||||
executing = py-prev.executing.overridePythonAttrs (orig: {
|
||||
# TODO: confirm & upstream
|
||||
# test has an assertion that < 1s of CPU time elapsed => flakey
|
||||
disabledTestPaths = orig.disabledTestPaths or [] ++ [
|
||||
# "tests/test_main.py::TestStuff::test_many_source_for_filename_calls"
|
||||
"tests/test_main.py"
|
||||
];
|
||||
});
|
||||
# h5py = py-prev.h5py.overridePythonAttrs (orig: {
|
||||
# # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY.
|
||||
# # - the `setup_configure.py` in h5py tries to dlopen (and call into) the hdf5 lib to query the version and detect features like MPI
|
||||
# # - it could be patched with ~10 LoC in the HDF5LibWrapper class.
|
||||
# #
|
||||
# # expose numpy and hdf5 as available at build time
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs ++ orig.buildInputs;
|
||||
# buildInputs = [];
|
||||
# # HDF5_DIR = "${hdf5}";
|
||||
# });
|
||||
mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: {
|
||||
# TODO: diagnose and upstream
|
||||
nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
||||
});
|
||||
pandas = py-prev.pandas.overridePythonAttrs (orig: {
|
||||
# TODO: upstream
|
||||
# XXX: we only actually need numpy when building in ~/nixpkgs repo: not sure why we need all the propagatedBuildInputs here.
|
||||
# nativeBuildInputs = orig.nativeBuildInputs ++ [ py-next.numpy ];
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
||||
});
|
||||
psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: {
|
||||
# TODO: upstream (see tracking issue)
|
||||
#
|
||||
# psycopg2 *links* against libpg, so we need the host postgres available at build time!
|
||||
# present-day nixpkgs only includes it in nativeBuildInputs
|
||||
buildInputs = orig.buildInputs ++ [ next.postgresql ];
|
||||
});
|
||||
s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: {
|
||||
# tests explicitly expect host CPU == build CPU
|
||||
# Bail out! ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion failed: (success)
|
||||
# Bail out! ERROR:../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu)
|
||||
disabledTestPaths = orig.disabledTestPaths ++ [
|
||||
# "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure"
|
||||
"tests/functional/test_processpool.py"
|
||||
# "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start"
|
||||
"tests/unit/test_compat.py"
|
||||
];
|
||||
});
|
||||
# skia-pathops
|
||||
# it tries to call `cc` during the build, but can't find it.
|
||||
})
|
||||
];
|
||||
# squeekboard = prev.squeekboard.overrideAttrs (orig: {
|
||||
# # fixes: "meson.build:1:0: ERROR: 'rust' compiler binary not defined in cross or native file"
|
||||
# # new error: "meson.build:1:0: ERROR: Rust compiler rustc --target aarch64-unknown-linux-gnu -C linker=aarch64-unknown-linux-gnu-gcc can not compile programs."
|
||||
# mesonFlags =
|
||||
# let
|
||||
# # ERROR: 'rust' compiler binary not defined in cross or native file
|
||||
# crossFile = next.writeText "cross-file.conf" ''
|
||||
# [binaries]
|
||||
# rust = [ 'rustc', '--target', '${next.rust.toRustTargetSpec next.stdenv.hostPlatform}' ]
|
||||
# '';
|
||||
# in
|
||||
# orig.mesonFlags or [] ++ lib.optionals (next.stdenv.hostPlatform != next.stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
|
||||
# });
|
||||
strp = prev.srtp.overrideAttrs (orig: {
|
||||
# roc_driver test times out after 30s
|
||||
doCheck = false;
|
||||
});
|
||||
sysprof = prev.sysprof.overrideAttrs (orig: {
|
||||
# fixes: "src/meson.build:12:2: ERROR: Program 'gdbus-codegen' not found or not executable"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
tpm2-abrmd = prev.tpm2-abrmd.overrideAttrs (orig: {
|
||||
# fixes "configure: error: *** gdbus-codegen is required to build tpm2-abrmd; No package 'gio-unix-2.0' found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||
});
|
||||
|
||||
# unar = (prev.unar.override {
|
||||
# # fixes "ar: command not found"
|
||||
# # new error: "gcc: error: unrecognized command line option '-fobjc-runtime=gnustep-2.0'"
|
||||
# inherit (emulated) stdenv;
|
||||
# });
|
||||
|
||||
vpnc = prev.vpnc.overrideAttrs (orig: {
|
||||
# fixes "perl: command not found"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.perl ];
|
||||
});
|
||||
xdg-desktop-portal-gtk = prev.xdg-desktop-portal-gtk.overrideAttrs (orig: {
|
||||
# fixes "No package 'xdg-desktop-portal' found"
|
||||
buildInputs = orig.buildInputs ++ [ next.xdg-desktop-portal ];
|
||||
});
|
||||
xdg-desktop-portal-gnome = prev.xdg-desktop-portal-gnome.overrideAttrs (orig: {
|
||||
# fixes: "data/meson.build:33:5: ERROR: Program 'msgfmt' not found or not executable"
|
||||
# fixes: "src/meson.build:25:0: ERROR: Program 'gdbus-codegen' not found or not executable"
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.gettext next.glib ];
|
||||
});
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,11 +4,23 @@ let
|
|||
inherit (builtins) attrNames concatLists;
|
||||
inherit (lib) mapAttrs mapAttrsToList mkDefault mkMerge optional;
|
||||
|
||||
flattenedPkgs = pkgs // (with pkgs; {
|
||||
# XXX can't `inherit` a nested attr, so we move them to the toplevel
|
||||
"cacert.unbundled" = pkgs.cacert.unbundled;
|
||||
"gnome.cheese" = gnome.cheese;
|
||||
"gnome.dconf-editor" = gnome.dconf-editor;
|
||||
"gnome.file-roller" = gnome.file-roller;
|
||||
"gnome.gnome-disk-utility" = gnome.gnome-disk-utility;
|
||||
"gnome.gnome-maps" = gnome.gnome-maps;
|
||||
"gnome.nautilus" = gnome.nautilus;
|
||||
"gnome.gnome-system-monitor" = gnome.gnome-system-monitor;
|
||||
"gnome.gnome-terminal" = gnome.gnome-terminal;
|
||||
"gnome.gnome-weather" = gnome.gnome-weather;
|
||||
"libsForQt5.plasmatube" = libsForQt5.plasmatube;
|
||||
});
|
||||
|
||||
sysadminPkgs = {
|
||||
inherit (pkgs // {
|
||||
# XXX can't `inherit` a nested attr, so we move them to the toplevel
|
||||
"cacert.unbundled" = pkgs.cacert.unbundled;
|
||||
})
|
||||
inherit (flattenedPkgs)
|
||||
btrfs-progs
|
||||
"cacert.unbundled" # some services require unbundled /etc/ssl/certs
|
||||
cryptsetup
|
||||
|
@ -50,12 +62,16 @@ 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 = {
|
||||
inherit (pkgs)
|
||||
backblaze-b2
|
||||
aerc # email client
|
||||
# backblaze-b2 # TODO: put into the same package set as duplicity
|
||||
cdrtools
|
||||
dmidecode
|
||||
duplicity
|
||||
# duplicity # TODO: enable as part of some smaller package set
|
||||
efivar
|
||||
flashrom
|
||||
fwupd
|
||||
|
@ -99,41 +115,22 @@ let
|
|||
visidata
|
||||
w3m
|
||||
wireguard-tools
|
||||
xdg-utils # for xdg-open
|
||||
# youtube-dl
|
||||
yt-dlp
|
||||
;
|
||||
};
|
||||
|
||||
guiPkgs = {
|
||||
inherit (pkgs // (with pkgs; {
|
||||
# XXX can't `inherit` a nested attr, so we move them to the toplevel
|
||||
# TODO: could use some "flatten attrs" helper instead
|
||||
"gnome.cheese" = gnome.cheese;
|
||||
"gnome.dconf-editor" = gnome.dconf-editor;
|
||||
"gnome.file-roller" = gnome.file-roller;
|
||||
"gnome.gnome-disk-utility" = gnome.gnome-disk-utility;
|
||||
"gnome.gnome-maps" = gnome.gnome-maps;
|
||||
"gnome.nautilus" = gnome.nautilus;
|
||||
"gnome.gnome-system-monitor" = gnome.gnome-system-monitor;
|
||||
"gnome.gnome-terminal" = gnome.gnome-terminal;
|
||||
"gnome.gnome-weather" = gnome.gnome-weather;
|
||||
"libsForQt5.plasmatube" = libsForQt5.plasmatube;
|
||||
}))
|
||||
aerc # email client
|
||||
audacity
|
||||
inherit (flattenedPkgs)
|
||||
celluloid # mpv frontend
|
||||
chromium
|
||||
clinfo
|
||||
dino
|
||||
electrum
|
||||
element-desktop
|
||||
emote
|
||||
evince # works on phosh
|
||||
|
||||
# { pkg = fluffychat-moby; dir = [ ".local/share/chat.fluffy.fluffychat" ]; } # TODO: ship normal fluffychat on non-moby?
|
||||
|
||||
foliate # e-book reader
|
||||
font-manager
|
||||
# foliate # e-book reader
|
||||
|
||||
# XXX by default fractal stores its state in ~/.local/share/<UUID>.
|
||||
# after logging in, manually change ~/.local/share/keyrings/... to point it to some predictable subdir.
|
||||
|
@ -141,14 +138,11 @@ let
|
|||
# { pkg = fractal-latest; private = [ ".local/share/fractal" ]; }
|
||||
# { pkg = fractal-next; private = [ ".local/share/fractal" ]; }
|
||||
|
||||
gajim # XMPP client
|
||||
gimp # broken on phosh
|
||||
"gnome.cheese"
|
||||
# "gnome.cheese"
|
||||
"gnome.dconf-editor"
|
||||
gnome-feeds # RSS reader (with claimed mobile support)
|
||||
"gnome.file-roller"
|
||||
"gnome.gnome-disk-utility"
|
||||
"gnome.gnome-maps" # works on phosh
|
||||
# "gnome.gnome-maps" # works on phosh
|
||||
"gnome.nautilus"
|
||||
# gnome-podcasts
|
||||
"gnome.gnome-system-monitor"
|
||||
|
@ -156,21 +150,15 @@ let
|
|||
"gnome.gnome-weather"
|
||||
gpodder-configured
|
||||
gthumb
|
||||
inkscape
|
||||
kdenlive
|
||||
kid3 # audio tagging
|
||||
krita
|
||||
libreoffice-fresh # XXX colin: maybe don't want this on mobile
|
||||
lollypop
|
||||
# lollypop
|
||||
mpv
|
||||
networkmanagerapplet
|
||||
newsflash
|
||||
# newsflash
|
||||
nheko
|
||||
obsidian
|
||||
pavucontrol
|
||||
# picard # music tagging
|
||||
playerctl
|
||||
"libsForQt5.plasmatube" # Youtube player
|
||||
# "libsForQt5.plasmatube" # Youtube player
|
||||
soundconverter
|
||||
# sublime music persists any downloaded albums here.
|
||||
# it doesn't obey a conventional ~/Music/{Artist}/{Album}/{Track} notation, so no symlinking
|
||||
|
@ -178,15 +166,33 @@ let
|
|||
# possible to pass config as a CLI arg (sublime-music -c config.json)
|
||||
# { pkg = sublime-music; dir = [ ".local/share/sublime-music" ]; }
|
||||
sublime-music-mobile
|
||||
tdesktop # broken on phosh
|
||||
tokodon
|
||||
# tdesktop # broken on phosh
|
||||
# tokodon
|
||||
vlc
|
||||
# pleroma client (Electron). input is broken on phosh. TODO(2023/02/02): fix electron19 input (insecure)
|
||||
# whalebird
|
||||
xdg-utils # for xdg-open
|
||||
xterm # broken on phosh
|
||||
;
|
||||
};
|
||||
desktopGuiPkgs = {
|
||||
inherit (flattenedPkgs)
|
||||
audacity
|
||||
chromium
|
||||
dino
|
||||
electrum
|
||||
element-desktop
|
||||
font-manager
|
||||
gajim # XMPP client
|
||||
gimp # broken on phosh
|
||||
"gnome.gnome-disk-utility"
|
||||
inkscape
|
||||
kdenlive
|
||||
kid3 # audio tagging
|
||||
krita
|
||||
libreoffice-fresh # XXX colin: maybe don't want this on mobile
|
||||
obsidian
|
||||
;
|
||||
};
|
||||
x86GuiPkgs = {
|
||||
inherit (pkgs)
|
||||
discord
|
||||
|
@ -221,6 +227,7 @@ in
|
|||
(declarePkgs sysadminPkgs)
|
||||
(declarePkgs consolePkgs)
|
||||
(declarePkgs guiPkgs)
|
||||
(declarePkgs desktopGuiPkgs)
|
||||
(declarePkgs x86GuiPkgs)
|
||||
{
|
||||
# link the various package sets into their own meta packages
|
||||
|
@ -237,6 +244,10 @@ in
|
|||
suggestedPrograms = (attrNames guiPkgs)
|
||||
++ optional (pkgs.system == "x86_64-linux") "x86GuiApps";
|
||||
};
|
||||
desktopGuiApps = {
|
||||
package = null;
|
||||
suggestedPrograms = attrNames desktopGuiPkgs;
|
||||
};
|
||||
x86GuiApps = {
|
||||
package = null;
|
||||
suggestedPrograms = attrNames x86GuiPkgs;
|
||||
|
|
|
@ -63,6 +63,28 @@ 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;
|
||||
# TODO: re-enable this once we can cross-compile gvfs
|
||||
services.gvfs.enable = mkForce false;
|
||||
|
||||
# XXX: phosh enables networkmanager by default; can probably disable these lines
|
||||
networking.useDHCP = false;
|
||||
networking.networkmanager.enable = true;
|
||||
|
|
|
@ -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": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1673163619,
|
||||
"narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=",
|
||||
"lastModified": 1675123384,
|
||||
"narHash": "sha256-RpU+kboEWlIYwbRMGIPBIcztH63CvmqWN1B8GpJogd4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe",
|
||||
"rev": "e0fa1ece2f3929726c9b98c539ad14b63ae8e4fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-22.11",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -27,6 +27,11 @@
|
|||
# allows to actually run signald
|
||||
./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
|
||||
# vendorHash changes too frequently (might not be reproducible).
|
||||
# using local package defn until stabilized
|
||||
|
|
|
@ -9,4 +9,15 @@
|
|||
# so just forward the unstable packages.
|
||||
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;
|
||||
});
|
||||
})
|
||||
|
|
|
@ -13,7 +13,7 @@ in
|
|||
(symlinkJoin {
|
||||
name = "gpodder-configured";
|
||||
paths = [ gpodder remove-extra ];
|
||||
buildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# gpodder keeps all its feeds in a sqlite3 database.
|
||||
# we can configure the feeds externally by wrapping gpodder and just instructing it to import
|
||||
|
|
Loading…
Reference in New Issue