/ flake.nix
flake.nix
1 { 2 description = "Hister - Web history on steroids"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 6 flake-parts.url = "github:hercules-ci/flake-parts"; 7 flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; 8 }; 9 10 outputs = 11 inputs: 12 inputs.flake-parts.lib.mkFlake { inherit inputs; } { 13 systems = [ 14 "x86_64-linux" 15 "x86_64-darwin" 16 "aarch64-linux" 17 "aarch64-darwin" 18 ]; 19 20 perSystem = 21 { 22 config, 23 self', 24 inputs', 25 pkgs, 26 system, 27 ... 28 }: 29 let 30 histerPackage = pkgs.callPackage ./nix/package.nix { histerRev = inputs.self.rev or "unknown"; }; 31 in 32 { 33 packages.default = histerPackage; 34 packages.hister = histerPackage; 35 36 devShells.default = pkgs.mkShell { 37 packages = builtins.attrValues { inherit (pkgs) go gopls gotools; }; 38 }; 39 }; 40 41 flake = { 42 nixosModules.default = inputs.self.nixosModules.hister; 43 nixosModules.hister = 44 { lib, pkgs, ... }: 45 { 46 imports = [ ./nix/nixos.nix ]; 47 services.hister.package = ( 48 lib.mkDefault inputs.self.packages.${pkgs.stdenvNoCC.hostPlatform.system}.default 49 ); 50 }; 51 52 homeModules.default = inputs.self.homeModules.hister; 53 homeModules.hister = 54 { lib, pkgs, ... }: 55 { 56 imports = [ ./nix/home.nix ]; 57 services.hister.package = ( 58 lib.mkDefault inputs.self.packages.${pkgs.stdenvNoCC.hostPlatform.system}.default 59 ); 60 }; 61 62 darwinModules.default = inputs.self.darwinModules.hister; 63 darwinModules.hister = 64 { lib, pkgs, ... }: 65 { 66 imports = [ ./nix/darwin.nix ]; 67 services.hister.package = ( 68 lib.mkDefault inputs.self.packages.${pkgs.stdenvNoCC.hostPlatform.system}.default 69 ); 70 }; 71 }; 72 }; 73 }