Polish BOS: dark theme, shell QoL, icons, media, clipboard
All checks were successful
Mirror to GitHub / mirror (push) Successful in 5s
All checks were successful
Mirror to GitHub / mirror (push) Successful in 5s
- Global dark theme: gnome-themes-extra (GTK3 Adwaita-dark), qt5ct/qt6ct with Fusion dark skel config, QT_QPA_PLATFORMTHEME=qt5ct env - Icons/cursor: papirus-icon-theme (Papirus-Dark) + bibata-cursor-theme (Bibata-Modern-Ice), set via gsettings autostart + GTK settings.ini + env - gnome-keyring: credential storage for browsers and apps - gvfs + gvfs-mtp: nautilus trash, phone access, network shares - zsh: default user shell (users.conf userShell=/bin/zsh) + skel .zshrc with eza/bat/fzf/zoxide aliases, git prompt, fzf history search - Shell QoL packages: eza, bat, fzf, zoxide - Media: gst-plugins-good/bad/ugly, pavucontrol - cliphist: clipboard history daemon (autostart) + SUPER+SHIFT+V bind - Fonts: noto-fonts-cjk, ttf-jetbrains-mono-nerd Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
a4af3aa938
commit
d484c8e933
8 changed files with 177 additions and 4 deletions
|
|
@ -38,3 +38,4 @@ passwordRequirements:
|
||||||
- minlen=6
|
- minlen=6
|
||||||
|
|
||||||
allowWeakPasswords: false
|
allowWeakPasswords: false
|
||||||
|
userShell: /bin/zsh
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Adwaita-dark
|
gtk-theme-name=Adwaita-dark
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-font-name=Noto Sans 11
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Adwaita-dark
|
gtk-theme-name=Adwaita-dark
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-font-name=Noto Sans 11
|
||||||
|
|
|
||||||
|
|
@ -62,8 +62,10 @@ hl.config({
|
||||||
-- ---------------------------------------------------------------------------
|
-- ---------------------------------------------------------------------------
|
||||||
hl.env("XCURSOR_SIZE", "24")
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
hl.env("HYPRCURSOR_SIZE", "24")
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("XCURSOR_THEME", "Bibata-Modern-Ice")
|
||||||
hl.env("MOZ_ENABLE_WAYLAND", "1")
|
hl.env("MOZ_ENABLE_WAYLAND", "1")
|
||||||
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct")
|
||||||
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
|
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
|
||||||
hl.env("SDL_VIDEODRIVER", "wayland")
|
hl.env("SDL_VIDEODRIVER", "wayland")
|
||||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
||||||
|
|
@ -86,6 +88,7 @@ hl.bind(mod .. " + M", hl.dsp.exec_cmd("breadman"))
|
||||||
hl.bind(mod .. " + L", hl.dsp.exec_cmd("loginctl lock-session"))
|
hl.bind(mod .. " + L", hl.dsp.exec_cmd("loginctl lock-session"))
|
||||||
hl.bind(mod .. " + F", hl.dsp.window.fullscreen({ action = "toggle" }))
|
hl.bind(mod .. " + F", hl.dsp.window.fullscreen({ action = "toggle" }))
|
||||||
hl.bind(mod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
hl.bind(mod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
||||||
|
hl.bind(mod .. " + SHIFT + V", hl.dsp.exec_cmd([[bash -c 'cliphist list | fzf --reverse --prompt="Clipboard > " | cliphist decode | wl-copy']]))
|
||||||
hl.bind(mod .. " + T", hl.dsp.layout("togglesplit"))
|
hl.bind(mod .. " + T", hl.dsp.layout("togglesplit"))
|
||||||
hl.bind(mod .. " + Tab", hl.dsp.focus({ urgent_or_last = true }))
|
hl.bind(mod .. " + Tab", hl.dsp.focus({ urgent_or_last = true }))
|
||||||
hl.bind(mod .. " + N", hl.dsp.exit())
|
hl.bind(mod .. " + N", hl.dsp.exit())
|
||||||
|
|
@ -149,10 +152,14 @@ hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"),
|
||||||
-- ---------------------------------------------------------------------------
|
-- ---------------------------------------------------------------------------
|
||||||
hl.on("hyprland.start", function()
|
hl.on("hyprland.start", function()
|
||||||
local startup = {
|
local startup = {
|
||||||
-- Prefer dark for GTK4/libadwaita apps (GTK3 uses settings.ini); without
|
-- Global dark theme: GTK4/libadwaita + GTK3 theme + icon + cursor.
|
||||||
-- this nautilus/breadbox render in light mode.
|
|
||||||
"gsettings set org.gnome.desktop.interface color-scheme prefer-dark",
|
"gsettings set org.gnome.desktop.interface color-scheme prefer-dark",
|
||||||
"gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark",
|
"gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark",
|
||||||
|
"gsettings set org.gnome.desktop.interface icon-theme Papirus-Dark",
|
||||||
|
"gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Ice",
|
||||||
|
"gsettings set org.gnome.desktop.interface cursor-size 24",
|
||||||
|
-- Clipboard history daemon (feeds SUPER+V history picker via wl-paste).
|
||||||
|
"wl-paste --type text --watch cliphist store",
|
||||||
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
|
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
|
||||||
"awww-daemon",
|
"awww-daemon",
|
||||||
-- set the default wallpaper once the daemon is up (retry until ready)
|
-- set the default wallpaper once the daemon is up (retry until ready)
|
||||||
|
|
|
||||||
25
iso/airootfs/etc/skel/.config/qt5ct/qt5ct.conf
Normal file
25
iso/airootfs/etc/skel/.config/qt5ct/qt5ct.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
[Appearance]
|
||||||
|
style=Fusion
|
||||||
|
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
|
||||||
|
custom_palette=true
|
||||||
|
standard_dialogs=default
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed=@Variant(\0\0\0@\0\0\0\x12JetBrains Mono\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\0\x64\xff\xff\xff\xff)
|
||||||
|
general=@Variant(\0\0\0@\0\0\0\x16Noto Sans\0\0\0\0\0\0\0\0\0\0\0\0\x11\0\x64\xff\xff\xff\xff)
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
25
iso/airootfs/etc/skel/.config/qt6ct/qt6ct.conf
Normal file
25
iso/airootfs/etc/skel/.config/qt6ct/qt6ct.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
[Appearance]
|
||||||
|
style=Fusion
|
||||||
|
color_scheme_path=/usr/share/qt6ct/colors/darker.conf
|
||||||
|
custom_palette=true
|
||||||
|
standard_dialogs=default
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed=@Variant(\0\0\0@\0\0\0\x12JetBrains Mono\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\0\x64\xff\xff\xff\xff)
|
||||||
|
general=@Variant(\0\0\0@\0\0\0\x16Noto Sans\0\0\0\0\0\0\0\0\0\0\0\0\x11\0\x64\xff\xff\xff\xff)
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
65
iso/airootfs/etc/skel/.zshrc
Normal file
65
iso/airootfs/etc/skel/.zshrc
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# BOS default zsh config — quality-of-life defaults, easy to extend.
|
||||||
|
|
||||||
|
# History
|
||||||
|
HISTFILE=~/.zsh_history
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
setopt HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY
|
||||||
|
|
||||||
|
# Completion
|
||||||
|
autoload -Uz compinit && compinit
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||||
|
|
||||||
|
# Key bindings (emacs style + common extras)
|
||||||
|
bindkey -e
|
||||||
|
bindkey '^[[A' history-search-backward
|
||||||
|
bindkey '^[[B' history-search-forward
|
||||||
|
|
||||||
|
# fzf — fuzzy history search on Ctrl+R, fuzzy file find on Ctrl+T
|
||||||
|
if command -v fzf &>/dev/null; then
|
||||||
|
source /usr/share/fzf/key-bindings.zsh 2>/dev/null || true
|
||||||
|
source /usr/share/fzf/completion.zsh 2>/dev/null || true
|
||||||
|
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# zoxide — smarter cd (type z instead of cd)
|
||||||
|
if command -v zoxide &>/dev/null; then
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Modern replacements with fallbacks
|
||||||
|
if command -v eza &>/dev/null; then
|
||||||
|
alias ls='eza --icons --group-directories-first'
|
||||||
|
alias ll='eza -la --icons --group-directories-first --git'
|
||||||
|
alias lt='eza --tree --icons --level=2'
|
||||||
|
else
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias ll='ls -la'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v bat &>/dev/null; then
|
||||||
|
alias cat='bat --style=plain --paging=never'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# General aliases
|
||||||
|
alias clr='clear'
|
||||||
|
alias ..='cd ..'
|
||||||
|
alias ...='cd ../..'
|
||||||
|
alias mkdir='mkdir -p'
|
||||||
|
alias cp='cp -i'
|
||||||
|
alias mv='mv -i'
|
||||||
|
alias df='df -h'
|
||||||
|
alias free='free -h'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias ip='ip --color=auto'
|
||||||
|
|
||||||
|
# bakery / bread
|
||||||
|
alias update='bakery update'
|
||||||
|
|
||||||
|
# Prompt — simple and fast (no starship dep)
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
precmd() { vcs_info }
|
||||||
|
zstyle ':vcs_info:git:*' formats ' (%b)'
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
PROMPT='%F{cyan}%~%f%F{yellow}${vcs_info_msg_0_}%f %(?.%F{green}.%F{red})❯%f '
|
||||||
|
|
@ -82,6 +82,12 @@ gtk4
|
||||||
gtk4-layer-shell
|
gtk4-layer-shell
|
||||||
librsvg
|
librsvg
|
||||||
libpulse
|
libpulse
|
||||||
|
# GTK3 dark theme (Adwaita-dark); without this package the gtk-theme-name in
|
||||||
|
# skel settings.ini silently falls back to the light theme for GTK3 apps.
|
||||||
|
gnome-themes-extra
|
||||||
|
# Credential/keyring storage — browsers, SSH agents, and most apps persist
|
||||||
|
# passwords here; without it every session loses saved logins.
|
||||||
|
gnome-keyring
|
||||||
|
|
||||||
# Display (wlroots is bundled with Hyprland; don't list separately)
|
# Display (wlroots is bundled with Hyprland; don't list separately)
|
||||||
wayland
|
wayland
|
||||||
|
|
@ -89,14 +95,21 @@ wayland-protocols
|
||||||
|
|
||||||
# Fonts
|
# Fonts
|
||||||
noto-fonts
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
ttf-jetbrains-mono
|
ttf-jetbrains-mono
|
||||||
|
# Nerd font variant — icons in terminal tools (eza --icons, fastfetch, yazi)
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
|
||||||
# Terminal
|
# Terminal
|
||||||
kitty
|
kitty
|
||||||
|
|
||||||
# File manager
|
# File manager
|
||||||
nautilus
|
nautilus
|
||||||
|
# gvfs: virtual filesystem layer for nautilus (trash, network places, removable
|
||||||
|
# media). gvfs-mtp adds Android/MTP device support (phones, tablets via USB).
|
||||||
|
gvfs
|
||||||
|
gvfs-mtp
|
||||||
# Web browser (served from the [Breadway] repo; AUR zen-browser-bin republished
|
# Web browser (served from the [Breadway] repo; AUR zen-browser-bin republished
|
||||||
# there so the ISO build can pull it via pacman). mailcap satisfies zen's
|
# there so the ISO build can pull it via pacman). mailcap satisfies zen's
|
||||||
# mime-types dependency explicitly.
|
# mime-types dependency explicitly.
|
||||||
|
|
@ -129,12 +142,22 @@ slurp
|
||||||
# Clipboard (Wayland copy/paste; also clipboard screenshots) and media keys.
|
# Clipboard (Wayland copy/paste; also clipboard screenshots) and media keys.
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
playerctl
|
playerctl
|
||||||
|
# Clipboard history daemon (stores wl-clipboard events; breadbox bind replays them).
|
||||||
|
cliphist
|
||||||
# Wallpaper daemon + pywal (drives the bread* colour palette from the wallpaper).
|
# Wallpaper daemon + pywal (drives the bread* colour palette from the wallpaper).
|
||||||
awww
|
awww
|
||||||
python-pywal
|
python-pywal
|
||||||
# Boot splash (BOS logo + spinner instead of kernel text).
|
# Boot splash (BOS logo + spinner instead of kernel text).
|
||||||
plymouth
|
plymouth
|
||||||
|
|
||||||
|
# Media codecs — GStreamer plugins for video thumbnails in nautilus, browser
|
||||||
|
# media, and general playback. bad/ugly add patent-encumbered formats (H.264 etc).
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-ugly
|
||||||
|
# GUI audio mixer — useful when output device needs manual switching.
|
||||||
|
pavucontrol
|
||||||
|
|
||||||
# Utilities
|
# Utilities
|
||||||
sudo
|
sudo
|
||||||
git
|
git
|
||||||
|
|
@ -149,12 +172,17 @@ man-pages
|
||||||
less
|
less
|
||||||
|
|
||||||
# Base CLI tools every install should have.
|
# Base CLI tools every install should have.
|
||||||
|
# Shell
|
||||||
|
zsh
|
||||||
# Editors
|
# Editors
|
||||||
nano
|
nano
|
||||||
micro
|
micro
|
||||||
vim
|
vim
|
||||||
# Shell UX
|
# Shell QoL — modern replacements shipped with skel aliases set up
|
||||||
bash-completion
|
eza
|
||||||
|
bat
|
||||||
|
fzf
|
||||||
|
zoxide
|
||||||
# System / hardware inspection
|
# System / hardware inspection
|
||||||
htop
|
htop
|
||||||
usbutils
|
usbutils
|
||||||
|
|
@ -175,5 +203,19 @@ openssh
|
||||||
# Mirror management (refresh /etc/pacman.d/mirrorlist for the user's location)
|
# Mirror management (refresh /etc/pacman.d/mirrorlist for the user's location)
|
||||||
reflector
|
reflector
|
||||||
|
|
||||||
|
# Icon and cursor themes
|
||||||
|
# Papirus-Dark: cohesive icon set used as the BOS default (set via gsettings in
|
||||||
|
# hyprland.lua autostart and in skel gtk-3.0/settings.ini).
|
||||||
|
papirus-icon-theme
|
||||||
|
# Bibata-Modern-Ice: clean dark cursor theme set via XCURSOR_THEME env in
|
||||||
|
# hyprland.lua and in skel gtk-3.0/settings.ini.
|
||||||
|
bibata-cursor-theme
|
||||||
|
|
||||||
|
# Qt dark theme — makes Qt5/Qt6 apps (VLC, pavucontrol, etc.) respect the dark
|
||||||
|
# palette. qt5ct/qt6ct are configured via skel to use Fusion style in dark mode;
|
||||||
|
# QT_QPA_PLATFORMTHEME=qt5ct is set in hyprland.lua env.
|
||||||
|
qt5ct
|
||||||
|
qt6ct
|
||||||
|
|
||||||
# Dev tools (for bos-settings standalone install)
|
# Dev tools (for bos-settings standalone install)
|
||||||
rustup
|
rustup
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue