vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / programs / thefuck.nix
blob0e65352a1f21654d4f8d3859ae35f42fb76e3000
1 { config, pkgs, lib, ... }:
3 let
4   prg = config.programs;
5   cfg = prg.thefuck;
7   bashAndZshInitScript = ''
8     eval $(${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias})
9   '';
10   fishInitScript = ''
11     ${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias} | source
12   '';
14   {
15     options = {
16       programs.thefuck = {
17         enable = lib.mkEnableOption "thefuck, an app which corrects your previous console command";
19         alias = lib.mkOption {
20           default = "fuck";
21           type = lib.types.str;
23           description = ''
24             `thefuck` needs an alias to be configured.
25             The default value is `fuck`, but you can use anything else as well.
26           '';
27         };
28       };
29     };
31     config = lib.mkIf cfg.enable {
32       environment.systemPackages = with pkgs; [ thefuck ];
34       programs.bash.interactiveShellInit = bashAndZshInitScript;
35       programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable bashAndZshInitScript;
36       programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable fishInitScript;
37     };
38   }