From 4327aab72fc72df2537a0543dec42054cca8275f Mon Sep 17 00:00:00 2001 From: Pierre-Marie Charavel Date: Sun, 1 Jun 2025 15:36:55 -0400 Subject: [PATCH] Initial configs --- .bashrc | 27 +++ .config/alacritty/alacritty.toml | 10 + .config/alacritty/catppuccin-mocha.toml | 65 ++++++ .config/hypr/appearance.conf | 99 +++++++++ .config/hypr/autostart.conf | 2 + .config/hypr/colors.conf | 28 +++ .config/hypr/env.conf | 13 ++ .config/hypr/hyprland.conf | 9 + .config/hypr/input.conf | 21 ++ .config/hypr/keybinds.conf | 76 +++++++ .config/hypr/layout.conf | 4 + .config/hypr/monitors.conf | 7 + .config/hypr/programs.conf | 3 + .config/hypr/rules.conf | 10 + .config/starship.toml | 278 ++++++++++++++++++++++++ 15 files changed, 652 insertions(+) create mode 100644 .bashrc create mode 100644 .config/alacritty/alacritty.toml create mode 100644 .config/alacritty/catppuccin-mocha.toml create mode 100644 .config/hypr/appearance.conf create mode 100644 .config/hypr/autostart.conf create mode 100644 .config/hypr/colors.conf create mode 100644 .config/hypr/env.conf create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/input.conf create mode 100644 .config/hypr/keybinds.conf create mode 100644 .config/hypr/layout.conf create mode 100644 .config/hypr/monitors.conf create mode 100644 .config/hypr/programs.conf create mode 100644 .config/hypr/rules.conf create mode 100644 .config/starship.toml diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..0ac11fe --- /dev/null +++ b/.bashrc @@ -0,0 +1,27 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' +PS1='[\u@\h \W]\$ ' + +if uwsm check may-start; then + exec uwsm start hyprland.desktop +fi + +# pnpm +export PNPM_HOME="/home/pmcc/.local/share/pnpm" +case ":$PATH:" in + *":$PNPM_HOME:"*) ;; + *) export PATH="$PNPM_HOME:$PATH" ;; +esac +# pnpm end + +eval "$(starship init bash)" + +alias reboot-to-windows='sudo grub-reboot "Windows Boot Manager (on /dev/nvme1n1p1)" && sudo reboot' diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..b39574c --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,10 @@ +[font] +size = 12.0 + +[font.normal] +family = "JetBrainsMono Nerd Font" + +[general] +import = [ + "~/.config/alacritty/catppuccin-mocha.toml" +] diff --git a/.config/alacritty/catppuccin-mocha.toml b/.config/alacritty/catppuccin-mocha.toml new file mode 100644 index 0000000..7762dcd --- /dev/null +++ b/.config/alacritty/catppuccin-mocha.toml @@ -0,0 +1,65 @@ +[colors.primary] +background = "#1e1e2e" +foreground = "#cdd6f4" +dim_foreground = "#7f849c" +bright_foreground = "#cdd6f4" + +[colors.cursor] +text = "#1e1e2e" +cursor = "#f5e0dc" + +[colors.vi_mode_cursor] +text = "#1e1e2e" +cursor = "#b4befe" + +[colors.search.matches] +foreground = "#1e1e2e" +background = "#a6adc8" + +[colors.search.focused_match] +foreground = "#1e1e2e" +background = "#a6e3a1" + +[colors.footer_bar] +foreground = "#1e1e2e" +background = "#a6adc8" + +[colors.hints.start] +foreground = "#1e1e2e" +background = "#f9e2af" + +[colors.hints.end] +foreground = "#1e1e2e" +background = "#a6adc8" + +[colors.selection] +text = "#1e1e2e" +background = "#f5e0dc" + +[colors.normal] +black = "#45475a" +red = "#f38ba8" +green = "#a6e3a1" +yellow = "#f9e2af" +blue = "#89b4fa" +magenta = "#f5c2e7" +cyan = "#94e2d5" +white = "#bac2de" + +[colors.bright] +black = "#585b70" +red = "#f38ba8" +green = "#a6e3a1" +yellow = "#f9e2af" +blue = "#89b4fa" +magenta = "#f5c2e7" +cyan = "#94e2d5" +white = "#a6adc8" + +[[colors.indexed_colors]] +index = 16 +color = "#fab387" + +[[colors.indexed_colors]] +index = 17 +color = "#f5e0dc" diff --git a/.config/hypr/appearance.conf b/.config/hypr/appearance.conf new file mode 100644 index 0000000..b9d2e48 --- /dev/null +++ b/.config/hypr/appearance.conf @@ -0,0 +1,99 @@ +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 8 + gaps_out = 16 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = $pink $mauve 45deg + col.inactive_border = $overlay0 + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 8 + + blur { + enabled = true + size = 6 + passes = 3 + + # Blur background windows + ignore_opacity = false + new_optimizations = true + xray = false + } + + shadow { + enabled = true + range = 12 + render_power = 3 + offset = 0, 0 + color = $shadow_on + color_inactive = $shadow_off + } + + # Window opacity + active_opacity = 0.95 + inactive_opacity = 0.85 + fullscreen_opacity = 1.0 + + # Dim inactive windows + dim_inactive = true + dim_strength = 0.1 +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspacesIn, 1, 1.21, almostLinear, fade + animation = workspacesOut, 1, 1.94, almostLinear, fade +} + +# https://wiki.hyprland.org/Configuring/Dwindle-Layout/ +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + +xwayland { + force_zero_scaling = true +} diff --git a/.config/hypr/autostart.conf b/.config/hypr/autostart.conf new file mode 100644 index 0000000..b7dffcd --- /dev/null +++ b/.config/hypr/autostart.conf @@ -0,0 +1,2 @@ +exec-once = uwsm app -- 1password --silent +exec-once = uwsm app -- waybar diff --git a/.config/hypr/colors.conf b/.config/hypr/colors.conf new file mode 100644 index 0000000..093e32f --- /dev/null +++ b/.config/hypr/colors.conf @@ -0,0 +1,28 @@ +$rosewater = 0xfff5e0dc +$flamingo = 0xfff2cdcd +$pink = 0xfff5c2e7 +$mauve = 0xffcba6f7 +$red = 0xfff38ba8 +$maroon = 0xffeba0ac +$peach = 0xfffab387 +$yellow = 0xfff9e2af +$green = 0xffa6e3a1 +$teal = 0xff94e2d5 +$sky = 0xff89dceb +$sapphire = 0xff74c7ec +$blue = 0xff89b4fa +$lavender = 0xffb4befe +$text = 0xffcdd6f4 +$subtext1 = 0xffbac2de +$subtext0 = 0xffa6adc8 +$overlay2 = 0xff9399b2 +$overlay1 = 0xff7f849c +$overlay0 = 0xff6c7086 +$surface2 = 0xff585b70 +$surface1 = 0xff45475a +$surface0 = 0xff313244 +$base = 0xff1e1e2e +$mantle = 0xff181825 +$crust = 0xff11111b +$shadow_on = 0x8011111b +$shadow_off = 0x5011111b diff --git a/.config/hypr/env.conf b/.config/hypr/env.conf new file mode 100644 index 0000000..e923e4d --- /dev/null +++ b/.config/hypr/env.conf @@ -0,0 +1,13 @@ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + +env = GDK_BACKEND,wayland,x11,* +env = SDL_VIDEODRIVER,wayland +env = CLUTTER_BACKEND,wayland + +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM,wayland;xcb diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..e99628a --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,9 @@ +source = env.conf +source = colors.conf +source = monitors.conf +source = programs.conf +source = autostart.conf +source = appearance.conf +source = rules.conf +source = input.conf +source = keybinds.conf diff --git a/.config/hypr/input.conf b/.config/hypr/input.conf new file mode 100644 index 0000000..e260460 --- /dev/null +++ b/.config/hypr/input.conf @@ -0,0 +1,21 @@ +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = false +} diff --git a/.config/hypr/keybinds.conf b/.config/hypr/keybinds.conf new file mode 100644 index 0000000..ccdb608 --- /dev/null +++ b/.config/hypr/keybinds.conf @@ -0,0 +1,76 @@ +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod ALT, backspace, exec, uwsm stop +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, space, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d + +bind = $mainMod, F, fullscreen, 1 +bind = $mainMod SHIFT, F, fullscreen, 0 + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous diff --git a/.config/hypr/layout.conf b/.config/hypr/layout.conf new file mode 100644 index 0000000..fb8394f --- /dev/null +++ b/.config/hypr/layout.conf @@ -0,0 +1,4 @@ +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..73e5850 --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,7 @@ +monitor=DP-1, 3840x2160@240, 0x0, 1.6, bitdepth, 10, vrr, 1 +monitor=DP-2, 2560x1440@240, 2400x-140, 1.25, transform, 3, vrr, 0 + +render { + direct_scanout = 1 + cm_fs_passthrough = 1 +} diff --git a/.config/hypr/programs.conf b/.config/hypr/programs.conf new file mode 100644 index 0000000..e893c33 --- /dev/null +++ b/.config/hypr/programs.conf @@ -0,0 +1,3 @@ +$terminal = alacritty +$fileManager = thunar +$menu = rofi -show drun diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf new file mode 100644 index 0000000..cdbdd8c --- /dev/null +++ b/.config/hypr/rules.conf @@ -0,0 +1,10 @@ +# https://wiki.hyprland.org/Configuring/Window-Rules/ + +windowrule = suppressevent maximize, class:.* +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 + +windowrule = float, class:1Password +windowrule = float, class:unityhub +windowrule = float, title: Steam Settings +windowrule = float, class: steam, title: Friends List +windowrule = float, class: firefox, title: Picture-in-Picture diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100644 index 0000000..15f425b --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,278 @@ +"$schema" = 'https://starship.rs/config-schema.json' + +format = """ +[](red)\ +$os\ +$username\ +[](bg:peach fg:red)\ +$directory\ +[](bg:yellow fg:peach)\ +$git_branch\ +$git_status\ +[](fg:yellow bg:green)\ +$c\ +$rust\ +$golang\ +$nodejs\ +$php\ +$java\ +$kotlin\ +$haskell\ +$python\ +[](fg:green bg:sapphire)\ +$conda\ +[](fg:sapphire bg:lavender)\ +$time\ +[ ](fg:lavender)\ +$cmd_duration\ +$line_break\ +$character""" + +palette = 'catppuccin_mocha' + +[os] +disabled = false +style = "bg:red fg:crust" + +[os.symbols] +Windows = "" +Ubuntu = "󰕈" +SUSE = "" +Raspbian = "󰐿" +Mint = "󰣭" +Macos = "󰀵" +Manjaro = "" +Linux = "󰌽" +Gentoo = "󰣨" +Fedora = "󰣛" +Alpine = "" +Amazon = "" +Android = "" +Arch = "󰣇" +Artix = "󰣇" +CentOS = "" +Debian = "󰣚" +Redhat = "󱄛" +RedHatEnterprise = "󱄛" + +[username] +show_always = true +style_user = "bg:red fg:crust" +style_root = "bg:red fg:crust" +format = '[ $user]($style)' + +[directory] +style = "bg:peach fg:crust" +format = "[ $path ]($style)" +truncation_length = 3 +truncation_symbol = "…/" + +[directory.substitutions] +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = "󰝚 " +"Pictures" = " " +"Developer" = "󰲋 " + +[git_branch] +symbol = "" +style = "bg:yellow" +format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)' + +[git_status] +style = "bg:yellow" +format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)' + +[nodejs] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[c] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[rust] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[golang] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[php] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[java] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[kotlin] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[haskell] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[python] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)' + +[docker_context] +symbol = "" +style = "bg:sapphire" +format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)' + +[conda] +symbol = "  " +style = "fg:crust bg:sapphire" +format = '[$symbol$environment ]($style)' +ignore_base = false + +[time] +disabled = false +time_format = "%R" +style = "bg:lavender" +format = '[[  $time ](fg:crust bg:lavender)]($style)' + +[line_break] +disabled = true + +[character] +disabled = false +success_symbol = '[❯](bold fg:green)' +error_symbol = '[❯](bold fg:red)' +vimcmd_symbol = '[❮](bold fg:green)' +vimcmd_replace_one_symbol = '[❮](bold fg:lavender)' +vimcmd_replace_symbol = '[❮](bold fg:lavender)' +vimcmd_visual_symbol = '[❮](bold fg:yellow)' + +[cmd_duration] +show_milliseconds = true +format = " in $duration " +style = "bg:lavender" +disabled = false +show_notifications = true +min_time_to_notify = 45000 + +[palettes.catppuccin_mocha] +rosewater = "#f5e0dc" +flamingo = "#f2cdcd" +pink = "#f5c2e7" +mauve = "#cba6f7" +red = "#f38ba8" +maroon = "#eba0ac" +peach = "#fab387" +yellow = "#f9e2af" +green = "#a6e3a1" +teal = "#94e2d5" +sky = "#89dceb" +sapphire = "#74c7ec" +blue = "#89b4fa" +lavender = "#b4befe" +text = "#cdd6f4" +subtext1 = "#bac2de" +subtext0 = "#a6adc8" +overlay2 = "#9399b2" +overlay1 = "#7f849c" +overlay0 = "#6c7086" +surface2 = "#585b70" +surface1 = "#45475a" +surface0 = "#313244" +base = "#1e1e2e" +mantle = "#181825" +crust = "#11111b" + +[palettes.catppuccin_frappe] +rosewater = "#f2d5cf" +flamingo = "#eebebe" +pink = "#f4b8e4" +mauve = "#ca9ee6" +red = "#e78284" +maroon = "#ea999c" +peach = "#ef9f76" +yellow = "#e5c890" +green = "#a6d189" +teal = "#81c8be" +sky = "#99d1db" +sapphire = "#85c1dc" +blue = "#8caaee" +lavender = "#babbf1" +text = "#c6d0f5" +subtext1 = "#b5bfe2" +subtext0 = "#a5adce" +overlay2 = "#949cbb" +overlay1 = "#838ba7" +overlay0 = "#737994" +surface2 = "#626880" +surface1 = "#51576d" +surface0 = "#414559" +base = "#303446" +mantle = "#292c3c" +crust = "#232634" + +[palettes.catppuccin_latte] +rosewater = "#dc8a78" +flamingo = "#dd7878" +pink = "#ea76cb" +mauve = "#8839ef" +red = "#d20f39" +maroon = "#e64553" +peach = "#fe640b" +yellow = "#df8e1d" +green = "#40a02b" +teal = "#179299" +sky = "#04a5e5" +sapphire = "#209fb5" +blue = "#1e66f5" +lavender = "#7287fd" +text = "#4c4f69" +subtext1 = "#5c5f77" +subtext0 = "#6c6f85" +overlay2 = "#7c7f93" +overlay1 = "#8c8fa1" +overlay0 = "#9ca0b0" +surface2 = "#acb0be" +surface1 = "#bcc0cc" +surface0 = "#ccd0da" +base = "#eff1f5" +mantle = "#e6e9ef" +crust = "#dce0e8" + +[palettes.catppuccin_macchiato] +rosewater = "#f4dbd6" +flamingo = "#f0c6c6" +pink = "#f5bde6" +mauve = "#c6a0f6" +red = "#ed8796" +maroon = "#ee99a0" +peach = "#f5a97f" +yellow = "#eed49f" +green = "#a6da95" +teal = "#8bd5ca" +sky = "#91d7e3" +sapphire = "#7dc4e4" +blue = "#8aadf4" +lavender = "#b7bdf8" +text = "#cad3f5" +subtext1 = "#b8c0e0" +subtext0 = "#a5adcb" +overlay2 = "#939ab7" +overlay1 = "#8087a2" +overlay0 = "#6e738d" +surface2 = "#5b6078" +surface1 = "#494d64" +surface0 = "#363a4f" +base = "#24273a" +mantle = "#1e2030" +crust = "#181926"