Skip to content

Commit

Permalink
fix cargo run on nixos
Browse files Browse the repository at this point in the history
this boils down to adding some extra dependencies to the shell
environment. they're also inherited from craneArgs because the ones from
the package are actually transformed into the WRONG outputs of the
packages. also refactors to use craneLib.devShell because it's somewhat
cleaner.
  • Loading branch information
sodiboo committed Aug 24, 2024
1 parent b2c7d3a commit 8a6d492
Showing 1 changed file with 10 additions and 18 deletions.
28 changes: 10 additions & 18 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@
src = nixpkgs.lib.cleanSourceWith {
src = craneLib.path ./.;
filter = path: type:
(builtins.match "resources" path == null) ||
((craneLib.filterCargoSources path type) &&
(builtins.match "niri-visual-tests" path == null));
(builtins.match "resources" path == null)
|| ((craneLib.filterCargoSources path type)
&& (builtins.match "niri-visual-tests" path == null));
};

nativeBuildInputs = with pkgs; [
Expand All @@ -68,6 +68,9 @@
stdenv.cc.cc.lib
pipewire
pango
cairo
glib
pixman
];

runtimeDependencies = with pkgs; [
Expand All @@ -91,22 +94,11 @@
checks.niri = niri;
packages.default = niri;

devShells.default = pkgs.mkShell.override {stdenv = pkgs.clangStdenv;} rec {
inherit (niri) LIBCLANG_PATH;
packages = niri.runtimeDependencies ++ niri.nativeBuildInputs ++ niri.buildInputs;

# Force linking to libEGL, which is always dlopen()ed, and to
# libwayland-client, which is always dlopen()ed except by the
# obscure winit backend.
RUSTFLAGS = map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-lwayland-client"
"-Wl,--pop-state"
];
devShells.default = craneLib.devShell {
inputsFrom = [niri];

LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath packages;
PKG_CONFIG_PATH = pkgs.lib.makeLibraryPath packages;
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (craneArgs.runtimeDependencies ++ craneArgs.nativeBuildInputs ++ craneArgs.buildInputs);
inherit (niri) LIBCLANG_PATH;
};
}
);
Expand Down

0 comments on commit 8a6d492

Please sign in to comment.