stalk
is a cross-platform CLI utility for file-watching.
This name is simply a stupid pun, therefore I do not condone and do not promote stalking (excluding stalking fictional individuals for the purposes of a CTF challenge).
{
inputs = {
# or your preferred NixOS channel
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
applegamer22.url = "github:AppleGamer22/nur";
};
outputs = { nixpkgs }: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
specialArgs = {
pkgs = import nixpkgs {
# ...
overlays = [
(final: prev: {
# ...
ag22 = applegamer22.packages."<your_system>";
})
];
};
};
modules = [
# or in a separate Nix file
({ pkgs, ... }: {
programs.nix-ld.enable = true;
environment.systemPackages = with pkgs; [
ag22.stalk
];
})
# ...
];
};
};
}
yay
:
yay -S stalk-bin
paru
:
paru -S stalk-bin
brew install AppleGamer22/tap/stalk
winget install AppleGamer22.stalk
go
:- Does not ship with:
- a manual page
- pre-built shell completion scripts
- Does not ship with:
go install github.com/AppleGamer22/stalk
The arguments have to be existing files, that the user running the command can read.
This flag specifies the command to be stopped and re-run after each file system event.
This flag enables more detailed logs to be printed regarding file system events.
The arguments have to be existing files, that the user running the command can read. This command is meant to be integrated inside other scripts, which is why it only waits for a single file system event before terminating.
- If this flag is provided, the following details are printed to the screen:
- semantic version number
- commit hash
- Go compiler version
- processor architecture & operating system
- Otherwise, only the semantic version number is printed.
The only dependencies stalk
requires are the OS-level dependencies of the github.com/fsnotify/fsnotify
library.
Running the following command will run go test
on the cmd and session sub-modules:
make test
- Using the following
make
command will save astalk
binary with the last version tag and the latest git commit hash:
make debug
- Using the following GoReleaser command with a version
git
tag and a cleangit
state:
goreleaser build --clean
- All release artificats will stored in the
dist
child directory in the codebase's root directory:- compressed package archives with:
- a
stalk
binary - manual page
- shell completion scripts
- a
- checksums
- change log
- compressed package archives with:
stalk
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
stalk
is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.