Fix macOS nix package

This commit is contained in:
Agatha Lovelace 2024-11-28 23:48:00 +01:00
parent 21be820dcd
commit 6139d29898
Signed by: sorceress
GPG Key ID: 01D0B3AB10CED4F8
1 changed files with 55 additions and 31 deletions

View File

@ -6,14 +6,26 @@
utils.url = "github:numtide/flake-utils"; utils.url = "github:numtide/flake-utils";
}; };
outputs = { self, nixpkgs, utils, naersk }: outputs =
utils.lib.eachDefaultSystem (system: {
self,
nixpkgs,
utils,
naersk,
}:
utils.lib.eachDefaultSystem (
system:
let let
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
naersk-lib = pkgs.callPackage naersk { }; naersk-lib = pkgs.callPackage naersk { };
in { in
packages.default = naersk-lib.buildPackage ./.; {
devShells.default = with pkgs; packages.default = naersk-lib.buildPackage {
src = ./.;
buildInputs = with pkgs; lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
};
devShells.default =
with pkgs;
mkShell { mkShell {
buildInputs = [ buildInputs = [
cargo cargo
@ -25,11 +37,21 @@
]; ];
RUST_SRC_PATH = rustPlatform.rustLibSrc; RUST_SRC_PATH = rustPlatform.rustLibSrc;
}; };
}) // { }
nixosModules.default = { config, lib, pkgs, ... }: )
// {
nixosModules.default =
{
config,
lib,
pkgs,
...
}:
with lib; with lib;
let cfg = config.services.url-eater; let
in { cfg = config.services.url-eater;
in
{
options.services.url-eater = { options.services.url-eater = {
enable = mkEnableOption "Enables the URL Eater service"; enable = mkEnableOption "Enables the URL Eater service";
filters = mkOption { filters = mkOption {
@ -49,10 +71,12 @@
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.user.services."url-eater" = let systemd.user.services."url-eater" =
let
filters = pkgs.writeText "filters.kdl" cfg.filters; filters = pkgs.writeText "filters.kdl" cfg.filters;
pkg = self.packages.${pkgs.system}.default; pkg = self.packages.${pkgs.system}.default;
in { in
{
description = "Clipboard URL cleanup service"; description = "Clipboard URL cleanup service";
after = [ "graphical-session-pre.target" ]; after = [ "graphical-session-pre.target" ];