Skip to content

Commit

Permalink
feat: printer driver installation (#837)
Browse files Browse the repository at this point in the history
* Add basic script to install Epson printer drivers in Arch, Debian, and Fedora.

* Add I to the task_list for this script.

* Update core/tabs/utils/printers/install-epson-printer-drivers.sh

Co-authored-by: JEEVITHA KANNAN K S <[email protected]>

* Update userguide.md based on adam's documentation update.

* Add description to tab_data.toml for the printer addition.

* Fix typo, oops.

* Actually generate the updated userguide.

* Add installation of CUPS as a pre-requisite for Epson printer drivers as well as standalone script for other printer drivers to be added in the future.

* Update core/tabs/utils/printers/install-cups.sh

Co-authored-by: Adam Perkowski <[email protected]>

* Update core/tabs/utils/printers/install-epson-printer-drivers.sh

Co-authored-by: Adam Perkowski <[email protected]>

* Update core/tabs/utils/tab_data.toml

Co-authored-by: Adam Perkowski <[email protected]>

* Update core/tabs/utils/tab_data.toml

Co-authored-by: Adam Perkowski <[email protected]>

* Update docs after changes.

---------

Co-authored-by: JEEVITHA KANNAN K S <[email protected]>
Co-authored-by: Adam Perkowski <[email protected]>
  • Loading branch information
3 people authored Nov 7, 2024
1 parent 9f08637 commit b36a7df
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 0 deletions.
27 changes: 27 additions & 0 deletions core/tabs/utils/printers/install-cups.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/sh -e

. ../../common-script.sh

installCUPS() {
clear

case "$PACKAGER" in
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm cups
;;
apt-get | nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y cups
;;
dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y cups
;;
*)
printf "%b\n" "${RED}Unsupported package manager ${PACKAGER}${RC}"
exit 1
;;
esac
}

checkEnv
checkEscalationTool
installCUPS
30 changes: 30 additions & 0 deletions core/tabs/utils/printers/install-epson-printer-drivers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/sh -e

. ../../common-script.sh
. ./install-cups.sh

installEpsonPrinterDriver() {
clear

case "$PACKAGER" in
pacman)
"$AUR_HELPER" -S --noconfirm epson-inkjet-printer-escpr
;;
apt-get | nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y printer-driver-escpr
;;
dnf)
"$ESCALATION_TOOL" "$PACKAGER" install -y epson-inkjet-printer-escpr
;;
*)
printf "%b\n" "${RED}Unsupported package manager ${PACKAGER}${RC}"
exit 1
;;
esac
}

checkEnv
checkEscalationTool
checkAURHelper
installCUPS
installEpsonPrinterDriver
15 changes: 15 additions & 0 deletions core/tabs/utils/tab_data.toml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,21 @@ name = "Set Resolution"
description = "This script is designed to change the resolution of monitors connected to your system"
script = "monitor-control/set_resolutions.sh"

[[data]]
name = "Printers"

[[data.entries]]
name = "CUPS"
script = "printers/install-cups.sh"
description = "This script will install the CUPS system, required for most printer drivers on Linux."
task_list = "I"

[[data.entries]]
name = "Epson printer drivers"
script = "printers/install-epson-printer-drivers.sh"
description = "This script will install the Epson printer drivers."
task_list = "I"

[[data]]
name = "User Account Manager"
multi_select = false
Expand Down
5 changes: 5 additions & 0 deletions docs/userguide.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ https://github.com/ChrisTitusTech/dwm-titus
- **Set Primary Monitor**: This script is designed to set a Primary monitor in your system
- **Set Resolution**: This script is designed to change the resolution of monitors connected to your system

### Printers

- **CUPS**: This script will install the CUPS system, required for most printer drivers on Linux.
- **Epson printer drivers**: This script will install the Epson printer drivers.

### User Account Manager

- **Auto Mount Drive**: This utility is designed to help with automating the process of mounting a drive on to your system.
Expand Down

0 comments on commit b36a7df

Please sign in to comment.