From ec5940b911090100d5512816cf4c3a8c50501b63 Mon Sep 17 00:00:00 2001 From: Smirnov Oleksandr Date: Sat, 4 Nov 2023 00:15:38 +0200 Subject: [PATCH] setup tilig --- config/dunst/dunstrc | 46 ++++++++++ config/hypr/hyprland.conf | 173 +++++++++++++++++++++++++++++++++++++ config/hypr/hyprpaper.conf | 2 + config/kitty/kitty.conf | 1 + config/lazygit/config.yml | 43 +++++---- config/waybar/config | 106 +++++++++++++++++++++++ config/waybar/style.css | 50 +++++++++++ 7 files changed, 398 insertions(+), 23 deletions(-) create mode 100644 config/dunst/dunstrc create mode 100644 config/hypr/hyprland.conf create mode 100644 config/hypr/hyprpaper.conf create mode 100644 config/waybar/config create mode 100644 config/waybar/style.css diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc new file mode 100644 index 0000000..cd0e508 --- /dev/null +++ b/config/dunst/dunstrc @@ -0,0 +1,46 @@ +[global] + monitor = 0 + follow = mouse + geometry = "250x50-5+30" + indicate_hidden = yes + shrink = no + transparency = 0 + notification_height = 0 + separator_height = 4 + padding = 16 + horizontal_padding = 16 + frame_width = 2 + frame_color = "#1F2324" + separator_color = frame + sort = yes + idle_threshold = 120 + font = Roboto 8 + line_height = 4 + markup = full + format = "%s\n%b" + alignment = left + show_age_threshold = 60 + word_wrap = yes + ignore_newline = no + stack_duplicates = false + hide_duplicate_count = false + show_indicators = yes + icon_position = off + always_run_script = true + startup_notification = false + force_xinerama = false + +[urgency_low] + background = "#16161e" + foreground = "#c0caf5" + frame_color = "#c0caf5" + +[urgency_normal] + background = "#1a1b26" + foreground = "#c0caf5" + frame_color = "#c0caf5" + +[urgency_critical] + background = "#292e42" + foreground = "#db4b4b" + frame_color = "#db4b4b" diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf new file mode 100644 index 0000000..f4fd0ae --- /dev/null +++ b/config/hypr/hyprland.conf @@ -0,0 +1,173 @@ +# vim: foldmethod=marker ts=2 sw=2 + +# https://wiki.hyprland.org/Configuring/Variables/ +# https://wiki.hyprland.org/Configuring/Monitors/ + +monitor=,highres,auto,1 + +## variables {{{ +$mod = SUPER +$terminal = kitty +# }}} +## auto start {{{ +exec-once = waybar & +exec-once = hyprpaper & +exec-once = dunst & +exec-once = gsettings set org.gnome.desktop.interface font-name 'JetBrainsMono Nerd Font' & +exec-once = blueman-applet +# }}} +## inputs {{{ +input { + kb_layout = us,ua + kb_variant = + kb_model = + kb_options = grp:win_space_toggle,grp:alt_shift_toggle,ctrl:nocaps + kb_rules = + + follow_mouse = 1 + sensitivity = 0.4 # -1.0 - 1.0, 0 means no modification. + + touchpad { + middle_button_emulation = true + } +} +# }}} +## general {{{ +general { + gaps_in = 2 + gaps_out = 4 + border_size = 2 + col.active_border = rgba(7aa2f7aa) + col.inactive_border = rgba(414868aa) + + layout = master # dwindle +} +# }}} +## decorations {{{ +decoration { + rounding = 3 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} +# }}} +## animations {{{ +animations { + enabled = false + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} +# }}} +## dwindle layout {{{ +# 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 + no_gaps_when_only = 1 +} +# }}} +## master layout {{{ +# https://wiki.hyprland.org/Configuring/Master-Layout +master { + new_is_master = false + no_gaps_when_only = true +} +# }}} +## misc {{{ +misc { + disable_hyprland_logo = true + disable_splash_rendering = true +} +# }}} +## gestures {{{ +gestures { + workspace_swipe = true +} +# }}} +## window rules {{{ +windowrule = workspace 1, title:(Postman) +windowrule = workspace 2, title:(Firefox) +windowrule = workspace 3, title:(kitty|Rider) +windowrule = workspace 4, title:(Logseq|Anki) +windowrule = workspace 5, title:(Telegram|Discord) +# }}} +## keymaps {{{ + bind = $mod SHIFT, Return, exec, wofi --show drun + bind = $mod, Return, exec, $terminal + bind = $mod, q, killactive + bind = $mod SHIFT, Escape, exit + bind = $mod, f, togglefloating, + bind = ,Print,exec,grim + bind = $mod ALT, r, exec, hyprctl reload + + ## sound {{{ + bindl = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+ + bindl = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%- + bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + bindl = , XF86AudioPlay, exec, playerctl play-pause + bindl = , XF86AudioNext, exec, playerctl next + bindl = , XF86AudioPrev, exec, playerctl previous + ## }}} + ## brightness {{{ + bindl = , XF86MonBrightnessUp, exec, brightnessctl set +10% + bindl = , XF86MonBrightnessDown, exec, brightnessctl set 10%- + ## }}} + ## programs {{{ + bind = $mod SHIFT, w, exec, firefox + bind = $mod SHIFT, f, exec, nautlius + ## }}} + ## layout spesific {{{ + bind = $mod, P, pseudo, # dwindle + bind = $mod, J, togglesplit, # dwindle + # }}} + ## wm {{{ + bind = $mod, h, movefocus, l + bind = $mod, j, movefocus, d + bind = $mod, k, movefocus, u + bind = $mod, l, movefocus, r + + # Scroll through existing workspaces with mainMod + scroll + bind = $mod, mouse_down, workspace, e+1 + bind = $mod, mouse_up, workspace, e-1 + + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = $mod, mouse:272, movewindow + bindm = $mod, mouse:273, resizewindow + + ## workspaces {{{ + bind = $mod, 1, workspace, 1 + bind = $mod, 2, workspace, 2 + bind = $mod, 3, workspace, 3 + bind = $mod, 4, workspace, 4 + bind = $mod, 5, workspace, 5 + bind = $mod, 6, workspace, 6 + bind = $mod, 7, workspace, 7 + bind = $mod, 8, workspace, 8 + bind = $mod, 9, workspace, 9 + + bind = $mod SHIFT, 1, movetoworkspace, 1 + bind = $mod SHIFT, 2, movetoworkspace, 2 + bind = $mod SHIFT, 3, movetoworkspace, 3 + bind = $mod SHIFT, 4, movetoworkspace, 4 + bind = $mod SHIFT, 5, movetoworkspace, 5 + bind = $mod SHIFT, 6, movetoworkspace, 6 + bind = $mod SHIFT, 7, movetoworkspace, 7 + bind = $mod SHIFT, 8, movetoworkspace, 8 + bind = $mod SHIFT, 9, movetoworkspace, 9 + # }}} +# }}} +# }}} diff --git a/config/hypr/hyprpaper.conf b/config/hypr/hyprpaper.conf new file mode 100644 index 0000000..f2e9b07 --- /dev/null +++ b/config/hypr/hyprpaper.conf @@ -0,0 +1,2 @@ +preload = /home/olex/Pictures/wall.png +wallpaper = ,/home/olex/Pictures/wall.png diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 4d0f767..f453cb0 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -39,6 +39,7 @@ map alt+7 goto_tab 7 map alt+8 goto_tab 8 map alt+9 goto_tab 9 map ctrl+shift+t new_tab_with_cwd +map ctrl+shift+f toggle_fullscreen map ctrl+equal change_font_size all +1 map ctrl+minus change_font_size all -1 map ctrl+backspace change_font_size all 0 diff --git a/config/lazygit/config.yml b/config/lazygit/config.yml index ac252e2..54dd2e0 100644 --- a/config/lazygit/config.yml +++ b/config/lazygit/config.yml @@ -2,29 +2,26 @@ confirmOnQuit: false disableStartupPopups: true notARepository: "skip" promptToReturnFromSubprocess: true - gui: - scrollHeight: 8 # how many lines you scroll by - scrollPastBottom: false # enable scrolling past the bottom - sidePanelWidth: .28 - expandFocusedSidePanel: true - mainPanelSplitMode: "flexible" # one of 'horizontal' | 'flexible' | 'vertical' - language: "en" - timeFormat: "02 Jan 06 15:04 MST" # https://pkg.go.dev/time#Time.Format - skipUnstageLineWarning: false - skipStashWarning: false - showFileTree: false - showListFooter: false - showRandomTip: false - showBottomLine: false - showCommandLog: true - showIcons: true - + scrollHeight: 8 # how many lines you scroll by + scrollPastBottom: false # enable scrolling past the bottom + sidePanelWidth: .28 + expandFocusedSidePanel: true + mainPanelSplitMode: "flexible" # one of 'horizontal' | 'flexible' | 'vertical' + language: "en" + timeFormat: "02 Jan 06 15:04 MST" # https://pkg.go.dev/time#Time.Format + skipDiscardChangeWarning: false + skipStashWarning: false + showFileTree: false + showListFooter: false + showRandomTip: false + showBottomLine: false + showCommandLog: true + showIcons: true git: - autoFetch: true - autoRefresh: true - parseEmoji: true - + autoFetch: true + autoRefresh: true + parseEmoji: true keybinding: - universal: - jumpToBlock: ["5", "1", "2", "3", "4"] + universal: + jumpToBlock: ["5", "1", "2", "3", "4"] diff --git a/config/waybar/config b/config/waybar/config new file mode 100644 index 0000000..c05f9d4 --- /dev/null +++ b/config/waybar/config @@ -0,0 +1,106 @@ +// vim: ft=jsonc +{ + "position": "top", + "layer": "top", + "height": 14, + "margin-top": 0, + "margin-bottom": 0, + "margin-left": 0, + "margin-right": 0, + "modules-left": [ + "hyprland/workspaces", + "hyprland/window" + ], + "modules-center": [ + "clock", + "cpu" + ], + "modules-right": [ + "memory", + "tray", + "backlight", + "battery", + "pulseaudio", + "network" + ], + + // modules + "clock": { + "format": " {:%H:%M}", + "tooltip": "true", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": " {:%d/%m}" + }, + + "hyprland/workspaces": { + "active-only": false, + "all-outputs": true, + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "format": "{icon}", + "on-click": "activate", + "sort-by-number": true, + "format-icons": { + "urgent": "", + "active": "", + "default": "󰧞" + }, + "persistent_workspaces": { "*": 9 } + }, + + "hyprland/window": { "max-length": "40" }, + + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format":"{icon} {capacity}%", + "format-charging":"{icon} {capacity}%", + "format-plugged": "{capacity}% ", + "format-alt": "{icon} {time}", + "format-icons": ["", "", "", "", ""] + }, + + "memory": { + "format": "󰍛 {used}%", + "interval": 5 + }, + + "cpu": { + "format": "󰻠 {usage}%", + "format-alt": "󰻠 {avg_frequency} GHz", + "interval": 5 + }, + + "network": { + "format-wifi": "󰤨 {essid}", + "format-linked": " {ifname} (No IP)", + "format-disconnected": "󰤭", + "format-alt": "󰤨 {ifname}: {ipaddr}/{cidr}", + "tooltip-format": "{essid}", + "on-click-right": "nm-connection-editor" + }, + + "tray": { + "icon-size": 16, + "spacing": 5 + }, + + "backlight": { + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + "on-scroll-up": "brightnessctl set +10%", + "on-scroll-down": "brightnessctl set 10%-" + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-muted": "󰝟", + "format-icons": { "default": ["󰕿", "󰖀", "󰕾"] }, + "on-scroll-up": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+", + "on-scroll-down": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-" + } +} diff --git a/config/waybar/style.css b/config/waybar/style.css new file mode 100644 index 0000000..802d4f4 --- /dev/null +++ b/config/waybar/style.css @@ -0,0 +1,50 @@ +@define-color bg-color #1a1b26; +@define-color bg-darker-color #15161e; +@define-color fg-color #c0caf5; +@define-color active-bg-color #7aa2f7; +@define-color active-fg-color #16161e; +@define-color inactive-bg-color #292e42; +@define-color inactive-fg-color #545c7e; +@define-color green #73daca; +@define-color red #db4b4b; + +* { + border: none; + border-radius: 0px; + font-family: Jetbrains Mono Nerd Font; + font-size: 14px; + font-style: normal; + min-height: 0; +} + +window#waybar { + background: @bg-color; + border-bottom: 2px solid @inactive-bg-color; + color: @fg-color; +} + +#cpu, #memory, #workspaces, #window, #tray, #clock, #battery, #pulseaudio, #network, #backlight { + background-color: @bg-darker-color; + color: @fg-color; + border-radius: 16px; + margin: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; +} + +#workspaces button { color: @inactive-fg-color; } +#workspaces button.active { + color: @active-bg-color; + background-color: transparent; + border-radius: 16px; +} + +#workspaces button:hover { + background-color: @active-bg-color; + border-radius: 16px; + color: black; +} + +#clock { font-weight: bold; } +#battery.charging { color: @green; } +#battery.warning:not(.charging) { color: @red; } +#pulseaudio.muted { color: @red; }