diff --git a/flake.nix b/flake.nix index cee840d..23a7e79 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,7 @@ overlays.default = final: prev: { inherit (self.packages.${prev.system}) fsh; }; + homeModules.fsh = import ./home.nix; } // flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..25fd939 --- /dev/null +++ b/home.nix @@ -0,0 +1,27 @@ +{ pkgs, lib, config, ... }: + +with lib; + +let + cfg = config.programs.fsh; +in +{ + options.programs.fsh = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables the fsh prompt for the fish shell. + programs.fish.enable must also be set to true for this option to have effect. + ''; + }; + }; + + config = mkIf cfg.enable { + home.packages = pkgs.fsh; + programs.fish.functions.fish_prompt.body = '' + set FSH_LAST_STATUS $status + fsh $FSH_LAST_STATUS + ''; + }; +}