Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thewisker/linuxshss

Collection of utility scripts for Linux, designed to simplify and automate a variety of tasks
https://github.com/thewisker/linuxshss

archlinux bash-script collection utility

Last synced: about 1 month ago
JSON representation

Collection of utility scripts for Linux, designed to simplify and automate a variety of tasks

Awesome Lists containing this project

README

        

LinuxShss







Collection of Linux shell utilities

Index



[Description][description]

[Features][features]

[Screenshots][screenshots]

[Installation][installation]

[Updating][updating]

[Dependencies][dependencies]

[Configuration][configuration]

[Discussions][discussions]

[Contributions][contributions]

[Documentation][documentation]

[License][license]

[Code of Conduct][coc]

[Author][author]

Description []

This is a collection of Linux shell utilities with each focusing on one specific task, thus following the Unix philosophy of simplicity.

Features []

The collection features:

- **Locrel** script to check if a list of [AUR][aur] packages and [GitHub][github] repositories have **new versions**
- **Bootrep** script to print a variety of information about the current **boot**
- **Pacup** script as a `Pacman -Syu` wrapper to nicely **prompt to update**

Screenshots []







Installation []

Arch Linux

You can install **LinuxShss** from the [AUR][aur] repository:



- For information on how to install an [AUR][aur] package read [this][aur-wiki] wiki.

Then you should **ensure** the shell you use has `~/.local/bin` added to the **PATH** env.

> [!NOTE]
> Only users **created after** installation will have the scripts in `~/.local/bin` as explained in the *manual* installation instructions.

Manually

The **LinuxShss** installation is really straightforward.

Check you have the **required** [dependencies][dependencies].
**Copy** the files located in the `./bin/` directory of the **repository** to `/etc/skel/.local/bin` and/or `~/.local/bin` to install *globally* or on a *per-user* basis.
When installed *globally*, every user **created after** the installation will receive a **copy** of the scripts in `~/.local/bin` except if the system has a *different* skel directory configured or *does not copy* the skel directory on
user creation. After installing the scripts **ensure** the shell you use has `~/.local/bin` added to the **PATH** env as to be able to directly run the scripts without having to be on the installation directory.

> [!NOTE]
> Even though the scripts can be installed to a global location like `/usr/bin` it is preffered to install them to the user path `~/.local/bin` as they are meant to be easyly customizable and some perform
> user-specific actions.

Updating []

When updating **LinuxShss** just follow the steps for installation.

> [!WARNING]
> Any **custom changes** to the scripts will **dissapear**. If you wish those changes **persist** simply add them to the **new** scripts.

Dependencies []

Buildtime

The **LinuxShss** project has no *buildtime* dependencies.

Runtime

Every scripts depends on [bash][bash] as they are **bash scripts**.

- **Locrel** script also depends on [jq][jq] for **parsing** [JSON][JSON], [curl][curl] for **pulling** web data and [awk][awk] for **modifying** origins file. **Errors** will be issued if the dependencies are **not found**!
- **Bootrep** *optionally* depends on some system configuration to work and will print some errors if the system does not use what it expects to use. In such case, simply delete
the lines that print those errors as they target a **different system** configuration. If the user is knowledgeable in their system configuration they can usually replace them to work for their system.
- **Pacup** depends on [pacman][pacman] as it is fundamentally just a simple **wrapper** for prompting if the user wants to update, with a **default** value of no.

Configuration []

The only **script** which actually has configuration is **Locrel** which has a `$origins` **variable** at the start of the file that contains the **path** of the origins file.

Discussions []

Feel free to give any **ideas** for future **scripts** [here][discussion-ideas]
and ask any **questions** you have [here][discussion-questions].

Contributions []

All contributions are welcome!
The **steps** involved when making a contribution are **explained** in the [CONTRIBUTING.md][contributing] file.
We look forward to your contributions!

- The **contributors** list is located [here][contributors].

Documentation []

- **Locrel**:
- Configure the `$origins` **variable** in the script to point to a **valid** origins file
- **Populate** the origins file following the format:
- \ \ \ (\)
- Where
- \: ( 'aur' | 'github' | 'github-commit' )
- \: ( **aur** -> *package-name* | ( **github** | **github-commit** ) -> *user/repo* )
- \: ((**aur** | **github**) -> *latest-version* | **github-commit** -> *hash* )
- \: ( ( **aur** | **github** ) -> *not-allowed* | **github-commit** -> *branch* ) [Default: master]
- Examples
- aur shikai-theme v1.5.3-1
- github TheWisker/Shikai v1.5.3
- github-commit TheWisker/Shikai 33220107395cfbddede8b6a679269ec71fd9bb75 master
- Simply run the **locrel** script

- **Bootrep**:
- Make any desired **changes** like adding or removing output instructions
- Simply run the **bootrep** script

- **Pacup**:
- Simply run the **pacup** script

License []

This project is licensed under the GNU GENERAL PUBLIC LICENSE v3.

Code of Conduct []

This project follows the Contributor Covenant Code of Conduct.

Author []







TheWisker

[description]: https://github.com/TheWisker/LinuxShss#description-
[features]: https://github.com/TheWisker/LinuxShss#features-
[screenshots]: https://github.com/TheWisker/LinuxShss#screenshots-
[installation]: https://github.com/TheWisker/LinuxShss#installation-
[updating]: https://github.com/TheWisker/LinuxShss#updating-
[dependencies]: https://github.com/TheWisker/LinuxShss#dependencies-
[configuration]: https://github.com/TheWisker/LinuxShss#configuration-
[discussions]: https://github.com/TheWisker/LinuxShss#discussions-
[contributions]: https://github.com/TheWisker/LinuxShss#contributions-
[documentation]: https://github.com/TheWisker/LinuxShss#documentation-
[license]: https://github.com/TheWisker/LinuxShss#license-
[coc]: https://github.com/TheWisker/LinuxShss#code-of-conduct-
[author]: https://github.com/TheWisker/LinuxShss#author-
[aur]: https://aur.archlinux.org/
[aur-wiki]: https://wiki.archlinux.org/title/Arch_User_Repository
[github]: https://github.com
[bash]: https://www.gnu.org/software/bash/
[jq]: https://jqlang.github.io/jq/
[JSON]: https://www.json.org/json-en.html
[curl]: https://curl.se/
[awk]: https://en.wikipedia.org/wiki/AWK
[pacman]: https://wiki.archlinux.org/title/Pacman
[discussion-ideas]: https://github.com/TheWisker/LinuxShss/discussions/categories/ideas
[discussion-questions]: https://github.com/TheWisker/LinuxShss/discussions/categories/q-a
[contributing]: ./CONTRIBUTING.md
[contributors]: ./CONTRIBUTORS.md