A macOS utility to track home-manager JJ repo status
at main 63 lines 1.6 kB view raw
1{ 2 description = "HomeManagerStatus macOS menu bar app and CLI for jj repo status"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 6 flake-parts.url = "github:hercules-ci/flake-parts"; 7 treefmt-nix = { 8 url = "github:numtide/treefmt-nix"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 }; 12 13 outputs = 14 inputs: 15 inputs.flake-parts.lib.mkFlake { inherit inputs; } { 16 systems = [ 17 "aarch64-darwin" 18 "x86_64-darwin" 19 "x86_64-linux" 20 ]; 21 22 imports = [ 23 inputs.treefmt-nix.flakeModule 24 ]; 25 26 flake = { 27 homeManagerModules.default = import ./nix/modules/home-manager.nix; 28 homeManagerModules.jj-home-manager-status = import ./nix/modules/home-manager.nix; 29 }; 30 31 perSystem = 32 { 33 pkgs, 34 lib, 35 self', 36 ... 37 }: 38 { 39 packages = 40 lib.packagesFromDirectoryRecursive { 41 callPackage = pkgs.callPackage; 42 directory = ./nix/pkgs; 43 } 44 // lib.optionalAttrs pkgs.stdenv.hostPlatform.isDarwin { 45 default = self'.packages.app; 46 }; 47 48 checks = { 49 hm-status-integration = self'.packages.hm-status.tests.integration; 50 }; 51 52 treefmt = { 53 projectRootFile = "flake.nix"; 54 programs = { 55 nixfmt.enable = true; 56 shfmt.enable = true; 57 swift-format.enable = true; 58 }; 59 }; 60 61 }; 62 }; 63}