This repository has no description
1.3 kB
47 lines
1{ ... }:
2{
3 perSystem =
4 { pkgs, ... }:
5 let
6 python = pkgs.python3;
7 in
8 {
9 packages.workspace-manager = pkgs.writeShellApplication {
10 name = "workspace-manager";
11 runtimeInputs = [
12 pkgs.socat
13 pkgs.jq
14 ];
15 text = builtins.readFile ./workspace-manager.sh;
16 };
17
18 packages.workspace-manager-daemon = pkgs.stdenv.mkDerivation {
19 pname = "workspace-manager-daemon";
20 version = "0.1.0";
21 src = ./.;
22 nativeBuildInputs = [
23 pkgs.makeWrapper
24 pkgs.ruff
25 python.pkgs.mypy
26 ];
27 doCheck = true;
28 checkPhase = ''
29 runHook preCheck
30 ruff check daemon.py
31 ruff format --check daemon.py
32 mypy --strict daemon.py
33 runHook postCheck
34 '';
35 installPhase = ''
36 runHook preInstall
37 mkdir -p $out/bin
38 cp daemon.py $out/bin/workspace-manager-daemon
39 chmod +x $out/bin/workspace-manager-daemon
40 wrapProgram $out/bin/workspace-manager-daemon \
41 --prefix PATH : ${python}/bin:${pkgs.sway}/bin
42 runHook postInstall
43 '';
44 meta.mainProgram = "workspace-manager-daemon";
45 };
46 };
47}