mirror of
https://codeberg.org/icewind/palantir.git
synced 2026-06-03 18:24:08 +02:00
nix windows build
This commit is contained in:
parent
bfb8f20439
commit
23e6e2fff5
5 changed files with 41 additions and 24 deletions
|
|
@ -4,12 +4,12 @@ System metrics exporter for prometheus
|
||||||
|
|
||||||
## Exported metrics
|
## Exported metrics
|
||||||
|
|
||||||
- cpu, memory, io, network and disk usage stats
|
- cpu, memory, gpu memory, io, network and disk usage stats
|
||||||
- zfs pool usage and arc stats
|
- zfs pool usage and arc stats
|
||||||
- cpu and gpu temperature (gpu temps only for amd cards)
|
- cpu and gpu temperature
|
||||||
- cpu power usage on modern amd and intel platforms
|
- cpu and gpu power usage on modern amd and intel platforms
|
||||||
- docker per-container cpu, memory and network stats
|
- docker per-container cpu, memory and network stats
|
||||||
-
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
- Download the binary for your architecture from the [releases](https://github.com/icewind1991/palantir/releases/) and place it at `/usr/local/bin/palantir`
|
- Download the binary for your architecture from the [releases](https://github.com/icewind1991/palantir/releases/) and place it at `/usr/local/bin/palantir`
|
||||||
|
|
|
||||||
14
flake.lock
generated
14
flake.lock
generated
|
|
@ -38,10 +38,10 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682669017,
|
"lastModified": 1683928319,
|
||||||
"narHash": "sha256-Vi+p4y3wnl0/4gcwTdmCO398kKlDaUrNROtf3GOD2NY=",
|
"narHash": "sha256-maz0DRKixJVcNRMiAMWlJniiF8IuQ+WbfmlJJ8D+jfM=",
|
||||||
"path": "/nix/store/wm2cdd01f8jqbxpw817nv5j3sw6p93g8-source",
|
"path": "/nix/store/pp35kzqx97fkkl7az1fb9ygphr6qi9h0-source",
|
||||||
"rev": "7449971a3ecf857b4a554cf79b1d9dcc1a4647d8",
|
"rev": "9656e85a15a0fe67847ee8cdb99a20d8df499962",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -80,11 +80,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1684290028,
|
"lastModified": 1684376381,
|
||||||
"narHash": "sha256-IWWfoF5aU8wzxJ6ixuW+3KRlppYvmhUP5v6owWiXJMQ=",
|
"narHash": "sha256-XVFTXADfvBXKwo4boqfg80awUbT+JgQvlQ8uZ+Xgo1s=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "ded1f327ff2bdf0eb4bbb945865441ac636c423e",
|
"rev": "7c9a265c2eaa5783bc18593b1aec39a85653c076",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
39
flake.nix
39
flake.nix
|
|
@ -26,22 +26,43 @@
|
||||||
};
|
};
|
||||||
inherit system overlays;
|
inherit system overlays;
|
||||||
};
|
};
|
||||||
mingw_w64_cc = pkgs-cross-mingw.stdenv.cc;
|
|
||||||
mingw_w64 = pkgs-cross-mingw.windows.mingw_w64;
|
|
||||||
windows = pkgs-cross-mingw.windows;
|
|
||||||
|
|
||||||
naersk-lib = naersk.lib."${system}";
|
toolchain = (pkgs.rust-bin.stable.latest.default.override {
|
||||||
|
targets = [ "x86_64-pc-windows-gnu" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
mingw_w64_cc = pkgs.pkgsCross.mingwW64.stdenv.cc;
|
||||||
|
windows = pkgs.pkgsCross.mingwW64.windows;
|
||||||
|
|
||||||
|
naersk' = pkgs.callPackage naersk {
|
||||||
|
cargo = toolchain;
|
||||||
|
rustc = toolchain;
|
||||||
|
};
|
||||||
in rec {
|
in rec {
|
||||||
# `nix build`
|
# `nix build`
|
||||||
packages.palantir = naersk-lib.buildPackage {
|
packages.palantir = naersk'.buildPackage {
|
||||||
pname = "palantir";
|
pname = "palantir";
|
||||||
root = ./.;
|
src = ./.;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/lib/udev/rules.d/
|
mkdir -p $out/lib/udev/rules.d/
|
||||||
echo 'SUBSYSTEM=="powercap", ACTION=="add", RUN+="${pkgs.coreutils-full}/bin/chgrp -R powermonitoring /sys%p", RUN+="${pkgs.coreutils-full}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules
|
echo 'SUBSYSTEM=="powercap", ACTION=="add", RUN+="${pkgs.coreutils-full}/bin/chgrp -R powermonitoring /sys%p", RUN+="${pkgs.coreutils-full}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules
|
||||||
echo 'SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="${pkgs.coreutils-full}/bin/chgrp -R powermonitoring /sys%p", RUN+="${pkgs.coreutils-full}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules
|
echo 'SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="${pkgs.coreutils-full}/bin/chgrp -R powermonitoring /sys%p", RUN+="${pkgs.coreutils-full}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
packages.palantir-win = naersk'.buildPackage {
|
||||||
|
pname = "palantir";
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
depsBuildBuild = with pkgs; [
|
||||||
|
mingw_w64_cc
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [ mingw_w64_cc ];
|
||||||
|
overrideMain = args: args // { buildInputs = [ windows.pthreads ]; };
|
||||||
|
|
||||||
|
CARGO_BUILD_TARGET = "x86_64-pc-windows-gnu";
|
||||||
|
};
|
||||||
defaultPackage = packages.palantir;
|
defaultPackage = packages.palantir;
|
||||||
|
|
||||||
# `nix run`
|
# `nix run`
|
||||||
|
|
@ -53,14 +74,12 @@
|
||||||
# `nix develop`
|
# `nix develop`
|
||||||
devShell = pkgs.mkShell {
|
devShell = pkgs.mkShell {
|
||||||
nativeBuildInputs = with pkgs; [
|
nativeBuildInputs = with pkgs; [
|
||||||
(rust-bin.stable.latest.default.override {
|
toolchain
|
||||||
targets = [ "x86_64-pc-windows-gnu" ];
|
|
||||||
})
|
|
||||||
bacon
|
bacon
|
||||||
mingw_w64_cc
|
mingw_w64_cc
|
||||||
];
|
];
|
||||||
depsBuildBuild = [ pkgs.wine64 ];
|
depsBuildBuild = [ pkgs.wine64 ];
|
||||||
buildInputs = [ windows.pthreads ];
|
# buildInputs = [ windows.pthreads ];
|
||||||
|
|
||||||
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER = "${mingw_w64_cc.targetPrefix}cc";
|
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER = "${mingw_w64_cc.targetPrefix}cc";
|
||||||
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUNNER = "wine64";
|
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUNNER = "wine64";
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
use crate::data::{DiskStats, DiskUsage};
|
use crate::data::{DiskStats, DiskUsage};
|
||||||
use crate::{Error, MultiSensorSource, Result, SensorData};
|
use crate::{Error, MultiSensorSource, Result};
|
||||||
use ahash::{AHashSet, AHasher};
|
use ahash::{AHashSet, AHasher};
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
use std::fmt::Write;
|
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::hash::{Hash, Hasher};
|
use std::hash::{Hash, Hasher};
|
||||||
use std::io::{Read, Seek};
|
use std::io::{Read, Seek};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
use crate::data::PowerUsage;
|
use crate::data::PowerUsage;
|
||||||
use crate::linux::gpu::gpu_power;
|
use crate::linux::gpu::gpu_power;
|
||||||
use crate::{Error, Result};
|
use crate::{Error, Result};
|
||||||
use std::fmt::Write;
|
|
||||||
use std::fs::{read_dir, read_to_string};
|
use std::fs::{read_dir, read_to_string};
|
||||||
use std::sync::atomic::{AtomicBool, Ordering};
|
use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use tracing::warn;
|
use tracing::warn;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue