mirror of
https://github.com/moeru-ai/airi.git
synced 2026-08-14 00:48:06 +00:00
## Description Recent updates to `nixpkgs` (unstable) have deprecated the `xorg` package set in favor of top-level package names. This PR updates the FHS development shell dependencies in `flake.nix` to eliminate evaluation warnings when running `nix develop .#fhs`. **Changes:** Replaced the deprecated `xorg.*` attributes with their new top-level names inside the Electron FHS environment: * `xorg.libX11` $\rightarrow$ `libx11` * `xorg.libXcomposite` $\rightarrow$ `libxcomposite` * `xorg.libXdamage` $\rightarrow$ `libxdamage` * `xorg.libXext` $\rightarrow$ `libxext` * `xorg.libXfixes` $\rightarrow$ `libxfixes` * `xorg.libXrandr` $\rightarrow$ `libxrandr` * `xorg.libxcb` $\rightarrow$ `libxcb` * `xorg.libXcursor` $\rightarrow$ `libxcursor` * `xorg.libXi` $\rightarrow$ `libxi` * `xorg.libXtst` $\rightarrow$ `libxtst` ## Linked Issues None. ## Additional Context None.
103 lines
2.8 KiB
Nix
103 lines
2.8 KiB
Nix
{
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
let
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
|
pkgsForSystem =
|
|
system:
|
|
import nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
in
|
|
{
|
|
formatter = forAllSystems (system: (pkgsForSystem system).nixfmt-tree);
|
|
|
|
packages = forAllSystems (
|
|
system:
|
|
{ default = self.packages.${system}.airi; } // self.overlays.airi (pkgsForSystem system) null
|
|
);
|
|
|
|
overlays = {
|
|
default = self.overlays.airi;
|
|
airi = final: _: {
|
|
airi = final.callPackage ./nix/package.nix { };
|
|
};
|
|
};
|
|
|
|
devShells = forAllSystems (
|
|
system:
|
|
let
|
|
pkgs = pkgsForSystem system;
|
|
in
|
|
with pkgs;
|
|
{
|
|
default = mkShell {
|
|
inputsFrom = [ self.packages.${system}.airi ];
|
|
packages = [
|
|
nixd
|
|
nixfmt
|
|
nixfmt-tree
|
|
pnpm
|
|
python314
|
|
];
|
|
};
|
|
|
|
# FHS environment for running Electron on NixOS
|
|
# Usage: nix develop .#fhs
|
|
fhs = (
|
|
buildFHSEnv {
|
|
name = "airi-electron-fhs";
|
|
targetPkgs =
|
|
p: with p; [
|
|
nodejs_24
|
|
pnpm
|
|
# Electron system library dependencies
|
|
# Note: some packages need explicit output refs because the
|
|
# default attribute doesn't point to the output with .so files
|
|
glib.out # default 'glib' points to 'bin' output
|
|
nss
|
|
nspr
|
|
dbus.lib # libdbus-1.so.3 is in 'lib' output, not 'out'
|
|
atk
|
|
at-spi2-atk
|
|
at-spi2-core
|
|
cups.lib # libcups.so.2 is in 'lib' output, not 'out'
|
|
libdrm
|
|
libx11
|
|
libxcomposite
|
|
libxdamage
|
|
libxext
|
|
libxfixes
|
|
libxrandr
|
|
libxcb
|
|
libxcursor
|
|
libxi
|
|
libxt
|
|
libxtst
|
|
expat
|
|
libxkbcommon
|
|
libgbm # libgbm.so.1 is now a separate package from mesa
|
|
alsa-lib
|
|
pango.out # default 'pango' points to 'bin' output
|
|
cairo
|
|
libGL
|
|
gtk3
|
|
systemd
|
|
];
|
|
runScript = "bash";
|
|
}
|
|
).env;
|
|
}
|
|
);
|
|
};
|
|
}
|