diff --git a/config/aether/custom/post-apply.sh b/config/aether/custom/post-apply.sh new file mode 100755 index 0000000..a7e5332 --- /dev/null +++ b/config/aether/custom/post-apply.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Мгновенно обновляем цвета Waybar без перезапуска панели (сигнал USR2) +pkill -USR2 waybar || waybar & + +# Перезапускаем уведомления Mako для применения цветов +makoctl reload + +# Перезапускаем оконный менеджер labwc для обновления его темы +labwc --reconfigure diff --git a/config/aether/favorites.json b/config/aether/favorites.json new file mode 100644 index 0000000..b3d8272 --- /dev/null +++ b/config/aether/favorites.json @@ -0,0 +1,106 @@ +[ + { + "id": "8g9wyy", + "path": "https://w.wallhaven.cc/full/8g/wallhaven-8g9wyy.png", + "resolution": "2560x1440", + "thumbs": { + "small": "https://th.wallhaven.cc/small/8g/8g9wyy.jpg" + } + }, + { + "id": "3q6m6y", + "path": "https://w.wallhaven.cc/full/3q/wallhaven-3q6m6y.png", + "resolution": "4000x2250", + "thumbs": { + "small": "https://th.wallhaven.cc/small/3q/3q6m6y.jpg" + } + }, + { + "id": "vpdwmp", + "path": "https://w.wallhaven.cc/full/vp/wallhaven-vpdwmp.jpg", + "resolution": "2048x1449", + "thumbs": { + "small": "https://th.wallhaven.cc/small/vp/vpdwmp.jpg" + } + }, + { + "id": "xe9l7o", + "path": "https://w.wallhaven.cc/full/xe/wallhaven-xe9l7o.png", + "resolution": "2675x1505", + "thumbs": { + "small": "https://th.wallhaven.cc/small/xe/xe9l7o.jpg" + } + }, + { + "id": "9o9yzk", + "path": "https://w.wallhaven.cc/full/9o/wallhaven-9o9yzk.png", + "resolution": "4096x2304", + "thumbs": { + "small": "https://th.wallhaven.cc/small/9o/9o9yzk.jpg" + } + }, + { + "id": "lyj79r", + "path": "https://w.wallhaven.cc/full/ly/wallhaven-lyj79r.png", + "resolution": "2880x2160", + "thumbs": { + "small": "https://th.wallhaven.cc/small/ly/lyj79r.jpg" + } + }, + { + "id": "8g9172", + "path": "https://w.wallhaven.cc/full/8g/wallhaven-8g9172.jpg", + "resolution": "3000x1688", + "thumbs": { + "small": "https://th.wallhaven.cc/small/8g/8g9172.jpg" + } + }, + { + "id": "mlyqwk", + "path": "https://w.wallhaven.cc/full/ml/wallhaven-mlyqwk.jpg", + "resolution": "3400x1744", + "thumbs": { + "small": "https://th.wallhaven.cc/small/ml/mlyqwk.jpg" + } + }, + { + "id": "gw2y3q", + "path": "https://w.wallhaven.cc/full/gw/wallhaven-gw2y3q.jpg", + "resolution": "2500x1406", + "thumbs": { + "small": "https://th.wallhaven.cc/small/gw/gw2y3q.jpg" + } + }, + { + "id": "jedeww", + "path": "https://w.wallhaven.cc/full/je/wallhaven-jedeww.jpg", + "resolution": "6000x3037", + "thumbs": { + "small": "https://th.wallhaven.cc/small/je/jedeww.jpg" + } + }, + { + "id": "e82x8r", + "path": "https://w.wallhaven.cc/full/e8/wallhaven-e82x8r.jpg", + "resolution": "8000x3838", + "thumbs": { + "small": "https://th.wallhaven.cc/small/e8/e82x8r.jpg" + } + }, + { + "id": "mlyzx9", + "path": "https://w.wallhaven.cc/full/ml/wallhaven-mlyzx9.jpg", + "resolution": "3840x2160", + "thumbs": { + "small": "https://th.wallhaven.cc/small/ml/mlyzx9.jpg" + } + }, + { + "id": "3qwmz3", + "path": "https://w.wallhaven.cc/full/3q/wallhaven-3qwmz3.jpg", + "resolution": "3360x1440", + "thumbs": { + "small": "https://th.wallhaven.cc/small/3q/3qwmz3.jpg" + } + } +] \ No newline at end of file diff --git a/config/aether/settings.json b/config/aether/settings.json new file mode 100644 index 0000000..00a417f --- /dev/null +++ b/config/aether/settings.json @@ -0,0 +1,8 @@ +{ + "excludedApps": {}, + "includeGtk": false, + "includeNeovim": true, + "includeVscode": false, + "includeZed": false, + "selectedNeovimConfig": "" +} diff --git a/config/aether/theme/aether.zed.json b/config/aether/theme/aether.zed.json new file mode 100644 index 0000000..7b996bc --- /dev/null +++ b/config/aether/theme/aether.zed.json @@ -0,0 +1,457 @@ +{ + "$schema": "https://zed.dev/schema/themes/v0.2.0.json", + "name": "aether", + "author": "Aether", + "themes": [ + { + "name": "Aether", + "appearance": "dark", + "style": { + "background": "#080e15", + "border": "#63676c40", + "border.variant": "#63676c60", + "border.focused": "#9ba4bb", + "border.selected": "#9ba4bb80", + "border.transparent": "#00000000", + "border.disabled": "#63676c30", + + "elevated_surface.background": "#21262c", + "surface.background": "#21262c", + + "element.background": "#21262c", + "element.hover": "#63676c40", + "element.active": "#9ba4bb30", + "element.selected": "#9ba4bb25", + "element.disabled": "#63676c20", + + "drop_target.background": "#9ba4bb20", + + "ghost_element.background": "#00000000", + "ghost_element.hover": "#21262c", + "ghost_element.active": "#9ba4bb30", + "ghost_element.selected": "#9ba4bb25", + "ghost_element.disabled": "#63676c20", + + "text": "#dac7b2", + "text.muted": "#63676c", + "text.placeholder": "#63676c", + "text.disabled": "#63676c80", + "text.accent": "#9ba4bb", + + "icon": "#dac7b2", + "icon.muted": "#63676c", + "icon.disabled": "#63676c60", + "icon.placeholder": "#63676c", + "icon.accent": "#9ba4bb", + + "status_bar.background": "#21262c", + "title_bar.background": "#21262c", + "title_bar.inactive_background": "#21262c", + "toolbar.background": "#080e15", + "tab_bar.background": "#21262c", + "tab.inactive_background": "#21262c", + "tab.active_background": "#080e15", + + "search.match_background": "#98927a40", + + "panel.background": "#21262c", + "panel.focused_border": "#9ba4bb", + + "pane.focused_border": "#9ba4bb", + + "scrollbar.thumb.background": "#63676c30", + "scrollbar.thumb.hover_background": "#63676c60", + "scrollbar.thumb.border": "#63676c20", + "scrollbar.track.background": "#00000000", + "scrollbar.track.border": "#00000000", + + "editor.foreground": "#dac7b2", + "editor.background": "#080e15", + "editor.gutter.background": "#080e15", + "editor.subheader.background": "#21262c", + "editor.active_line.background": "#21262c", + "editor.highlighted_line.background": "#9ba4bb15", + "editor.line_number": "#63676c", + "editor.active_line_number": "#dac7b2", + "editor.invisible": "#63676c40", + "editor.wrap_guide": "#63676c30", + "editor.active_wrap_guide": "#63676c60", + "editor.document_highlight.read_background": "#9ba4bb20", + "editor.document_highlight.write_background": "#9ba4bb30", + + "terminal.background": "#080e15", + "terminal.foreground": "#dac7b2", + "terminal.bright_foreground": "#e3d5c5", + "terminal.dim_foreground": "#63676c", + "terminal.ansi.black": "#080e15", + "terminal.ansi.bright_black": "#63676c", + "terminal.ansi.dim_black": "#080e1580", + "terminal.ansi.red": "#8d765d", + "terminal.ansi.bright_red": "#b49a79", + "terminal.ansi.dim_red": "#8d765d80", + "terminal.ansi.green": "#827a63", + "terminal.ansi.bright_green": "#a79f80", + "terminal.ansi.dim_green": "#827a6380", + "terminal.ansi.yellow": "#98927a", + "terminal.ansi.bright_yellow": "#beb898", + "terminal.ansi.dim_yellow": "#98927a80", + "terminal.ansi.blue": "#9ba4bb", + "terminal.ansi.bright_blue": "#c0c9e7", + "terminal.ansi.dim_blue": "#9ba4bb80", + "terminal.ansi.magenta": "#8e7c92", + "terminal.ansi.bright_magenta": "#b59fbb", + "terminal.ansi.dim_magenta": "#8e7c9280", + "terminal.ansi.cyan": "#85a0ac", + "terminal.ansi.bright_cyan": "#a8c6d5", + "terminal.ansi.dim_cyan": "#85a0ac80", + "terminal.ansi.white": "#dac7b2", + "terminal.ansi.bright_white": "#e3d5c5", + "terminal.ansi.dim_white": "#dac7b280", + + "link_text.hover": "#9ba4bb", + + "conflict": "#98927a", + "conflict.background": "#98927a15", + "conflict.border": "#98927a", + + "created": "#827a63", + "created.background": "#827a6315", + "created.border": "#827a63", + + "deleted": "#8d765d", + "deleted.background": "#8d765d15", + "deleted.border": "#8d765d", + + "error": "#8d765d", + "error.background": "#8d765d15", + "error.border": "#8d765d", + + "hidden": "#63676c", + "hidden.background": "#63676c15", + "hidden.border": "#63676c", + + "hint": "#85a0ac", + "hint.background": "#85a0ac15", + "hint.border": "#85a0ac", + + "ignored": "#63676c", + "ignored.background": "#63676c15", + "ignored.border": "#63676c", + + "info": "#9ba4bb", + "info.background": "#9ba4bb15", + "info.border": "#9ba4bb", + + "modified": "#9e8b75", + "modified.background": "#9e8b7515", + "modified.border": "#9e8b75", + + "predictive": "#63676c", + "predictive.background": "#63676c15", + "predictive.border": "#63676c40", + + "renamed": "#85a0ac", + "renamed.background": "#85a0ac15", + "renamed.border": "#85a0ac", + + "success": "#827a63", + "success.background": "#827a6315", + "success.border": "#827a63", + + "unreachable": "#63676c", + "unreachable.background": "#63676c15", + "unreachable.border": "#63676c", + + "warning": "#98927a", + "warning.background": "#98927a15", + "warning.border": "#98927a", + + "players": [ + { + "cursor": "#dac7b2", + "selection": "#dac7b260", + "background": "#9ba4bb" + }, + { + "cursor": "#85a0ac", + "selection": "#85a0ac40", + "background": "#85a0ac" + }, + { + "cursor": "#8e7c92", + "selection": "#8e7c9240", + "background": "#8e7c92" + }, + { + "cursor": "#98927a", + "selection": "#98927a40", + "background": "#98927a" + }, + { + "cursor": "#827a63", + "selection": "#827a6340", + "background": "#827a63" + }, + { + "cursor": "#8d765d", + "selection": "#8d765d40", + "background": "#8d765d" + }, + { + "cursor": "#9ba4bb", + "selection": "#9ba4bb40", + "background": "#9ba4bb" + }, + { + "cursor": "#b49a79", + "selection": "#b49a7940", + "background": "#b49a79" + } + ], + + "syntax": { + "attribute": { + "color": "#98927a", + "font_style": "italic", + "font_weight": null + }, + "boolean": { + "color": "#9e8b75", + "font_style": null, + "font_weight": null + }, + "comment": { + "color": "#63676c", + "font_style": "italic", + "font_weight": null + }, + "comment.doc": { + "color": "#63676c", + "font_style": "italic", + "font_weight": null + }, + "constant": { + "color": "#beb898", + "font_style": null, + "font_weight": null + }, + "constructor": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "embedded": { + "color": "#dac7b2", + "font_style": null, + "font_weight": null + }, + "emphasis": { + "color": "#8d765d", + "font_style": "italic", + "font_weight": null + }, + "emphasis.strong": { + "color": "#8d765d", + "font_style": null, + "font_weight": 700 + }, + "enum": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "function": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": null + }, + "function.builtin": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "function.definition": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": null + }, + "function.method": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": null + }, + "function.special.definition": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": null + }, + "hint": { + "color": "#63676c", + "font_style": "italic", + "font_weight": null + }, + "keyword": { + "color": "#b59fbb", + "font_style": null, + "font_weight": null + }, + "label": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "link_text": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": null + }, + "link_uri": { + "color": "#85a0ac", + "font_style": "underline", + "font_weight": null + }, + "number": { + "color": "#9e8b75", + "font_style": null, + "font_weight": null + }, + "operator": { + "color": "#c0c9e7", + "font_style": null, + "font_weight": null + }, + "predictive": { + "color": "#63676c", + "font_style": "italic", + "font_weight": null + }, + "preproc": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "primary": { + "color": "#dac7b2", + "font_style": null, + "font_weight": null + }, + "property": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "punctuation": { + "color": "#a49586", + "font_style": null, + "font_weight": null + }, + "punctuation.bracket": { + "color": "#a49586", + "font_style": null, + "font_weight": null + }, + "punctuation.delimiter": { + "color": "#a49586", + "font_style": null, + "font_weight": null + }, + "punctuation.list_marker": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "punctuation.special": { + "color": "#c0c9e7", + "font_style": null, + "font_weight": null + }, + "string": { + "color": "#827a63", + "font_style": null, + "font_weight": null + }, + "string.escape": { + "color": "#b59fbb", + "font_style": null, + "font_weight": null + }, + "string.regex": { + "color": "#a8c6d5", + "font_style": null, + "font_weight": null + }, + "string.special": { + "color": "#827a63", + "font_style": null, + "font_weight": null + }, + "string.special.symbol": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "tag": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "text.literal": { + "color": "#827a63", + "font_style": null, + "font_weight": null + }, + "title": { + "color": "#9ba4bb", + "font_style": null, + "font_weight": 700 + }, + "type": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "type.builtin": { + "color": "#dac7b2", + "font_style": null, + "font_weight": null + }, + "type.interface": { + "color": "#98927a", + "font_style": null, + "font_weight": null + }, + "type.super": { + "color": "#98927a", + "font_style": "italic", + "font_weight": null + }, + "variable": { + "color": "#dac7b2", + "font_style": null, + "font_weight": null + }, + "variable.member": { + "color": "#85a0ac", + "font_style": null, + "font_weight": null + }, + "variable.parameter": { + "color": "#85a0ac", + "font_style": "italic", + "font_weight": null + }, + "variable.special": { + "color": "#dac7b2", + "font_style": "italic", + "font_weight": null + }, + "variant": { + "color": "#9e8b75", + "font_style": null, + "font_weight": null + } + } + } + } + ] +} diff --git a/config/aether/theme/alacritty.toml b/config/aether/theme/alacritty.toml new file mode 100644 index 0000000..9d87f0d --- /dev/null +++ b/config/aether/theme/alacritty.toml @@ -0,0 +1,28 @@ +[colors] +[colors.primary] +background = "#080e15" +foreground = "#dac7b2" + +[colors.normal] +black = "#080e15" +red = "#8d765d" +green = "#827a63" +yellow = "#98927a" +blue = "#9ba4bb" +magenta = "#8e7c92" +cyan = "#85a0ac" +white = "#dac7b2" + +[colors.bright] +black = "#63676c" +red = "#b49a79" +green = "#a79f80" +yellow = "#beb898" +blue = "#c0c9e7" +magenta = "#b59fbb" +cyan = "#a8c6d5" +white = "#f7d19e" + +[colors.cursor] +text = "#080e15" +cursor = "#dac7b2" diff --git a/config/aether/theme/backgrounds/wallhaven-3qwmz3.jpg b/config/aether/theme/backgrounds/wallhaven-3qwmz3.jpg new file mode 100644 index 0000000..0b7357a Binary files /dev/null and b/config/aether/theme/backgrounds/wallhaven-3qwmz3.jpg differ diff --git a/config/aether/theme/btop.theme b/config/aether/theme/btop.theme new file mode 100644 index 0000000..5810340 --- /dev/null +++ b/config/aether/theme/btop.theme @@ -0,0 +1,93 @@ +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#080e15" + +# Main text color +theme[main_fg]="#dac7b2" + +# Title color for boxes +theme[title]="#dac7b2" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#9ba4bb" + +# Background color of selected item in processes box. #dac7b2 maps to +# the foreground role in aether (terminal selection wants inverted contrast), +# which renders as plain white on dark themes - indistinguishable from the +# main text. #21262c gives a subtle highlight that still reads on a +# dark background and is invisible-but-harmless on light backgrounds. +theme[selected_bg]="#21262c" + +# Foreground color of selected item in processes box. Use #dac7b2 so +# the row text stays readable on the lighter_bg highlight; the previous +# #9ba4bb produced low-contrast blue-on-white in dark themes. +theme[selected_fg]="#dac7b2" + +# Color of inactive/disabled text +theme[inactive_fg]="#63676c" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling. +# #e0cfbe caps at #ffffff when the foreground is already pure white, so we +# just bind it to #dac7b2 directly. +theme[graph_text]="#dac7b2" + +# Background color of the percentage meters. Same fix as selected_bg - the +# previous #dac7b2 collapsed to the main fg. +theme[meter_bg]="#21262c" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text. +# Use #85a0ac for a distinct accent instead of #e0cfbe which capped to white. +theme[proc_misc]="#85a0ac" + +# CPU, Memory, Network, Proc box outline colors +theme[cpu_box]="#8e7c92" +theme[mem_box]="#827a63" +theme[net_box]="#8d765d" +theme[proc_box]="#9ba4bb" + +# Box divider line and small boxes line color +theme[div_line]="#63676c" + +# Temperature graph color (Green -> Yellow -> Red) +theme[temp_start]="#827a63" +theme[temp_mid]="#98927a" +theme[temp_end]="#8d765d" + +# CPU graph colors (Teal -> Blue -> Purple) +theme[cpu_start]="#85a0ac" +theme[cpu_mid]="#9ba4bb" +theme[cpu_end]="#8e7c92" + +# Mem/Disk free meter +theme[free_start]="#8e7c92" +theme[free_mid]="#9ba4bb" +theme[free_end]="#85a0ac" + +# Mem/Disk cached meter +theme[cached_start]="#9ba4bb" +theme[cached_mid]="#85a0ac" +theme[cached_end]="#8e7c92" + +# Mem/Disk available meter +theme[available_start]="#98927a" +theme[available_mid]="#8d765d" +theme[available_end]="#8d765d" + +# Mem/Disk used meter (Green -> Teal -> Blue) +theme[used_start]="#827a63" +theme[used_mid]="#85a0ac" +theme[used_end]="#9ba4bb" + +# Download graph colors +theme[download_start]="#98927a" +theme[download_mid]="#8d765d" +theme[download_end]="#8d765d" + +# Upload graph colors (Green -> Teal -> Blue) +theme[upload_start]="#827a63" +theme[upload_mid]="#85a0ac" +theme[upload_end]="#9ba4bb" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#85a0ac" +theme[process_mid]="#9ba4bb" +theme[process_end]="#8e7c92" diff --git a/config/aether/theme/chromium.theme b/config/aether/theme/chromium.theme new file mode 100644 index 0000000..8ce6443 --- /dev/null +++ b/config/aether/theme/chromium.theme @@ -0,0 +1 @@ +8,14,21 diff --git a/config/aether/theme/colors.toml b/config/aether/theme/colors.toml new file mode 100644 index 0000000..1a982cc --- /dev/null +++ b/config/aether/theme/colors.toml @@ -0,0 +1,67 @@ +# Generated by Aether. Semantic names mirror Omarchy's theme color system; +# the color0-15 ANSI slots are kept for tools that still read them. +mode = "dark" + +# UI Colors (extended) +accent = "#9ba4bb" +cursor = "#dac7b2" + +# Primary colors +foreground = "#dac7b2" +background = "#080e15" + +# Selection colors +selection_foreground = "#080e15" +selection_background = "#dac7b2" + +# Background shades +bg = "#080e15" +lighter_bg = "#21262c" +dark_bg = "#060b10" +darker_bg = "#04070b" + +# Foreground shades +fg = "#dac7b2" +light_fg = "#e0cfbe" +bright_fg = "#e3d5c5" +dark_fg = "#a49586" +muted = "#63676c" +selection = "#dac7b2" + +# Accent hues +red = "#8d765d" +green = "#827a63" +yellow = "#98927a" +blue = "#9ba4bb" +magenta = "#8e7c92" +cyan = "#85a0ac" +orange = "#9e8b75" +brown = "#5f5346" + +# Bright hues +bright_red = "#b49a79" +bright_green = "#a79f80" +bright_yellow = "#beb898" +bright_blue = "#c0c9e7" +bright_magenta = "#b59fbb" +bright_cyan = "#a8c6d5" + +# Normal colors (ANSI 0-7) +color0 = "#080e15" +color1 = "#8d765d" +color2 = "#827a63" +color3 = "#98927a" +color4 = "#9ba4bb" +color5 = "#8e7c92" +color6 = "#85a0ac" +color7 = "#dac7b2" + +# Bright colors (ANSI 8-15) +color8 = "#63676c" +color9 = "#b49a79" +color10 = "#a79f80" +color11 = "#beb898" +color12 = "#c0c9e7" +color13 = "#b59fbb" +color14 = "#a8c6d5" +color15 = "#f7d19e" diff --git a/config/aether/theme/foot.ini b/config/aether/theme/foot.ini new file mode 100644 index 0000000..d7025df --- /dev/null +++ b/config/aether/theme/foot.ini @@ -0,0 +1,25 @@ +[colors-dark] +foreground=dac7b2 +background=080e15 +selection-foreground=080e15 +selection-background=dac7b2 + +cursor=080e15 dac7b2 + +regular0=080e15 +regular1=8d765d +regular2=827a63 +regular3=98927a +regular4=9ba4bb +regular5=8e7c92 +regular6=85a0ac +regular7=dac7b2 + +bright0=63676c +bright1=b49a79 +bright2=a79f80 +bright3=beb898 +bright4=c0c9e7 +bright5=b59fbb +bright6=a8c6d5 +bright7=e3d5c5 diff --git a/config/aether/theme/ghostty.conf b/config/aether/theme/ghostty.conf new file mode 100644 index 0000000..8d85eea --- /dev/null +++ b/config/aether/theme/ghostty.conf @@ -0,0 +1,23 @@ +# Background and foreground colors +background = #080e15 +foreground = #dac7b2 + +# Standard colors +palette = 0=#080e15 +palette = 1=#8d765d +palette = 2=#827a63 +palette = 3=#98927a +palette = 4=#9ba4bb +palette = 5=#8e7c92 +palette = 6=#85a0ac +palette = 7=#dac7b2 + +# Bright colors +palette = 8=#63676c +palette = 9=#b49a79 +palette = 10=#a79f80 +palette = 11=#beb898 +palette = 12=#c0c9e7 +palette = 13=#b59fbb +palette = 14=#a8c6d5 +palette = 15=#f7d19e diff --git a/config/aether/theme/hyprland.conf b/config/aether/theme/hyprland.conf new file mode 100644 index 0000000..532a079 --- /dev/null +++ b/config/aether/theme/hyprland.conf @@ -0,0 +1,12 @@ +# This file is not a full hyprland configuration. +# It is intended to be included in your main hyprland.conf. + +$activeBorderColor = rgb(9ba4bb) + +general { + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor +} diff --git a/config/aether/theme/hyprlock.conf b/config/aether/theme/hyprlock.conf new file mode 100644 index 0000000..558132d --- /dev/null +++ b/config/aether/theme/hyprlock.conf @@ -0,0 +1,6 @@ +$color = rgba(8, 14, 21, 1) +$inner_color = rgba(8, 14, 21, 0.66) +$outer_color = rgba(142, 124, 146, 1) +$font_color = rgba(218, 199, 178, 1) +$placeholder_color = rgba(218, 199, 178, 0.7) +$check_color = rgba(133, 160, 172, 1) diff --git a/config/aether/theme/icons.theme b/config/aether/theme/icons.theme new file mode 100644 index 0000000..7c658ba --- /dev/null +++ b/config/aether/theme/icons.theme @@ -0,0 +1 @@ +Yaru-magenta \ No newline at end of file diff --git a/config/aether/theme/kitty.conf b/config/aether/theme/kitty.conf new file mode 100644 index 0000000..ddd5485 --- /dev/null +++ b/config/aether/theme/kitty.conf @@ -0,0 +1,36 @@ +background #080e15 +foreground #dac7b2 + +# black +color0 #080e15 +color8 #63676c + +# red +color1 #8d765d +color9 #b49a79 + +# green +color2 #827a63 +color10 #a79f80 + +# yellow +color3 #98927a +color11 #beb898 + +# blue +color4 #9ba4bb +color12 #c0c9e7 + +# magenta +color5 #8e7c92 +color13 #b59fbb + +#cyan +color6 #85a0ac +color14 #a8c6d5 + +#white +color7 #dac7b2 +color15 #f7d19e + + diff --git a/config/aether/theme/mako.ini b/config/aether/theme/mako.ini new file mode 100644 index 0000000..aedd1f1 --- /dev/null +++ b/config/aether/theme/mako.ini @@ -0,0 +1,21 @@ +text-color=#dac7b2 +border-color=#8e7c92 +background-color=#080e15 +width=420 +height=110 +padding=10 +border-size=2 +font=Liberation Sans 11 +anchor=top-right +outer-margin=20 +default-timeout=5000 +max-icon-size=32 + +[app-name=Spotify] +invisible=1 + +[mode=do-not-disturb] +invisible=true + +[mode=do-not-disturb app-name=notify-send] +invisible=false diff --git a/config/aether/theme/neovim.lua b/config/aether/theme/neovim.lua new file mode 100644 index 0000000..30bfe9e --- /dev/null +++ b/config/aether/theme/neovim.lua @@ -0,0 +1,52 @@ +return { + { + "bjarneo/aether.nvim", + branch = "v3", + name = "aether", + priority = 1000, + opts = { + colors = { + bg = "#080e15", + dark_bg = "#060b10", + darker_bg = "#04070b", + lighter_bg = "#21262c", + + fg = "#dac7b2", + dark_fg = "#a49586", + light_fg = "#e0cfbe", + bright_fg = "#e3d5c5", + muted = "#63676c", + + red = "#8d765d", + yellow = "#98927a", + orange = "#9e8b75", + green = "#827a63", + cyan = "#85a0ac", + blue = "#9ba4bb", + purple = "#8e7c92", + brown = "#5f5346", + + bright_red = "#b49a79", + bright_yellow = "#beb898", + bright_green = "#a79f80", + bright_cyan = "#a8c6d5", + bright_blue = "#c0c9e7", + bright_purple = "#b59fbb", + + accent = "#9ba4bb", + cursor = "#dac7b2", + foreground = "#dac7b2", + background = "#080e15", + selection = "#21262c", + selection_foreground = "#dac7b2", + selection_background = "#21262c", + }, + }, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "aether", + }, + }, +} diff --git a/config/aether/theme/swayosd.css b/config/aether/theme/swayosd.css new file mode 100644 index 0000000..0d35f26 --- /dev/null +++ b/config/aether/theme/swayosd.css @@ -0,0 +1,5 @@ +@define-color background-color #080e15; +@define-color border-color #63676c; +@define-color label #dac7b2; +@define-color image #dac7b2; +@define-color progress #98927a; \ No newline at end of file diff --git a/config/aether/theme/vencord.theme.css b/config/aether/theme/vencord.theme.css new file mode 100644 index 0000000..23832be --- /dev/null +++ b/config/aether/theme/vencord.theme.css @@ -0,0 +1,29 @@ +/** +* @name base16 Discord +* @author @bypass_ +* @version 0.1.0 +* @description Built using Aether and Pywal +* @source https://github.com/imbypass/base16-Discord +**/ + +/* import the parent */ +@import url('https://imbypass.github.io/base16-discord/omarchy-discord.theme.css'); + +:root { + --color00: #080e15; + --color01: #8d765d; + --color02: #827a63; + --color03: #98927a; + --color04: #9ba4bb; + --color05: #8e7c92; + --color06: #85a0ac; + --color07: #dac7b2; + --color08: #63676c; + --color09: #b49a79; + --color10: #a79f80; + --color11: #beb898; + --color12: #c0c9e7; + --color13: #b59fbb; + --color14: #a8c6d5; + --color15: #f7d19e; +} diff --git a/config/aether/theme/walker.css b/config/aether/theme/walker.css new file mode 100644 index 0000000..879a809 --- /dev/null +++ b/config/aether/theme/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #9ba4bb; +@define-color text #dac7b2; +@define-color base #080e15; +@define-color border #63676c; +@define-color foreground #dac7b2; +@define-color background #080e15; diff --git a/config/aether/theme/warp.yaml b/config/aether/theme/warp.yaml new file mode 100644 index 0000000..3d6facf --- /dev/null +++ b/config/aether/theme/warp.yaml @@ -0,0 +1,26 @@ +name: Aether +accent: "#9ba4bb" +cursor: "#9ba4bb" +background: "#080e15" +foreground: "#dac7b2" +details: darker + +terminal_colors: + normal: + black: "#080e15" + red: "#8d765d" + green: "#827a63" + yellow: "#98927a" + blue: "#9ba4bb" + magenta: "#8e7c92" + cyan: "#85a0ac" + white: "#dac7b2" + bright: + black: "#63676c" + red: "#b49a79" + green: "#a79f80" + yellow: "#beb898" + blue: "#c0c9e7" + magenta: "#b59fbb" + cyan: "#a8c6d5" + white: "#f7d19e" diff --git a/config/aether/theme/waybar.css b/config/aether/theme/waybar.css new file mode 100644 index 0000000..0bf2c4f --- /dev/null +++ b/config/aether/theme/waybar.css @@ -0,0 +1,2 @@ +@define-color background #080e15; +@define-color foreground #dac7b2; diff --git a/config/aether/theme/wofi.css b/config/aether/theme/wofi.css new file mode 100644 index 0000000..fbec69a --- /dev/null +++ b/config/aether/theme/wofi.css @@ -0,0 +1,49 @@ +@define-color bg #080e15; +@define-color fg #dac7b2; +@define-color gray1 #827a63; +@define-color gray2 #63676c; +@define-color gray3 #9ba4bb; +@define-color gray4 #98927a; +@define-color gray5 #8e7c92; +@define-color fg_bright #f7d19e; + +window { + background-color: @bg; + border: 2px solid @gray3; +} + +input { + background-color: @bg; + color: @fg; + border: 1px solid @gray2; +} + +input:selected { + background-color: @gray1; + color: @fg_bright; +} + +#entry { + color: @fg; + background-color: @bg; + padding: 5px; + margin: 2px; +} + +#entry:selected { + background-color: @gray1; + color: @fg_bright; +} + +scrollbar { + background-color: @bg; +} + +scrollbar slider { + background-color: @gray2; + border-radius: 5px; +} + +scrollbar slider:hover { + background-color: @gray3; +} \ No newline at end of file diff --git a/config/aether/theme/zellij.kdl b/config/aether/theme/zellij.kdl new file mode 100644 index 0000000..928fe19 --- /dev/null +++ b/config/aether/theme/zellij.kdl @@ -0,0 +1,120 @@ +themes { + current { + text_unselected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + text_selected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + ribbon_selected { + base 99 103 108 + background 167 159 128 + emphasis_0 180 154 121 + emphasis_1 158 139 117 + emphasis_2 181 159 187 + emphasis_3 192 201 231 + } + ribbon_unselected { + base 99 103 108 + background 218 199 178 + emphasis_0 180 154 121 + emphasis_1 218 199 178 + emphasis_2 192 201 231 + emphasis_3 181 159 187 + } + table_title { + base 167 159 128 + background 0 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + table_cell_selected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + table_cell_unselected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + list_selected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + list_unselected { + base 218 199 178 + background 99 103 108 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 167 159 128 + emphasis_3 181 159 187 + } + frame_selected { + base 167 159 128 + background 0 + emphasis_0 158 139 117 + emphasis_1 168 198 213 + emphasis_2 181 159 187 + emphasis_3 0 + } + frame_highlight { + base 158 139 117 + background 0 + emphasis_0 181 159 187 + emphasis_1 158 139 117 + emphasis_2 158 139 117 + emphasis_3 158 139 117 + } + exit_code_success { + base 167 159 128 + background 0 + emphasis_0 168 198 213 + emphasis_1 99 103 108 + emphasis_2 181 159 187 + emphasis_3 192 201 231 + } + exit_code_error { + base 180 154 121 + background 0 + emphasis_0 152 146 122 + emphasis_1 0 + emphasis_2 0 + emphasis_3 0 + } + multiplayer_user_colors { + player_1 181 159 187 + player_2 192 201 231 + player_3 0 + player_4 152 146 122 + player_5 168 198 213 + player_6 0 + player_7 180 154 121 + player_8 0 + player_9 0 + player_10 0 + } + } +} diff --git a/config/aether/wallhaven.json b/config/aether/wallhaven.json new file mode 100644 index 0000000..585fc4d --- /dev/null +++ b/config/aether/wallhaven.json @@ -0,0 +1,9 @@ +{ + "apiKey": "", + "categories": "010", + "order": "desc", + "purity": "100", + "purityControlsEnabled": true, + "resolutions": "1920x1080", + "sorting": "date_added" +} diff --git a/config/dolphinrc b/config/dolphinrc new file mode 100644 index 0000000..c166d78 --- /dev/null +++ b/config/dolphinrc @@ -0,0 +1,22 @@ +[CompactMode] +PreviewSize=32 + +[General] +Version=202 +ViewPropsTimestamp=2026,8,9,19,20,28.347 + +[IconsMode] +PreviewSize=80 + +[KFileDialog Settings] +Places Icons Auto-resize=false +Places Icons Static Size=22 + +[MainWindow] +MenuBar=Disabled + +[Notification Messages] +ConfirmRenameFileType=false + +[UiSettings] +ColorScheme=BreezeDark \ No newline at end of file diff --git a/config/hypr/hypridle.conf b/config/hypr/hypridle.conf new file mode 100644 index 0000000..f3afb09 --- /dev/null +++ b/config/hypr/hypridle.conf @@ -0,0 +1,17 @@ +general { + # Команда, которая выполняется при вызове блокировки через систему/dbus + lock_cmd = hyprlock +} + +# ПРАВИЛО 1: Блокировка экрана через 5 минут бездействия +listener { + timeout = 300 # 5 минут (300 секунд) + on-timeout = hyprlock # Только блокируем экран +} + +# ПРАВИЛО 2: Выключение мониторов через 5.5 минут (через 30 секунд после блокировки) +listener { + timeout = 330 # 5 минут 30 секунд + on-timeout = wlopm --off \* # Гасим все мониторы + on-resume = wlopm --on \* # Включаем при активности +} diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf new file mode 100644 index 0000000..9580b04 --- /dev/null +++ b/config/hypr/hyprlock.conf @@ -0,0 +1,66 @@ +source = $HOME/.config/aether/theme/hyprlock.conf + +general { + hide_cursor = false +} + +background { + monitor = + path = screenshot # Сделает скриншот текущего экрана + blur_passes = 3 # Эффект размытия (оптимально 2-3) + blur_size = 7 + + # ЗАТЕМНЕНИЕ: Снижаем яркость картинки (0.0 — полностью черный, 1.0 — исходная яркость) + # Значение 0.5 уменьшит яркость скриншота ровно наполовину + brightness = 0.5 + noise = 0.05 +} + +input-field { + monitor = + rounding = 0 + size = 150, 50 + outline_thickness = 2 + font_family = JetBrainsMono Nerd Font + dots_size = 0.25 + dots_spacing = 0.15 + dots_center = true + fade_on_empty = false + placeholder_text = you shall not pass + hide_input = false + position = 0, -50 + halign = center + valign = center + + # Используем точные переменные из файла Aether + font_color = $font_color + inner_color = $inner_color + outer_color = $outer_color + check_color = $check_color +} + +# ЧАСЫ +label { + monitor = + text = cmd[update:1000] echo "$TIME" + color = $font_color + font_size = 55 + font_family = JetBrainsMono Nerd Font + position = 0, 70 + halign = center + valign = center + shadow_passes = 0 +} + +# ДАТА +label { + monitor = + text = cmd[update:1000] echo "$(date +'%A, %d %B')" + color = $font_color + font_size = 18 + font_family = JetBrainsMono Nerd Font + position = 0, 20 + halign = center + valign = center + shadow_passes = 0 +} diff --git a/config/kdeglobals b/config/kdeglobals new file mode 100644 index 0000000..a4cbf66 --- /dev/null +++ b/config/kdeglobals @@ -0,0 +1,2 @@ +[UiSettings] +ColorScheme=BreezeDark diff --git a/config/labwc/autostart b/config/labwc/autostart new file mode 100644 index 0000000..0d88a37 --- /dev/null +++ b/config/labwc/autostart @@ -0,0 +1,16 @@ +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=labwc & +systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & + + + +# Автозапуск панели и уведомлений +waybar & +mako & +hypridle & +hyprpolkitagent & +wl-paste --type text --watch cliphist store & +wl-paste --type image --watch cliphist store & +# Применяем обои и тему окон при старте +~/.config/labwc/update_theme.sh & + +systemctl --user start hyprpolkitagent.service & \ No newline at end of file diff --git a/config/labwc/environment b/config/labwc/environment new file mode 100644 index 0000000..2181119 --- /dev/null +++ b/config/labwc/environment @@ -0,0 +1,3 @@ +XKB_DEFAULT_LAYOUT=us,ru +XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle +QT_QPA_PLATFORMTHEME=qt6ct diff --git a/config/labwc/menu.xml b/config/labwc/menu.xml new file mode 100644 index 0000000..3cbdc6a --- /dev/null +++ b/config/labwc/menu.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/labwc/rc.xml b/config/labwc/rc.xml new file mode 100644 index 0000000..edc43ef --- /dev/null +++ b/config/labwc/rc.xml @@ -0,0 +1,153 @@ + + + + + + 1 + 2 + 3 + 4 + + + + + + yes + no + + + + + DynamicAether + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + 2 + + + + + + + 3 + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sh -c 'grim -g "$(slurp)" - | wl-copy' + + + + + + + ~/.config/wofi/cliphist-img.sh + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/labwc/shutdown b/config/labwc/shutdown new file mode 100644 index 0000000..966f7bd --- /dev/null +++ b/config/labwc/shutdown @@ -0,0 +1 @@ +cliphist wipe & \ No newline at end of file diff --git a/config/labwc/themerc-override b/config/labwc/themerc-override new file mode 100644 index 0000000..5698af3 --- /dev/null +++ b/config/labwc/themerc-override @@ -0,0 +1,17 @@ +# Цвет рамки active и inactive +window.active.border.color: #141520 +window.inactive.border.color: #141520 + +# Цвет фона заголовка active и inactive +window.active.title.bg.color: #141520 +window.inactive.title.bg.color: #141520 + +# Цвет текста заголовка окна +window.active.label.text.color: #dfcab2 +window.inactive.label.text.color: #dfcab2 + +# Цвет иконок кнопок для АКТИВНОГО окна +window.active.button.unpressed.image.color: #dfcab2 + +# Цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC) +window.inactive.button.image.color: #dfcab2 diff --git a/config/labwc/themes/DynamicAether/themerc b/config/labwc/themes/DynamicAether/themerc new file mode 100644 index 0000000..dbc39fd --- /dev/null +++ b/config/labwc/themes/DynamicAether/themerc @@ -0,0 +1,8 @@ +window.active.title.bg: #040608 +window.active.title.text: #D4CFCB +window.active.border.color: #040608 +window.inactive.title.bg: #040608 +window.inactive.title.text: #D4CFCB +window.inactive.border.color: #040608 +window.active.border.width: 2 +window.inactive.border.width: 1 diff --git a/config/labwc/update_theme.sh b/config/labwc/update_theme.sh new file mode 100755 index 0000000..2337941 --- /dev/null +++ b/config/labwc/update_theme.sh @@ -0,0 +1,41 @@ +#!/bin/bash +TARGET_FILE="$HOME/.config/aether/theme/waybar.css" +THEME_FILE="$HOME/.config/labwc/themerc-override" + +BG_FOLDER="$HOME/.config/aether/theme/backgrounds" +WALLPAPER=$(find "$BG_FOLDER" -type f | head -n 1) + +if [ -f "$TARGET_FILE" ]; then + BG_COLOR=$(grep "background" "$TARGET_FILE" | awk '{print $3}' | tr -d ';') + FG_COLOR=$(grep "foreground" "$TARGET_FILE" | awk '{print $3}' | tr -d ';') + + if [ ! -z "$BG_COLOR" ] && [ ! -z "$FG_COLOR" ]; then + cat << EOF > "$THEME_FILE" +# цвет рамки active и inactive +window.active.border.color: $BG_COLOR +window.inactive.border.color: $BG_COLOR + +# цвет фона заголовка active и inactive +window.active.title.bg.color: $BG_COLOR +window.inactive.title.bg.color: $BG_COLOR + +# цвет текста заголовка окна +window.active.label.text.color: $FG_COLOR +window.inactive.label.text.color: $FG_COLOR + +# цвет иконок кнопок для АКТИВНОГО окна +window.active.button.unpressed.image.color: $FG_COLOR + +# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC) +window.inactive.button.image.color: $FG_COLOR +EOF + fi +fi + +killall swaybg 2>/dev/null + +if [ ! -z "$WALLPAPER" ] && [ -f "$WALLPAPER" ]; then + swaybg -m fill -i "$WALLPAPER" & +else + swaybg -c "$BG_COLOR" & +fi diff --git a/config/mako/config b/config/mako/config new file mode 120000 index 0000000..da24606 --- /dev/null +++ b/config/mako/config @@ -0,0 +1 @@ +/home/ivan/.config/aether/theme/mako.ini \ No newline at end of file diff --git a/config/qt6ct/qt6ct.conf b/config/qt6ct/qt6ct.conf new file mode 100644 index 0000000..ee695d1 --- /dev/null +++ b/config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Fusion + +[Fonts] +fixed="JetBrainsMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0" +general="JetBrainsMonoNL Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=2 +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 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/config/sddmthemeinstallerrc b/config/sddmthemeinstallerrc new file mode 100644 index 0000000..e980021 --- /dev/null +++ b/config/sddmthemeinstallerrc @@ -0,0 +1,2 @@ +[DownloadedThemes] +/tmp/monochrome-sddm.tar.gz=/usr/share/sddm/themes/monochrome diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc new file mode 100644 index 0000000..ec50e6a --- /dev/null +++ b/config/waybar/config.jsonc @@ -0,0 +1,58 @@ +{ + "layer": "top", + "position": "top", + "height": 25, + "spacing": 0, + "modules-left": ["wlr/taskbar"], + "modules-center": ["clock"], + "modules-right": ["custom/v2raya", "custom/language", "pulseaudio", "network", "cpu", "memory", "tray"], + + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 15, + "tooltip-format": "{title}", + "on-click": "activate" + }, + "custom/language": { + "exec": "xkblayout-state print %s | tr 'a-z' 'A-Z'", + "interval": 1, + "format": " {} " + }, + "custom/v2raya": { + "format": "PROXY{}", + "return-type": "json", + "interval": 2, + "exec": "$HOME/.config/waybar/v2raya-toggle.sh", + "on-click": "$HOME/.config/waybar/v2raya-toggle.sh toggle", + "signal": 10 + }, + "clock": { + "format": "{:%H:%M}", + "format-alt": "{:%d-%m-%Y}" + }, + "cpu": { + "format": " {usage}%", + "tooltip": false, + "on-click": "alacritty -e htop" + }, + "memory": { + "format": " {}%" + }, + "network": { + "min-length": 10, + "format-wifi": " {essid}", + "format-ethernet": " {bandwidthDownBytes}", + "format-disconnected": "⚠ DONT", + "interval": 1 + }, + "pulseaudio": { + "format": " {volume}%", + "format-muted": " Muted", + "on-click": "pavucontrol" + }, + "tray": { + "icon-size": 10, + "spacing": 15 + } +} + diff --git a/config/waybar/style.css b/config/waybar/style.css new file mode 100644 index 0000000..9c2a13b --- /dev/null +++ b/config/waybar/style.css @@ -0,0 +1,43 @@ +* { + font-family: "JetBrainsMono Nerd Font", "Font Awesome 7 Free", "Font Awesome 7 Free Solid", "Font Awesome 7 Brands", sans-serif; + font-size: 12px; + border: none; + border-radius: 0; +} + +@import "$HOME/.config/aether/theme/waybar.css"; + +window#waybar { + background: alpha(@background, 0.75); + color: @foreground; + min-height: 28px; +} + +#clock, +#cpu, +#memory, +#network, +#pulseaudio, +#taskbar, +#tray { + padding: 0 10px; + color: @foreground; +} + +#taskbar button { + color: alpha(@foreground, 0.6); + padding: 0 8px; +} + +#taskbar button.active { + background-color: alpha(@foreground, 0.2); + box-shadow: inset 0 -2px 0 0 @foreground; + color: @foreground; +} +#custom-v2raya.enabled { + color: @foreground; +} + +#custom-v2raya.disabled { + color: @background; +} \ No newline at end of file diff --git a/config/waybar/v2raya-toggle.sh b/config/waybar/v2raya-toggle.sh new file mode 100755 index 0000000..7cdb25e --- /dev/null +++ b/config/waybar/v2raya-toggle.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Проверяем, запущен ли процесс v2rayA +if pgrep -x "v2raya" > /dev/null; then + if [ "$1" = "toggle" ]; then + sudo systemctl stop v2raya.service 2>/dev/null || sudo killall v2raya + echo "{\"text\": \" \", \"class\": \"disabled\", \"tooltip\": \"v2rayA выключен\"}" + else + echo "{\"text\": \" \", \"class\": \"enabled\", \"tooltip\": \"v2rayA включен\"}" + fi +else + if [ "$1" = "toggle" ]; then + sudo systemctl start v2raya.service 2>/dev/null || sudo v2raya --daemon & + echo "{\"text\": \" \", \"class\": \"enabled\", \"tooltip\": \"v2rayA включен\"}" + else + echo "{\"text\": \" \", \"class\": \"disabled\", \"tooltip\": \"v2rayA выключен\"}" + fi +fi + diff --git a/config/wofi/cliphist-img.sh b/config/wofi/cliphist-img.sh new file mode 100755 index 0000000..16d8082 --- /dev/null +++ b/config/wofi/cliphist-img.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +export WAYLAND_DISPLAY=wayland-0 +export XDG_RUNTIME_DIR=/run/user/$(id -u) + +thumb_dir="${XDG_CACHE_HOME:-$HOME/.cache}/cliphist/thumbs" +mkdir -p "$thumb_dir" + +make_thumb() { # $1 - исходник, $2 - результат + if command -v gdk-pixbuf-thumbnailer >/dev/null 2>&1; then + gdk-pixbuf-thumbnailer -s 256 "$1" "$2" 2>/dev/null + elif command -v magick >/dev/null 2>&1; then + magick "$1" -resize '256x256>' "$2" 2>/dev/null + elif command -v convert >/dev/null 2>&1; then + convert "$1" -resize '256x256>' "$2" 2>/dev/null + fi + # если тулза нет/ошибка — отдаём оригинал, wofi сам смасштабирует + [ -s "$2" ] || cp -f "$1" "$2" +} + +wofi_input="" + +while read -r line; do + [[ "$line" == *" "$tmp" 2>/dev/null + [ -s "$tmp" ] && make_thumb "$tmp" "$thumb_path" + rm -f "$tmp" + fi + + if [ -s "$thumb_path" ]; then + wofi_input+="img:${thumb_path}\n" + else + wofi_input+="${line}\n" + fi + else + wofi_input+="${line}\n" + fi +done <<< "$(cliphist list)" + +choice="$(printf '%b' "$wofi_input" | wofi -I --dmenu --cache-file=/dev/null \ + -Dimage_size=100 -Dynamic_lines=true --prompt "Буфер обмена")" + +[ -z "$choice" ] && exit 0 + +if [[ "$choice" == img:* ]]; then + f="${choice#img:}" + id="$(basename "$f" .png)" + printf '%s\t' "$id" | cliphist decode | wl-copy +else + printf '%s\n' "$choice" | cliphist decode | wl-copy +fi \ No newline at end of file diff --git a/config/wofi/style.css b/config/wofi/style.css new file mode 100644 index 0000000..0a6dbc8 --- /dev/null +++ b/config/wofi/style.css @@ -0,0 +1,53 @@ +@import "$HOME/.config/aether/theme/wofi.css"; + +#img { + padding: 5px; + width: 120px; + height: 120px; +} + +#entry { + padding: 10px; +} + + +window { + background-color: @bg; + border: 2px solid @gray3; +} + +input { + background-color: @bg; + color: @fg; + border: 1px solid @gray2; +} + +input:selected { + background-color: @gray1; + color: @fg_bright; +} + +#entry { + color: @fg; + background-color: @bg; + padding: 5px; + margin: 2px; +} + +#entry:selected { + background-color: @gray1; + color: @fg_bright; +} + +scrollbar { + background-color: @bg; +} + +scrollbar slider { + background-color: @gray2; + border-radius: 5px; +} + +scrollbar slider:hover { + background-color: @gray3; +} diff --git a/easyeffects/Beyerdynamic DT 990 Pro (250 Ohm) ParametricEq.txt b/easyeffects/Beyerdynamic DT 990 Pro (250 Ohm) ParametricEq.txt new file mode 100755 index 0000000..ab63d7c --- /dev/null +++ b/easyeffects/Beyerdynamic DT 990 Pro (250 Ohm) ParametricEq.txt @@ -0,0 +1,11 @@ +Preamp: -7.12 dB +Filter 1: ON LSC Fc 105.0 Hz Gain 2.6 dB Q 0.70 +Filter 2: ON PK Fc 78.2 Hz Gain -2.3 dB Q 1.11 +Filter 3: ON PK Fc 394.0 Hz Gain 3.9 dB Q 0.65 +Filter 4: ON PK Fc 689.2 Hz Gain 1.5 dB Q 1.92 +Filter 5: ON PK Fc 2845.9 Hz Gain -1.6 dB Q 1.96 +Filter 6: ON PK Fc 3658.8 Hz Gain -6.7 dB Q 1.39 +Filter 7: ON PK Fc 4279.7 Hz Gain 3.8 dB Q 3.25 +Filter 8: ON PK Fc 6634.0 Hz Gain -4.3 dB Q 2.26 +Filter 9: ON PK Fc 9866.6 Hz Gain -1.9 dB Q 3.10 +Filter 10: ON HSC Fc 10000.0 Hz Gain 7.1 dB Q 0.70 diff --git a/easyeffects/dt990.json b/easyeffects/dt990.json new file mode 100644 index 0000000..a487742 --- /dev/null +++ b/easyeffects/dt990.json @@ -0,0 +1,244 @@ +{ + "output": { + "blocklist": [], + "equalizer#0": { + "balance": 0.0, + "bypass": false, + "decramp": "Off", + "input-gain": -7.12, + "left": { + "band0": { + "frequency": 105.0, + "gain": 2.5999999046325684, + "mode": "APO (DR)", + "mute": false, + "q": 0.699999988079071, + "slope": "x1", + "solo": false, + "type": "Lo-shelf", + "width": 4.0 + }, + "band1": { + "frequency": 78.19999694824219, + "gain": -2.299999952316284, + "mode": "APO (DR)", + "mute": false, + "q": 1.1100000143051147, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band2": { + "frequency": 394.0, + "gain": 3.9000000953674316, + "mode": "APO (DR)", + "mute": false, + "q": 0.6499999761581421, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band3": { + "frequency": 689.2000122070313, + "gain": 1.5, + "mode": "APO (DR)", + "mute": false, + "q": 1.9199999570846558, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band4": { + "frequency": 2845.89990234375, + "gain": -1.600000023841858, + "mode": "APO (DR)", + "mute": false, + "q": 1.9600000381469727, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band5": { + "frequency": 3658.800048828125, + "gain": -6.699999809265137, + "mode": "APO (DR)", + "mute": false, + "q": 1.3899999856948853, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band6": { + "frequency": 4279.7001953125, + "gain": 3.799999952316284, + "mode": "APO (DR)", + "mute": false, + "q": 3.25, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band7": { + "frequency": 6634.0, + "gain": -4.300000190734863, + "mode": "APO (DR)", + "mute": false, + "q": 2.259999990463257, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band8": { + "frequency": 9866.599609375, + "gain": -1.899999976158142, + "mode": "APO (DR)", + "mute": false, + "q": 3.0999999046325684, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band9": { + "frequency": 10000.0, + "gain": 7.099999904632568, + "mode": "APO (DR)", + "mute": false, + "q": 0.699999988079071, + "slope": "x1", + "solo": false, + "type": "Hi-shelf", + "width": 4.0 + } + }, + "mode": "IIR", + "num-bands": 10, + "output-gain": 0.0, + "pitch-left": 0.0, + "pitch-right": 0.0, + "right": { + "band0": { + "frequency": 105.0, + "gain": 2.5999999046325684, + "mode": "APO (DR)", + "mute": false, + "q": 0.699999988079071, + "slope": "x1", + "solo": false, + "type": "Lo-shelf", + "width": 4.0 + }, + "band1": { + "frequency": 78.19999694824219, + "gain": -2.299999952316284, + "mode": "APO (DR)", + "mute": false, + "q": 1.1100000143051147, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band2": { + "frequency": 394.0, + "gain": 3.9000000953674316, + "mode": "APO (DR)", + "mute": false, + "q": 0.6499999761581421, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band3": { + "frequency": 689.2000122070313, + "gain": 1.5, + "mode": "APO (DR)", + "mute": false, + "q": 1.9199999570846558, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band4": { + "frequency": 2845.89990234375, + "gain": -1.600000023841858, + "mode": "APO (DR)", + "mute": false, + "q": 1.9600000381469727, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band5": { + "frequency": 3658.800048828125, + "gain": -6.699999809265137, + "mode": "APO (DR)", + "mute": false, + "q": 1.3899999856948853, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band6": { + "frequency": 4279.7001953125, + "gain": 3.799999952316284, + "mode": "APO (DR)", + "mute": false, + "q": 3.25, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band7": { + "frequency": 6634.0, + "gain": -4.300000190734863, + "mode": "APO (DR)", + "mute": false, + "q": 2.259999990463257, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band8": { + "frequency": 9866.599609375, + "gain": -1.899999976158142, + "mode": "APO (DR)", + "mute": false, + "q": 3.0999999046325684, + "slope": "x1", + "solo": false, + "type": "Bell", + "width": 4.0 + }, + "band9": { + "frequency": 10000.0, + "gain": 7.099999904632568, + "mode": "APO (DR)", + "mute": false, + "q": 0.699999988079071, + "slope": "x1", + "solo": false, + "type": "Hi-shelf", + "width": 4.0 + } + }, + "split-channels": false + }, + "plugins_order": [ + "equalizer#0" + ] + } +} diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..73fa6aa --- /dev/null +++ b/install.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +CONFIG_DIR="$HOME/.config" + +log() { echo -e "\n\033[1;34m=== $1 ===\033[0m"; } + +# ─── 1. ПАКЕТЫ ─────────────────────────────────────────────── +log "Обновление системы и установка пакетов из репозиториев" +sudo pacman -Syu --needed --noconfirm - < "$SCRIPT_DIR/pkglist-repo.txt" + +log "Установка yay (AUR helper)" +if ! command -v yay &>/dev/null; then + TMPDIR=$(mktemp -d) + git clone https://aur.archlinux.org/yay.git "$TMPDIR/yay" + (cd "$TMPDIR/yay" && makepkg -si --noconfirm) + rm -rf "$TMPDIR" +else + echo "yay уже установлен" +fi + +log "Установка AUR-пакетов" +yay -S --needed --noconfirm - < "$SCRIPT_DIR/pkglist-aur.txt" + +# ─── 2. КОНФИГУРАЦИИ ──────────────────────────────────────── +log "Копирование конфигураций" + +declare -A CONFIG_MAP=( + ["labwc"]="$CONFIG_DIR/labwc" + ["aether"]="$CONFIG_DIR/aether" + ["hypr"]="$CONFIG_DIR/hypr" + ["waybar"]="$CONFIG_DIR/waybar" + ["wofi"]="$CONFIG_DIR/wofi" + ["mako"]="$CONFIG_DIR/mako" + ["qt6ct"]="$CONFIG_DIR/qt6ct" +) + +for src in "${!CONFIG_MAP[@]}"; do + if [ -d "$SCRIPT_DIR/config/$src" ]; then + mkdir -p "${CONFIG_MAP[$src]}" + cp -rn "$SCRIPT_DIR/config/$src/"* "${CONFIG_MAP[$src]}/" + echo " ✓ $src" + fi +done + +# Отдельные файлы KDE/Dolphin +for f in dolphinrc kdeglobals sddmthemeinstallerrc; do + if [ -f "$SCRIPT_DIR/config/$f" ]; then + cp -rn "$SCRIPT_DIR/config/$f" "$CONFIG_DIR/$f" + echo " ✓ $f" + fi +done + +# EasyEffects пресеты +if [ -d "$SCRIPT_DIR/easyeffects" ]; then + mkdir -p "$CONFIG_DIR/easyeffects" + cp -rn "$SCRIPT_DIR/easyeffects/"* "$CONFIG_DIR/easyeffects/" + echo " ✓ easyeffects presets" +fi + +# ─── 3. ПРАВА НА СКРИПТЫ ──────────────────────────────────── +log "Настройка прав доступа" +chmod +x "$CONFIG_DIR/labwc/update_theme.sh" 2>/dev/null || true +chmod +x "$CONFIG_DIR/waybar/v2raya-toggle.sh" 2>/dev/null || true +chmod +x "$CONFIG_DIR/wofi/cliphist-img.sh" 2>/dev/null || true +chmod +x "$CONFIG_DIR/aether/custom/post-apply.sh" 2>/dev/null || true + +# ─── 4. INITRAMFS ──────────────────────────────────────────── +log "Пересборка initramfs (nvidia-open + amd-ucode)" +sudo mkinitcpio -P + +# ─── 5. СЕРВИСЫ ───────────────────────────────────────────── +log "Включение системных сервисов" +sudo systemctl enable bluetooth.service +sudo systemctl enable sddm.service + +log "Включение пользовательских сервисов" +systemctl --user enable pipewire.service wireplumber.service + +# ─── ГОТОВО ────────────────────────────────────────────────── +log "✅ Установка завершена!" +echo "" +echo "⚠️ Перед перезагрузкой проверьте:" +echo " 1. Bootloader: limine-install (если не настроен)" +echo " 2. SDDM тема: monochrome (из sddmthemeinstallerrc)" +echo " 3. UFW: sudo ufw enable (если нужен фаервол)" +echo "" +echo "Перезагрузите систему или выполните: exec labwc" \ No newline at end of file diff --git a/pkglist-aur.txt b/pkglist-aur.txt new file mode 100644 index 0000000..5a16bd8 --- /dev/null +++ b/pkglist-aur.txt @@ -0,0 +1,7 @@ +aether +google-chrome +ristretto-git +sublime-text-4 +v2raya-bin +xkblayout-state-git +yay diff --git a/pkglist-repo.txt b/pkglist-repo.txt new file mode 100644 index 0000000..8ae7afd --- /dev/null +++ b/pkglist-repo.txt @@ -0,0 +1,78 @@ +alacritty +amd-ucode +archlinux-xdg-menu +base +base-devel +bluez +bluez-utils +cliphist +dolphin +easyeffects +efibootmgr +fastfetch +git +gparted +grim +gst-plugin-pipewire +htop +hypridle +hyprlock +hyprpolkitagent +imagemagick +labwc +libnotify +libpulse +libva-nvidia-driver +limine +linux +linux-firmware +lsp-plugins +mako +mkinitcpio +mpv +nano +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +ntfs-3g +ntfsprogs +nvidia-open +openssh +pavucontrol +pipewire +pipewire-alsa +pipewire-jack +pipewire-pulse +polkit-kde-agent +python-pip +qt5-wayland +qt6-wayland +qt6ct +sddm +sddm-kcm +slurp +smartmontools +steam +sudo +swappy +swaybg +telegram-desktop +ttf-dejavu +ttf-jetbrains-mono-nerd +ttf-liberation +ufw +v2ray +waybar +wdisplays +wev +wget +wireplumber +wl-clipboard +wlopms +wlr-randr +woff2-font-awesome +wofi +xdg-desktop-portal-wlr +xdg-utils +zram-generator +playerctl \ No newline at end of file