| 12 Jan 2025 |
| @strutztm:strutztm.de joined the room. | 00:21:30 |
@phaitonican:matrix.org | Hello guys. I have a binary output from a Rust project built with "cargo build --release". The name of the binary file is "cosmic-comp". How would I install this prebuilt binary with a flake onto my system? Thanks a lot | 01:21:10 |
elikoga | I don't see how this is closely related to flakes? This is asking "how do i package a rust package with nix" right? | 01:22:09 |
@phaitonican:matrix.org | yes exactly. Sorry I am not sure what this would be related with | 01:23:06 |
elikoga | This should get you pretty far: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/rust.section.md | 01:23:39 |
@phaitonican:matrix.org | thank you very much | 01:23:57 |
elikoga | I think #rust:nixos.org is more closely related to any issues you might encounter | 01:24:56 |
@phaitonican:matrix.org | Yes but the thing is it is already prebuild. so its a binary | 01:25:20 |
@phaitonican:matrix.org | so it has nothing really to do with rust anymore | 01:25:26 |
@phaitonican:matrix.org | Just packaging a prebuilt binary inside a flake you know | 01:25:45 |
elikoga | https://wiki.nixos.org/wiki/Packaging/Binaries | 01:25:59 |
@phaitonican:matrix.org | thank you a lot | 01:26:15 |
@phaitonican:matrix.org | im not sure why my google not find this thanks | 01:26:20 |
@phaitonican:matrix.org | {
lib,
fetchFromGitHub,
rustPlatform,
libcosmicAppHook,
libdisplay-info,
libgbm ? null,
libinput,
mesa,
pixman,
pkg-config,
seatd,
stdenv,
udev,
xwayland,
useXWayland ? true,
systemd,
useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
nix-update-script,
}:
rustPlatform.buildRustPackage {
pname = "cosmic-comp";
version = "1.0.0-alpha.5-unstable-2025-01-07";
src = fetchGit {
url = "https://github.com/phaitonican/cosmic-comp";
rev = "9c028c17bb8cc4a6f8a8abc40824a5d74bee6818";
ref = "gtk-border-dev";
};
useFetchCargoVendor = true;
cargoHash = "sha256-P4/Y70vnyIR5JBpHCOhqLlyfan29eNsExkt3ux7joRw=";
separateDebugInfo = true;
nativeBuildInputs = [
libcosmicAppHook
pkg-config
];
buildInputs = [
libdisplay-info
(if libgbm != null then libgbm else mesa)
libinput
pixman
seatd
udev
] ++ lib.optional useSystemd systemd;
# only default feature is systemd
buildNoDefaultFeatures = !useSystemd;
# TODO: remove when <https://github.com/NixOS/nixpkgs/pull/371795> reaches nixos-unstable and nixos-24.11
postConfigure = ''
substituteInPlace ../.cargo/config.toml --replace-fail 'branch = "feature%2Fcopy_clone"' 'branch = "feature/copy_clone"'
'';
dontCargoInstall = true;
makeFlags = [
"prefix=${placeholder "out"}"
"CARGO_TARGET_DIR=target/${stdenv.hostPlatform.rust.cargoShortTarget}"
];
preFixup = lib.optionalString useXWayland ''
libcosmicAppWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]})
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"epoch-(.*)"
];
};
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-comp";
description = "Compositor for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [
# lilyinstarlight
];
platforms = platforms.linux;
mainProgram = "cosmic-comp";
};
}
| 01:29:31 |
@phaitonican:matrix.org | I have to rewrite this so it point to my (local) prebuilt binary | 01:30:07 |
@phaitonican:matrix.org | instead of completlely rebuilding it from a github repo | 01:30:25 |
@phaitonican:matrix.org | not sure if this was flake related sorry | 01:30:51 |
elikoga | In reply to @phaitonican:matrix.org not sure if this was flake related sorry Please don't feel bad for asking any questions, I'm just trying to understand why every single message in here is unrelated to the channel. I'm wondering: What public communication indicates to you that this is related to flakes? This is not related to pinning any flake input in any flake lockfile. This is not related about the output forms tod the flake. This is not related to any of the new commands introduced to work with flakes. I am not sure what else I'm missing, except for the fact that the flake interface is the only sane mechanism to use nix (the packaging/building language) unless you want to write your own locking script, use someone elses, or edit hashes by hand every time someone makes a new commit somewhere. (or use channels God forbid) | 01:31:55 |
@phaitonican:matrix.org | haha :D yea you are right its nix language related | 01:32:29 |
@phaitonican:matrix.org | i am very new to this sorry | 01:32:39 |
elikoga | If many people's first touching point of using nix properly is via flakes, then maybe we should hurry up and stabilize it 👀 | 01:33:00 |
elikoga | *not every single message just a significant fraction | 01:34:29 |
@phaitonican:matrix.org | no comment :b | 01:35:55 |
elikoga | Wait no way, we don't have any channels related to packaging? Is nix flakes really topically closest | 01:36:19 |
| willow joined the room. | 07:52:32 |
| willow removed their profile picture. | 08:01:44 |
| willow changed their display name from Willowshine to willow. | 08:02:15 |
| Rayane Nakib (ريّان نقيب) joined the room. | 12:37:06 |
| 14 Jan 2025 |
| @kimblo:matrix.org left the room. | 11:43:54 |
| 15 Jan 2025 |
| Joel joined the room. | 17:26:04 |