Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e009ef0
allow different os-releases and hypr setup
ChrisTitusTech Feb 2, 2025
4b72e84
Update core/src/inner.rs
ChrisTitusTech Feb 2, 2025
fc6acb2
Update core/tabs/system-setup/debian/hyprland-kool-deb.sh
ChrisTitusTech Feb 2, 2025
45d2995
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 2, 2025
b6bb227
Update core/tabs/system-setup/fedora/hyprland-kool-fed.sh
ChrisTitusTech Feb 2, 2025
5391ade
Update core/tabs/system-setup/tab_data.toml
ChrisTitusTech Feb 2, 2025
63e0b82
Update core/tabs/system-setup/tab_data.toml
ChrisTitusTech Feb 2, 2025
b977560
Update core/tabs/system-setup/tab_data.toml
ChrisTitusTech Feb 2, 2025
f8900e4
Update core/tabs/system-setup/tab_data.toml
ChrisTitusTech Feb 2, 2025
a776682
Update core/tabs/system-setup/ubuntu/hyprland-kool-ubuntu24.sh
ChrisTitusTech Feb 2, 2025
c173596
refactor: Improve File Contains precondition (#1016)
lj3954 Feb 4, 2025
d872d84
Update inner.rs (#1021)
ChrisTitusTech Feb 4, 2025
599ad20
Update inner.rs (#1022)
ChrisTitusTech Feb 4, 2025
9e34347
revert to liams commit
ChrisTitusTech Feb 4, 2025
b83cee7
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
d69c4e1
Update core/tabs/system-setup/debian/hyprland-kool-deb.sh
ChrisTitusTech Feb 5, 2025
5731a9b
Update core/tabs/system-setup/fedora/hyprland-kool-fed.sh
ChrisTitusTech Feb 5, 2025
ad05a0d
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
7fa4d2d
Update core/tabs/system-setup/debian/hyprland-kool-deb.sh
ChrisTitusTech Feb 5, 2025
2b17c04
Update core/tabs/system-setup/debian/hyprland-kool-deb.sh
ChrisTitusTech Feb 5, 2025
f37778d
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
7ec3333
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
6e20e33
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
e5fdbff
Update core/tabs/system-setup/arch/hyprland-kool.sh
ChrisTitusTech Feb 5, 2025
072c08d
fix bashisms
ChrisTitusTech Feb 6, 2025
01535e2
Switch to SH from bash
ChrisTitusTech Feb 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions core/src/inner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,14 +132,15 @@ impl Entry {
match data {
SystemDataType::Environment(var_name) => std::env::var(var_name)
.is_ok_and(|var| values.contains(&var) == *matches),
SystemDataType::File(path) => {
std::fs::read_to_string(path).is_ok_and(|data| {
values.iter().all(|matching| data.contains(matching)) == *matches
})
}
SystemDataType::File(path) => path.exists() == *matches,
SystemDataType::CommandExists => values
.iter()
.all(|command| which::which(command).is_ok() == *matches),
SystemDataType::FileContains { file, contains } => {
std::fs::read_to_string(file)
.map(|content| content.contains(contains) == *matches)
.unwrap_or(false)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this what the previous file precondition was doing? See linux neptune for example

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me test that out, for some odd reason I thought that was just matching the entire value of the file. It was late and I probably just missed this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it iterated through values[] and ensured each was contained within the file.

I feel as though the 'contains' in the FileContains variant also is redundant, given values[] already stores strings to validate.

I would personally keep the previous implementation of the File precondition (perhaps renaming it to FileContains) and create a new FileExists precondition, which would match the pattern with the existing CommandExists.

}
},
)
Expand All @@ -164,6 +165,11 @@ enum SystemDataType {
File(PathBuf),
#[serde(rename = "command_exists")]
CommandExists,
#[serde(untagged)]
FileContains {
file: PathBuf,
contains: String,
},
}

fn filter_entries(entries: &mut Vec<Entry>) {
Expand Down
12 changes: 12 additions & 0 deletions core/tabs/system-setup/arch/hyprland-kool.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

# Check if base-devel is installed, install if not
if ! pacman -Q base-devel &>/dev/null; then
echo "Installing base-devel..."
sudo pacman -S --noconfirm base-devel
fi

git clone --depth=1 https://github.com/JaKooLit/Arch-Hyprland.git ~/Arch-Hyprland
cd ~/Arch-Hyprland

Check warning on line 10 in core/tabs/system-setup/arch/hyprland-kool.sh

View workflow job for this annotation

GitHub Actions / Shellcheck

[shellcheck] reported by reviewdog 🐶 Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Raw Output: ./core/tabs/system-setup/arch/hyprland-kool.sh:10:1: warning: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. (ShellCheck.SC2164)
chmod +x install.sh
./install.sh
7 changes: 7 additions & 0 deletions core/tabs/system-setup/debian/hyprland-kool-deb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

echo "Hyprland Kool"
git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git ~/Debian-Hyprland
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happens if cloning fails? maybe due to a wifi problem, or the site could be having problems as seen a couple weeks ago where all git operations suddenly started erroring 404.

Adding error handling for this case would be for the best, since all other commands would also fail.

image

cd ~/Debian-Hyprland

Check warning on line 5 in core/tabs/system-setup/debian/hyprland-kool-deb.sh

View workflow job for this annotation

GitHub Actions / Shellcheck

[shellcheck] reported by reviewdog 🐶 Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Raw Output: ./core/tabs/system-setup/debian/hyprland-kool-deb.sh:5:1: warning: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. (ShellCheck.SC2164)
chmod +x install.sh
./install.sh
6 changes: 6 additions & 0 deletions core/tabs/system-setup/fedora/hyprland-kool-fed.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

git clone --depth=1 https://github.com/JaKooLit/Fedora-Hyprland.git ~/Fedora-Hyprland
cd ~/Fedora-Hyprland

Check warning on line 4 in core/tabs/system-setup/fedora/hyprland-kool-fed.sh

View workflow job for this annotation

GitHub Actions / Shellcheck

[shellcheck] reported by reviewdog 🐶 Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Raw Output: ./core/tabs/system-setup/fedora/hyprland-kool-fed.sh:4:1: warning: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. (ShellCheck.SC2164)
chmod +x install.sh
./install.sh
46 changes: 46 additions & 0 deletions core/tabs/system-setup/tab_data.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ script = "arch/server-setup.sh"
task_list = "SI D"
multi_select = false

[[data.entries]]
name = "Hyprland Kool"
description = "This script is designed to handle the installation and configuration of Hyprland Kool"
script = "arch/hyprland-kool.sh"
task_list = "I MP"
multi_select = false

[[data.entries]]
name ="Linux Neptune for SteamDeck"
description = "Valve's fork of Linux Kernel for the SteamDeck"
Expand Down Expand Up @@ -50,6 +57,20 @@ description = "Yet Another Yogurt - An AUR Helper Written in Go. To know more ab
script = "arch/yay-setup.sh"
task_list = "I"

[[data]]
name = "Debian"

[[data.preconditions]]
matches = true
data = { file = "/etc/os-release", contains = "ID=debian" }
values = []

[[data.entries]]
name = "Hyprland Kool"
description = "This script is designed to handle the installation and configuration of Hyprland Kool"
script = "debian/hyprland-kool-deb.sh"
task_list = "I MP"

[[data]]
name = "Fedora"

Expand All @@ -64,6 +85,12 @@ description = "Optimizes DNF for parallel downloads"
script = "fedora/configure-dnf.sh"
task_list = "PFM"

[[data.entries]]
name = "Hyprland Kool"
description = "This script is designed to handle the installation and configuration of Hyprland Kool"
script = "fedora/hyprland-kool-fed.sh"
task_list = "I MP"

[[data.entries]]
name = "Multimedia Codecs"
description = "This script is designed to install multimedia codecs, and to ensure RPM Fusion repositories are installed."
Expand Down Expand Up @@ -105,6 +132,25 @@ matches = true
data = "command_exists"
values = [ "btrfs" ]

[[data]]
name = "Ubuntu"

[[data.preconditions]]
matches = true
data = { file = "/etc/os-release", contains = "ID=ubuntu" }
values = []

[[data.entries]]
name = "Hyprland Kool"
description = "This script is designed to handle the installation and configuration of Hyprland Kool"
script = "ubuntu/hyprland-kool-ubuntu24.sh"
task_list = "I MP"

[[data.preconditions]]
matches = true
data = { file = "/etc/os-release", contains = 'VERSION_ID="24.04"' }
values = []

[[data]]
name = "Build Prerequisites"
description = "This script is designed to handle the installation of various software dependencies across different Linux distributions"
Expand Down
7 changes: 7 additions & 0 deletions core/tabs/system-setup/ubuntu/hyprland-kool-ubuntu24.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

echo "Hyprland Kool"
git clone -b 24.04 --depth=1 https://github.com/JaKooLit/Ubuntu-Hyprland.git ~/Ubuntu-Hyprland-24.04
cd ~/Ubuntu-Hyprland-24.04

Check warning on line 5 in core/tabs/system-setup/ubuntu/hyprland-kool-ubuntu24.sh

View workflow job for this annotation

GitHub Actions / Shellcheck

[shellcheck] reported by reviewdog 🐶 Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Raw Output: ./core/tabs/system-setup/ubuntu/hyprland-kool-ubuntu24.sh:5:1: warning: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. (ShellCheck.SC2164)
chmod +x install.sh
./install.sh
Loading