From 3803864ca61b7737e3b6be843fc8e09598ce4bda Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 14 Jun 2017 10:57:38 +0200 Subject: thefuck: init at 3.18 (#26529) --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/thefuck.nix | 31 +++++++++++++++++++++++++++++++ pkgs/tools/misc/thefuck/default.nix | 27 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 61 insertions(+) create mode 100644 nixos/modules/programs/thefuck.nix create mode 100644 pkgs/tools/misc/thefuck/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 13924f7e507e..bdede1726a16 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -99,6 +99,7 @@ ./programs/spacefm.nix ./programs/ssh.nix ./programs/ssmtp.nix + ./programs/thefuck.nix ./programs/tmux.nix ./programs/venus.nix ./programs/vim.nix diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix new file mode 100644 index 000000000000..433a0ca95fef --- /dev/null +++ b/nixos/modules/programs/thefuck.nix @@ -0,0 +1,31 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.programs.thefuck; +in + { + options = { + programs.thefuck = { + enable = mkEnableOption "thefuck"; + + alias = mkOption { + default = "fuck"; + type = types.string; + + description = '' + `thefuck` needs an alias to be configured. + The default value is `fuck`, but you can use anything else as well. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ thefuck ]; + environment.shellInit = '' + eval $(${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias}) + ''; + }; + } diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix new file mode 100644 index 000000000000..00fde7acafb4 --- /dev/null +++ b/pkgs/tools/misc/thefuck/default.nix @@ -0,0 +1,27 @@ +{ fetchurl, stdenv, pkgs, ... }: + +pkgs.pythonPackages.buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "thefuck"; + version = "3.18"; + + src = fetchurl { + url = "https://github.com/nvbn/${pname}/archive/${version}.tar.gz"; + sha256 = "1xsvkqh89rgxq5w03mnlcfkn9y39nfwhb2pjabjspcc2mi2mq5y6"; + }; + + propagatedBuildInputs = with pkgs.pythonPackages; [ + psutil + colorama + six + decorator + pathlib2 + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/nvbn/thefuck"; + description = "Magnificent app which corrects your previous console command."; + license = licenses.mit; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 56769470689f..ccfdcb9385b7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4342,6 +4342,8 @@ with pkgs; thc-hydra = callPackage ../tools/security/thc-hydra { }; + thefuck = callPackage ../tools/misc/thefuck { }; + thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools { }; tiled = libsForQt5.callPackage ../applications/editors/tiled { }; -- cgit 1.4.1