79 lines
1.8 KiB
Nix
79 lines
1.8 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
systems.url = "github:nix-systems/x86_64-linux";
|
|
flake-utils = {
|
|
url = "github:numtide/flake-utils";
|
|
inputs.systems.follows = "systems";
|
|
};
|
|
};
|
|
outputs = inputs @ {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
...
|
|
}: let
|
|
inherit (self) outputs;
|
|
drv = {
|
|
stdenv,
|
|
lib,
|
|
libX11,
|
|
libXScrnSaver,
|
|
dbus,
|
|
pkg-config,
|
|
...
|
|
}:
|
|
stdenv.mkDerivation {
|
|
pname = "sleeptimer";
|
|
version = "0.0.1";
|
|
src = lib.cleanSource ./.;
|
|
nativeBuildInputs = [pkg-config];
|
|
buildInputs = [libX11.dev libXScrnSaver dbus.dev];
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp sleeptimer $out/bin
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
overlays.default = final: prev: {
|
|
sleeptimer = final.callPackage drv {inherit (final.llvmPackages_latest) stdenv;};
|
|
};
|
|
nixosModules = {
|
|
default = {pkgs, ...}: {
|
|
nixpkgs.overlays = [
|
|
outputs.overlays.default
|
|
];
|
|
environment.systemPackges = [pkgs.sleeptimer];
|
|
};
|
|
};
|
|
homeManagerModules = {
|
|
default = {pkgs, ...}: {
|
|
nixpkgs.overlays = [
|
|
outputs.overlays.default
|
|
];
|
|
home.packages = [pkgs.sleeptimer];
|
|
};
|
|
};
|
|
}
|
|
// flake-utils.lib.eachDefaultSystem (system: let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
};
|
|
llvm = pkgs.llvmPackages_latest;
|
|
package = pkgs.callPackage drv {inherit (llvm) stdenv;};
|
|
in {
|
|
devShells.default = pkgs.mkShell.override {inherit (llvm) stdenv;} {
|
|
inputsFrom = [package];
|
|
packages = with pkgs; [
|
|
bear
|
|
xz
|
|
icu74
|
|
];
|
|
};
|
|
packages = {
|
|
default = package;
|
|
};
|
|
});
|
|
}
|