BIJAY'S Toolkit

User & Admin Guide — what the toolkit is and how to use every part of it, step by step. Launcher v3.23.0

1. What is BIJAY'S Toolkit?

BIJAY'S Toolkit is a one-command IT toolkit for Windows. On any client PC you run a single line in PowerShell and a modern dark app opens with two things:

Everything you see is built live from a private GitHub repository. Add a script or an app in the Admin Panel (or in git) and it shows up the next time the toolkit runs — there is no app to re-install and nothing to configure on the client.

The big idea: the client PC only ever downloads text over HTTPS. All the content lives in one place you control, and updates are instant.

There's also a Linux launcher for the same workflow on Linux devices (a terminal menu of bash script sets) — see section 3b.

2. Who uses what

Two roles, two entry points. Throughout this guide, sections are tagged:

USER the engineer/technician at the client PC who runs scripts and installs software.
ADMIN whoever curates the content (scripts, apps, config) in the browser Admin Panel.

TaskWhereNeeds
Run scripts / install appsThe launcher on the client PCAccess password (if enabled)
Add / edit scripts, apps, config/admin in a browserAdmin password

3. Quick start (run it) USER

  1. Open Windows PowerShell on the client PC (no admin needed to start it).
  2. Paste this and press Enter:
    irm https://toolkit.bistab.com.np | iex
  3. If a password box appears, enter the access password you were given and click Sign in.
  4. The toolkit window opens. Pick a script set or the App Catalog from the left and go.
irm = Invoke-RestMethod and iex = Invoke-Expression: it downloads the launcher text and runs it. Nothing is installed on the PC. Close the window to exit.

Prefer the old text menu? Use the console mode instead — see section 7.

3b. Running scripts on Linux NEW USER

The toolkit also has a Linux launcher — the same idea as the Windows one, in a terminal. It runs the bash script sets an admin keeps under the Linux tab of the admin panel.

  1. Open a terminal on the Linux device.
  2. Run:
    curl -fsSL https://toolkit.bistab.com.np/linux | bash
  3. If the toolkit is password-protected, the launcher prompts for the access password (the same launcher key) and retries. To skip the prompt, export it first:
    export MSP_KEY=<your launcher key>
  4. A menu lists the Linux script sets. Pick a set → a category → a script, then choose Run, Run as root, View, or Schedule.
Needs curl and either jq or python3 (usually already present). at is only needed if you schedule a run. The menu reads your keystrokes from the terminal, so it works even though it's piped into bash — and over SSH.
Nicer menu: if fzf is installed (sudo apt install fzf) the launcher uses it automatically — mouse (click / scroll), arrow keys, type-to-search and a live preview pane. Without fzf you get a clean numbered menu (keyboard only).

Scheduling a script runs it once at a chosen time — the Linux equivalent of the Windows scheduled task. If at is installed it takes a flexible time (now + 1 hour, 14:30, tomorrow 08:00); otherwise it falls back to a systemd timer (no install needed on any systemd distro) and asks for a delay (30min, 2h) or a YYYY-MM-DD HH:MM time. Output is logged under ~/.bijays-toolkit/scheduled/. List jobs with atq / systemctl --user list-timers.

4. The launcher window USER

A quick tour of the interface:

5. Running scripts USER

  1. Under SCRIPTS, click a script set (e.g. a client). You'll see its sections (folders) and any [Shared] sections that apply to everyone.
  2. Click a section to open it. Keep clicking folders to drill deeper; use the breadcrumb to go back.
  3. On a script card you'll see its name and description. Choose:
    • Run — runs it as the current user in a separate window.
    • Admin — runs it elevated (a Windows UAC prompt appears). Use this for anything that changes the system.
  4. The script runs in its own window and pauses at the end (“Press Enter to close”) so you can read the output. The toolkit stays open.
Client settings are automatic. Each script set can carry a config.json (printers, Wi‑Fi, app lists, etc.). The toolkit passes those values to any script that asks for them — so the same script does the right thing for each client.

Folders can be nested to any depth; a card with a chevron is a folder — click anywhere on it to open it.

6. Installing software USER

App Catalog (one-click, via winget)

  1. In the sidebar under SOFTWARE, click App Catalog.
  2. Apps are grouped by category (Browsers, Communications, Development, …). Tick the apps you want. Use Select all next to a category heading to grab everything in it.
  3. Click Install Selected (N) at the top. A Windows UAC prompt appears — approve it.
  4. An elevated window opens and installs each app silently with winget, showing progress and a summary. Press Enter to close it when done.
Installs use the public winget catalog and accept the required agreements automatically, so they run unattended. If winget isn't present (older Windows 10), the toolkit tries to install “App Installer” first.

Multiple catalogs

There can be more than one catalog — for example a general one plus a client-specific one. Each extra catalog appears under SOFTWARE as its own entry; click it to open its own checkbox grid. Your ticks and the install button are per-catalog.

Custom install scripts

Some software is delivered as a normal script instead (drivers, licensed installers, in-house tools). Those live in Software folders and behave like any script card — Run or Admin. They typically download an installer to C:\ProgramData\BijayToolkit\Installers and run it silently.

7. Classic console mode USER

If you prefer a keyboard-only text menu (or you're on a machine where the graphical window won't open), run:

irm https://toolkit.bistab.com.np/console | iex

