toss 2.2.2

A throw-catch style move and copy program.
toss-2.2.2 is not a library.

toss

throw and catch style moving and copying program

Why?

I love using the terminal and I normally use cp and mv to copy and move files between folders but when refactoring/cleaning the directories I want to organize files to respective folders in different places. Normally the Downloads folder. While doing that I don't want to type the path multiple times just to move files to a particular location from different places.

What I thought is.. why not just run a catcher in a destination path, and throw files from anywhere in the system. And when throwing the files, why not make it able to move some files and copy other files. This program does exactly that.

Usage

Run toss in the destination directory to start receiving, then run toss <files> from anywhere to send files.

Run toss --help for all arguments and options.

# Start the server (in destination directory):
toss

# Send files (from another terminal):
toss <files>

Installation

For Normal Distros

# should be good for most systems
cargo install toss

NixOS

There are two ways to do it:

Via NixOS configuration

{
  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";
    toss.url = "github:scientiac/toss";
  };

  outputs = { self, nixpkgs, toss, ... }: {
    nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ./configuration.nix
        toss.nixosModules.default
        {
          programs.toss.enable = true;
        }
      ];
    };
  };
}

Via Home Manager configuration

{
  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
    toss.url = "github:scientiac/toss";
  };

  outputs = { self, nixpkgs, home-manager, toss, ... }: {
    homeConfigurations.your-username = home-manager.lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [
        toss.homeManagerModules.default
        {
          programs.toss.enable = true;
        }
      ];
    };
  };
}