mirror of
https://github.com/Matir/skel.git
synced 2026-05-25 21:19:09 -07:00
Fish updates
This commit is contained in:
29
AGENTS.md
29
AGENTS.md
@@ -5,7 +5,7 @@ on POSIX-style environments. It is cloned from github and installed from the
|
||||
`install.sh` script.
|
||||
|
||||
It mostly relies on symlinking dotfiles and other resources into the appropriate
|
||||
locations, bnut also installs dependencies in various ways.
|
||||
locations, but also installs dependencies in various ways.
|
||||
|
||||
I primarily target Debian Linux-based (Debian, Ubuntu, and Kali Linux) systems
|
||||
as well as MacOS. Other platforms are lower priorities. Shell scripts ending
|
||||
@@ -15,6 +15,13 @@ beginning suggesting a different shell will be used.
|
||||
`zsh` and `fish` are the key interactive shells to be configured, but `bash`
|
||||
may also be used at times.
|
||||
|
||||
## Project Structure
|
||||
|
||||
* `bin/`: Contains executable scripts that should be available in the shell's `PATH`.
|
||||
* `dotfiles/`: Contains configuration files (dotfiles) to be symlinked into the home directory.
|
||||
* `packages/`: Contains lists of packages to be installed by the `install.sh` script. Each file in this directory corresponds to a package set.
|
||||
* `install.sh`: The main installation script that sets up the environment, symlinks dotfiles, and installs packages.
|
||||
|
||||
## Notes on Security Issues
|
||||
|
||||
It is safe to have scripts and tools re-invoke themselves with sudo when they
|
||||
@@ -32,3 +39,23 @@ explain solution design.
|
||||
|
||||
If making changes that affects how the user installs the tools, update
|
||||
`README.md` accordingly.
|
||||
|
||||
### Adding a new dotfile
|
||||
|
||||
1. Place the new dotfile in the `dotfiles/` directory.
|
||||
2. The `install.sh` script will automatically symlink it to the home directory.
|
||||
|
||||
### Adding a new script to `bin/`
|
||||
|
||||
1. Add the new script to the `bin/` directory.
|
||||
2. Ensure the script is executable (`chmod +x`).
|
||||
|
||||
### Adding a new package
|
||||
|
||||
1. Identify the appropriate package list in the `packages/` directory (e.g., `packages/cli`, `packages/kali`).
|
||||
2. Add the new package name to the list.
|
||||
3. If a new package set is required, create a new file in the `packages/` directory.
|
||||
|
||||
### Platform-specific changes
|
||||
|
||||
When making changes that are specific to a platform (e.g., Debian vs. macOS), please check for existing conventions in the `install.sh` script or other files. Use conditional logic (e.g., checking `uname`) to apply platform-specific settings.
|
||||
|
||||
Reference in New Issue
Block a user