Commit Graph

1054 Commits

Author SHA1 Message Date
Jeevitha Kannan K S
ab7a67087d
refact: rust fixes and optimizations (#933)
* fix: getting locked out when running script

* Use success and fail colors and reorder imports

Use theme color instead of using ratatui::Color for running_command success and fail + search preview text color + min tui warning color, add colors for confirmation prompt, fix inverted success and fail colors

* Remove redundant code in themes

Removed redundant match statement with a function

* Fix scroll beyond list, color bleeding and refact in confirmation.rs

Remove unnecessary usage of pub in ConfirmPropmt struct fields, simplify numbering, prevent scrolling beyond list, fix color bleeding

* Implement case insensitive, fix word disappearing bug

Use regex for case insesitive finding, implement String instead of char<Vec>, fix word disappearing by recalculating the render x for preview text

* Revert "Remove redundant code in themes"

This reverts commit 3b7e859af8.

* Reference instead of passing the vector

* Revert regex and String implementation

Use Vec<char> for search_input to prevent panics when using multi-byte characters, use lowercase conversion instead of regex, Added comments for clarity

* Replace ansi and text wrapping code with ratatui

Replaced ansi related code for tree sitter highlight with direct ratatui::text. Cache the processed text in appstate to remove processing of text for every frame render.Create paragraph instead of list so that scroll and wrapping can be done without external crates. Add caps keys for handle_key_event.

* Fix conflicts

* Reference instead of borrowing commands, refact mut variables

Reference instead of borrowing commands from state, Refactor draw function variables to immutable, calculate innersize from block instead of manual definition

* Update tui/src/filter.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* Rendering optimizations and function refactors

Handle `find_command` inside state itself -> `get_command_by_name`. Move tips to a seperate file for modularity. Pass the whole args to state instead of seperate args. Use const for float and confirmation prompt float sizes. Add the `longest_tab_length` to appstate struct so that it will not be calculated for each frame render use static str instead String for tips. Use function for spawning confirmprompt. Merge command list and task items list rendering a single widget instead of two. Remove redundant keys in handle_key. Optimize scrolling logic. Rename `toggle_task_list_guide` -> `enable_task_list_guide`

* Cleanup

Use prelude for ratatui imports. Use const for theme functions, add
missing hints

* Update deps, remove unused temp-dir

* Add accidentally deleted preview.tape

Add labels + Wait 2sec after program ends

* Add fields to config files

Skip Confirmation, Bypass Size

* Remove accidentally commited config file

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-17 12:24:54 -06:00
Jeevitha Kannan K S
fa69885b6c
Use vt100-ctt instead of patching the dep (#952)
Thanks @a-kenji
2024-11-16 15:07:22 -06:00
Adam Perkowski
2dabb934f7
fix: crate cache & versions (#949) 2024-11-14 17:30:48 -06:00
Jeevitha Kannan K S
6d7d8dbc61
Add accidentally deleted preview.tape (#947)
Add labels + Wait 2sec after program ends
2024-11-14 10:46:15 -06:00
nyx
7147ed93e9
implement a root check menu (#927)
* implement a root check menu

* code needs to be readable

* rephrase it a lil bit

* disregard escalation tool variable if found as root

* refactor: Call root check from within AppState constructor (#7)

* remove duplicate check

* add comment back

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-11 10:27:30 -06:00
Jeevitha Kannan K S
fab3415c48
Update CLI arguments documentation (#926) 2024-11-11 10:26:15 -06:00
zdiff
16dd91ca29
Reduce the size of the linutil binary by removing unused features from tui/Cargo.toml (#922)
Co-authored-by: zdiff <zdiff@localhost>
2024-11-11 10:23:54 -06:00
Jeevitha Kannan K S
c4ad5a9471
fix: headers not installing (#915) 2024-11-11 10:22:53 -06:00
Jeevitha Kannan K S
432d6b3b0c
feat: Mouse scroll (#913)
* feat: add mouse scrolling

* revert: bluetooth-manager.sh

* feat: mouse hori scrolls

* Update tui/src/main.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* Update tui/src/confirmation.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* feat: implemetation of mouse position

Suggested by Liam (<33645555+lj3954@users.noreply.github.com>)

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-11 10:22:21 -06:00
Jeevitha Kannan K S
c42014d991
fix: permission err (#912) 2024-11-11 10:14:29 -06:00
Jeevitha Kannan K S
e93eca54a5
add aarch64 (#910) 2024-11-11 10:13:56 -06:00
Jeevitha Kannan K S
d8607487a6
refact: auto-cpufreq (#908)
* rework: auto-cpufreq

* Revert changes to userguide auto-cpufreq
2024-11-11 10:13:19 -06:00
Angaddeep Singh
f400eee4b1
fix(fedora): Recent syntax changes with DNF5 (#907)
* Dnf5 fixes

* again fix :)

* final fix

* added version check

* Apply suggestions from code review

Co-authored-by: Jeevitha Kannan K S <ksjeevithakannan123@gmail.com>

* Update core/tabs/applications-setup/Developer-tools/sublime-setup.sh

Co-authored-by: Jeevitha Kannan K S <ksjeevithakannan123@gmail.com>

---------

Co-authored-by: Jeevitha Kannan K S <ksjeevithakannan123@gmail.com>
2024-11-11 10:12:16 -06:00
Jeevitha Kannan K S
da5fb7a511
fix (ci): preview workflow (#905)
* fix: binary download, invalid action inputs

* Update preview.yml
2024-11-11 10:10:48 -06:00
Lennart Pieperjohanns
2f773e2c7d
fix(create-bootable-usb.sh) confirmation prompt (#902)
* fix create-bootable-usb.sh confirmation prompt

* Update core/tabs/utils/create-bootable-usb.sh

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-11 10:09:12 -06:00
Real-MullaC
76f8e6438b
docs: new repo (#888)
* Removes docs and mentions on readme

* Update README.md

* Update README.md

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update linutil.yml

* Delete xtask.yml

* Update preview.yml

* Update README.md

---------

Co-authored-by: Chris Titus <contact@christitus.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-08 17:09:25 -06:00
Jeevitha Kannan K S
8639da3855
feat: Command execution log (#898)
* feat: option to save logs

* refact: use time crate

* fix: panics

* hints

* update roadmap
2024-11-08 09:10:31 -06:00
Infinite State
17ff412595
fix(system-cleanup): failing with no orphan packages on arch (#882)
* Add extra check

* Update core/tabs/system-setup/system-cleanup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-08 09:07:35 -06:00
Infinite State
95cfbe8920
fix: Autocpu-freq script not detecting battery on laptops (#877)
* Add refined check

* remove an unneccessary comment

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: nyx <nnyyxxxx@protonmail.com>
2024-11-08 09:06:47 -06:00
Angaddeep Singh
0d4688d53e
Update multimedia-codecs.sh (#863) 2024-11-08 09:05:45 -06:00
Angaddeep Singh
2badbe9ead
Delist Firewall setup on systems with Firewalld installed, such as fedora (#862)
* fedora commit

* Update core/tabs/security/tab_data.toml

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-08 09:05:16 -06:00
Jeevitha Kannan K S
a0630e0a68
fix: Debian && popos gaming deps (#859)
* fix: debian gaming deps

* fix: pop-os gaming dependency issue

* Update gaming-setup.sh

* fix: shellcheck warning , formatting
2024-11-08 09:04:42 -06:00
Jeevitha Kannan K S
da534df296
refactor: system-update.sh (#843) 2024-11-08 09:03:41 -06:00
Phoenix Mark Hale
f5f38243f0
feat: tor browser installation (#842)
* Added Tor Browser to Web Browsers tab.

* Ran cargo xtask docgen

* removed unnecessary double quotes in tor-browser.sh

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>

---------

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:49:35 -06:00
Harsh Vyapari
51e2cbd607
feat: whatsapp desktop app (#838)
* feat(communication/whatsapp): add whatsapp desktop client

* Update core/tabs/applications-setup/communication-apps/whatsapp-setup.sh

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>

* refactor: changing name to zapzap

As per @Ilj3954 and @adamperkowski request, I'm changing both option and
script name to zapzap (which was the original name of the app)

* Update core/tabs/applications-setup/tab_data.toml

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/applications-setup/communication-apps/zapzap-setup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/applications-setup/communication-apps/zapzap-setup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/applications-setup/communication-apps/zapzap-setup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/applications-setup/communication-apps/zapzap-setup.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* chore: adjusting indentation

* Update core/tabs/applications-setup/communication-apps/zapzap-setup.sh

Co-authored-by: Jeevitha Kannan K S <ksjeevithakannan123@gmail.com>

* Update core/tabs/applications-setup/tab_data.toml

Co-authored-by: Jeevitha Kannan K S <ksjeevithakannan123@gmail.com>

---------

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:26:57 -06:00
Vorthas
b36a7df11c
feat: printer driver installation (#837)
* 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 <ksjeevithakannan123@gmail.com>

* 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 <adas1per@protonmail.com>

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

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/utils/tab_data.toml

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/utils/tab_data.toml

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update docs after changes.

---------

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-07 13:23:13 -06:00
Jeevitha Kannan K S
9f0863729f
feat: Add automation based on config file (#836)
* feat: Add automation based on config file

* docs: add configuration to the manpage & README

* update roadmap

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:21:37 -06:00
Jeevitha Kannan K S
e8e1a36a63
Linutil arguments when using curl (#835)
* Use args

* Include details about arguments

* Update README.md

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-07 13:18:21 -06:00
Jeevitha Kannan K S
d033b0f36d
feat: Add --skip-confirmation flag (#834)
* feat: Add --skip-confirmation flag

* add `--skip-confirmation` to the manpage

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-07 13:09:18 -06:00
Jeevitha Kannan K S
472c85eb79
Increase scroll length (#830) 2024-11-07 13:08:20 -06:00
Sebastian
629b1290be
Added required dependencies for Arch (#824)
When installing dwm-titus with slstatus from a fresh Arch-Server install, several required dependencies are missing and need to be included. These are:
- meson
- libev
- uthash
- libconfig

Tested only on another fresh Arch-Server install and script completed successfully.
2024-11-07 13:07:49 -06:00
solomoncyj
cb6e0f9cb6
Add OpenSUSE to list of linutil added to package managers (#820)
* Add OpenSUSE to list of linutil added to package managers

* Update README.md

* set up install script

* Update linutil-installer.sh

* Update linutil-installer.sh

* fixes

* Update linutil-installer.sh

* Update linutil-installer.sh

* Update linutil-installer.sh

* Update linutil-installer.sh

* Update README.md

* Update linutil-installer.sh

* Update README.md

* Update linutil-installer.sh

* Apply suggestions from code review

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/applications-setup/linutil-installer.sh

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>

* Update linutil-installer.sh

* Update linutil-installer.sh

* Update README.md

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:07:28 -06:00
Jeevitha Kannan K S
159d2cb00f
Update mybash-setup.sh (#819) 2024-11-07 13:05:23 -06:00
Jeevitha Kannan K S
9dbb787ac5
Update ollama.sh (#815)
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:04:53 -06:00
Jeevitha Kannan K S
1e39d967c5
feat: Alpine linux support (#814)
* Add basic apk to scripts

* Add common service script

* Fix alpine bugs

* Add flatpak installations

* chore: update scripts, add common-service-script to shellcheckrc
2024-11-07 13:03:21 -06:00
Jeevitha Kannan K S
e31622480b
feat: Add Arch virtualization setup script (#813)
* Add Arch virtualization setup script

* Replace hardcoded pacman

* Update core/tabs/system-setup/arch/virtualization.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update virtualization.sh

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update core/tabs/system-setup/arch/virtualization.sh

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* chore: formatting

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-07 13:01:50 -06:00
Liam
980365f7c9
refactor: Re-export ego-tree dependency from linutil core (#811)
* refactor: Export ego-tree from linutil core, rather than workspace

* refactor: Improve code formatting

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:00:34 -06:00
nyx
421044f43e
fix reversion (#923) 2024-11-07 12:58:18 -06:00
Jeevitha Kannan K S
652b8808a9
xtask docgen (#924) 2024-11-07 12:52:51 -06:00
Jeevitha Kannan K S
8ea3da9843
Remove dependabot ignores (#806) 2024-11-06 16:30:40 -06:00
Jeevitha Kannan K S
176b19d692
Use ratatui bundled crossterm (#805) 2024-11-06 16:29:52 -06:00
Jeevitha Kannan K S
98e2f83f43
feat: Add arch nvidia installation script (#797)
* Add arch nvidia script

* Update model fetching

* chore: formatting, git as dep

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-06 16:28:36 -06:00
Adam Perkowski
9d1dc35f43
📃 feat: Linux Neptune (Valve's kernel for SteamDeck) installation (#683)
* Linux Neptune installation script

* fixed some stuff that's not supposed to be here

Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>

* fix repo check

* added audio patches

https://github.com/ChrisTitusTech/linutil/issues/269#issuecomment-2380379049

* add linux neptune to docs (userguide)

* steamdeck precondition

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* precondition fix

* another precondition fix

---------

Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>
Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-06 16:20:16 -06:00
Jeevitha Kannan K S
1234edd466
Change numlock description (#790) 2024-11-06 16:11:31 -06:00
leventbesli
d1a1812709
feat: btrfs assistant & grub-btrfs (#789)
* Btrfs Assistant(+snapper), grub-btrfs Setup added

Adds fedora-btrfs-assistant.sh, updates tab_data and documentation.

* updated doc, ta_data and sh

* enable grub-btrfsd service added

* updated some wording in notices.

* updated wording and add prompts for actions

* added fix for a possible grub error

also some more enhancements and wording improvements.

* user action removed

reinstall snapper action removed because removing and reinstalling snapper is a very unlikely action. and also snapper can't handle ./snapsots folder in the disk after reinstalling: "creating btrfs subvolume .snapshots failed since it already exists".

* firs snapshot order changed

home snapshot taken first because it's config can be saved to first root snapshot.

* better explanations in user prompts

* improved y/n loop

* formatting improvements

* formatting improvement

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* formatting improvement

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* Update task list

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* removed a inline comment

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* removed an unnececary inline comment

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* removed an unnececary inline comment

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* improved sed -i

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* improved sed -i

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* improved sed -i

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* newlines removed from tab_data.toml

Co-authored-by: Nyx <nnyyxxxx@protonmail.com>

* btrfs detection moved to toml

Co-authored-by: Nyx <nnyyxxxx@protonmail.com>

* data.preconditions added - escalation tool used

* $PACKAGER replaced with dnf

* re-added packager

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* re-added packager

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* usergide updated with docgen

* typo fix

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Nyx <nnyyxxxx@protonmail.com>
2024-11-06 16:05:26 -06:00
Albert de Palo Hardvendel
f2a1766289
Added support for installing podman (#787)
* Added support for installing podman

* removed llm comment

* Added podman to userguide

* Added support for install pythona and pip in case of missing. changed pip install to rootless install

* changed installing podman-compose with pip to packagemanager

* Update core/tabs/applications-setup/podman-setup.sh

Only install Podman if it is not installed already.

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/applications-setup/podman-setup.sh

Only install podman-compose if it is not installed already.

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* added podman-compose install option

* split podman install into podman and podman-compose

* Update core/tabs/applications-setup/podman-setup.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/applications-setup/podman-setup.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/applications-setup/podman-compose-setup.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/applications-setup/podman-compose-setup.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/applications-setup/podman-compose-setup.sh

Removed redundant quotes

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>

* Update core/tabs/applications-setup/podman-setup.sh

Removed redundant quotes

Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>

---------

Co-authored-by: nyx <nnyyxxxx@protonmail.com>
Co-authored-by: JEEVITHA KANNAN K S <ksjeevithakannan123@gmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-06 16:03:50 -06:00
Liam
6728e7ee9b
refact: Handle temporary directories entirely within core (#754)
* refactor: Handle temporary directories entirely within core

* fix (xtask): Handle modified tablist struct

* refactor (xtask): Apply Clippy suggested changes

* Fix size_bypass

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-06 15:28:17 -06:00
nyx
c36879e22f
Implement Rounded corners (#918)
* add rounded corners

* more

* apply rounded corners to script boxes as well
2024-11-06 14:01:19 -06:00
nev-al
e463037e69
fix(dwmtitus-setup): dm picking (#823)
Co-authored-by: usr <you@example.com>
2024-11-06 12:04:02 -06:00
Adam Perkowski
f0734f361c
🦀 feat(ux): add a minimum size bypass cli flag (#920)
* 🦀 feat(ux): add a minimum size bypass cli flag

* oopsie
2024-11-06 09:49:26 -06:00