forked from Shinonome/dots-hyprland
Provide Fedora support (#2393)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
/*/*.tar.*
|
||||
/*/pkg/
|
||||
/*/src/
|
||||
@@ -0,0 +1,32 @@
|
||||
# Install scripts for Fedora Linux
|
||||
|
||||
- Synchronize all dependencies in arch.
|
||||
- It has been tested on Fedora 43 (KDE Plasma Desktop Edition) on the x86_64 platform.
|
||||
- If you have any questions, please submit them to the discussions section.
|
||||
|
||||
## About `hyprland-qtutils` and `hyprland-qt-support`
|
||||
|
||||
The hyprland-qt-support's GitHub repository requires Qt 6.6 or higher, which I think makes DNF's requirement of Qt 6.9 too strict; it should also support Qt 6.10.
|
||||
|
||||
According to @clsty 's discussion `hyprland-qtutils` and `hyprland-qt-support` have been removed in dist-arch recently.
|
||||
https://github.com/end-4/dots-hyprland/pull/2393#discussion_r2503594243
|
||||
However, if this package is not installed, a yellow warning⚠️ will appear every time you log in to Hyprland.
|
||||
so for now, these two packages will be kept by default.
|
||||
Of course, you can choose to skip installing these two packages during the installation process, or uninstall them after installation.
|
||||
|
||||
# Usage
|
||||
- `git clone --recurse-submodules https://github.com/end-4/dots-hyprland ~/.cache/dots-hyprland`
|
||||
- `cd ~/.cache/dots-hyprland`
|
||||
- `./setup install`
|
||||
|
||||
# After installation
|
||||
- Fix the issue of the right column crashing when clicking the `Details` button in Wi-Fi mode. Edit this file: ~/.config/illogical-impulse/config.json
|
||||
```
|
||||
@@ 44,3 44,3 @@
|
||||
- "apps": {
|
||||
- "bluetooth": "kcmshell6 kcm_bluetooth",
|
||||
- "network": "kitty -1 fish -c nmtui",
|
||||
+ "apps": {
|
||||
+ "bluetooth": "kcmshell6 kcm_bluetooth",
|
||||
+ "network": "plasmawindowed org.kde.plasma.networkmanagement",
|
||||
```
|
||||
@@ -0,0 +1,36 @@
|
||||
Name: Bibata-Modern-Classic
|
||||
Version: 2.0.7
|
||||
Release: %autorelease
|
||||
Summary: Open source, compact, and material designed cursor set.
|
||||
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/ful1e5/Bibata_Cursor
|
||||
Source0: %{name}.tar.xz
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Open source, compact, and material designed cursor set.
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/v%{version}/Bibata-Modern-Classic.tar.xz
|
||||
wget -q -O %{_buildrootdir}/LICENSE %{url}/raw/refs/heads/main/LICENSE
|
||||
%setup -q -n %{name}
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_iconsdir}/Bibata-Modern-Classic
|
||||
cp -r * %{buildroot}%{_iconsdir}/Bibata-Modern-Classic
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 %{_buildrootdir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%files
|
||||
%{_iconsdir}/Bibata-Modern-Classic
|
||||
%license %{_licensedir}/%{name}/LICENSE
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
Name: JetBrainsMonoNerdFont-Regular
|
||||
Version: 1.2
|
||||
Release: %autorelease
|
||||
Summary: JetBrainsMonoNerdFonts (TrueType Outlines) (Regulear)
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/Zhaopudark/JetBrainsMonoNerdFonts
|
||||
Source0: %{name}
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
An auto-updated compiling version of JetBrains Mono that has been patched with Nerd Fonts.
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/v%{version}/JetBrainsMonoNerdFont-Regular-v%{version}.ttf
|
||||
wget -q -P %{_sourcedir} %{url}/raw/refs/heads/main/LICENSE
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}
|
||||
install -m 0644 %{_sourcedir}/JetBrainsMonoNerdFont*ttf %{buildroot}%{_fontdir}
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 %{_sourcedir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/JetBrainsMonoNerdFont*ttf
|
||||
%license %{_licensedir}/%{name}/LICENSE
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
%global commit0 0e3707f6dafebb121d98b53c64364d16fefe481d
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
%global bumpver 100
|
||||
|
||||
Name: MicroTeX
|
||||
Version: 0.0.1%{?bumpver:^%{bumpver}.git%{shortcommit0}}
|
||||
Release: %autorelease
|
||||
Summary: A dynamic, cross-platform, and embeddable LaTeX rendering library
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/NanoMichael/MicroTeX
|
||||
Source0: %{name}-%{shortcommit0}.tar.gz
|
||||
|
||||
BuildRequires: gcc-c++ cmake
|
||||
BuildRequires: pkgconfig(tinyxml2)
|
||||
BuildRequires: gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel
|
||||
|
||||
%description
|
||||
MicroTeX is a library for rendering LaTeX mathematical formulas, supporting multiple backends
|
||||
such as GTK+, Qt, and Skia. It provides both library components and demo applications for
|
||||
testing LaTeX rendering.
|
||||
|
||||
%prep
|
||||
curl -fsSL --retry 3 \
|
||||
https://codeload.github.com/NanoMichael/MicroTeX/tar.gz/%{shortcommit0} \
|
||||
-o %{_sourcedir}/%{name}-%{shortcommit0}.tar.gz
|
||||
%setup -q -n %{name}-%{shortcommit0}
|
||||
|
||||
%build
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
make -j$(nproc)
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}/opt/MicroTeX
|
||||
cp build/LaTeX %{buildroot}/opt/MicroTeX/
|
||||
cp -r build/res %{buildroot}/opt/MicroTeX/
|
||||
|
||||
install -Dpm 0644 LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE
|
||||
install -Dpm 0644 res/greek/LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE-greek
|
||||
install -Dpm 0644 res/cyrillic/LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE-cyrillic
|
||||
|
||||
%files
|
||||
/opt/MicroTeX/
|
||||
%license %{_licensedir}/%{name}/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
Name: breeze-plus
|
||||
Version: 6.19.0
|
||||
Release: %autorelease
|
||||
Summary: Breeze theme with additional icons
|
||||
|
||||
License: LGPL-2.1
|
||||
URL: https://github.com/mjkim0727/breeze-plus
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Breeze icon theme with additional icons for applications not covered by the
|
||||
official Breeze theme. Includes icons for Wine, third-party apps, and more.
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/refs/tags/%{version}.tar.gz
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_iconsdir}/breeze-plus
|
||||
cp -r src/breeze-plus %{buildroot}%{_iconsdir}/
|
||||
cp -r src/breeze-plus-dark %{buildroot}%{_iconsdir}/
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 LICENSE %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%files
|
||||
%{_iconsdir}/breeze-plus/
|
||||
%{_iconsdir}/breeze-plus-dark/
|
||||
%license %{_licensedir}/%{name}/LICENSE
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
Name: otf-SpaceGrotesk
|
||||
Version: 2.0.0
|
||||
Release: %autorelease
|
||||
Summary: Space Grotesk: a proportional variant of the original fixed-width Space Mono family
|
||||
|
||||
License: OFL-1.1
|
||||
URL: https://github.com/floriankarsten/space-grotesk
|
||||
Source0: %{name}-%{version}
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Space Grotesk is a proportional sans-serif typeface variant based on Colophon Foundry's fixed-width Space Mono family (2016).
|
||||
Originally designed by Florian Karsten in 2018,
|
||||
Space Grotesk retains the monospace's idiosyncratic details while optimizing for improved readability at non-display sizes.
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/%{version}/SpaceGrotesk-%{version}.zip
|
||||
unzip %{_sourcedir}/SpaceGrotesk-%{version}.zip
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}
|
||||
install -m 0644 %{_buildrootdir}/SpaceGrotesk-%{version}/otf/SpaceGrotesk*otf %{buildroot}%{_fontdir}
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 %{_buildrootdir}/SpaceGrotesk-%{version}/OFL.txt %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/SpaceGrotesk*otf
|
||||
%license %{_licensedir}/%{name}/OFL.txt
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
%global commit0 1f3fb39d6449eefa880543f109f33ede0cd4064f
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
%global bumpver 100
|
||||
|
||||
Name: ttf-gabarito
|
||||
Version: 1.000%{?bumpver:^%{bumpver}.git%{shortcommit0}}
|
||||
Release: %autorelease
|
||||
Summary: Gabarito Font
|
||||
|
||||
License: OFL-1.1
|
||||
URL: https://github.com/naipefoundry/gabarito
|
||||
Source0: gabarito-%{shortcommit0}.tar.gz
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Gabarito is a light-hearted geometric sans typeface with 6 weights ranging from Regular to Black originally designed for an online learning platform in Brazil.
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} https://codeload.github.com/naipefoundry/gabarito/tar.gz/%{shortcommit0}
|
||||
%setup -q -n gabarito-%{shortcommit0}
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}
|
||||
install -m 0644 fonts/ttf/Gabarito*.ttf %{buildroot}%{_fontdir}
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 OFL.txt %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/Gabarito*ttf
|
||||
%license %{_licensedir}/%{name}/OFL.txt
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
Name: ttf-material-symbols-variable
|
||||
Version: 4.0.0
|
||||
Release: %autorelease
|
||||
Summary: Material Design icons by Google (Material Symbols)
|
||||
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/google/material-design-icons
|
||||
Source0: %{name}-%{version}
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Google Material Symbols Rounded
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/raw/refs/heads/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.ttf
|
||||
wget -q -N -P %{_sourcedir} %{url}/raw/refs/heads/master/LICENSE
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}/variable-fonts
|
||||
install -m 0644 %{_sourcedir}/MaterialSymbolsRounded*ttf %{buildroot}%{_fontdir}/variable-fonts/
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 %{_sourcedir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/variable-fonts/MaterialSymbolsRounded*ttf
|
||||
%license %{_licensedir}/%{name}/LICENSE
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
Name: ttf-roboto-flex
|
||||
Version: 3.200
|
||||
Release: %autorelease
|
||||
Summary: Roboto Flex
|
||||
|
||||
License: OFL-1.1
|
||||
URL: https://github.com/googlefonts/roboto-flex
|
||||
Source0: %{name}
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
:
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} %{url}/raw/refs/heads/main/fonts/RobotoFlex%5BGRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght%5D.ttf
|
||||
wget -q -O %{_sourcedir}/OFL.txt %{url}/raw/refs/heads/main/OFL.txt
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}
|
||||
install -m 0644 %{_sourcedir}/RobotoFlex*ttf %{buildroot}%{_fontdir}
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 %{_sourcedir}/OFL.txt %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/RobotoFlex*ttf
|
||||
%license %{_licensedir}/%{name}/OFL.txt
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
%global commit0 e337a5f69a9bea30e58d05bd40184d79cc099628
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
%global bumpver 100
|
||||
|
||||
Name: ttf-rubik-variable
|
||||
Version: 1.0%{?bumpver:^%{bumpver}.git%{shortcommit0}}
|
||||
Release: %autorelease
|
||||
Summary: Rubik fonts variable
|
||||
|
||||
License: OFL-1.1
|
||||
URL: https://github.com/googlefonts/rubik
|
||||
Source0: rubik-%{shortcommit0}.tar.gz
|
||||
|
||||
BuildRequires: fonts-rpm-macros
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
:
|
||||
|
||||
%prep
|
||||
wget --content-disposition -q -N -P %{_sourcedir} https://codeload.github.com/googlefonts/rubik/tar.gz/%{shortcommit0}
|
||||
%setup -q -n rubik-%{shortcommit0}
|
||||
|
||||
%build
|
||||
:
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_fontdir}/variable-fonts
|
||||
install -m 0644 fonts/variable/Rubik*ttf %{buildroot}%{_fontdir}/variable-fonts/
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
|
||||
install -m 0644 OFL.txt %{buildroot}%{_licensedir}/%{name}/
|
||||
|
||||
%post
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%postun
|
||||
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%{_fontdir}/variable-fonts/Rubik*ttf
|
||||
%license %{_licensedir}/%{name}/OFL.txt
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
# This script is meant to be sourced.
|
||||
# It's not for directly running.
|
||||
|
||||
if ! command -v dnf >/dev/null 2>&1; then
|
||||
printf "${STY_RED}[$0]: dnf not found, it seems that the system is not Fedora 42 or later distros. Aborting...${STY_RST}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update System
|
||||
case $SKIP_SYSUPDATE in
|
||||
true) sleep 0;;
|
||||
*) v sudo dnf upgrade --refresh -y;;
|
||||
esac
|
||||
|
||||
# Development-tools installation
|
||||
v sudo dnf install @development-tools fedora-packager rpmdevtools fonts-rpm-macros -y
|
||||
|
||||
# COPR repositories
|
||||
v sudo dnf copr enable solopasha/hyprland -y
|
||||
v sudo dnf copr enable errornointernet/quickshell -y
|
||||
v sudo dnf copr enable errornointernet/packages -y
|
||||
v sudo dnf copr enable deltacopy/darkly -y
|
||||
v sudo dnf copr enable alternateved/eza -y
|
||||
v sudo dnf copr enable atim/starship -y
|
||||
|
||||
# Audio
|
||||
v sudo dnf install cava pavucontrol wireplumber libdbusmenu-gtk3-devel playerctl -y
|
||||
|
||||
# Backlight
|
||||
v sudo dnf install geoclue2 brightnessctl ddcutil -y
|
||||
|
||||
# Basic
|
||||
v sudo dnf install bc coreutils cliphist cmake curl wget2 ripgrep jq xdg-utils rsync yq -y
|
||||
|
||||
# Fonts & Themes
|
||||
themes_deps=(
|
||||
adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora}
|
||||
kf6-breeze-icons sddm-breeze darkly eza fish fontconfig kitty matugen starship
|
||||
jetbrains-mono-nl-fonts material-icons-fonts twitter-twemoji-fonts
|
||||
)
|
||||
v sudo dnf install ${themes_deps[@]} -y
|
||||
|
||||
# Hyprland
|
||||
hyprland_deps=(
|
||||
hypridle hyprland hyprlock hyprpicker
|
||||
hyprsunset xdg-desktop-portal-hyprland wl-clipboard
|
||||
)
|
||||
v sudo dnf install --setopt="install_weak_deps=False" "${hyprland_deps[@]}" -y
|
||||
# Deprecation
|
||||
echo -e "${STY_YELLOW}${STY_BOLD}!DeprecationWarning! hyprland-qtutils and hyprland-qt-support have been removed in dist-arch recently.$STY_RST"
|
||||
echo -e "${STY_YELLOW}${STY_BOLD}You can choose whether or not to install these two packages.$STY_RST"
|
||||
# The GitHub repository requires Qt 6.6 or higher, which I think makes DNF's requirement of Qt 6.9 too strict; it should also support Qt 6.10.
|
||||
v dnf download hyprland-qt-support && sudo rpm -ivh --nodeps hyprland-qt-support-*.fc$(rpm -E %fedora).$(uname -m).rpm
|
||||
v sudo dnf install hyprland-qtutils -y
|
||||
|
||||
# KDE
|
||||
v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y
|
||||
|
||||
# Microtex-git
|
||||
v sudo dnf install --setopt="install_weak_deps=False" tinyxml2-devel gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel -y
|
||||
|
||||
# Portal
|
||||
v sudo dnf install xdg-desktop-portal{,-gtk,-kde,-hyprland} -y
|
||||
|
||||
# Python
|
||||
v sudo dnf install --setopt="install_weak_deps=False" clang uv gtk4-devel libadwaita-devel \
|
||||
libsoup3-devel libportal-gtk4 gobject-introspection-devel -y
|
||||
v sudo dnf install python3{,.12}{,-devel} -y
|
||||
|
||||
# Quickshell-git
|
||||
quickshell_deps=(
|
||||
qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs
|
||||
libxcb wayland-devel qt6-qtwayland qt5-qtwayland libdrm breakpad
|
||||
)
|
||||
# NOTE: Below are custom dependencies of illogical-impulse
|
||||
quickshell_custom_deps=(
|
||||
qt6-qt5compat qt6-qtimageformats qt6-qtpositioning
|
||||
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
|
||||
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
|
||||
)
|
||||
v sudo dnf install "${quickshell_deps[@]}" -y
|
||||
v sudo dnf install "${quickshell_custom_deps[@]}" -y
|
||||
# Dynamically control the version of quickshell
|
||||
qs_version=$(dnf list --showduplicates quickshell-git 2>/dev/null |
|
||||
grep -E "\.git${_qs_shortcommit}(-|$)" |
|
||||
awk '{print $2}' |
|
||||
sort -V |
|
||||
tail -n1)
|
||||
v sudo dnf versionlock delete quickshell-git 2>/dev/null
|
||||
v sudo dnf install quickshell-git-${qs_version}
|
||||
v sudo dnf versionlock add quickshell-git
|
||||
|
||||
# Screencapture
|
||||
v sudo dnf install hyprshot slurp swappy tesseract tesseract-langpack-eng tesseract-langpack-chi_sim wf-recorder -y
|
||||
|
||||
# Toolkit
|
||||
v sudo dnf install upower wtype ydotool -y
|
||||
|
||||
# Widgets
|
||||
v sudo dnf install fuzzel glib2 ImageMagick hypridle hyprlock hyprpicker songrec translate-shell wlogout -y
|
||||
|
||||
# Extra
|
||||
v sudo dnf install --setopt="install_weak_deps=False" mpvpaper plasma-systemmonitor unzip -y
|
||||
|
||||
# Start building the missing RPM package locally.
|
||||
install_RPMS() {
|
||||
rpmbuildroot=${REPO_ROOT}/cache/rpmbuild
|
||||
x mkdir -p $rpmbuildroot/{BUILD,RPMS,SOURCES}
|
||||
x cp -r ${REPO_ROOT}/sdata/dist-fedora/SPECS $rpmbuildroot/
|
||||
x cd $rpmbuildroot/SPECS
|
||||
mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0)
|
||||
for spec_file in ${local_specs[@]}; do
|
||||
x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file
|
||||
done
|
||||
mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0)
|
||||
echo "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y"
|
||||
x sudo dnf install "${local_rpms[@]}" -y
|
||||
x cd ${REPO_ROOT}
|
||||
}
|
||||
|
||||
showfun install_RPMS
|
||||
v install_RPMS
|
||||
@@ -0,0 +1,22 @@
|
||||
# This script is meant to be sourced.
|
||||
# It's not for directly running.
|
||||
|
||||
#####################################################################################
|
||||
# These python packages are installed using uv into the venv (virtual environment). Once the folder of the venv gets deleted, they are all gone cleanly. So it's considered as setups, not dependencies.
|
||||
showfun install-python-packages
|
||||
v install-python-packages
|
||||
|
||||
v sudo usermod -aG video,input "$(whoami)"
|
||||
v mkdir -p "${XDG_CONFIG_HOME}/systemd/user"
|
||||
v ln -s /usr/lib/systemd/system/ydotool.service "${XDG_CONFIG_HOME}/systemd/user/ydotool.service"
|
||||
v bash -c "echo uinput | sudo tee /etc/modules-load.d/uinput.conf"
|
||||
v bash -c 'echo SUBSYSTEM==\"misc\", KERNEL==\"uinput\", MODE=\"0660\", GROUP=\"input\" |
|
||||
sudo tee /etc/udev/rules.d/99-uinput.rules'
|
||||
v systemctl --user enable ydotool
|
||||
v sudo systemctl enable bluetooth --now
|
||||
v gsettings set org.gnome.desktop.interface font-name 'Rubik 11'
|
||||
v gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
v kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Darkly
|
||||
v bash -c "echo exec-once = /usr/libexec/kf6/polkit-kde-authentication-agent-1 |
|
||||
sudo tee -a ${REPO_ROOT}/dots/.config/hypr/custom/execs.conf"
|
||||
# TODO: This will modify Git repo itself which should be avoided, however it makes sense that this may be needed. Need to improve this in future.
|
||||
@@ -0,0 +1 @@
|
||||
AUTO
|
||||
@@ -25,3 +25,7 @@ STY_RST='\e[00m'
|
||||
|
||||
# Used by register_temp_file()
|
||||
declare -a TEMP_FILES_TO_CLEANUP=()
|
||||
|
||||
# Pinned commit for quickshell
|
||||
_qs_commit='db1777c20b936a86528c1095cbcb1ebd92801402'
|
||||
_qs_shortcommit=$(echo ${_qs_commit} | cut -c1-7)
|
||||
|
||||
Reference in New Issue
Block a user