mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 04:09:23 +00:00
Compare commits
48 Commits
03f7403cdd
...
v1.4.0
Author | SHA1 | Date | |
---|---|---|---|
4d22b627be | |||
17c01629ec | |||
3557ce8d3b | |||
e60c37b194 | |||
d305935382 | |||
018603be6d | |||
c312cd8b06 | |||
f9403977b8 | |||
2d1e6d0e69 | |||
49b191b2af | |||
6de7be7e18 | |||
c99f4c9c02 | |||
ab3904df9a | |||
73d0197b3c | |||
b8d64f1737 | |||
ecf42918fb | |||
11406ecc79 | |||
a649779d81 | |||
f114e5c441 | |||
5daa30a629 | |||
e5e981507f | |||
b0d4c2dae4 | |||
e674744714 | |||
ba69caaa6d | |||
b3338c84b6 | |||
bfc8d73300 | |||
45d6aac29c | |||
7aae9015a5 | |||
3edc8bb470 | |||
005e284d59 | |||
46e8fa46ed | |||
5a48f120ec | |||
5501d94896 | |||
1dd64a814a | |||
ad6c1f0df1 | |||
72e863f6be | |||
8758b5d4dc | |||
5672d04cb3 | |||
d4910dd855 | |||
244758fabb | |||
46010f8e15 | |||
5739fa741c | |||
9157a85da2 | |||
691a881b6f | |||
44d2dc21ab | |||
d435a650cc | |||
10d332e5d1 | |||
6ac1cd4bbe |
2
applications/hidden/uuctl.desktop
Normal file
2
applications/hidden/uuctl.desktop
Normal file
@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
10
applications/omarchy.desktop
Normal file
10
applications/omarchy.desktop
Normal file
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Omarchy
|
||||
Comment=Omarchy TUI
|
||||
Exec=alacritty --class=Omarchy --title=Omarchy -e bash -c '$HOME/.local/share/omarchy/bin/omarchy'
|
||||
Icon=Arch
|
||||
Terminal=false
|
||||
Categories=System;Utility;
|
||||
StartupNotify=false
|
137
bin/omarchy
Executable file
137
bin/omarchy
Executable file
@ -0,0 +1,137 @@
|
||||
#!/bin/bash
|
||||
|
||||
OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null)
|
||||
PATH="$PATH:$HOME/.local/share/omarchy/bin"
|
||||
|
||||
show_ascii_art() {
|
||||
clear
|
||||
cat <<'EOF'
|
||||
▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███
|
||||
EOF
|
||||
echo " $OMARCHY_VERSION"
|
||||
}
|
||||
|
||||
main_menu() {
|
||||
show_ascii_art
|
||||
|
||||
local options=("Theme" "Setup" "Update" "Manual" "Exit")
|
||||
choice=$(printf "%s\n" "${options[@]}" | gum choose --header "") || exit 0
|
||||
case "$choice" in
|
||||
Theme) theme_menu ;;
|
||||
Update) update_menu ;;
|
||||
Setup) setup_menu ;;
|
||||
Manual) open_manual ;;
|
||||
Exit) clear && exit 0 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
update_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Omarchy" "Waybar" "Wofi" "Plymouth" "Desktop apps" "Back")
|
||||
local commands=(
|
||||
"omarchy-update"
|
||||
"omarchy-refresh-waybar"
|
||||
"omarchy-refresh-wofi"
|
||||
"omarchy-refresh-plymouth"
|
||||
"omarchy-refresh-applications"
|
||||
"main_menu"
|
||||
)
|
||||
local choice
|
||||
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Update") || main_menu
|
||||
for i in "${!menu[@]}"; do
|
||||
if [[ "${menu[$i]}" == "$choice" ]]; then
|
||||
if [[ "$choice" == "Back" ]]; then
|
||||
main_menu
|
||||
else
|
||||
eval "${commands[$i]}"
|
||||
ack_command
|
||||
main_menu
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
theme_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Install" "Remove" "Back")
|
||||
local commands=(
|
||||
"install_theme_prompt"
|
||||
"remove_theme_prompt"
|
||||
"main_menu"
|
||||
)
|
||||
local choice
|
||||
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Theme") || main_menu
|
||||
for i in "${!menu[@]}"; do
|
||||
if [[ "${menu[$i]}" == "$choice" ]]; then
|
||||
if [[ "$choice" == "Back" ]]; then
|
||||
main_menu
|
||||
else
|
||||
eval "${commands[$i]}"
|
||||
ack_command
|
||||
main_menu
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
install_theme_prompt() {
|
||||
local url
|
||||
url=$(gum input --placeholder="Git repo URL for theme" --header="")
|
||||
if [[ -n "$url" ]]; then
|
||||
omarchy-theme-install "$url"
|
||||
fi
|
||||
theme_menu
|
||||
}
|
||||
|
||||
remove_theme_prompt() {
|
||||
local theme
|
||||
theme=$(gum input --placeholder="Theme name" --header="")
|
||||
if [[ -n "$theme" ]]; then
|
||||
omarchy-theme-remove "$theme"
|
||||
fi
|
||||
theme_menu
|
||||
}
|
||||
|
||||
setup_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Fingerprint sensor" "Back")
|
||||
local commands=(
|
||||
"omarchy-fingerprint-setup"
|
||||
"main_menu"
|
||||
)
|
||||
local choice
|
||||
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Setup") || main_menu
|
||||
for i in "${!menu[@]}"; do
|
||||
if [[ "${menu[$i]}" == "$choice" ]]; then
|
||||
if [[ "$choice" == "Back" ]]; then
|
||||
main_menu
|
||||
else
|
||||
eval "${commands[$i]}"
|
||||
ack_command
|
||||
main_menu
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
open_manual() {
|
||||
xdg-open "https://manuals.omamix.org/2/the-omarchy-manual"
|
||||
}
|
||||
|
||||
ack_command() {
|
||||
gum spin --spinner "globe" --title "Done!" -- sleep 1
|
||||
}
|
||||
|
||||
main_menu
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
yay -S --noconfirm --needed fprintd usbutils
|
||||
|
||||
if ! lsusb | grep -iq fingerprint; then
|
||||
if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix'; then
|
||||
echo -e "\e[31m\nNo fingerprint sensor detected.\e[0m"
|
||||
else
|
||||
# Add fingerprint authentication as an option for sudo
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if gum confirm "Refresh Waybar config? This will replace your current Waybar settings with Omarchy defaults."; then
|
||||
if gum confirm "Refresh Waybar config? This will replace your current settings with Omarchy defaults."; then
|
||||
# Overwrite local waybar settings with the latest in Omarchy
|
||||
cp -f ~/.local/share/omarchy/config/waybar/config ~/.config/waybar/ 2>/dev/null
|
||||
cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null
|
||||
|
7
bin/omarchy-refresh-wofi
Executable file
7
bin/omarchy-refresh-wofi
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if gum confirm "Refresh Wofi config? This will replace your current settings with Omarchy defaults."; then
|
||||
# Overwrite local waybar settings with the latest in Omarchy
|
||||
cp -f ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/ 2>/dev/null
|
||||
cp -f ~/.local/share/omarchy/config/wofi/style.css ~/.config/wofi/ 2>/dev/null
|
||||
fi
|
38
bin/omarchy-theme-install
Executable file
38
bin/omarchy-theme-install
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy-theme-install: Install a new theme from a git repo for Omarchy
|
||||
# Usage: omarchy-theme-install <git-repo-url>
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: omarchy-theme-install <git-repo-url>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
REPO_URL="$1"
|
||||
THEMES_DIR="$HOME/.config/omarchy/themes"
|
||||
THEME_NAME=$(basename "$REPO_URL" .git)
|
||||
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||||
THEME_BACKGROUND_PATH="$THEME_PATH/backgrounds"
|
||||
BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds"
|
||||
BACKGROUNDS_THEME_PATH="$BACKGROUNDS_PATH/$THEME_NAME"
|
||||
|
||||
# Remove existing theme if present
|
||||
if [ -d "$THEME_PATH" ]; then
|
||||
rm -rf "$THEME_PATH"
|
||||
fi
|
||||
|
||||
# Clone the repo directly to ~/.config/omarchy/themes
|
||||
if ! git clone "$REPO_URL" "$THEME_PATH"; then
|
||||
echo "Error: Failed to clone theme repo."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy backgrounds if present
|
||||
if [ -d $THEME_BACKGROUND_PATH ]; then
|
||||
mkdir -p $BACKGROUNDS_THEME_PATH
|
||||
cp $THEME_BACKGROUND_PATH/* $BACKGROUNDS_THEME_PATH/
|
||||
fi
|
||||
|
||||
# Apply the new theme with omarchy-theme-set
|
||||
omarchy-theme-set $THEME_NAME
|
||||
|
38
bin/omarchy-theme-menu
Executable file
38
bin/omarchy-theme-menu
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
THEMES_DIR="$HOME/.config/omarchy/themes/"
|
||||
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
|
||||
CURRENT_THEME_NAME=$(basename "$(realpath "$CURRENT_THEME_DIR")")
|
||||
|
||||
# Build themes list with pretty display names
|
||||
mapfile -t themes < <(
|
||||
find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | while read -r path; do
|
||||
filename=$(basename "$path")
|
||||
display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g')
|
||||
|
||||
if [[ "$filename" == "$CURRENT_THEME_NAME" ]]; then
|
||||
echo "<i>$display_name</i>"
|
||||
else
|
||||
echo "$display_name"
|
||||
fi
|
||||
done | sort
|
||||
)
|
||||
|
||||
# Show Wofi menu (with markup support)
|
||||
selection=$(printf '%s\n' "${themes[@]}" | wofi \
|
||||
--show dmenu \
|
||||
--allow-markup \
|
||||
--width 150 \
|
||||
--height 300 \
|
||||
-O alphabetical \
|
||||
--style ~/.local/share/omarchy/default/wofi/select.css)
|
||||
|
||||
# Remove any Pango markup before converting back to filename
|
||||
clean_selection=$(echo "$selection" | sed -E 's/<[^>]+>//g')
|
||||
|
||||
# Convert to lowercase and dash-separated: "Tokyo Night" -> "tokyo-night"
|
||||
selected_theme=$(echo "$clean_selection" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
|
||||
|
||||
# Apply the selected theme
|
||||
"$HOME/.local/share/omarchy/bin/omarchy-theme-set" "$selected_theme"
|
||||
|
@ -30,22 +30,5 @@ NEXT_INDEX=$(((INDEX + 1) % TOTAL))
|
||||
NEW_THEME=${THEMES[$NEXT_INDEX]}
|
||||
NEW_THEME_NAME=$(basename "$NEW_THEME")
|
||||
|
||||
# Set current theme
|
||||
ln -nsf "$HOME/.config/omarchy/backgrounds/$NEW_THEME_NAME" "$HOME/.config/omarchy/current/backgrounds"
|
||||
ln -nsf "$NEW_THEME" "$HOME/.config/omarchy/current/theme"
|
||||
|
||||
# Touch alacritty config to pickup the changed theme
|
||||
touch "$HOME/.config/alacritty/alacritty.toml"
|
||||
|
||||
# Restart for new theme
|
||||
pkill -SIGUSR2 waybar
|
||||
makoctl reload
|
||||
hyprctl reload
|
||||
|
||||
# Set new background
|
||||
ln -nsf $(find "$HOME/.config/omarchy/current/backgrounds/" -type f | head -n 1) "$HOME/.config/omarchy/current/background"
|
||||
pkill -x swaybg
|
||||
setsid swaybg -i "$HOME/.config/omarchy/current/background" -m fill &
|
||||
|
||||
# Notify of the new theme
|
||||
omarchy-theme-set $NEW_THEME_NAME
|
||||
notify-send "Theme changed to $NEW_THEME_NAME" -t 2000
|
||||
|
33
bin/omarchy-theme-remove
Executable file
33
bin/omarchy-theme-remove
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy-theme-remove: Remove a theme from Omarchy by name
|
||||
# Usage: omarchy-theme-remove <theme-name>
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: omarchy-theme-remove <theme-name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
THEME_NAME="$1"
|
||||
THEMES_DIR="$HOME/.config/omarchy/themes"
|
||||
BACKGROUND_DIR="$HOME/.config/omarchy/backgrounds"
|
||||
CURRENT_DIR="$HOME/.config/omarchy/current"
|
||||
|
||||
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||||
BACKGROUND_PATH="$BACKGROUND_DIR/$THEME_NAME"
|
||||
|
||||
# Check if theme exists before attempting removal
|
||||
if [ ! -d "$THEME_PATH" ]; then
|
||||
echo "Error: Theme '$THEME_NAME' not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use readlink -f to resolve symlinks and get the absolute path
|
||||
if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then
|
||||
"$HOME/.local/share/omarchy/bin/omarchy-theme-next"
|
||||
fi
|
||||
|
||||
# Now remove the theme directory and backgrounds for THEME_NAME
|
||||
rm -rf "$THEME_PATH"
|
||||
rm -rf "$BACKGROUND_PATH"
|
||||
|
42
bin/omarchy-theme-set
Executable file
42
bin/omarchy-theme-set
Executable file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy-theme-set: Set a theme, specified by its name.
|
||||
# Usage: omarchy-theme-set <theme-name>
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "Usage: omarchy-theme-set <theme-name>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
THEMES_DIR="$HOME/.config/omarchy/themes/"
|
||||
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
|
||||
|
||||
THEME_NAME="$1"
|
||||
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||||
BACKGROUND_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME"
|
||||
|
||||
# Check if the theme entered exists
|
||||
if [[ ! -d "$THEME_PATH" ]]; then
|
||||
echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# Update theme symlinks
|
||||
ln -nsf "$BACKGROUND_PATH" "$HOME/.config/omarchy/current/backgrounds"
|
||||
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"
|
||||
|
||||
# Trigger alacritty config reload
|
||||
touch "$HOME/.config/alacritty/alacritty.toml"
|
||||
|
||||
# Restart components to apply new theme
|
||||
pkill -SIGUSR2 waybar
|
||||
makoctl reload
|
||||
hyprctl reload
|
||||
|
||||
# Set new background
|
||||
first_bg=$(find "$HOME/.config/omarchy/current/backgrounds/" -type f | head -n 1)
|
||||
if [[ -n "$first_bg" ]]; then
|
||||
ln -nsf "$first_bg" "$HOME/.config/omarchy/current/background"
|
||||
pkill -x swaybg
|
||||
setsid swaybg -i "$HOME/.config/omarchy/current/background" -m fill >/dev/null &
|
||||
fi
|
58
config/fontconfig/fonts.conf
Normal file
58
config/fontconfig/fonts.conf
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<match target="pattern">
|
||||
<test name="family" qual="any">
|
||||
<string>sans-serif</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Liberation Sans</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="pattern">
|
||||
<test name="family" qual="any">
|
||||
<string>serif</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>Liberation Serif</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="pattern">
|
||||
<test name="family" qual="any">
|
||||
<string>monospace</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<string>CaskaydiaMono Nerd Font</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<alias>
|
||||
<family>system-ui</family>
|
||||
<prefer>
|
||||
<family>Liberation Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>ui-monospace</family>
|
||||
<default>
|
||||
<family>monospace</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>-apple-system</family>
|
||||
<prefer>
|
||||
<family>Liberation Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>BlinkMacSystemFont</family>
|
||||
<prefer>
|
||||
<family>Liberation Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
@ -1,5 +1,9 @@
|
||||
# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/
|
||||
|
||||
# You're encouraged to tailor your Hyprland config in this file by adding or overwriting any settings.
|
||||
# But don't change anything that lives in ~/.local/share/omarchy, if you can help it!
|
||||
# Those files are overwritten when Omarchy is updated.
|
||||
|
||||
# Change your personal monitor setup in here to keep the main config portable
|
||||
source = ~/.config/hypr/monitors.conf
|
||||
|
||||
@ -44,6 +48,7 @@ bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post"
|
||||
# exec-once = dropbox-cli start
|
||||
|
||||
# Extra env variables
|
||||
# Note: You must relaunch Hyprland after changing envs (use Super+Esc, then Relaunch)
|
||||
# env = MY_GLOBAL_ENV,setting
|
||||
|
||||
# Control your input devices
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
# Change to 1 if on a 1x display (then change last "auto" to 1 in monitor=)
|
||||
# Change to something like 1.75 for fractional scaling (can work well with 1.66667 monitor scaling)
|
||||
# Note: You must relaunch Hyprland after changing any env like this (use Super+Esc, then Relaunch)
|
||||
env = GDK_SCALE,2
|
||||
|
||||
# Use single default monitor (see all monitors with: hyprctl monitors)
|
||||
|
@ -1,4 +1,9 @@
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
||||
* {
|
||||
background-color: @background;
|
||||
color: @foreground;
|
||||
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
@ -6,17 +11,20 @@
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin-left: 7px;
|
||||
.modules-left {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
padding: 2px 6px;
|
||||
margin-right: 3px;
|
||||
padding: 0 6px;
|
||||
margin: 0 1.5px;
|
||||
}
|
||||
|
||||
#custom-dropbox,
|
||||
#tray,
|
||||
#cpu,
|
||||
#battery,
|
||||
@ -26,7 +34,7 @@
|
||||
#clock,
|
||||
#custom-power-menu {
|
||||
min-width: 12px;
|
||||
margin-right: 13px;
|
||||
margin: 0 7.5px;
|
||||
}
|
||||
|
||||
#custom-expand-icon {
|
||||
@ -36,9 +44,3 @@
|
||||
tooltip {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
@ -1,65 +0,0 @@
|
||||
@define-color selected-text #7dcfff;
|
||||
@define-color text #cfc9c2;
|
||||
@define-color base #1a1b26;
|
||||
|
||||
* {
|
||||
font-family: 'CaskaydiaMono Nerd Font', monospace;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
window {
|
||||
margin: 0px;
|
||||
padding: 20px;
|
||||
background-color: @base;
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#input {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
margin-top: -200px;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
outline: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#entry:selected #text {
|
||||
color: @selected-text;
|
||||
}
|
||||
|
||||
#entry image {
|
||||
-gtk-icon-transform: scale(0.7);
|
||||
}
|
73
config/wofi/style.css
Normal file
73
config/wofi/style.css
Normal file
@ -0,0 +1,73 @@
|
||||
/* Colors are defined by theme files and can be referenced via @base, @text, @selected-text, and @border */
|
||||
|
||||
* {
|
||||
font-family: 'CaskaydiaMono Nerd Font', monospace;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
window {
|
||||
margin: 0px;
|
||||
padding: 20px;
|
||||
background-color: @base;
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
border: 2px solid @border;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: @base;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#input:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
outline: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#entry:selected #text {
|
||||
color: @selected-text;
|
||||
}
|
||||
|
||||
#entry image {
|
||||
-gtk-icon-transform: scale(0.7);
|
||||
}
|
||||
|
7
default/gpg/dirmngr.conf
Normal file
7
default/gpg/dirmngr.conf
Normal file
@ -0,0 +1,7 @@
|
||||
keyserver hkps://keyserver.ubuntu.com
|
||||
keyserver hkps://pgp.surfnet.nl
|
||||
keyserver hkps://keys.mailvelope.com
|
||||
keyserver hkps://keyring.debian.org
|
||||
keyserver hkps://pgp.mit.edu
|
||||
|
||||
connect-quick-timeout 4
|
@ -4,8 +4,8 @@ bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-show-keybindings
|
||||
|
||||
# Aesthetics
|
||||
bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar
|
||||
bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next
|
||||
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next
|
||||
bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next
|
||||
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-menu
|
||||
|
||||
# Notifications
|
||||
bind = SUPER, comma, exec, makoctl dismiss
|
||||
@ -19,9 +19,9 @@ bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-power-menu
|
||||
bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle
|
||||
|
||||
# Control Apple Display brightness
|
||||
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000
|
||||
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000
|
||||
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000
|
||||
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness -5000
|
||||
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness +5000
|
||||
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-apple-display-brightness +60000
|
||||
|
||||
# Screenshots
|
||||
bind = , PRINT, exec, hyprshot -m region
|
||||
|
@ -15,9 +15,6 @@ xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
# Make .desktop files available for wofi
|
||||
env = XDG_DATA_DIRS,/usr/share:/usr/local/share:~/.local/share
|
||||
|
||||
# Use XCompose file
|
||||
env = XCOMPOSEFILE,~/.XCompose
|
||||
|
||||
|
@ -4,14 +4,15 @@ windowrule = suppressevent maximize, class:.*
|
||||
# Force chromium into a tile to deal with --app bug
|
||||
windowrule = tile, class:^(Chromium)$
|
||||
|
||||
# Float and center sound, bluetooth, and wifi settings, as well as nautilus previews
|
||||
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
|
||||
# Float and center settings and previews
|
||||
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
windowrule = size 800 600, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
|
||||
windowrule = center, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
|
||||
windowrule = size 645 350, class:Omarchy
|
||||
windowrule = center, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
|
||||
# Float and center file pickers
|
||||
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)
|
||||
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)
|
||||
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
|
||||
# Float Steam, fullscreen RetroArch
|
||||
windowrule = float, class:^(steam)$
|
||||
|
@ -1,4 +1,5 @@
|
||||
@import ".config/omarchy/current/theme/wofi.css";
|
||||
@import ".config/wofi/style.css";
|
||||
|
||||
* {
|
||||
font-family: 'CaskaydiaMono Nerd Font', monospace;
|
||||
|
@ -8,4 +8,7 @@ if ! command -v yay &>/dev/null; then
|
||||
cd -
|
||||
rm -rf yay-bin
|
||||
cd ~
|
||||
|
||||
# Add fun and color to the pacman installer
|
||||
sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf
|
||||
fi
|
||||
|
@ -4,6 +4,13 @@ cp -R ~/.local/share/omarchy/config/* ~/.config/
|
||||
# Ensure application directory exists for update-desktop-database
|
||||
mkdir -p ~/.local/share/applications
|
||||
|
||||
# Setup GPG configuration with multiple keyservers for better reliability
|
||||
sudo mkdir -p /etc/gnupg
|
||||
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
||||
sudo chmod 644 /etc/gnupg/dirmngr.conf
|
||||
sudo gpgconf --kill dirmngr || true
|
||||
sudo gpgconf --launch dirmngr || true
|
||||
|
||||
# Use default bashrc from Omarchy
|
||||
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
|
||||
|
||||
|
@ -4,3 +4,13 @@ if ! command -v iwd &>/dev/null; then
|
||||
yay -S --noconfirm --needed iwd
|
||||
sudo systemctl enable --now iwd.service
|
||||
fi
|
||||
|
||||
# Fix systemd-networkd-wait-online timeout for multiple interfaces
|
||||
# Wait for any interface to be online rather than all interfaces
|
||||
# https://wiki.archlinux.org/title/Systemd-networkd#Multiple_interfaces_that_are_not_connected_all_the_time
|
||||
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
|
||||
sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf >/dev/null <<EOF
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
|
||||
EOF
|
||||
|
@ -18,7 +18,6 @@ ln -snf ~/.config/omarchy/backgrounds/tokyo-night ~/.config/omarchy/current/back
|
||||
ln -snf ~/.config/omarchy/current/backgrounds/1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg ~/.config/omarchy/current/background
|
||||
|
||||
# Set specific app links for current theme
|
||||
ln -snf ~/.config/omarchy/current/theme/wofi.css ~/.config/wofi/style.css
|
||||
ln -snf ~/.config/omarchy/current/theme/neovim.lua ~/.config/nvim/lua/plugins/theme.lua
|
||||
mkdir -p ~/.config/btop/themes
|
||||
ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current.theme
|
||||
|
@ -1,10 +1,14 @@
|
||||
if [ -z "$OMARCHY_BARE" ]; then
|
||||
yay -S --noconfirm --needed \
|
||||
gnome-calculator \
|
||||
signal-desktop spotify dropbox-cli zoom \
|
||||
obsidian-bin typora libreoffice obs-studio kdenlive \
|
||||
1password-beta 1password-cli gnome-keyring \
|
||||
gnome-calculator gnome-keyring signal-desktop \
|
||||
obsidian-bin libreoffice obs-studio kdenlive \
|
||||
pinta xournalpp localsend-bin
|
||||
|
||||
yay -S --noconfirm --needed typora ||
|
||||
echo -e "\e[31mFailed to install Typora. Continuing without!\e[0m"
|
||||
|
||||
yay -S --noconfirm --needed spotify dropbox-cli 1password-beta 1password-cli ||
|
||||
echo -e "\e[31mFailed to install Spotify, Dropbox, and/or 1password because of a keyserver problem. Continuing without!\e[0m"
|
||||
fi
|
||||
|
||||
# Copy over Omarchy applications
|
||||
|
@ -1,4 +0,0 @@
|
||||
echo "Fix XCompose use in Typora"
|
||||
if command -v typora &>/dev/null; then
|
||||
cp ~/.local/share/omarchy/applications/xtras/typora.desktop ~/.local/share/applications/
|
||||
fi
|
5
migrations/1752251002.sh
Normal file
5
migrations/1752251002.sh
Normal file
@ -0,0 +1,5 @@
|
||||
echo "Migrate to the modular, variable-based implementation of waybar style.css"
|
||||
if [ -L ~/.config/waybar/style.css ]; then
|
||||
rm ~/.config/waybar/style.css
|
||||
cp ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/style.css
|
||||
fi
|
7
migrations/1752365998.sh
Normal file
7
migrations/1752365998.sh
Normal file
@ -0,0 +1,7 @@
|
||||
echo "Add override to only require one network interface to be online"
|
||||
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
|
||||
sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf >/dev/null <<EOF
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
|
||||
EOF
|
7
migrations/1752535084.sh
Normal file
7
migrations/1752535084.sh
Normal file
@ -0,0 +1,7 @@
|
||||
echo "Set a default fontconfig"
|
||||
|
||||
if [[ ! -f "$HOME/.config/fontconfig/fonts.conf" ]]; then
|
||||
mkdir -p ~/.config/fontconfig
|
||||
cp ~/.local/share/omarchy/config/fontconfig/fonts.conf ~/.config/fontconfig/
|
||||
fc-cache -fv
|
||||
fi
|
6
migrations/1752535341.sh
Normal file
6
migrations/1752535341.sh
Normal file
@ -0,0 +1,6 @@
|
||||
echo "Setting up GPG configuration with multiple keyservers for better reliability"
|
||||
sudo mkdir -p /etc/gnupg
|
||||
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
||||
sudo chmod 644 /etc/gnupg/dirmngr.conf
|
||||
sudo gpgconf --kill dirmngr || true
|
||||
sudo gpgconf --launch dirmngr || true
|
3
migrations/1752543801.sh
Normal file
3
migrations/1752543801.sh
Normal file
@ -0,0 +1,3 @@
|
||||
echo "Add color and animation to pacman installs"
|
||||
grep -q '^Color' /etc/pacman.conf || sudo sed -i '/^\[options\]/a Color' /etc/pacman.conf
|
||||
grep -q '^ILoveCandy' /etc/pacman.conf || sudo sed -i '/^\[options\]/a ILoveCandy' /etc/pacman.conf
|
5
migrations/1752551006.sh
Normal file
5
migrations/1752551006.sh
Normal file
@ -0,0 +1,5 @@
|
||||
echo "Make wofi stylesheet user editable"
|
||||
if [[ -L "$HOME/.config/wofi/style.css" ]]; then
|
||||
rm "$HOME/.config/wofi/style.css"
|
||||
cp ~/.local/share/omarchy/config/wofi/style.css ~/.config/wofi/
|
||||
fi
|
2
migrations/1752625896.sh
Normal file
2
migrations/1752625896.sh
Normal file
@ -0,0 +1,2 @@
|
||||
echo "Copy desktop file for new Omarchy TUI"
|
||||
cp ~/.local/share/omarchy/applications/omarchy.desktop ~/.local/share/applications/
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #cdd6f4;
|
||||
background-color: #181824;
|
||||
}
|
||||
|
||||
@define-color foreground #cdd6f4;
|
||||
@define-color background #181824;
|
||||
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #d3c6aa;
|
||||
background-color: #2d353b;
|
||||
}
|
||||
|
||||
@define-color foreground #d3c6aa;
|
||||
@define-color background #2d353b;
|
||||
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #d4be98;
|
||||
background-color: #282828;
|
||||
}
|
||||
|
||||
@define-color foreground #d4be98;
|
||||
@define-color background #282828;
|
||||
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #dcd7ba;
|
||||
background-color: #1f1f28;
|
||||
}
|
||||
|
||||
@define-color foreground #dcd7ba;
|
||||
@define-color background #1f1f28;
|
||||
|
@ -1,6 +1,6 @@
|
||||
# ────────────────────────────────────────────────────────────
|
||||
# Matte Black Theme for Alacritty
|
||||
# By noiseRandom
|
||||
# Omarchy Matte Black Theme for Alacritty
|
||||
# By tahayvr
|
||||
# https://github.com/tahayvr
|
||||
# ────────────────────────────────────────────────────────────
|
||||
|
||||
@ -17,47 +17,37 @@ size = 12.0
|
||||
[colors]
|
||||
[colors.primary]
|
||||
background = "#121212"
|
||||
foreground = "#eaeaea"
|
||||
dim_foreground = "#a5abb6"
|
||||
foreground = "#bebebe"
|
||||
dim_foreground = "#8a8a8d"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#121212"
|
||||
cursor = "#eaeaea"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#2e3440"
|
||||
cursor = "#d8dee9"
|
||||
text = "#121212"
|
||||
cursor = "#eaeaea"
|
||||
|
||||
[colors.selection]
|
||||
text = "CellForeground"
|
||||
background = "#333333" #charcoal
|
||||
background = "#333333"
|
||||
|
||||
[colors.normal]
|
||||
black = "#2c2c2c"
|
||||
red = "#bf616a"
|
||||
green = "#a3be8c"
|
||||
yellow = "#ebcb8b"
|
||||
blue = "#81a1c1"
|
||||
magenta = "#b48ead"
|
||||
cyan = "#88c0d0"
|
||||
white = "#e5e9f0"
|
||||
black = "#333333"
|
||||
red = "#D35F5F"
|
||||
green = "#FFC107"
|
||||
yellow = "#b91c1c"
|
||||
blue = "#e68e0d"
|
||||
magenta = "#D35F5F"
|
||||
cyan = "#bebebe"
|
||||
white = "#bebebe"
|
||||
|
||||
[colors.bright]
|
||||
black = "#8a8a8d"
|
||||
red = "#bf616a"
|
||||
green = "#a3be8c"
|
||||
yellow = "#ebcb8b"
|
||||
blue = "#81a1c1"
|
||||
magenta = "#b48ead"
|
||||
cyan = "#8fbcbb"
|
||||
white = "#eceff4"
|
||||
|
||||
[colors.dim]
|
||||
black = "#373e4d"
|
||||
red = "#94545d"
|
||||
green = "#809575"
|
||||
yellow = "#b29e75"
|
||||
blue = "#68809a"
|
||||
magenta = "#8c738c"
|
||||
cyan = "#6d96a5"
|
||||
white = "#aeb3bb"
|
||||
red = "#B91C1C"
|
||||
green = "#FFC107"
|
||||
yellow = "#b90a0a"
|
||||
blue = "#f59e0b"
|
||||
magenta = "#B91C1C"
|
||||
cyan = "#eaeaea"
|
||||
white = "#ffffff"
|
@ -1,6 +1,6 @@
|
||||
# ────────────────────────────────────────────────────────────
|
||||
# Bashtop theme with Matte Black palette
|
||||
# by noiseRandom
|
||||
# Bashtop theme - Omarchy Matte Black
|
||||
# by tahayvr
|
||||
# https://github.com/tahayvr
|
||||
# ────────────────────────────────────────────────────────────
|
||||
|
||||
|
@ -1,30 +1,190 @@
|
||||
return {
|
||||
{ "rebelot/kanagawa.nvim"},
|
||||
{ "EdenEast/nightfox.nvim" },
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "carbonfox",
|
||||
},
|
||||
init = function()
|
||||
-- Custom highlight groups for dashboard colors only
|
||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardHeader", { fg = "#8a8a8d", bold = true })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardIcon", { fg = "#8a8a8d" })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardDir", { fg = "#8a8a8d" })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardFile", { fg = "#8a8a8d" })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardFooter", { fg = "#8a8a8d", italic = true })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardKey", { fg = "#ffffff", bold = true })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardDesc", { fg = "#ffffff" })
|
||||
vim.api.nvim_set_hl(0, "SnacksDashboardSpecial", { fg = "#ffffff", bold = true })
|
||||
"EdenEast/nightfox.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
dependencies = {
|
||||
"folke/snacks.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
"nvim-lualine/lualine.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local nightfox = require('nightfox')
|
||||
local Shade = require('nightfox.lib.shade')
|
||||
local c = require('nightfox.lib.color')
|
||||
|
||||
local matte_black_palette = {
|
||||
-- Base "Matte Black" Palette Overrides
|
||||
bg0 = "#0D0D0D", bg1 = "#121212", bg2 = "#1E1E1E", bg3 = "#2C2C2C", bg4 = "#333333",
|
||||
fg0 = "#FFFFFF", fg1 = "#BEBEBE", fg2 = "#BEBEBE", fg3 = "#8A8A8D",
|
||||
sel0 = "#2C2C2C",
|
||||
sel1 = c.from_hex("#2C2C2C"):blend(c.from_hex("#F59E0B"), 0.2):to_css(),
|
||||
comment = "#333333",
|
||||
red = Shade.new("#D35F5F", c.from_hex("#D35F5F"):lighten(8):to_css(), "#B91C1C"),
|
||||
orange = Shade.new("#F59E0B", "#FFC107", c.from_hex("#F59E0B"):lighten(-8):to_css()),
|
||||
yellow = Shade.new("#FFC107", c.from_hex("#FFC107"):lighten(10):to_css(), "#F59E0B"),
|
||||
white = Shade.new("#EAEAEA", "#FFFFFF", "#BEBEBE"),
|
||||
black = Shade.new("#333333", "#8A8A8D", "#1E1E1E"),
|
||||
green = Shade.new("#8A9A7B", "#A5B799", "#6F7C62"),
|
||||
cyan = Shade.new("#88AABB", "#A2C4D3", "#6E8A99"),
|
||||
blue = Shade.new("#8A9FBE", "#A4BBDD", "#7084A1"),
|
||||
magenta = Shade.new("#C1A1C1", "#D9B9D9", "#A989A9"),
|
||||
pink = Shade.new("#D398A7", "#EBC0CB", "#B97E8D"),
|
||||
|
||||
-- Lualine Palette Extensions
|
||||
lualine_normal_bg = "#F59E0B",
|
||||
lualine_insert_bg = "#B91C1C",
|
||||
lualine_visual_bg = "#C1A1C1",
|
||||
lualine_command_bg = "#F59E0B",
|
||||
lualine_inactive_bg = c.from_hex("#121212"):lighten(5):to_css(),
|
||||
|
||||
-- Treesitter Palette Extensions
|
||||
ts_parameter = "#D398A7",
|
||||
ts_property = "#EAEAEA",
|
||||
}
|
||||
|
||||
local final_palettes = {
|
||||
carbonfox = require('nightfox.lib.collect').deep_extend(
|
||||
require('nightfox.palette').load('carbonfox'),
|
||||
matte_black_palette
|
||||
)
|
||||
}
|
||||
|
||||
local specs = {
|
||||
carbonfox = {
|
||||
syntax = {
|
||||
keyword = "red", -- "local", "function", "if"
|
||||
conditional = "red",
|
||||
statement = "red",
|
||||
func = "orange",
|
||||
string = "orange.dim",
|
||||
number = "orange",
|
||||
operator = "yellow",
|
||||
variable = "white",
|
||||
ident = "white.dim",
|
||||
const = "white",
|
||||
type = "white",
|
||||
field = "white.dim",
|
||||
comment = "comment",
|
||||
},
|
||||
diag = {
|
||||
error = "red",
|
||||
warn = "red",
|
||||
info = "cyan",
|
||||
hint = "magenta",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
local groups = {
|
||||
all = {
|
||||
-- Base Groups
|
||||
Whitespace = { fg = "palette.black.bright" },
|
||||
NonText = { fg = "palette.black.bright" },
|
||||
IncSearch = { bg = "palette.sel1" },
|
||||
|
||||
-- Noice Cmdline Overrides
|
||||
NoiceCmdlinePopupBorder = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitle = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdlinePopupBorderSearch = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitleSearch = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdLineIcon = { fg = "palette.red" },
|
||||
|
||||
-- Neo-tree overrides
|
||||
NeoTreeNormal = { bg = "palette.bg0" },
|
||||
NeoTreeNormalNC = { link = "NeoTreeNormal" },
|
||||
NeoTreeDirectoryName = { fg = "palette.fg3" },
|
||||
NeoTreeDirectoryIcon = { fg = "palette.fg3" },
|
||||
NeoTreeRootName = { fg = "palette.orange", style = "bold" },
|
||||
NeoTreeGitAdded = { fg = "palette.green" },
|
||||
NeoTreeGitModified = { fg = "palette.yellow" },
|
||||
NeoTreeGitDeleted = { fg = "palette.red" },
|
||||
NeoTreeGitIgnored = { fg = "palette.comment" },
|
||||
NeoTreeC = { fg = "palette.orange", bg = "palette.sel0" },
|
||||
|
||||
-- Dashboard overrides
|
||||
SnacksDashboardHeader = { fg = "palette.fg3" },
|
||||
SnacksDashboardIcon = { fg = "palette.fg1" },
|
||||
SnacksDashboardDir = { fg = "palette.orange" },
|
||||
SnacksDashboardFile = { fg = "palette.fg3" },
|
||||
SnacksDashboardFooter = { fg = "palette.fg3" },
|
||||
SnacksDashboardKey = { fg = "palette.orange" },
|
||||
SnacksDashboardDesc = { fg = "palette.fg1" },
|
||||
SnacksDashboardSpecial = { fg = "palette.fg1" },
|
||||
|
||||
-- Treesitter overrides
|
||||
["@comment"] = { fg = "palette.comment", style = "italic" },
|
||||
["@keyword"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.function"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.operator"] = { fg = "palette.red", style = "bold" },
|
||||
["@function"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.builtin"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.call"] = { fg = "palette.orange" },
|
||||
["@string"] = { fg = "palette.orange" },
|
||||
["@number"] = { fg = "palette.orange" },
|
||||
["@operator"] = { fg = "palette.yellow" },
|
||||
["@variable"] = { fg = "palette.white" },
|
||||
["@constant"] = { fg = "palette.white" },
|
||||
["@type"] = { fg = "palette.white.dim" },
|
||||
["@variable.parameter"] = { fg = "palette.ts_parameter", style = "italic" },
|
||||
["@property"] = { fg = "palette.ts_property" },
|
||||
["@field"] = { fg = "palette.ts_property" },
|
||||
}
|
||||
}
|
||||
|
||||
nightfox.setup({
|
||||
options = {
|
||||
style = "carbonfox",
|
||||
terminal_colors = true,
|
||||
dim_inactive = true,
|
||||
styles = { comments = "italic", functions = "bold", keywords = "bold" },
|
||||
modules = {
|
||||
neotree = true,
|
||||
treesitter = true,
|
||||
},
|
||||
},
|
||||
palettes = final_palettes,
|
||||
specs = specs,
|
||||
groups = groups
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme carbonfox")
|
||||
|
||||
-- Lualine overrides
|
||||
local lualine_theme = {
|
||||
normal = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_normal_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
insert = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_insert_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
visual = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_visual_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
command = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_command_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
inactive = {
|
||||
a = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg },
|
||||
b = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.comment, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
}
|
||||
|
||||
require('lualine').setup({
|
||||
options = {
|
||||
theme = lualine_theme,
|
||||
},
|
||||
})
|
||||
|
||||
end,
|
||||
|
||||
end,
|
||||
})
|
||||
vim.schedule(function()
|
||||
vim.cmd("doautocmd ColorScheme")
|
||||
end)
|
||||
end,
|
||||
},
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
* {
|
||||
color: #8a8a8d;
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
@define-color foreground #8a8a8d;
|
||||
@define-color background #1e1e1e;
|
||||
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #d8dee9;
|
||||
background-color: #2e3440;
|
||||
}
|
||||
|
||||
@define-color foreground #d8dee9;
|
||||
@define-color background #2e3440;
|
||||
|
@ -1,5 +1,2 @@
|
||||
* {
|
||||
color: #cdd6f4;
|
||||
background-color: #1a1b26;
|
||||
}
|
||||
|
||||
@define-color foreground #cdd6f4;
|
||||
@define-color background #1a1b26;
|
||||
|
Reference in New Issue
Block a user