diff --git a/configs/home.nogui.nix b/configs/home.nogui.nix index 0d2e2c2..a478ad3 100644 --- a/configs/home.nogui.nix +++ b/configs/home.nogui.nix @@ -1,4 +1,5 @@ {pkgs, lib, ...}: { + imports = [ ../modules/parallel.nix ]; home.sessionVariables = { NNN_FIFO = "/tmp/nnn.fifo"; LANG = "en_US.UTF-8"; @@ -14,7 +15,6 @@ git-annex git-annex-remote-rclone qrencode - parallel libwebp bat ] ++ (import ../system/home-manager.nix).extraPackages pkgs; @@ -101,6 +101,10 @@ shell = "${pkgs.fish}/bin/fish"; shortcut = "Space"; }; + programs.parallel = { + enable = true; + willCite = true; + }; programs.ssh = import programs/ssh/settings.nix; home.file.allowedKeys = { diff --git a/modules/parallel.nix b/modules/parallel.nix new file mode 100644 index 0000000..32b9bf1 --- /dev/null +++ b/modules/parallel.nix @@ -0,0 +1,31 @@ +{pkgs, lib, config, writeTextDir, ...}: with lib; { + options.programs.parallel = { + enable = mkEnableOption "parallel"; + package = mkPackageOption pkgs "parallel" { }; + willCite = mkOption { + default = false; + defaultText = literalExpression "false"; + example = literalExpression "true"; + description = "Indicate that you will cite parallel if you use it in an academic paper"; + type = types.bool; + }; + }; + config = mkIf config.programs.parallel.enable { + home.packages = [ + ( + pkgs.symlinkJoin { + name = "parallel"; + paths = [ config.programs.parallel.package ]; + buildInputs = [ pkgs.makeWrapper ]; + parallelHome = if config.programs.parallel.willCite + then pkgs.writeTextDir "will-cite" "" + else pkgs.runCommand "parallel-home-nocite" {} "mkdir $out"; + postBuild = '' + wrapProgram $out/bin/parallel \ + --set-default PARALLEL_HOME $parallelHome + ''; + } + ) + ]; + }; +} \ No newline at end of file