mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-30 22:57:54 +00:00
Update VTSM to support custom manifest files
Turns out I already laid the foundation, I simply forgot to implement it myself. Whoops!
This commit is contained in:
parent
cef34b86cb
commit
49930ab3d8
14
README.adoc
14
README.adoc
@ -86,7 +86,8 @@ The best way to describe VTSM is basically GNU Stow with a generic shell runner.
|
||||
VTSM takes inspiration from GNU Stow (obviously) and https://github.com/holman/dotfiles[how Zach Holman's dotfiles are set].
|
||||
When managing your dotfiles, VTSM is going to be your friend/workmate.
|
||||
|
||||
All VTSM needs is a directory containing a package list stored in `locations.json` with the name of the packages and their target path.
|
||||
All VTSM needs is a directory containing a package list stored in a JSON file with the name of the packages and their target path.
|
||||
By default, it searches for a file named `locations.json`.
|
||||
|
||||
.An example of what `locations.json` could be
|
||||
[source, json]
|
||||
@ -315,6 +316,17 @@ For creating or editing Rofi themes, read the manual entry of `rofi-theme`.
|
||||
Also, view the related https://wiki.archlinux.org/index.php/Rofi[Arch Wiki entry].
|
||||
|
||||
|
||||
=== https://github.com/naelstrof/slop[slop]
|
||||
|
||||
A select operator for X-based systems with all the fanciful bell and whistles.
|
||||
|
||||
* Config located at link:slop[`slop`].
|
||||
* The usual target path is at `$HOME/.config/slop`.
|
||||
* Minimum version (from `slop --version`):
|
||||
** v7.5
|
||||
* It only contains customized selection shaders and whatnot that may be used for my custom scripts.
|
||||
|
||||
|
||||
=== https://github.com/baskerville/sxhkd[sxhkd]
|
||||
|
||||
Stands for "Simple X Hotkey Daemon".
|
||||
|
3
vtsm
3
vtsm
@ -134,6 +134,7 @@ def setup_args():
|
||||
|
||||
argparser.add_argument("-c", "--commands", metavar = "command", help = "Executing the specified commands. All of the commands are treated as they were entered in the shell.", nargs = "*", default = ["echo {package} is set at {location}"])
|
||||
argparser.add_argument("-d", "--directory", metavar = "path", help = "Set the directory of the package data file.", type = Path, nargs = "?", default = Path(os.getcwd()))
|
||||
argparser.add_argument("-m", "--manifest", metavar = "manifest", help = "Specify what metadata file to be used (e.g., locations.json).", type = Path, nargs = "?", default = DEFAULT_PACKAGE_DATA_FILE)
|
||||
argparser.add_argument("--exclude", metavar = "package", help = "Exclude the given packages.", type = str, nargs = "+", default = [])
|
||||
argparser.add_argument("--include", metavar = ("package", "location"), help = "Include with the following packages.", type = str, nargs = 2, action = "append", default = [])
|
||||
argparser.add_argument("--only", metavar = "package", help = "Only execute with the given packages.", type = str, nargs = "+", default = [])
|
||||
@ -153,7 +154,7 @@ def parse_args(parser, argv):
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
try:
|
||||
package_dir = PackageDir(args.directory)
|
||||
package_dir = PackageDir(args.directory, args.manifest)
|
||||
|
||||
# Include the following packages.
|
||||
for package, target in args.include:
|
||||
|
Loading…
Reference in New Issue
Block a user