Compare commits

..

3 Commits

Author SHA1 Message Date
b5021973a2 feat(plymouth): updated greeting to match hostname 2025-01-19 01:23:55 +01:00
9b3420d534 Merge branch 'master' into desktop 2025-01-19 01:10:11 +01:00
59217b3ec2 feat(all): desktop configuration split
differences: less aggressive power conservation, more detailed bar,
larger password input field
2025-01-19 00:54:42 +01:00
10 changed files with 103 additions and 75 deletions

48
fedora.sh Executable file → Normal file
View File

@@ -5,23 +5,19 @@ replace_config_line () {
setting="$2" setting="$2"
value="$3" value="$3"
if grep -Eq "^${setting}=" "$file"; then if grep -Eq "^${setting}=" "$file"; then
sed -e "s|^${setting}=.*$|${setting}=${value}|" < "$file" | sudo tee "$file" sed -e "s/^${setting}=.*$/${setting}=${value}/" < "$file" | sudo tee "$file"
else else
printf "%s=%s\n" "${setting}" "${value}" | sudo tee -a "$file" printf "%s=%s\n" "${setting}" "${value}" | sudo tee -a "$file"
fi fi
} }
set_unit () {
systemctl --user enable --now $*
}
replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3" replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3"
replace_config_line "/etc/dnf/dnf.conf" "best" "False" replace_config_line "/etc/dnf/dnf.conf" "best" "False"
replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True" replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True"
replace_config_line "/etc/dnf/dnf.conf" "fastestmirror" "True" replace_config_line "/etc/dnf/dnf.conf" "fastestmirror" "True"
replace_config_line "/etc/dnf/dnf.conf" "defaultyes" "True" replace_config_line "/etc/dnf/dnf.conf" "defaultyes" "True"
replace_config_line "/etc/dnf/dnf.conf" "keepcache" "True" replace_config_line "/etc/dnf/dnf.conf" "keepcache" "True"
replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "10" replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "5"
ensure_installed () { ensure_installed () {
for dep in !*; do for dep in !*; do
@@ -31,7 +27,7 @@ ensure_installed () {
# Enable extra repos # Enable extra repos
sudo dnf update sudo dnf update
sudo dnf copr enable lionheartp/hyprland sudo dnf copr enable solopasha/hyprland
sudo dnf copr enable tofik/sway sudo dnf copr enable tofik/sway
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
@@ -49,41 +45,22 @@ replace_config_line '/etc/zshenv' 'export ZDOTDIR' '${HOME}/.config/zsh'
mkdir -p ~/.local/state/zsh/ mkdir -p ~/.local/state/zsh/
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh/ # TODO: figure out how to contol install location of script above. Maybe reboot/relog after xgd_user_dirs is installed? mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh/ # TODO: figure out how to contol install location of script above. Maybe reboot/relog after xgd_user_dirs is installed?
git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}
curl -O -fsSL https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip && unzip FiraCode.zip "*.ttf" -d ~/.local/share/fonts/ && rm FiraCode.zip curl -O -fsSL https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip && unzip FiraCode.zip *.ttf -d ~/.local/share/fonts/
printf "You'll need to relog to have your default shell changed\n" printf "You'll need to relog to have your default shell changed\n"
# Install background and hyprland stuff # Install background and hyprland stuff
ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset
mkdir -p ~/.local/share/backgrounds/ mkdir -p ~/.local/share/backgrounds/
curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg" curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg"
set_unit hypridle.service hyprpaper.service hyprpolkitagent.service hyprsunset.service
set_unit pipewire.service pipewire-pulse.service
# desktop elements that just work # desktop elements that just work
ensure_installed swaync ensure_installed swaync
set_unit swaync.service
ensure_installed waybar fontawesome4-fonts ensure_installed waybar fontawesome4-fonts
set_unit waybar.service
ensure_installed cliphist
set_unit cliphist.service
set_unit hypridle.service
set_unit hyprpaper.service
# Install ReGreet # Install sddm
# ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd ensure_installed sddm qt6-qtsvg qt5-qtquickcontrols2
ensure_installed greetd sudo cp ~/.config/sddm/sddm.conf /etc/sddm.conf
sudo usermod -a -G video greetd sudo cp -r ~/.config/sddm/themes/catpuccin-macchiatto /usr/share/sddm/themes/
sudo cp -r ~/.config/regreet/greetd/* /etc/greetd/
sudo cp ~/.local/share/backgrounds/eKxlw8.jpg /etc/greetd/
sudo cp ~/.config/gtk-4.0/gtk.css /etc/greetd/regreet.css
sudo cp ~/.config/regreet/tmpfiles.conf /etc/tmpfiles.d/regreet.conf
mkdir -p "${HOME}/.local/bin/build_stage/"
git clone https://github.com/rharish101/ReGreet.git "${HOME}/.local/bin/build_stage/" &&
cd ~/.local/bin/build_stage/ReGreet/ &&
cargo build -F gtk4_8 --release &&
sudo cp ./target/release/regreet /usr/bin/ &&
systemctl enable greetd.service
cd
# Install grub # Install grub
ensure_installed grub2-common ensure_installed grub2-common
@@ -104,9 +81,9 @@ dconf load /org/gnome/nautilus < ~/.config/dconf-export/nautilus.dconf
dconf load /org/gnome/gedit < ~/.config/dconf-export/gedit.dconf dconf load /org/gnome/gedit < ~/.config/dconf-export/gedit.dconf
# rofi & rofi-calc (compilation, because why not) # rofi & rofi-calc (compilation, because why not)
ensure_installed rofi-wayland rofi-devel qalculate automake libtool sudo dnf install --allowerasing --assumeyes https://kojipkgs.fedoraproject.org//packages/rofi-wayland/1.7.5+wayland2/3.fc40/$(uname -m)/rofi-wayland-1.7.5+wayland2-3.fc40.$(uname -m).rpm
git clone https://github.com/svenstaro/rofi-calc "${HOME}/.local/bin/build_stage/rofi-calc" && cd "{HOME}/.local/bin/build_stage/rofi-calc" && mkdir m4 && autoreconf -i && mkdir build && cd build && ../configure && make && sudo make install ensure_installed rofi-devel qalculate automake libtool
cd git clone https://github.com/svenstaro/rofi-calc && cd rofi-calc && mkdir m4 && autoreconf -i && mkdir build && cd build && ../configure && make && sudo make install && cd ../.. && rm -rf rofi-calc
# kdeconnect # kdeconnect
ensure_installed kdeconnectd ensure_installed kdeconnectd
@@ -114,7 +91,6 @@ sudo firewall-cmd --permanent --add-service=kdeconnect
printf "You'll need to relog for kdeconnect to work\n" printf "You'll need to relog for kdeconnect to work\n"
# flatpaks # flatpaks
ensure_installed flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flatseal librewolf flatpak install flatseal librewolf

View File

@@ -19,17 +19,17 @@ listener {
# } # }
listener { listener {
timeout = 300 # 5min timeout = 1800 # 30 min
on-timeout = loginctl lock-session # lock screen when timeout has passed on-timeout = loginctl lock-session # lock screen when timeout has passed
} }
listener { listener {
timeout = 330 # 5.5min timeout = 1800 # 30 min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
} }
listener { #listener {
timeout = 1800 # 30min # timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc # on-timeout = systemctl suspend # suspend pc
} #}

View File

@@ -52,9 +52,9 @@ input {
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 1 gaps_in = 2
gaps_out = 2 gaps_out = 4
border_size = 1 border_size = 2
col.active_border = $blue col.active_border = $blue
col.inactive_border = $overlay0 col.inactive_border = $overlay0

View File

@@ -58,7 +58,7 @@ label {
# INPUT FIELD # INPUT FIELD
input-field { input-field {
monitor = monitor =
size = 300, 60 size = 900, 60
outline_thickness = 4 outline_thickness = 4
dots_size = 0.2 dots_size = 0.2
dots_spacing = 0.2 dots_spacing = 0.2

View File

@@ -32,7 +32,7 @@ MessageBelowAnimation=true
UseEndAnimation=true UseEndAnimation=true
UseFirmwareBackground=false UseFirmwareBackground=false
Title=HA5PLS Title=HA5PLS
SubTitle=CQ DE INSPIRON-5558 SubTitle=CQ DE CLAVIUS
[shutdown] [shutdown]
UseEndAnimation=true UseEndAnimation=true

View File

@@ -1,10 +0,0 @@
[terminal]
# The VT to run the greeter on. Can be "next", "current" or a number
# designating the VT.
vt = current
# The default session, also known as the greeter.
[default_session]
command = "start-hyprland -- -c /etc/greetd/hyprland.conf"
user = "greetd"

View File

@@ -1,9 +0,0 @@
exec-once = regreet; hyprctl dispatch exit
input {
kb_layout = hu
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
disable_hyprland_guiutils_check = true
}

View File

@@ -11,7 +11,7 @@
"margin-bottom": 3, "margin-bottom": 3,
"modules-left": ["custom/junkyard", "hyprland/workspaces"], "modules-left": ["custom/junkyard", "hyprland/workspaces"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": ["tray", "custom/notification", "pulseaudio", "bluetooth", "network", "backlight", "battery"], "modules-right": ["tray", "custom/notification", "pulseaudio", "bluetooth", "network", "memory", "cpu", "group/group-power"],
"tray": { "tray": {
"icon-size": 16, "icon-size": 16,
"spacing": 10 "spacing": 10

View File

@@ -12,8 +12,8 @@
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{name}", "format": "{name}",
"tooltip-format": "{title}", "tooltip-format": "{title}",
"on-scroll-up": "hyprctl dispatch workspace r+1", "on-scroll-up": "hyprctl dispatch workspace r-1",
"on-scroll-down": "hyprctl dispatch workspace r-1", "on-scroll-down": "hyprctl dispatch workspace r+1",
"on-click": "activate" "on-click": "activate"
}, },
"clock": { "clock": {
@@ -91,11 +91,65 @@
"escape": true "escape": true
}, },
"backlight": { "cpu": {
"device": "acpi_video0", "interval": 1,
"format": "{icon}", "format": " {usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
"format-icons": ["󰃞", "󰃟", "󰃠"], "format-icons": [
"on-click": "~/.config/rofi/applets/bin/brightness.sh" "<span color='#a6da95'>▁</span>", // green
"<span color='#8aadf4'>▂</span>", // blue
"<span color='#8aadf4'>▃</span>", // white
"<span color='#8aadf4'>▄</span>", // white
"<span color='#8aadf4'>▅</span>", // yellow
"<span color='#eed49f'>▆</span>", // yellow
"<span color='#f5a97f'>▇</span>", // orange
"<span color='#ed8796'>█</span>" // red
]
},
"memory": {
"interval": 5,
"format": "󰍛 {percentage}%"
},
"group/group-power": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"children-class": "not-power",
"transition-left-to-right": true
},
"modules": [
"custom/power", // First element is the "group leader" and won't ever be hidden
"custom/reboot",
"custom/quit",
"custom/suspend",
"custom/lock"
]
},
"custom/quit": {
"format": " 󰗼 ",
"tooltip": false,
"on-click": "hyprctl dispatch exit"
},
"custom/lock": {
"format": " 󰍁 ",
"tooltip": false,
"on-click": "loginctl lock-session"
},
"custom/suspend": {
"format": " 󰒲 ",
"tooltip": false,
"on-click": "systemctl suspend"
},
"custom/reboot": {
"format": " 󰜉 ",
"tooltip": false,
"on-click": "systemctl reboot"
},
"custom/power": {
"format": "  ",
"tooltip": false,
"on-click": "systemctl poweroff"
}, },
"battery": { "battery": {
@@ -113,6 +167,7 @@
"battery#bat0": { "battery#bat0": {
"bat": "BAT0" "bat": "BAT0"
}, },
"network": { "network": {
"format-wifi": "{icon}", "format-wifi": "{icon}",
"format-ethernet": "󰈀", "format-ethernet": "󰈀",

View File

@@ -57,6 +57,7 @@ button {
#custom-notification, #custom-notification,
#pulseaudio, #pulseaudio,
#network, #network,
#memory,
#bluetooth { #bluetooth {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
border-radius: 0px; /* Adjust as needed */ border-radius: 0px; /* Adjust as needed */
@@ -65,6 +66,14 @@ button {
margin: 0px; margin: 0px;
} }
#cpu {
background-color: @base; /* Change this to any gray color you want */
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
min-width: 130px;
}
#backlight { #backlight {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
border-radius: 0px 10px 10px 0px; /* Adjust as needed */ border-radius: 0px 10px 10px 0px; /* Adjust as needed */
@@ -94,6 +103,13 @@ button {
color: @text; color: @text;
} }
#group-power {
background-color: @base;
border-radius: 10px;
padding: 3px 5px;
margin-left: 3px;
}
#battery { #battery {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
color: @text; color: @text;