diff --git a/.github/workflows/bashisms.yml b/.github/workflows/bashisms.yml index cffacb044..4eb962497 100644 --- a/.github/workflows/bashisms.yml +++ b/.github/workflows/bashisms.yml @@ -3,11 +3,11 @@ name: Check for bashisms on: # push: # paths: - # - tabs/** + # - core/tabs/** # branches: [ "main" ] pull_request: paths: - - tabs/** + - core/tabs/** merge_group: workflow_dispatch: @@ -24,7 +24,7 @@ jobs: - name: Check for bashisms in changed files run: | - for file in $(git diff --name-only origin/${{ github.base_ref }} HEAD tabs); do + for file in $(git diff --name-only origin/${{ github.base_ref }} HEAD core/tabs); do if [[ "$file" == *.sh ]]; then checkbashisms "$file" fi diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index adcd80481..e560aea52 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -3,7 +3,7 @@ name: ShellCheck on: pull_request: paths: - - 'tabs/**/*.sh' + - 'core/tabs/**/*.sh' workflow_dispatch: jobs: @@ -15,5 +15,5 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master with: - scandir: 'tabs' + scandir: 'core/tabs' severity: error \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index c3798ede0..a558b3ab0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -452,7 +452,7 @@ checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "linutil_core" -version = "0.1.0" +version = "24.9.19" dependencies = [ "ego-tree", "include_dir", @@ -464,7 +464,7 @@ dependencies = [ [[package]] name = "linutil_tui" -version = "0.1.0" +version = "24.9.19" dependencies = [ "chrono", "clap", diff --git a/Cargo.toml b/Cargo.toml index 551f0bc4b..ebb3544da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace.package] license = "MIT" -version = "0.1.0" +version = "24.9.19" [workspace.dependencies] ego-tree = "0.6.2" @@ -16,4 +16,4 @@ lto = true codegen-units = 1 panic = "abort" strip = true -incremental = false +incremental = false \ No newline at end of file diff --git a/core/Cargo.toml b/core/Cargo.toml index fdabe6091..8605c94c5 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,8 +1,15 @@ [package] name = "linutil_core" +description = "The backend of Linutil." +repository = "https://github.com/ChrisTitusTech/linutil/tree/main/core" edition = "2021" version.workspace = true license.workspace = true +include = [ + "src/*.rs", + "Cargo.toml", + "tabs/**", +] [dependencies] include_dir = "0.7.4" diff --git a/core/src/inner.rs b/core/src/inner.rs index f936e3b2c..00761c2db 100644 --- a/core/src/inner.rs +++ b/core/src/inner.rs @@ -5,7 +5,7 @@ use serde::Deserialize; use std::path::{Path, PathBuf}; use tempdir::TempDir; -const TAB_DATA: Dir = include_dir!("$CARGO_MANIFEST_DIR/../tabs"); +const TAB_DATA: Dir = include_dir!("$CARGO_MANIFEST_DIR/tabs"); pub fn get_tabs(validate: bool) -> Vec { let tab_files = TabList::get_tabs(); diff --git a/tabs/applications-setup/alacritty-setup.sh b/core/tabs/applications-setup/alacritty-setup.sh similarity index 100% rename from tabs/applications-setup/alacritty-setup.sh rename to core/tabs/applications-setup/alacritty-setup.sh diff --git a/tabs/applications-setup/bottles-setup.sh b/core/tabs/applications-setup/bottles-setup.sh similarity index 100% rename from tabs/applications-setup/bottles-setup.sh rename to core/tabs/applications-setup/bottles-setup.sh diff --git a/tabs/applications-setup/browser-setup.sh b/core/tabs/applications-setup/browser-setup.sh similarity index 100% rename from tabs/applications-setup/browser-setup.sh rename to core/tabs/applications-setup/browser-setup.sh diff --git a/tabs/applications-setup/dwmtitus-setup.sh b/core/tabs/applications-setup/dwmtitus-setup.sh similarity index 100% rename from tabs/applications-setup/dwmtitus-setup.sh rename to core/tabs/applications-setup/dwmtitus-setup.sh diff --git a/tabs/applications-setup/fastfetch-setup.sh b/core/tabs/applications-setup/fastfetch-setup.sh similarity index 100% rename from tabs/applications-setup/fastfetch-setup.sh rename to core/tabs/applications-setup/fastfetch-setup.sh diff --git a/tabs/applications-setup/kitty-setup.sh b/core/tabs/applications-setup/kitty-setup.sh similarity index 100% rename from tabs/applications-setup/kitty-setup.sh rename to core/tabs/applications-setup/kitty-setup.sh diff --git a/tabs/applications-setup/mybash-setup.sh b/core/tabs/applications-setup/mybash-setup.sh similarity index 100% rename from tabs/applications-setup/mybash-setup.sh rename to core/tabs/applications-setup/mybash-setup.sh diff --git a/tabs/applications-setup/neovim-setup.sh b/core/tabs/applications-setup/neovim-setup.sh similarity index 100% rename from tabs/applications-setup/neovim-setup.sh rename to core/tabs/applications-setup/neovim-setup.sh diff --git a/tabs/applications-setup/rofi-setup.sh b/core/tabs/applications-setup/rofi-setup.sh similarity index 100% rename from tabs/applications-setup/rofi-setup.sh rename to core/tabs/applications-setup/rofi-setup.sh diff --git a/tabs/applications-setup/setup-flatpak.sh b/core/tabs/applications-setup/setup-flatpak.sh similarity index 100% rename from tabs/applications-setup/setup-flatpak.sh rename to core/tabs/applications-setup/setup-flatpak.sh diff --git a/tabs/applications-setup/tab_data.toml b/core/tabs/applications-setup/tab_data.toml similarity index 100% rename from tabs/applications-setup/tab_data.toml rename to core/tabs/applications-setup/tab_data.toml diff --git a/tabs/applications-setup/zsh-setup.sh b/core/tabs/applications-setup/zsh-setup.sh similarity index 100% rename from tabs/applications-setup/zsh-setup.sh rename to core/tabs/applications-setup/zsh-setup.sh diff --git a/tabs/common-script.sh b/core/tabs/common-script.sh similarity index 100% rename from tabs/common-script.sh rename to core/tabs/common-script.sh diff --git a/tabs/gaming/diablo-ii/d2r-loot-filters.sh b/core/tabs/gaming/diablo-ii/d2r-loot-filters.sh similarity index 100% rename from tabs/gaming/diablo-ii/d2r-loot-filters.sh rename to core/tabs/gaming/diablo-ii/d2r-loot-filters.sh diff --git a/tabs/gaming/tab_data.toml b/core/tabs/gaming/tab_data.toml similarity index 100% rename from tabs/gaming/tab_data.toml rename to core/tabs/gaming/tab_data.toml diff --git a/tabs/security/firewall-baselines.sh b/core/tabs/security/firewall-baselines.sh similarity index 100% rename from tabs/security/firewall-baselines.sh rename to core/tabs/security/firewall-baselines.sh diff --git a/tabs/security/tab_data.toml b/core/tabs/security/tab_data.toml similarity index 100% rename from tabs/security/tab_data.toml rename to core/tabs/security/tab_data.toml diff --git a/tabs/system-setup/arch/paru-setup.sh b/core/tabs/system-setup/arch/paru-setup.sh similarity index 100% rename from tabs/system-setup/arch/paru-setup.sh rename to core/tabs/system-setup/arch/paru-setup.sh diff --git a/tabs/system-setup/arch/server-setup.sh b/core/tabs/system-setup/arch/server-setup.sh similarity index 100% rename from tabs/system-setup/arch/server-setup.sh rename to core/tabs/system-setup/arch/server-setup.sh diff --git a/tabs/system-setup/arch/yay-setup.sh b/core/tabs/system-setup/arch/yay-setup.sh similarity index 100% rename from tabs/system-setup/arch/yay-setup.sh rename to core/tabs/system-setup/arch/yay-setup.sh diff --git a/tabs/system-setup/auto-mount.sh b/core/tabs/system-setup/auto-mount.sh similarity index 100% rename from tabs/system-setup/auto-mount.sh rename to core/tabs/system-setup/auto-mount.sh diff --git a/tabs/system-setup/compile-setup.sh b/core/tabs/system-setup/compile-setup.sh similarity index 100% rename from tabs/system-setup/compile-setup.sh rename to core/tabs/system-setup/compile-setup.sh diff --git a/tabs/system-setup/docker-setup.sh b/core/tabs/system-setup/docker-setup.sh similarity index 100% rename from tabs/system-setup/docker-setup.sh rename to core/tabs/system-setup/docker-setup.sh diff --git a/tabs/system-setup/fedora/configure-dnf.sh b/core/tabs/system-setup/fedora/configure-dnf.sh similarity index 100% rename from tabs/system-setup/fedora/configure-dnf.sh rename to core/tabs/system-setup/fedora/configure-dnf.sh diff --git a/tabs/system-setup/fedora/multimedia-codecs.sh b/core/tabs/system-setup/fedora/multimedia-codecs.sh similarity index 100% rename from tabs/system-setup/fedora/multimedia-codecs.sh rename to core/tabs/system-setup/fedora/multimedia-codecs.sh diff --git a/tabs/system-setup/fedora/nvidia-proprietary-driver-setup.sh b/core/tabs/system-setup/fedora/nvidia-proprietary-driver-setup.sh similarity index 100% rename from tabs/system-setup/fedora/nvidia-proprietary-driver-setup.sh rename to core/tabs/system-setup/fedora/nvidia-proprietary-driver-setup.sh diff --git a/tabs/system-setup/fedora/rpm-fusion-setup.sh b/core/tabs/system-setup/fedora/rpm-fusion-setup.sh similarity index 100% rename from tabs/system-setup/fedora/rpm-fusion-setup.sh rename to core/tabs/system-setup/fedora/rpm-fusion-setup.sh diff --git a/tabs/system-setup/fedora/virtualization.sh b/core/tabs/system-setup/fedora/virtualization.sh similarity index 100% rename from tabs/system-setup/fedora/virtualization.sh rename to core/tabs/system-setup/fedora/virtualization.sh diff --git a/tabs/system-setup/gaming-setup.sh b/core/tabs/system-setup/gaming-setup.sh similarity index 100% rename from tabs/system-setup/gaming-setup.sh rename to core/tabs/system-setup/gaming-setup.sh diff --git a/tabs/system-setup/global-theme.sh b/core/tabs/system-setup/global-theme.sh similarity index 100% rename from tabs/system-setup/global-theme.sh rename to core/tabs/system-setup/global-theme.sh diff --git a/tabs/system-setup/grub-theme.sh b/core/tabs/system-setup/grub-theme.sh similarity index 100% rename from tabs/system-setup/grub-theme.sh rename to core/tabs/system-setup/grub-theme.sh diff --git a/tabs/system-setup/remove-snaps.sh b/core/tabs/system-setup/remove-snaps.sh similarity index 100% rename from tabs/system-setup/remove-snaps.sh rename to core/tabs/system-setup/remove-snaps.sh diff --git a/tabs/system-setup/samba-ssh-setup.sh b/core/tabs/system-setup/samba-ssh-setup.sh similarity index 100% rename from tabs/system-setup/samba-ssh-setup.sh rename to core/tabs/system-setup/samba-ssh-setup.sh diff --git a/tabs/system-setup/system-cleanup.sh b/core/tabs/system-setup/system-cleanup.sh similarity index 100% rename from tabs/system-setup/system-cleanup.sh rename to core/tabs/system-setup/system-cleanup.sh diff --git a/tabs/system-setup/system-update.sh b/core/tabs/system-setup/system-update.sh similarity index 100% rename from tabs/system-setup/system-update.sh rename to core/tabs/system-setup/system-update.sh diff --git a/tabs/system-setup/tab_data.toml b/core/tabs/system-setup/tab_data.toml similarity index 100% rename from tabs/system-setup/tab_data.toml rename to core/tabs/system-setup/tab_data.toml diff --git a/tabs/tabs.toml b/core/tabs/tabs.toml similarity index 100% rename from tabs/tabs.toml rename to core/tabs/tabs.toml diff --git a/tabs/utils/auto-login.sh b/core/tabs/utils/auto-login.sh similarity index 100% rename from tabs/utils/auto-login.sh rename to core/tabs/utils/auto-login.sh diff --git a/tabs/utils/bluetooth-control.sh b/core/tabs/utils/bluetooth-control.sh similarity index 100% rename from tabs/utils/bluetooth-control.sh rename to core/tabs/utils/bluetooth-control.sh diff --git a/tabs/utils/create-bootable-usb.sh b/core/tabs/utils/create-bootable-usb.sh similarity index 100% rename from tabs/utils/create-bootable-usb.sh rename to core/tabs/utils/create-bootable-usb.sh diff --git a/tabs/utils/encrypt_decrypt_tool.sh b/core/tabs/utils/encrypt_decrypt_tool.sh similarity index 100% rename from tabs/utils/encrypt_decrypt_tool.sh rename to core/tabs/utils/encrypt_decrypt_tool.sh diff --git a/tabs/utils/monitor-control/auto_detect_displays.sh b/core/tabs/utils/monitor-control/auto_detect_displays.sh similarity index 100% rename from tabs/utils/monitor-control/auto_detect_displays.sh rename to core/tabs/utils/monitor-control/auto_detect_displays.sh diff --git a/tabs/utils/monitor-control/change_orientation.sh b/core/tabs/utils/monitor-control/change_orientation.sh similarity index 100% rename from tabs/utils/monitor-control/change_orientation.sh rename to core/tabs/utils/monitor-control/change_orientation.sh diff --git a/tabs/utils/monitor-control/disable_monitor.sh b/core/tabs/utils/monitor-control/disable_monitor.sh similarity index 100% rename from tabs/utils/monitor-control/disable_monitor.sh rename to core/tabs/utils/monitor-control/disable_monitor.sh diff --git a/tabs/utils/monitor-control/duplicate_displays.sh b/core/tabs/utils/monitor-control/duplicate_displays.sh similarity index 100% rename from tabs/utils/monitor-control/duplicate_displays.sh rename to core/tabs/utils/monitor-control/duplicate_displays.sh diff --git a/tabs/utils/monitor-control/enable_monitor.sh b/core/tabs/utils/monitor-control/enable_monitor.sh similarity index 100% rename from tabs/utils/monitor-control/enable_monitor.sh rename to core/tabs/utils/monitor-control/enable_monitor.sh diff --git a/tabs/utils/monitor-control/extend_displays.sh b/core/tabs/utils/monitor-control/extend_displays.sh similarity index 100% rename from tabs/utils/monitor-control/extend_displays.sh rename to core/tabs/utils/monitor-control/extend_displays.sh diff --git a/tabs/utils/monitor-control/manage_arrangement.sh b/core/tabs/utils/monitor-control/manage_arrangement.sh similarity index 100% rename from tabs/utils/monitor-control/manage_arrangement.sh rename to core/tabs/utils/monitor-control/manage_arrangement.sh diff --git a/tabs/utils/monitor-control/reset_scaling.sh b/core/tabs/utils/monitor-control/reset_scaling.sh similarity index 100% rename from tabs/utils/monitor-control/reset_scaling.sh rename to core/tabs/utils/monitor-control/reset_scaling.sh diff --git a/tabs/utils/monitor-control/scale_monitor.sh b/core/tabs/utils/monitor-control/scale_monitor.sh similarity index 100% rename from tabs/utils/monitor-control/scale_monitor.sh rename to core/tabs/utils/monitor-control/scale_monitor.sh diff --git a/tabs/utils/monitor-control/set_brightness.sh b/core/tabs/utils/monitor-control/set_brightness.sh similarity index 100% rename from tabs/utils/monitor-control/set_brightness.sh rename to core/tabs/utils/monitor-control/set_brightness.sh diff --git a/tabs/utils/monitor-control/set_primary_monitor.sh b/core/tabs/utils/monitor-control/set_primary_monitor.sh similarity index 100% rename from tabs/utils/monitor-control/set_primary_monitor.sh rename to core/tabs/utils/monitor-control/set_primary_monitor.sh diff --git a/tabs/utils/monitor-control/set_resolutions.sh b/core/tabs/utils/monitor-control/set_resolutions.sh similarity index 100% rename from tabs/utils/monitor-control/set_resolutions.sh rename to core/tabs/utils/monitor-control/set_resolutions.sh diff --git a/tabs/utils/monitor-control/utility_functions.sh b/core/tabs/utils/monitor-control/utility_functions.sh similarity index 100% rename from tabs/utils/monitor-control/utility_functions.sh rename to core/tabs/utils/monitor-control/utility_functions.sh diff --git a/tabs/utils/numlock.sh b/core/tabs/utils/numlock.sh similarity index 100% rename from tabs/utils/numlock.sh rename to core/tabs/utils/numlock.sh diff --git a/tabs/utils/ollama.sh b/core/tabs/utils/ollama.sh similarity index 100% rename from tabs/utils/ollama.sh rename to core/tabs/utils/ollama.sh diff --git a/tabs/utils/power-profile.sh b/core/tabs/utils/power-profile.sh similarity index 100% rename from tabs/utils/power-profile.sh rename to core/tabs/utils/power-profile.sh diff --git a/tabs/utils/service-control.sh b/core/tabs/utils/service-control.sh similarity index 100% rename from tabs/utils/service-control.sh rename to core/tabs/utils/service-control.sh diff --git a/tabs/utils/services/i3lock-on-lid-close.service b/core/tabs/utils/services/i3lock-on-lid-close.service similarity index 100% rename from tabs/utils/services/i3lock-on-lid-close.service rename to core/tabs/utils/services/i3lock-on-lid-close.service diff --git a/tabs/utils/ssh.sh b/core/tabs/utils/ssh.sh similarity index 100% rename from tabs/utils/ssh.sh rename to core/tabs/utils/ssh.sh diff --git a/tabs/utils/tab_data.toml b/core/tabs/utils/tab_data.toml similarity index 100% rename from tabs/utils/tab_data.toml rename to core/tabs/utils/tab_data.toml diff --git a/tabs/utils/timeshift.sh b/core/tabs/utils/timeshift.sh similarity index 100% rename from tabs/utils/timeshift.sh rename to core/tabs/utils/timeshift.sh diff --git a/tabs/utils/user-account-manager/add_to_group.sh b/core/tabs/utils/user-account-manager/add_to_group.sh similarity index 100% rename from tabs/utils/user-account-manager/add_to_group.sh rename to core/tabs/utils/user-account-manager/add_to_group.sh diff --git a/tabs/utils/user-account-manager/add_user.sh b/core/tabs/utils/user-account-manager/add_user.sh similarity index 100% rename from tabs/utils/user-account-manager/add_user.sh rename to core/tabs/utils/user-account-manager/add_user.sh diff --git a/tabs/utils/user-account-manager/change_password.sh b/core/tabs/utils/user-account-manager/change_password.sh similarity index 100% rename from tabs/utils/user-account-manager/change_password.sh rename to core/tabs/utils/user-account-manager/change_password.sh diff --git a/tabs/utils/user-account-manager/delete_user.sh b/core/tabs/utils/user-account-manager/delete_user.sh similarity index 100% rename from tabs/utils/user-account-manager/delete_user.sh rename to core/tabs/utils/user-account-manager/delete_user.sh diff --git a/tabs/utils/user-account-manager/remove_from_group.sh b/core/tabs/utils/user-account-manager/remove_from_group.sh similarity index 100% rename from tabs/utils/user-account-manager/remove_from_group.sh rename to core/tabs/utils/user-account-manager/remove_from_group.sh diff --git a/tabs/utils/user-account-manager/utility_functions.sh b/core/tabs/utils/user-account-manager/utility_functions.sh similarity index 100% rename from tabs/utils/user-account-manager/utility_functions.sh rename to core/tabs/utils/user-account-manager/utility_functions.sh diff --git a/tabs/utils/wifi-control.sh b/core/tabs/utils/wifi-control.sh similarity index 100% rename from tabs/utils/wifi-control.sh rename to core/tabs/utils/wifi-control.sh diff --git a/tui/Cargo.toml b/tui/Cargo.toml index 383dd1548..c8802be4f 100644 --- a/tui/Cargo.toml +++ b/tui/Cargo.toml @@ -1,8 +1,18 @@ [package] name = "linutil_tui" +description = "Chris Titus Tech's Linux Toolbox - Linutil is a distro-agnostic toolbox designed to simplify everyday Linux tasks." +documentation = "https://christitustech.github.io/linutil" +readme = "../README.md" edition = "2021" -version.workspace = true license.workspace = true +repository = "https://github.com/ChrisTitusTech/linutil/tree/main/tui" +version.workspace = true +include = [ + "src/*.rs", + "Cargo.toml", + "build.rs", +] +build = "build.rs" [dependencies] clap = { version = "4.5.16", features = ["derive"] } @@ -13,11 +23,11 @@ portable-pty = "0.8.1" ratatui = "0.28.1" tui-term = "0.1.12" unicode-width = "0.1.13" -linutil_core = { path = "../core" } +linutil_core = { path = "../core", version = "24.9.19" } [build-dependencies] chrono = "0.4.33" [[bin]] name = "linutil" -path = "src/main.rs" +path = "src/main.rs" \ No newline at end of file