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