Merge branch 'staging/mesa-downgrade-10' into dev/moby
moby can cross compile, desko can still build without recompiling *everything* (only mesa & derivatives)
This commit is contained in:
@@ -1,22 +0,0 @@
|
||||
{ config, ... }:
|
||||
|
||||
let
|
||||
mkCrossFrom = localSystem: pkgs: import pkgs.path {
|
||||
inherit localSystem;
|
||||
crossSystem = pkgs.stdenv.hostPlatform.system;
|
||||
inherit (config.nixpkgs) config 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;
|
||||
})
|
||||
];
|
||||
}
|
1187
hosts/common/cross/default.nix
Normal file
1187
hosts/common/cross/default.nix
Normal file
File diff suppressed because it is too large
Load Diff
22
hosts/common/cross/kitty-no-docs.patch
Normal file
22
hosts/common/cross/kitty-no-docs.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 2b9d240e..770bc5e7 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1092,11 +1092,12 @@ def c(base_path: str, **kw: object) -> None:
|
||||
|
||||
|
||||
def create_linux_bundle_gunk(ddir: str, libdir_name: str) -> None:
|
||||
- if not os.path.exists('docs/_build/html'):
|
||||
- make = 'gmake' if is_freebsd else 'make'
|
||||
- run_tool([make, 'docs'])
|
||||
- copy_man_pages(ddir)
|
||||
- copy_html_docs(ddir)
|
||||
+ if not os.getenv('KITTY_NO_DOCS'):
|
||||
+ if not os.path.exists('docs/_build/html'):
|
||||
+ make = 'gmake' if is_freebsd else 'make'
|
||||
+ run_tool([make, 'docs'])
|
||||
+ copy_man_pages(ddir)
|
||||
+ copy_html_docs(ddir)
|
||||
for (icdir, ext) in {'256x256': 'png', 'scalable': 'svg'}.items():
|
||||
icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', icdir, 'apps')
|
||||
safe_makedirs(icdir)
|
@@ -1,7 +1,7 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./cross.nix
|
||||
./cross
|
||||
./feeds.nix
|
||||
./fs.nix
|
||||
./hardware.nix
|
||||
@@ -42,16 +42,29 @@
|
||||
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
fonts = with pkgs; [ font-awesome twitter-color-emoji hack-font ];
|
||||
fonts = with pkgs; [ font-awesome noto-fonts-emoji hack-font ];
|
||||
fontconfig.enable = true;
|
||||
fontconfig.defaultFonts = {
|
||||
emoji = [ "Font Awesome 6 Free" "Twitter Color Emoji" ];
|
||||
emoji = [ "Font Awesome 6 Free" "Noto Color Emoji" ];
|
||||
monospace = [ "Hack" ];
|
||||
serif = [ "DejaVu Serif" ];
|
||||
sansSerif = [ "DejaVu Sans" ];
|
||||
};
|
||||
};
|
||||
|
||||
# XXX: twitter-color-emoji doesn't cross-compile; but not-fonts-emoji does
|
||||
# fonts = {
|
||||
# enableDefaultFonts = true;
|
||||
# fonts = with pkgs; [ font-awesome twitter-color-emoji hack-font ];
|
||||
# fontconfig.enable = true;
|
||||
# fontconfig.defaultFonts = {
|
||||
# emoji = [ "Font Awesome 6 Free" "Twitter Color Emoji" ];
|
||||
# monospace = [ "Hack" ];
|
||||
# serif = [ "DejaVu Serif" ];
|
||||
# sansSerif = [ "DejaVu Sans" ];
|
||||
# };
|
||||
# };
|
||||
|
||||
# disable non-required packages like nano, perl, rsync, strace
|
||||
environment.defaultPackages = [];
|
||||
|
||||
|
@@ -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
|
||||
@@ -75,6 +87,8 @@ let
|
||||
;
|
||||
};
|
||||
|
||||
# TODO: split these into smaller groups.
|
||||
# - transcoders (ffmpeg, imagemagick) only wanted on desko/lappy ("powerutils"?)
|
||||
consolePkgs = {
|
||||
inherit (pkgs)
|
||||
cdrtools
|
||||
@@ -116,40 +130,22 @@ let
|
||||
# tageditor # music tagging
|
||||
unar
|
||||
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;
|
||||
}))
|
||||
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.
|
||||
@@ -157,14 +153,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"
|
||||
@@ -172,21 +165,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
|
||||
@@ -194,15 +181,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
|
||||
@@ -235,6 +240,7 @@ in
|
||||
config = {
|
||||
sane.programs = mkMerge [
|
||||
(declarePkgs consolePkgs)
|
||||
(declarePkgs desktopGuiPkgs)
|
||||
(declarePkgs guiPkgs)
|
||||
(declarePkgs iphonePkgs)
|
||||
(declarePkgs sysadminPkgs)
|
||||
@@ -247,6 +253,10 @@ in
|
||||
package = null;
|
||||
suggestedPrograms = attrNames consolePkgs;
|
||||
};
|
||||
desktopGuiApps = {
|
||||
package = null;
|
||||
suggestedPrograms = attrNames desktopGuiPkgs;
|
||||
};
|
||||
guiApps = {
|
||||
package = null;
|
||||
suggestedPrograms = (attrNames guiPkgs)
|
||||
|
Reference in New Issue
Block a user