diff --git a/modules/modules.nix b/modules/modules.nix index 6ceee9f12..42e6a4a6d 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -73,6 +73,10 @@ let (lib.mkRemovedOptionModule [ "services" "keepassx" ] '' KeePassX is no longer maintained. '') + (lib.mkRemovedOptionModule [ "programs" "thefuck" ] '' + The corresponding package was removed from nixpkgs, + consider using `programs.pay-respects` instead. + '') ] ++ (lib.concatMap ( diff --git a/modules/programs/thefuck.nix b/modules/programs/thefuck.nix deleted file mode 100644 index 593b3c427..000000000 --- a/modules/programs/thefuck.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - inherit (lib) mkIf; -in -{ - meta.maintainers = [ lib.maintainers.ilaumjd ]; - - options.programs.thefuck = { - enable = lib.mkEnableOption "thefuck - magnificent app that corrects your previous console command"; - - package = lib.mkPackageOption pkgs "thefuck" { }; - - enableInstantMode = lib.mkEnableOption "thefuck's experimental instant mode"; - - enableBashIntegration = lib.hm.shell.mkBashIntegrationOption { inherit config; }; - - enableFishIntegration = lib.hm.shell.mkFishIntegrationOption { inherit config; }; - - enableNushellIntegration = lib.hm.shell.mkNushellIntegrationOption { inherit config; }; - - enableZshIntegration = lib.hm.shell.mkZshIntegrationOption { inherit config; }; - - alias = lib.mkOption { - type = lib.types.str; - default = "fuck"; - description = "Alias used to invoke `thefuck`."; - }; - }; - - config = - let - cfg = config.programs.thefuck; - - cliArgs = lib.cli.toGNUCommandLineShell { } { - alias = cfg.alias; - enable-experimental-instant-mode = cfg.enableInstantMode; - }; - - shEvalCmd = '' - eval "$(${cfg.package}/bin/thefuck ${cliArgs})" - ''; - in - mkIf cfg.enable { - home.packages = [ cfg.package ]; - - programs.bash.initExtra = mkIf cfg.enableBashIntegration shEvalCmd; - - programs.fish.functions = mkIf cfg.enableFishIntegration { - fuck = { - description = "Correct your previous console command"; - body = '' - set -l fucked_up_command $history[1] - env TF_SHELL=fish TF_ALIAS=${cfg.alias} PYTHONIOENCODING=utf-8 ${cfg.package}/bin/thefuck $fucked_up_command THEFUCK_ARGUMENT_PLACEHOLDER $argv | read -l unfucked_command - if [ "$unfucked_command" != "" ] - eval $unfucked_command - builtin history delete --exact --case-sensitive -- $fucked_up_command - builtin history merge - end - ''; - }; - }; - - programs.zsh.initContent = mkIf cfg.enableZshIntegration shEvalCmd; - - programs.nushell = mkIf cfg.enableNushellIntegration { - extraConfig = '' - alias ${cfg.alias} = ${cfg.package}/bin/thefuck $"(history | last 1 | get command | get 0)" - ''; - }; - }; -} diff --git a/tests/modules/programs/thefuck/default.nix b/tests/modules/programs/thefuck/default.nix deleted file mode 100644 index 1250e0c06..000000000 --- a/tests/modules/programs/thefuck/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - thefuck-integration-enabled = ./integration-enabled.nix; - thefuck-integration-enabled-instant = ./integration-enabled-instant.nix; - thefuck-integration-disabled = ./integration-disabled.nix; -} diff --git a/tests/modules/programs/thefuck/integration-disabled.nix b/tests/modules/programs/thefuck/integration-disabled.nix deleted file mode 100644 index 0b5149cb3..000000000 --- a/tests/modules/programs/thefuck/integration-disabled.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, ... }: -{ - programs = { - thefuck = { - enable = true; - package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; }; - }; - thefuck.enableBashIntegration = false; - thefuck.enableFishIntegration = false; - thefuck.enableZshIntegration = false; - thefuck.enableNushellIntegration = false; - bash.enable = true; - zsh.enable = true; - nushell.enable = true; - }; - - nmt.script = '' - assertFileNotRegex home-files/.bashrc '@thefuck@/bin/thefuck' - assertPathNotExists home-files/.config/fish/functions/fuck.fish - assertFileNotRegex home-files/.zshrc '@thefuck@/bin/thefuck' - assertFileNotRegex home-files/.config/nushell/config.nu '@thefuck@/bin/thefuck' - ''; -} diff --git a/tests/modules/programs/thefuck/integration-enabled-instant.nix b/tests/modules/programs/thefuck/integration-enabled-instant.nix deleted file mode 100644 index db9f8bbfc..000000000 --- a/tests/modules/programs/thefuck/integration-enabled-instant.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, ... }: -{ - programs = { - thefuck = { - enable = true; - package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; }; - enableInstantMode = true; - }; - bash.enable = true; - zsh.enable = true; - }; - - nmt.script = '' - assertFileExists home-files/.bashrc - assertFileContains \ - home-files/.bashrc \ - 'eval "$(@thefuck@/bin/thefuck --alias fuck --enable-experimental-instant-mode)"' - - assertFileExists home-files/.zshrc - assertFileContains \ - home-files/.zshrc \ - 'eval "$(@thefuck@/bin/thefuck --alias fuck --enable-experimental-instant-mode)"' - ''; -} diff --git a/tests/modules/programs/thefuck/integration-enabled.nix b/tests/modules/programs/thefuck/integration-enabled.nix deleted file mode 100644 index 33062daac..000000000 --- a/tests/modules/programs/thefuck/integration-enabled.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ config, ... }: -{ - programs = { - thefuck = { - enable = true; - package = config.lib.test.mkStubPackage { outPath = "@thefuck@"; }; - }; - bash.enable = true; - fish.enable = true; - zsh.enable = true; - nushell.enable = true; - }; - - nmt.script = '' - assertFileExists home-files/.bashrc - assertFileContains \ - home-files/.bashrc \ - 'eval "$(@thefuck@/bin/thefuck --alias fuck)"' - - assertFileExists home-files/.config/fish/functions/fuck.fish - assertFileContains \ - home-files/.config/fish/functions/fuck.fish \ - 'function fuck --description="Correct your previous console command" - set -l fucked_up_command $history[1] - env TF_SHELL=fish TF_ALIAS=fuck PYTHONIOENCODING=utf-8 @thefuck@/bin/thefuck $fucked_up_command THEFUCK_ARGUMENT_PLACEHOLDER $argv | read -l unfucked_command - if [ "$unfucked_command" != "" ] - eval $unfucked_command - builtin history delete --exact --case-sensitive -- $fucked_up_command - builtin history merge - end - end' - - assertFileExists home-files/.zshrc - assertFileContains \ - home-files/.zshrc \ - 'eval "$(@thefuck@/bin/thefuck --alias fuck)"' - - assertFileExists home-files/.config/nushell/config.nu - assertFileContains \ - home-files/.config/nushell/config.nu \ - 'alias fuck = @thefuck@/bin/thefuck $"(history | last 1 | get command | get 0)"' - ''; -}