commit 9ac5bf62c89d8879d7807f88df0f2eb8452faa2e Author: Eriq Taing Date: Thu Jun 5 00:03:24 2025 -0400 Initial commit diff --git a/dot_bashrc b/dot_bashrc new file mode 100644 index 0000000..fe2599c --- /dev/null +++ b/dot_bashrc @@ -0,0 +1,46 @@ +# .bashrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +# User specific environment +if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then + PATH="$HOME/.local/bin:$HOME/bin:$PATH" +fi +export PATH + +# Uncomment the following line if you don't like systemctl's auto-paging feature: +# export SYSTEMD_PAGER= + +export VISUAL="$(which nvim)" +export EDITOR="$(which nvim)" + +# User specific aliases and functions +if [ -d ~/.bashrc.d ]; then + for rc in ~/.bashrc.d/*; do + if [ -f "$rc" ]; then + . "$rc" + fi + done +fi +eval "$(zoxide init bash)" +export HSA_OVERRIDE_GFX_VERSION=10.3.0 +unset rc + +# >>> conda initialize >>> +# !! Contents within this block are managed by 'conda init' !! +__conda_setup="$('/usr/bin/conda' 'shell.bash' 'hook' 2>/dev/null)" +if [ $? -eq 0 ]; then + eval "$__conda_setup" +else + if [ -f "/usr/etc/profile.d/conda.sh" ]; then + . "/usr/etc/profile.d/conda.sh" + else + export PATH="/usr/bin:$PATH" + fi +fi +unset __conda_setup +# <<< conda initialize <<< +. "$HOME/.cargo/env" diff --git a/dot_config/hypr/hyprland.conf b/dot_config/hypr/hyprland.conf new file mode 100644 index 0000000..f530bc6 --- /dev/null +++ b/dot_config/hypr/hyprland.conf @@ -0,0 +1,19 @@ +# hyprland.conf + +# All component files +source = ~/.config/hypr/hyprland.conf.d/monitors.conf +source = ~/.config/hypr/hyprland.conf.d/env_vars.conf +source = ~/.config/hypr/hyprland.conf.d/game_workspace.conf +source = ~/.config/hypr/hyprland.conf.d/discord_workspace.conf +source = ~/.config/hypr/hyprland.conf.d/terminal.conf +source = ~/.config/hypr/hyprland.conf.d/keybinds.conf +source = ~/.config/hypr/hyprland.conf.d/browser.conf +source = ~/.config/hypr/hyprland.conf.d/keybinds.conf.d/arrow_move_window.conf +source = ~/.config/hypr/hyprland.conf.d/keybinds.conf.d/workspace_binds.conf +source = ~/.config/hypr/hyprland.conf.d/keybinds.conf.d/media_binds.conf +source = ~/.config/hypr/hyprland.conf.d/misc_apps.conf +source = ~/.config/hypr/hyprland.conf.d/devices.conf +source = ~/.config/hypr/hyprland.conf.d/general_workspaces.conf +source = ~/.config/hypr/hyprland.conf.d/input.conf +source = ~/.config/hypr/hyprland.conf.d/hyprland_appearance.conf +source = ~/.config/hypr/hyprland.conf.d/hyprland_behavior.conf diff --git a/dot_config/hypr/hyprland.conf.d/browser.conf b/dot_config/hypr/hyprland.conf.d/browser.conf new file mode 100644 index 0000000..8c414ea --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/browser.conf @@ -0,0 +1,15 @@ +# browser.conf + +# floorp uwsm +$browser = uwsm app -- one.ablaze.floorp.desktop + +# floorp normal +#$browser = flatpak run one.ablaze.floorp + +$mainMod = SUPER + +## autostart +#exec-once = [workspace 1 silent] $browser + +## keybind +bind = $mainMod, F, exec, $browser diff --git a/dot_config/hypr/hyprland.conf.d/devices.conf b/dot_config/hypr/hyprland.conf.d/devices.conf new file mode 100644 index 0000000..53d7fc6 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/devices.conf @@ -0,0 +1 @@ +# devices.conf diff --git a/dot_config/hypr/hyprland.conf.d/discord_workspace.conf b/dot_config/hypr/hyprland.conf.d/discord_workspace.conf new file mode 100644 index 0000000..b783b0e --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/discord_workspace.conf @@ -0,0 +1,29 @@ +# discord_workspace.conf + +# uwsm +#$discord = uwsm app -- io.github.equicord.equibop.desktop +#$discord_canary = uwsm app -- com.discordapp.DiscordCanary + +# normal +#$discord = flatpak run io.github.equicord.equibop +#$discord_canary = flatpak run com.discordapp.DiscordCanary + +$discord_class = class:^(vesktop)$|^(discord)$|^(com.discord.app.Discord)$|^(WebCord)$|^(equibop)$ + +# workspace +workspace = special:discord + +# launch discord +#exec-once = $discord + +# window rule +windowrule = workspace special:discord silent, $discord_class +#windowrule = workspace special:discord silent, class:^(discord)$ +#windowrule = opacity 0.9 0.9, $discord_class +windowrule = allowsinput on, $discord_class + +# key binds +$mainMod = SUPER +#bind = $mainMod, D, focuswindow, vesktop +bind = $mainMod, D, togglespecialworkspace, discord +bind = $mainMod SHIFT, D, movetoworkspace, special:discord diff --git a/dot_config/hypr/hyprland.conf.d/env_vars.conf b/dot_config/hypr/hyprland.conf.d/env_vars.conf new file mode 100644 index 0000000..db6b6c9 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/env_vars.conf @@ -0,0 +1,44 @@ +# env_vars.conf + +# hyprcursor +env = HYPRCURSOR_THEME,Bibata-Modern-Classic +env = HYPRCURSOR_SIZE,24 + +# Some default env vars. +env = XCURSOR_THEME,Bibata-Modern-Classic +env = XCURSOR_SIZE,24 +# Toolkit Backend Vars +#env = GDK_BACKEND,wayland;x11;* # seems to stop applications from starting, stating no display +#env = GDK_BACKEND,wayland +#env = SDL_VIDEODRIVER,wayland # stops sapiens game from running as it cannot find the video subsystem +env = CLUTTER_BACKEND,wayland +# QT Variables +env = QT_QPA_PLATFORMTHEME,kde # change to qt6ct if you have that +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM,wayland +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +# XDG specs vars +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +# set gtk-theme +env = QT_QUICK_CONTROLS_STYLE,org.kde.desktop +#env = GTK_THEME,Breeze-Dark +#env = GDK_SCALE, 2 +# set qt-style +#env = QT_STYLE_OVERRIDE,breeze + +# copy some environments into systemctl +exec=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP QT_QPA_PLATFORMTHEME + +# set default editor +env = EDITOR,/usr/bin/nvim + +# for hdr games +env = DXVK_HDR,1 + +# gamescope wayland +env = GAMESCOPE_WAYLAND_DISPLAY,1 + +# cards for hyprland to use +# env = AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1 diff --git a/dot_config/hypr/hyprland.conf.d/game_workspace.conf b/dot_config/hypr/hyprland.conf.d/game_workspace.conf new file mode 100644 index 0000000..e4c7e56 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/game_workspace.conf @@ -0,0 +1,58 @@ +# game_workspace.conf + +# steam_workspace.conf +# for things related to the steam workspace + +# workspace number +$game-workspace-number = 5 + +# create the workspace +# workspace = name:steam, monitor:DP-1, persistent:true + +#exec-once = steam %U +# window rules +windowrule = workspace 9 silent, title:^(Steam)$ + +# key binds +$mainMod = SUPER +bind = $mainMod, G, focuswindow, class:^(gamescope|steam) +#bind = $mainMod SHIFT, G, movetoworkspace, name:steam + +# To put the window rules for the game workspace + +# steam apps +#windowrule = fullscreen, class:^steam_app_\d+$ +windowrule = workspace $game-workspace-number silent, class:^steam_app_\d+$ + +# gamescope +windowrule = fullscreen, class:^(gamescope)$ +windowrule = workspace $game-workspace-number silent, class:^(gamescope)$ + +# Minecraft +windowrule = workspace $game-workspace-number, class:^Minecraft.* + +# factorio +windowrule = workspace $game-workspace-number, class:^(factorio)$ + +# RetroArch flatpak +windowrule = workspace $game-workspace-number, class:^(org.libretro.RetroArch)$ + +# dolphin emulator +windowrule = workspace $game-workspace-number, class:^(dolphin-emu)$ + +# Slay the Spire +windowrule = workspace $game-workspace-number, class:^(Slay the Spire)$ + +windowrule = workspace $game-workspace-number, class:^(helldivers2.exe)$ +windowrule = workspace $game-workspace-number, class:^(monsterhunterwilds.exe)$ + +# Terraria +windowrule = workspace $game-workspace-number, class:^(dotnet)$ +windowrule = fullscreen, class:^(dotnet)$ + +# prevent idle for all programs above +#windowrule = idleinhibit fullscreen, class:^(gamescope)$ +#windowrule = idleinhibit fullscreen, class:^steam_app_\d+$ +#windowrule = idleinhibit fullscreen, class:^Minecraft.* +#windowrule = idleinhibit focus, class:^(factorio) +#windowrule = idleinhibit focus, class:^(Slay the Spire)$ diff --git a/dot_config/hypr/hyprland.conf.d/general_workspaces.conf b/dot_config/hypr/hyprland.conf.d/general_workspaces.conf new file mode 100644 index 0000000..24fc1eb --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/general_workspaces.conf @@ -0,0 +1,14 @@ +# general_workspaces.conf + +# workspaces +workspace = 1, monitor:DP-1, persistent:true, default:true +workspace = 2 +workspace = 3, monitor:DP-1 +workspace = 4 +workspace = 5, monitor:DP-1, persistent:true, border:false gapsout:0, border:false, rounding:false +workspace = 6 +workspace = 7, monitor:DP-1 +workspace = 8 +workspace = 9, monitor:DP-1 +workspace = 10 +workspace = special:magic, diff --git a/dot_config/hypr/hyprland.conf.d/hyprland_appearance.conf b/dot_config/hypr/hyprland.conf.d/hyprland_appearance.conf new file mode 100644 index 0000000..d199e8b --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/hyprland_appearance.conf @@ -0,0 +1,61 @@ +# hyprland_appearance.conf + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 10 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +#xwayland { +# force_zero_scaling = true +#} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + blur { + enabled = true + size = 3 + passes = 1 + } + + shadow { + enabled = yes + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + rounding = 15 +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + 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 + animation = specialWorkspace, 1, 3, default, slidefadevert -50% +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_splash_rendering = true +} \ No newline at end of file diff --git a/dot_config/hypr/hyprland.conf.d/hyprland_behavior.conf b/dot_config/hypr/hyprland.conf.d/hyprland_behavior.conf new file mode 100644 index 0000000..bc99304 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/hyprland_behavior.conf @@ -0,0 +1,21 @@ +# hyprland_behavior.conf + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_status = slave +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +debug { + disable_logs = false +} \ No newline at end of file diff --git a/dot_config/hypr/hyprland.conf.d/input.conf b/dot_config/hypr/hyprland.conf.d/input.conf new file mode 100644 index 0000000..5110802 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/input.conf @@ -0,0 +1,18 @@ +# input.conf + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 to 1.0, 0 means no modification. +} \ No newline at end of file diff --git a/dot_config/hypr/hyprland.conf.d/keybinds.conf b/dot_config/hypr/hyprland.conf.d/keybinds.conf new file mode 100644 index 0000000..254a294 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/keybinds.conf @@ -0,0 +1,44 @@ +# key_binds.conf + +# Set programs that you use +$fileManager = uwsm app -- org.kde.dolphin.desktop +$menu = rofi -show drun -run-command "uwsm app -- {cmd}" +#$menu = ags request -i launcher show +$screenshot = grim -g "$(slurp -d)" - | wl-copy +$powermenu = $HOME/bin/local-lua $HOME/bin/powermenu.lua + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod SHIFT, C, killactive, +bind = $mainMod, M, exec, $powermenu +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod SHIFT, F, fullscreen + +# screenshots and screen recorder aylur dot files +bind = $mainMod SHIFT, Print, exec, $screenshot + +# 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 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod SHIFT, mouse:272, movewindow +bindm = $mainMod SHIFT, mouse:273, resizewindow + +# global hotkeys +# discord mute +#bind = CTRL SHIFT, M, pass, initialclass:^(discord)$ +#bind = $mainMod SHIFT ALT, M, sendshortcut, CTRL SHIFT, M, class:discord +bind = $mainMod ALT SHIFT, M, exec, $HOME/bin/toggle_q1u_mic_mute.sh + +# toggle other monitor +bind = $mainMod SHIFT, P, exec, hyprctl keyword monitor "DP-2, disable" +bind = $mainMod SHIFT CTRL, P, exec, hyprctl keyword monitor "DP-2, 2560x1440@60, 2560x0, 1, transform, 0" diff --git a/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/arrow_move_window.conf b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/arrow_move_window.conf new file mode 100644 index 0000000..46caffc --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/arrow_move_window.conf @@ -0,0 +1,7 @@ +# arrow_move_window.conf + +# Move window with mainMod + Shift + arrow kyes +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d diff --git a/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/media_binds.conf b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/media_binds.conf new file mode 100644 index 0000000..0f0ca16 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/media_binds.conf @@ -0,0 +1,16 @@ +# media_binds.conf +$mainMod = SUPER + +# media play-pause toggle +bind = , XF86AudioPlay, exec, playerctl play-pause + +# media volume up/down +bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- +bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 1%+ + +# media volume up/down +bind = $mainMod, XF86AudioLowerVolume, exec, playerctl position 5- +bind = $mainMod, XF86AudioRaiseVolume, exec, playerctl position 5+ + +# media pause +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle diff --git a/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/workspace_binds.conf b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/workspace_binds.conf new file mode 100644 index 0000000..b839ed0 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/keybinds.conf.d/workspace_binds.conf @@ -0,0 +1,34 @@ +# workspace_binds.conf +$mainMod = SUPER + +# 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 \ No newline at end of file diff --git a/dot_config/hypr/hyprland.conf.d/misc_apps.conf b/dot_config/hypr/hyprland.conf.d/misc_apps.conf new file mode 100644 index 0000000..0d8daac --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/misc_apps.conf @@ -0,0 +1,25 @@ +# misc_apps.conf + +# Example windowrule +# windowrule = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrule = suppressevent maximize, class:.* # You'll probably like this. + +# Godot and rename/other setting windows +#windowrule = tile, initialTitle:^(Godot)$, initialClass:^(Godot)$ +#windowrule = size 30% 50%, title:^(?!Godot).+$, class:^(Godot)$ +#windowrule = center, title:^(?!Godot).+$, class:^(Godot)$ + +# nextcloud +$nextcloud = initialTitle:^(Nextcloud)$, initialClass:^(com.nextcloud.desktopclient.nextcloud)$ +windowrule = float, $nextcloud +windowrule = animation slide top, $nextcloud +windowrule = size 20% 40%, $nextcloud +windowrule = move 100%-w-2 30, $nextcloud + +# KDE connect applet +$kdeconnect = initialClass:^(org.kde.connect.daemon)$ +windowrule = float, $kdeconnect + +$gpuscreenrecorder = initialTitle:^(gsr ui)$ +#windowrule = monitor DP-3 silent, $gpuscreenrecorder diff --git a/dot_config/hypr/hyprland.conf.d/monitors.conf b/dot_config/hypr/hyprland.conf.d/monitors.conf new file mode 100644 index 0000000..3c492b4 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/monitors.conf @@ -0,0 +1,7 @@ +# monitors.conf + +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor=,preferred,auto,auto +monitor=DP-1,2560x1440@120,0x0,1,vrr,3#,bitdepth,10,cm,hdredid,sdrbrightness,1.1,sdrsaturation,0.9 +monitor=DP-2,2560x1440@60,2560x0,1,transform,0 +# monitor=DP-2, disable \ No newline at end of file diff --git a/dot_config/hypr/hyprland.conf.d/terminal.conf b/dot_config/hypr/hyprland.conf.d/terminal.conf new file mode 100644 index 0000000..3aab930 --- /dev/null +++ b/dot_config/hypr/hyprland.conf.d/terminal.conf @@ -0,0 +1,13 @@ +# terminal.conf +$terminal = kitty + +# workspace +workspace = special:terminal + +# launch a terminal +exec-once = [workspace special:terminal silent] $terminal + +# key binds +$mainMod = SUPER +bind = $mainMod, T, togglespecialworkspace, terminal +bind = $mainMod SHIFT, T, movetoworkspace, special:terminal diff --git a/dot_config/hyprpanel/config.json b/dot_config/hyprpanel/config.json new file mode 100644 index 0000000..4975473 --- /dev/null +++ b/dot_config/hyprpanel/config.json @@ -0,0 +1,66 @@ +{ + "scalingPriority": "gdk", + "theme.bar.floating": true, + "bar.autoHide": "never", + "bar.layouts": { + "*": { + "left": [ + "cpu", + "ram", + "workspaces", + "windowtitle" + ], + "middle": [ + "media" + ], + "right": [ + "volume", + "network", + "bluetooth", + "systray", + "notifications", + "clock", + "dashboard" + ] + } + }, + "theme.notification.enableShadow": false, + "theme.bar.border.location": "none", + "theme.bar.border_radius": "0.75em", + "theme.bar.outer_spacing": ".25em", + "theme.bar.buttons.radius": "0.75em", + "theme.bar.menus.monochrome": false, + "theme.bar.menus.opacity": 100, + "theme.bar.buttons.y_margins": "0.1em", + "theme.bar.buttons.enableBorders": true, + "theme.bar.transparent": true, + "theme.bar.enableShadow": false, + "menus.clock.time.hideSeconds": false, + "menus.dashboard.shortcuts.left.shortcut1.icon": "", + "menus.dashboard.shortcuts.left.shortcut1.command": "uwsm app -- one.ablaze.floorp.desktop", + "menus.dashboard.shortcuts.left.shortcut1.tooltip": "Floorp", + "menus.dashboard.shortcuts.enabled": true, + "menus.dashboard.stats.enable_gpu": false, + "menus.clock.weather.enabled": false, + "bar.workspaces.show_icons": false, + "bar.workspaces.show_numbered": true, + "theme.bar.buttons.windowtitle.enableBorder": false, + "bar.windowtitle.custom_title": true, + "bar.windowtitle.truncation": true, + "bar.notifications.show_total": true, + "bar.notifications.hideCountWhenZero": true, + "bar.launcher.icon": "󰣛", + "bar.launcher.autoDetectIcon": false, + "menus.dashboard.shortcuts.left.shortcut3.command": "uwsm app -- com.discordapp.Discord", + "menus.dashboard.shortcuts.left.shortcut2.icon": "󰹕", + "menus.dashboard.shortcuts.left.shortcut2.command": "uwsm app --net.cozic.joplin_desktop", + "menus.dashboard.shortcuts.left.shortcut2.tooltip": "Joplin", + "menus.dashboard.shortcuts.left.shortcut4.command": "uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true)", + "theme.bar.buttons.workspaces.enableBorder": false, + "theme.bar.buttons.systray.enableBorder": false, + "bar.workspaces.monitorSpecific": true, + "wallpaper.image": "/home/eriq/Pictures/wallpaper.png", + "wallpaper.pywal": false, + "theme.matugen": true, + "wallpaper.enable": true +} \ No newline at end of file diff --git a/dot_config/kitty/kitty.conf b/dot_config/kitty/kitty.conf new file mode 100644 index 0000000..790d64c --- /dev/null +++ b/dot_config/kitty/kitty.conf @@ -0,0 +1,79 @@ +# Tokyo Night color scheme for kitty terminal emulator +# https://github.com/davidmathers/tokyo-night-kitty-theme +# +# Based on Tokyo Night color theme for Visual Studio Code +# https://github.com/enkia/tokyo-night-vscode-theme + +foreground #a9b1d6 +background #1a1b26 + +# Black +color0 #414868 +color8 #414868 + +# Red +color1 #f7768e +color9 #f7768e + +# Green +color2 #73daca +color10 #73daca + +# Yellow +color3 #e0af68 +color11 #e0af68 + +# Blue +color4 #7aa2f7 +color12 #7aa2f7 + +# Magenta +color5 #bb9af7 +color13 #bb9af7 + +# Cyan +color6 #7dcfff +color14 #7dcfff + +# White +color7 #c0caf5 +color15 #c0caf5 + +# Cursor +cursor #c0caf5 +cursor_text_color #1a1b26 + +# Selection highlight +selection_foreground none +selection_background #28344a + +# The color for highlighting URLs on mouse-over +url_color #9ece6a + +# Window borders +active_border_color #3d59a1 +inactive_border_color #101014 +bell_border_color #e0af68 + +# Tab bar +tab_bar_style fade +tab_fade 1 +active_tab_foreground #3d59a1 +active_tab_background #16161e +active_tab_font_style bold +inactive_tab_foreground #787c99 +inactive_tab_background #16161e +inactive_tab_font_style bold +tab_bar_background #101014 + +# Title bar +macos_titlebar_color #16161e + +# Storm +# background #24283b +# cursor_text_color #24283b +# active_tab_background #1f2335 +# inactive_tab_background #1f2335 +# macos_titlebar_color #1f2335 + +background_opacity 1 diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua new file mode 100644 index 0000000..dbbc983 --- /dev/null +++ b/dot_config/nvim/init.lua @@ -0,0 +1,4 @@ +#!/usr/bin/env lua +require("options") +require("keymaps") +require("config.lazy") diff --git a/dot_config/nvim/lua/config/lazy.lua b/dot_config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..665d5f4 --- /dev/null +++ b/dot_config/nvim/lua/config/lazy.lua @@ -0,0 +1,47 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + { "LazyVim/LazyVim", import = "lazyvim.plugins"}, + -- import your plugins + { import = "plugins" }, + }, + -- automatically check for plugin updates + checker = { + enabled = true, + notify = false, + }, + performance = { + rtp = { + disabled_plugins = { + "gzip", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + } + } + } +}) diff --git a/dot_config/nvim/lua/keymaps.lua b/dot_config/nvim/lua/keymaps.lua new file mode 100644 index 0000000..0e3ec5e --- /dev/null +++ b/dot_config/nvim/lua/keymaps.lua @@ -0,0 +1,31 @@ +-- define comon options +local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message +} + +----------------- +-- Normal mode -- +----------------- + +-- check `:h vim.map.set()` to get better idea of what this does +-- Better window navigation +vim.keymap.set('n', '', 'h', opts) +vim.keymap.set('n', '', 'j', opts) +vim.keymap.set('n', '', 'k', opts) +vim.keymap.set('n', '', 'l', opts) + +-- Resize with arrows +-- delta: 2 lines +vim.keymap.set('n', '', ':resize -2', opts) +vim.keymap.set('n', '', ':resize +2', opts) +vim.keymap.set('n', '', ':vertical resize -2', opts) +vim.keymap.set('n', '', ':vertical resize +2', opts) + +----------------- +-- Visual mode -- +----------------- + +-- start visual mode with same area as previous area and same mode +vim.keymap.set('v', '<', '', '>gv', opts) diff --git a/dot_config/nvim/lua/options.lua b/dot_config/nvim/lua/options.lua new file mode 100644 index 0000000..5f48391 --- /dev/null +++ b/dot_config/nvim/lua/options.lua @@ -0,0 +1,25 @@ +-- use `:h