From 7e1bfbfb2b1553c9148c3e139d3697136f3d4273 Mon Sep 17 00:00:00 2001 From: nub31 Date: Wed, 7 May 2025 19:20:06 +0200 Subject: [PATCH] init --- .bashrc | 16 ++ .bashrc-alias | 19 +++ .bashrc-path | 18 +++ .config/alacritty/alacritty.toml | 15 ++ .config/hypr/autostart.conf | 3 + .config/hypr/bindings.conf | 70 +++++++++ .config/hypr/env.conf | 4 + .config/hypr/hyprland.conf | 97 ++++++++++++ .config/hypr/hyprlock.conf | 12 ++ .config/hypr/input.conf | 18 +++ .config/hypr/monitors.conf | 6 + .config/hypr/rules.conf | 14 ++ .config/hypr/workspaces.conf | 11 ++ .config/rofi/config.rasi | 5 + .config/rofi/themes/minimal/colors.rasi | 73 +++++++++ .config/rofi/themes/minimal/style.rasi | 78 ++++++++++ .config/rofi/themes/onedark/colors.rasi | 74 +++++++++ .config/rofi/themes/onedark/style.rasi | 87 +++++++++++ .config/starship.toml | 73 +++++++++ .config/waybar/config.jsonc | 124 +++++++++++++++ .config/waybar/style.css | 195 ++++++++++++++++++++++++ .stow-local-ignore | 7 + 22 files changed, 1019 insertions(+) create mode 100644 .bashrc create mode 100644 .bashrc-alias create mode 100644 .bashrc-path create mode 100644 .config/alacritty/alacritty.toml create mode 100644 .config/hypr/autostart.conf create mode 100644 .config/hypr/bindings.conf create mode 100644 .config/hypr/env.conf create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/hyprlock.conf create mode 100644 .config/hypr/input.conf create mode 100644 .config/hypr/monitors.conf create mode 100644 .config/hypr/rules.conf create mode 100644 .config/hypr/workspaces.conf create mode 100644 .config/rofi/config.rasi create mode 100644 .config/rofi/themes/minimal/colors.rasi create mode 100644 .config/rofi/themes/minimal/style.rasi create mode 100644 .config/rofi/themes/onedark/colors.rasi create mode 100644 .config/rofi/themes/onedark/style.rasi create mode 100644 .config/starship.toml create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/style.css create mode 100644 .stow-local-ignore diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..3924665 --- /dev/null +++ b/.bashrc @@ -0,0 +1,16 @@ +#!/bin/bash + +PS1='[\u@\h \W]\$ ' + +source "$HOME/.bashrc-path" +source "$HOME/.bashrc-alias" + +# Use bash completion if installed +if [[ "$PS1" && -f /usr/share/bash-completion/bash_completion ]]; then + source /usr/share/bash-completion/bash_completion +fi + +# Init starship +if command -v starship > /dev/null; then + eval "$(starship init bash)" +fi diff --git a/.bashrc-alias b/.bashrc-alias new file mode 100644 index 0000000..6584a43 --- /dev/null +++ b/.bashrc-alias @@ -0,0 +1,19 @@ +#!/bin/bash + +cleanbranches(){ + git fetch -p && for branch in $(git for-each-ref --format '%(refname) %(upstream:track)' refs/heads | awk '$2 == "[gone]" {sub("refs/heads/", "", $1); print $1}' ) ; do git branch -D $branch ; done +} + +alias ll="ls -la" + +alias k="kubectl" +alias gut="cleanbranches" +alias fucking="sudo" +alias pat="cat ~/.bak/PAT" +alias clip="wl-copy" + +if [ "$PS1" ]; then + alias grep="grep --color=auto" + alias ls="ls --color=auto" + alias ll="ls -la --color=auto" +fi \ No newline at end of file diff --git a/.bashrc-path b/.bashrc-path new file mode 100644 index 0000000..9ca20f5 --- /dev/null +++ b/.bashrc-path @@ -0,0 +1,18 @@ +#!/bin/bash + +# bun +export BUN_INSTALL="$HOME/.bun" +export PATH="$BUN_INSTALL/bin:$PATH" + +# nvm +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + +# dotnet +export DOTNET_ROOT="$HOME/.dotnet" +export PATH="$DOTNET_ROOT:$PATH" + +# tmp +export PATH="$PATH:/home/oliste/repos/nub-lang/src/compiler/Nub.Lang/bin/Release/net9.0/linux-x64/publish" + diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..c87f8d1 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,15 @@ +[window] + +opacity = 0.9 + +padding.x = 10 +padding.y = 10 + +[font] + +normal.family = "JetBrainsMono Nerd Font" +bold.family = "JetBrainsMono Nerd Font" +italic.family = "JetBrainsMono Nerd Font" +bold_italic.family = "JetBrainsMono Nerd Font" + +size = 13.0 diff --git a/.config/hypr/autostart.conf b/.config/hypr/autostart.conf new file mode 100644 index 0000000..6250fa6 --- /dev/null +++ b/.config/hypr/autostart.conf @@ -0,0 +1,3 @@ +exec-once = nm-applet & +exec-once = waybar & +exec-once = hyprpm reload -n \ No newline at end of file diff --git a/.config/hypr/bindings.conf b/.config/hypr/bindings.conf new file mode 100644 index 0000000..ae4efbf --- /dev/null +++ b/.config/hypr/bindings.conf @@ -0,0 +1,70 @@ +# https://wiki.hyprland.org/Configuring/Binds/ + +$terminal = alacritty +$fileManager = dolphin +$menu = rofi -show drun -config "$HOME/.config/rofi/config.rasi" +$browser = librewolf +$code = code +$lock = hyprlock + +$mainMod = SUPER + +# Programs +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, R, exec, $menu +bind = $mainMod, B, exec, $browser +bind = $mainMod, L, exec, $lock +bind = $mainMod, C, exec, $code +bind = $mainMod, RETURN, exec, $terminal + +# Window control +bind = $mainMod, Q, killactive, +bind = $mainMod SHIFT, E, exit, +bind = $mainMod, W, togglefloating, +bind = $mainMod, F, fullscreen, + +# 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 + +# Independent workspaces per monitor +bind = $mainMod, 1, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'01' +bind = $mainMod, 2, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'02' +bind = $mainMod, 3, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'03' +bind = $mainMod, 4, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'04' +bind = $mainMod, 5, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'05' +bind = $mainMod, 6, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'06' +bind = $mainMod, 7, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'07' +bind = $mainMod, 8, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'08' +bind = $mainMod, 9, exec, hyprctl dispatch workspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'09' + +# Move apps between workspacer per monitor +bind = $mainMod SHIFT, 1, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'01' +bind = $mainMod SHIFT, 2, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'02' +bind = $mainMod SHIFT, 3, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'03' +bind = $mainMod SHIFT, 4, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'04' +bind = $mainMod SHIFT, 5, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'05' +bind = $mainMod SHIFT, 6, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'06' +bind = $mainMod SHIFT, 7, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'07' +bind = $mainMod SHIFT, 8, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'08' +bind = $mainMod SHIFT, 9, exec, hyprctl dispatch movetoworkspace $((`hyprctl monitors -j | jq -r ".[] | select(.focused==true).id"`))'09' + +# 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 s 10%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous \ No newline at end of file diff --git a/.config/hypr/env.conf b/.config/hypr/env.conf new file mode 100644 index 0000000..ff61e79 --- /dev/null +++ b/.config/hypr/env.conf @@ -0,0 +1,4 @@ +# https://wiki.hyprland.org/Configuring/Environment-variables + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 \ No newline at end of file diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..bbe0704 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,97 @@ +# https://wiki.hyprland.org/Configuring/ + +source = autostart.conf +source = bindings.conf +source = env.conf +source = input.conf +source = monitors.conf +source = rules.conf +source = workspaces.conf + +general { + # https://wiki.hyprland.org/Configuring/Variables/#general + gaps_in = 5 + gaps_out = 10 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # https://wiki.hyprland.org/Configuring/Tearing + allow_tearing = true + + layout = dwindle +} + +decoration { + # https://wiki.hyprland.org/Configuring/Variables/#decoration + rounding = 10 + rounding_power = 2 + active_opacity = 1.0 + inactive_opacity = 1.0 + + # https://wiki.hyprland.org/Configuring/Variables/#shadow + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +animations { + # https://wiki.hyprland.org/Configuring/Variables/#animations + enabled = no, please :) + + # https://wiki.hyprland.org/Configuring/Animations + 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 + preserve_split = true +} + +# https://wiki.hyprland.org/Configuring/Master-Layout +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = 2 # 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. :( +} \ No newline at end of file diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..7ba8031 --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -0,0 +1,12 @@ +# sample hyprlock.conf +# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock + +input-field { + monitor = DP-3 + fade_on_empty = false +} + +background { + color = #313244; +} + diff --git a/.config/hypr/input.conf b/.config/hypr/input.conf new file mode 100644 index 0000000..a0e0ced --- /dev/null +++ b/.config/hypr/input.conf @@ -0,0 +1,18 @@ +# 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. + accel_profile = flat + + touchpad { + natural_scroll = false + } +} \ No newline at end of file diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..c8c0a6d --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,6 @@ +# Generated by nwg-displays on 2025-04-02 at 12:49:35. Do not edit manually. + +monitor=DP-1,3440x1440@165.0,3440x1080,1.0 +monitor=DP-3,1920x1080@144.0,4960x0,1.0 +monitor=HDMI-A-1,1920x1080@119.98,6880x360,1.0 +monitor=HDMI-A-2,1920x1080@74.99,6880x1440,1.0 diff --git a/.config/hypr/rules.conf b/.config/hypr/rules.conf new file mode 100644 index 0000000..951378e --- /dev/null +++ b/.config/hypr/rules.conf @@ -0,0 +1,14 @@ +# https://wiki.hyprland.org/Configuring/Window-Rules +# https://wiki.hyprland.org/Configuring/Workspace-Rules + +windowrulev2 = suppressevent maximize, class:.* +windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 + +# Fix odd behaviors in IntelliJ IDEs +windowrulev2 = center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 +windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 +windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 +windowrulev2 = center,class:^(jetbrains-.*)$,title:^( )$,floating:1 +windowrulev2 = stayfocused,class:^(jetbrains-.*)$,title:^( )$,floating:1 +windowrulev2 = noborder,class:^(jetbrains-.*)$,title:^( )$,floating:1 +windowrulev2 = nofocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1 \ No newline at end of file diff --git a/.config/hypr/workspaces.conf b/.config/hypr/workspaces.conf new file mode 100644 index 0000000..c26e561 --- /dev/null +++ b/.config/hypr/workspaces.conf @@ -0,0 +1,11 @@ +workspace = 001, monitor:DP-1, default:true +workspace = 002, monitor:DP-1 +workspace = 003, monitor:DP-1 + +workspace = 101, monitor:DP-3, default:true +workspace = 102, monitor:DP-3 +workspace = 103, monitor:DP-3 + +workspace = 201, monitor:HDMI-A-1, default:true +workspace = 202, monitor:HDMI-A-1 +workspace = 203, monitor:HDMI-A-1 \ No newline at end of file diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi new file mode 100644 index 0000000..a95c176 --- /dev/null +++ b/.config/rofi/config.rasi @@ -0,0 +1,5 @@ +@theme "./themes/onedark/style.rasi" + +configuration { + font: "JetBrainsMono Nerd Font 12"; +} \ No newline at end of file diff --git a/.config/rofi/themes/minimal/colors.rasi b/.config/rofi/themes/minimal/colors.rasi new file mode 100644 index 0000000..c6dbc11 --- /dev/null +++ b/.config/rofi/themes/minimal/colors.rasi @@ -0,0 +1,73 @@ +/*************************************************** + * Name: Name Colors + * Author: Matheus Silva (https://github.com/Heus-Sueh) + * Date: 2024-09-28 + ***************************************************/ + +/* Comment */ + +* { + /***** [ Colors ] *****/ + + /* don't delete these colors */ + + white: #ffffff; + black: #000000; + red: #ff0000; + + /***** [ Custom Colors ] *****/ + + color1: #151515; + color2: #232323; + color3: #FFFFFF; + color4: #424242; + + accent: #9BC549; + + /***** [ Elements ] *****/ + + background: @color1; + background-alt: @color2; + background-selected: @white; + background-active: @white; + background-urgent: @white; + + foreground: @color3; + foreground-alt: @color4; + foreground-selected: @color3; + foreground-active: @white; + foreground-urgent: @white; + + background-color: @color1; + text-color: @color3; + border-color: @white; + separator-color: @white; + normal: @white; + selected: @white; + active: @white; + urgent: @white; + + /***** [ Aliases ] *****/ + + /* DO NOT TOUCH HERE */ + + bg: @background; + bg-alt: @background-alt; + bg-sel: @background-selected; + bg-act: @background-active; + bg-urg: @background-urgent; + + fg: @foreground; + fg-alt: @foreground-alt; + fg-sel: @foreground-selected; + fg-act: @foreground-active; + fg-urg: @foreground-urgent; + + sel: @selected; + act: @active; + urg: @urgent; + text: @text-color; + txt: @text-color; + border: @border-color; + separator: @separator-color; +} diff --git a/.config/rofi/themes/minimal/style.rasi b/.config/rofi/themes/minimal/style.rasi new file mode 100644 index 0000000..48fd1b2 --- /dev/null +++ b/.config/rofi/themes/minimal/style.rasi @@ -0,0 +1,78 @@ +/*************************************************** + * Name: Minimal + * Author: Matheus Silva (https://github.com/Heus-Sueh) + * Date: 2024-09-28 + ***************************************************/ + +@import "colors.rasi" + +/* Comment */ + +configuration { + font: "Iosevka Nerd Font Medium 12"; + + drun { + display-name: "[^.^]"; + } + + run { + display-name: "[°.°]"; + } + + window { + display-name: "[*.*]"; + } + + timeout { + delay: 10; + action: "kb-cancel"; + } +} + +* { + border: 0; + margin: 0; + padding: 0; + spacing: 0; +} + +window { + transparency: "real"; + background-color: @bg; +} + +mainbox { + children: [inputbar, listview]; +} + +inputbar { + children: [prompt, entry]; +} + +entry { + padding: 12px 0; + text-color: @accent; +} + +prompt { + padding: 12px; + text-color: @accent; +} + +listview { + lines: 8; +} + +element { + children: [element-text]; +} + +element-text { + padding: 12px; + text-color: @fg-alt; +} + +element-text selected { + text-color: @accent; +} + diff --git a/.config/rofi/themes/onedark/colors.rasi b/.config/rofi/themes/onedark/colors.rasi new file mode 100644 index 0000000..0713719 --- /dev/null +++ b/.config/rofi/themes/onedark/colors.rasi @@ -0,0 +1,74 @@ +/*************************************************** + * Name: Name Colors + * Author: Matheus Silva (https://github.com/Heus-Sueh) + * Date: 2024-09-28 + ***************************************************/ + +/* Comment */ + +* { + /***** [ Custom Colors ] *****/ + + color1: #282C34; + color2: #ABB2BF; + + blue: #61AFEF; + blue-alt: #61AFEF15; + red: #E06C75; + red-alt: #E06C7515; + + /***** [ Elements ] *****/ + + background: @color1; + background-alt: white; + background-selected: @red-alt; + background-active: white; + background-urgent: white; + + foreground: @color2; + foreground-alt: white; + foreground-selected: @red; + foreground-active: white; + foreground-urgent: white; + + background-color: @color1; + text-color: @color2; + border-color: white; + separator-color: white; + placeholder-color: white; /* textbox placeholder */ + handle-color: transparent; /* scrollbar handle */ + highlight: bold white; + normal: white; + selected: @red; + active: white; + urgent: white; + + entry-bg: @blue-alt; + entry-fg: @blue; + + /***** [ Aliases ] *****/ + + /* DO NOT TOUCH HERE */ + + bg: @background; + bg-alt: @background-alt; + bg-sel: @background-selected; + bg-act: @background-active; + bg-urg: @background-urgent; + + fg: @foreground; + fg-alt: @foreground-alt; + fg-sel: @foreground-selected; + fg-act: @foreground-active; + fg-urg: @foreground-urgent; + + sel: @selected; + act: @active; + urg: @urgent; + text: @text-color; + txt: @text-color; + border: @border-color; + separator: @separator-color; + placeholder: @placeholder-color; + handle: @handle-color; +} diff --git a/.config/rofi/themes/onedark/style.rasi b/.config/rofi/themes/onedark/style.rasi new file mode 100644 index 0000000..f2b8ba2 --- /dev/null +++ b/.config/rofi/themes/onedark/style.rasi @@ -0,0 +1,87 @@ +/*************************************************** + * Name: Name + * Author: Matheus Silva (https://github.com/Heus-Sueh) + * Date: 2024-09-28 + ***************************************************/ + +@import "colors.rasi" + +/* Comment */ + +configuration { + font: "Iosevka Nerd Font Medium 12"; + + drun { + display-name: ""; + } + + run { + display-name: ""; + } + + window { + display-name: ""; + } + + timeout { + delay: 10; + action: "kb-cancel"; + } +} + +* { + border: 0; + margin: 0; + padding: 0; + spacing: 0; +} + +window { + border: 2px; + border-color: @blue-alt; + border-radius: 6px; + padding: 6px; + transparency: "real"; +} + +mainbox { + children: [inputbar, listview]; +} + +inputbar { + border: 0 0 0 2px; + border-color: @blue; + border-radius: 6px; + children: [entry]; + margin: 0 0 6px 0; +} + +entry { + background-color: @entry-bg; + padding: 10px; + text-color: @entry-fg; +} + +listview { + lines: 10; +} + +element { + border: 0 0 0 2px; + border-color: @bg; + children: [element-text]; +} + +element selected { + border-color: @sel; + border-radius: 6px; +} + +element-text { + padding: 10px; +} + +element-text selected { + background-color: @bg-sel; + text-color: @fg-sel; +} diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100644 index 0000000..af05447 --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,73 @@ +add_newline = false +command_timeout = 1000 +format = """[╭╴](238) $os$username$hostname$kubernetes$directory$git_branch$git_status\n[╰─](238)[](238) """ + +# Drop ugly default prompt characters +[character] +success_symbol = '' +error_symbol = '' + +[os] +format = '[$symbol](bold white) ' +disabled = false + +[os.symbols] +Windows = '' +Arch = '󰣇' +Ubuntu = '' +Debian = '' +Macos = '󰀵' +Linux = '' +Pop = " " + +# Shows the username +[username] +style_user = 'white bold' +style_root = 'red bold' +format = '[$user]($style) ' +disabled = false +show_always = true + +# Shows the hostname +[hostname] +ssh_only = false +format = 'on [$hostname](bold yellow) ' +disabled = false + +# Shows current directory +[directory] +truncation_length = 1 +truncation_symbol = '…/' +home_symbol = '󰋜 ~' +read_only_style = '197' +read_only = '  ' +format = 'at [$path]($style)[$read_only]($read_only_style) ' + +# Shows current git branch +[git_branch] +symbol = ' ' +format = 'via [$symbol$branch]($style)' +# truncation_length = 4 +truncation_symbol = '…/' +style = 'bold green' + +# Shows current git status +[git_status] +format = '[$all_status$ahead_behind]($style) ' +style = 'bold green' +conflicted = '🏳' +up_to_date = '' +untracked = ' ' +ahead = '⇡${count}' +diverged = '⇕⇡${ahead_count}⇣${behind_count}' +behind = '⇣${count}' +stashed = ' ' +modified = ' ' +staged = '[++\($count\)](green)' +renamed = '襁 ' +deleted = ' ' + +# Shows kubernetes context and namespace +[kubernetes] +format = 'via [󱃾 $context\($namespace\)](bold purple) ' +disabled = false diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..a02e1f6 --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,124 @@ +{ + "layer": "top", + "position": "top", + "mod": "dock", + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "height": 50, + "modules-left": ["custom/launch_wofi","hyprland/workspaces","cpu","memory","disk","clock"], + "modules-center": ["wlr/taskbar"], + "modules-right": ["network","battery","backlight","pulseaudio","pulseaudio#microphone","tray"], + + + "hyprland/window": { + "format": "{}" + }, + + "custom/launch_wofi": { + "format": "", + "on-click": "sh -c '(killall wofi; wofi --show drun)' & disown", + "tooltip": false + }, + + "cpu": { + "interval": 10, + "format": " {usage}%", + "max-length": 10 + }, + + "disk": { + "interval": 30, + "format": "󰋊 {percentage_used}%", + "path": "/", + "tooltip": true, + "tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)" + }, + + "memory": { + "interval": 30, + "format": " {}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "Memory - {used:0.1f}GB used" + }, + + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "spacing": 0, + "on-click-middle" : "close", + "tooltip-format": "{title}", + "on-click": "activate" + }, + + "tray": { + "icon-size": 18, + "spacing": 10 + }, + + "clock": { + "format": "{:%H:%M}  ", + "tooltip-format": "{:%A, %B %d, %Y}", + }, + + "backlight": { + "device": "intel_backlight", + "format": "{icon} {percent}%", + "format-icons": ["󰃞", "󰃟", "󰃠"], + "on-scroll-up": "~/.config/HyprV/waybar/scripts/brightness --inc", + "on-scroll-down": "~/.config/HyprV/waybar/scripts/brightness --dec", + "min-length": 6 + }, + + "network": { + /* "format-wifi": "直", */ + "format-wifi": " {icon}", + "format-ethernet": " ", + "format-disconnected": "睊", + "tooltip-format": "{essid}", + "on-click": "nm-connection-editor", + "format-icons": ["󰤯 ","󰤟 ","󰤢 ","󰤢 ","󰤨 "] + }, + + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-muted": "", + "on-click": "pavucontrol", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+", + "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + } + }, + + "pulseaudio#microphone": { + "format": "{format_source}", + "format-source": " {volume}%", + "format-source-muted": "", + "on-click": "pavucontrol", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SOURCE@ 5%+", + "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-", + "scroll-step": 5 + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..2b7c354 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,195 @@ +* { + border: none; + border-radius: 0; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 15px; + min-height: 0; +} + +window#waybar { + background: rgba(0, 0, 0, 0); + color: #cdd6f4; +} + +tooltip { + background: #1e1e2e; + border-radius: 10px; + border-width: 2px; + border-style: solid; + border-color: #11111b; +} + +tooltip label{ + color: #cdd6f4; +} + +#workspaces button { + padding: 5px; + color: #313244; + margin-right: 5px; +} + +#workspaces button.active { + color: #a6adc8; +} + +#workspaces button.focused { + color: #a6adc8; + background: #eba0ac; + border-radius: 10px; +} + +#workspaces button.urgent { + color: #11111b; + background: #a6e3a1; + border-radius: 10px; +} + +#workspaces button:hover { + background: #11111b; + color: #cdd6f4; + border-radius: 10px; +} + +#custom-launch_wofi, +#custom-lock_screen, +#custom-light_dark, +#custom-power_btn, +#custom-power_profile, +#custom-weather, +#custom-myhyprv, +#window, +#cpu, +#disk, +#custom-updates, +#memory, +#battery, +#pulseaudio, +#network, +#tray, +#temperature, +#workspaces, +#backlight { + background: #000000; + padding: 0px 10px; + margin: 3px 0px; + margin-top: 7px; + border: 0px; +} + +#network , #backlight, #custom-launch_wofi, #cpu { + border-radius: 10px 0px 0px 10px; +} + +#custom-light_dark, #workspaces, #pulseaudio.microphone, #battery, #disk { + border-radius: 0px 10px 10px 0px; + margin-right: 10px; +} + +#temperature.critical { + color: #e92d4d; +} + + +#workspaces { + padding-right: 0px; + padding-left: 5px; +} + +#window { + border-radius: 10px; + margin-left: 20px; + margin-right: 20px; +} + +#custom-launch_wofi { + color: #cdd6f4; + margin-left: 5px; + border-right: 0px; +} + +#pulseaudio { + color: #cdd6f4; + border-left: 0px; + border-right: 0px; +} + +#pulseaudio.microphone { + color: #cdd6f4; + border-left: 0px; + border-right: 0px; +} + +#battery { + color: #cdd6f4; + border-left: 0px; +} + +#tray{ + background: #000000; + opacity: 0.7; + padding: 0px 10px; + margin: 3px 0px; + margin-right: 5px; + margin-top: 7px; + border: 5px; + border-radius: 10px; + padding-right: 10px; + padding-left: 10px; +} + +#clock { + background: #000000; + opacity: 0.7; + padding: 0px 10px; + margin: 3px 0px; + margin-top: 7px; + border: 5px; + border-radius: 10px; + padding-right: 10px; + padding-left: 10px; +} + +#taskbar { + background: #000000; + opacity: 0.7; + padding: 0px 10px; + margin: 3px 0px; + margin-top: 7px; + border: 5px; + border-radius: 10px; + padding-right: 10px; + padding-left: 10px; +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + padding-left: 3px; + padding-right: 3px; + color: #93cee9; + animation: gradient_f 5s ease-in infinite; + transition: all 0.5s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button:hover { + background: #11111b; + color: #cdd6f4; +} + + +#taskbar button.active { + background: #93cee9; + color: #ffffff; + margin-left: 3px; + padding-left: 10px; + padding-right: 10px; + margin-right: 3px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} diff --git a/.stow-local-ignore b/.stow-local-ignore new file mode 100644 index 0000000..6bb673c --- /dev/null +++ b/.stow-local-ignore @@ -0,0 +1,7 @@ +\.git +\.gitignore +\.gitmodules + +^/README.* +^/LICENSE.* +^/setup.sh \ No newline at end of file