It shows the same script sets as a three-level menu — Script Set → Section → Script — with arrow keys to move, number keys to jump, Enter to select, and B back / H home / Q quit on every screen. Per script you can pick run-as-user or run-as-admin.

8. Admin panel — sign in ADMIN

  1. Browse to https://toolkit.bistab.com.np/admin (opening the bare domain in a browser also redirects here).
  2. Enter the admin password and sign in. It's remembered for the browser tab only.
  3. You'll see a file tree on the left grouped into Scripts, Software, Doc Storage, and Templates & Shared, with a search box and scope filter.
Every change is committed to GitHub. Saving, renaming, deleting and creating all make a real commit, and Save / Rename / Delete ask for the admin password again before they proceed. This is your audit trail.

The panel is fully responsive — on a phone the sidebar becomes a drawer (tap the ☰). Use ⟳ Refresh to reload the tree.

9. Admin — managing Scripts ADMIN

Create a new script set

  1. Next to Scripts, click .
  2. Enter a name (lowercase, no spaces — e.g. acme). It's created with a starter config.json copied from the template.
  3. Fill in the client's values via the Settings (gear) button on the set — apps, printers, Wi‑Fi, etc.

Add sections & scripts

  1. Click a script set (or any folder) to open its folder view on the right.
  2. Use + Folder to add a section (e.g. Printers), + File to create a script, or ⤒ Import files to upload existing .ps1 files (drag-and-drop works too).
  3. Name scripts NN-name.ps1 — the leading number sets the order; the display name is derived from the file name (number stripped, dashes → spaces, Title Cased).

Edit, rename, move, delete

Shared sections live under Templates & Shared → shared. Anything there is offered to every script set, labelled [Shared] in the launcher, and its config.json is merged underneath each client's own.

10. Admin — App Catalog & Software ADMIN

Open a catalog

Under Software, click App Catalog to open the form editor (no raw JSON needed). Each category is a card; each app is a row showing its name, Winget ID, icon keyword and description.

Add & edit apps

  1. Click + Add app on a category (or the three-dot ⋮ → Edit on an existing app).
  2. Fill in the form:
    • App name — what users see.
    • Winget ID — the exact package Id only (e.g. Google.Chrome). Find it by running winget search <name> on any PC and copying the Id column. not the whole command
    • Icon — optional keyword (microsoft, chrome, adobe, vpn, zip, pdf, media, code, cloud…).
    • Description — one short line.
  3. Click Save app, then 💾 Save catalog to commit. (If you paste a full winget install … command by mistake, it's automatically reduced to just the Id.)

Organise categories & apps

Create additional catalogs

  1. Click the next to Software and choose New app catalog.
  2. Give it a name. It's created with one sample category and one sample app as a starting point.
  3. Edit or delete the sample and add your own apps. Rename or delete the whole catalog from the actions on its sidebar row.

The same + → New script folder option creates a folder for custom install scripts instead of a catalog.

A software folder becomes a catalog automatically when it contains an apps.json; otherwise it's treated as a custom-script folder. The catalog's apps.json is edited only through this form, so it's hidden from the raw file tree.

11. Doc Storage, Templates & Shared ADMIN

12. Writing a script ADMIN

Every script is a normal .ps1 file. Start it with these header comments (they drive the card) and, if it needs client settings, a $Config parameter:

# Title: Fix Print Spooler
# Description: Restarts the spooler and clears stuck jobs
# Icon: printer            # optional; keyword for the card icon
param($Config)             # optional; omit if the script needs no settings

# ...your logic...

Rules that keep the launcher stable:

For a software installer, copy data/templates/software-install.ps1 — it downloads to C:\ProgramData\BijayToolkit\Installers and installs silently. See also data/templates/_howto.md.

13. Editing straight from GitHub ADMIN

The Admin Panel is a convenience — the source of truth is the git repository. You can do everything from git instead:

Launcher and data changes go live on push (they're read fresh each run). Admin-panel page changes need a redeploy — see the Technical reference.

14. Troubleshooting & FAQ

SymptomWhat to do
Nothing happens / “running scripts is disabled”The command form irm … | iex bypasses execution policy. If blocked by policy, run PowerShell and try again, or use the console mode.
A password box appearsExpected when an access password is set. Enter it. Wrong password shows an error and lets you retry.
I added something in Admin but don't see itClick Refresh in the launcher. Admin changes are live immediately for the launcher.
The Admin page looks unchanged after an updateThe admin page is cached by the browser/CDN; hard-refresh with Ctrl+F5 after a deploy.
An app fails with “No package found”The Winget ID is wrong. Run winget search <name>, copy the exact Id, and fix it in the App Catalog editor.
Software needs admin rightsUse the Admin button (scripts) or approve the UAC prompt (App Catalog installs run elevated).
The graphical window won't openUse console mode (/console).
Linux curl … | bash says it needs jq/python3Install one: sudo apt install jq (or python3). For scheduling, also sudo apt install at && sudo systemctl enable --now atd.
Linux launcher shows “401 / Access password required”Enter the launcher key at the prompt (same one the Windows toolkit uses). To skip the prompt, export MSP_KEY=<key> before the curl … | bash line. A MSP_KEY=… curl … | bash prefix does not work — it only sets it for curl, not bash.