commit 9553a2d3eecdd913e7744e76157173231bea1538 Author: Joseph Montanaro Date: Sun Aug 31 06:34:02 2025 -0400 initial commit diff --git a/dot_config/alacritty/alacritty.toml b/dot_config/alacritty/alacritty.toml new file mode 100644 index 0000000..6f386e2 --- /dev/null +++ b/dot_config/alacritty/alacritty.toml @@ -0,0 +1,21 @@ +general.import = [ "~/.config/omarchy/current/theme/alacritty.toml" ] + +[env] +TERM = "xterm-256color" + +[font] +normal = { family = "CaskaydiaMono Nerd Font", style = "Regular" } +bold = { family = "CaskaydiaMono Nerd Font", style = "Bold" } +italic = { family = "CaskaydiaMono Nerd Font", style = "Italic" } +size = 10 + +[window] +padding.x = 14 +padding.y = 14 +decorations = "None" +opacity = 0.98 + +[keyboard] +bindings = [ +{ key = "F11", action = "ToggleFullscreen" } +] diff --git a/dot_config/hypr/autostart.conf b/dot_config/hypr/autostart.conf new file mode 100644 index 0000000..392147c --- /dev/null +++ b/dot_config/hypr/autostart.conf @@ -0,0 +1,12 @@ +# Extra autostart processes + +# kanshi for managing multi-monitor setup +exec-once = uwsm app -- kanshi + +# assign workspaces to preferred monitors +exec = ~/.local/bin/assign-workspace-monitors + +# autostart various apps in their own special workspaces +exec-once = [workspace special:slack silent] slack +exec-once = [workspace special:1password silent] 1password +exec-once = [workspace special:creddy silent; float; size 800 600] uwsm app -- creddy diff --git a/dot_config/hypr/bindings.conf b/dot_config/hypr/bindings.conf new file mode 100644 index 0000000..6d76f4c --- /dev/null +++ b/dot_config/hypr/bindings.conf @@ -0,0 +1,37 @@ +# Application bindings +$terminal = uwsm app -- alacritty +$browser = omarchy-launch-browser + +bindd = SUPER, return, Terminal, exec, $terminal --working-directory=$(omarchy-cmd-terminal-cwd) +bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window +bindd = SUPER, B, Browser, exec, $browser +bindd = SUPER, M, Music, exec, uwsm app -- spotify +bindd = SUPER, N, Neovim, exec, $terminal -e nvim +bindd = SUPER, T, Activity, exec, $terminal -e btop +bindd = SUPER, D, Docker, exec, $terminal -e lazydocker +bindd = SUPER, G, Signal, exec, uwsm app -- signal-desktop +bindd = SUPER, O, Obsidian, exec, uwsm app -- obsidian -disable-gpu +bindd = SUPER, slash, Passwords, exec, uwsm app -- 1password + +# If your web app url contains #, type it as ## to prevent hyperland treat it as comments +bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" +bindd = SUPER SHIFT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" +bindd = SUPER, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" +bindd = SUPER, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" +bindd = SUPER, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" +bindd = SUPER SHIFT, G, WhatsApp, exec, omarchy-launch-webapp "https://web.whatsapp.com/" +bindd = SUPER ALT, G, Google Messages, exec, omarchy-launch-webapp "https://messages.google.com/web/conversations" +bindd = SUPER, X, X, exec, omarchy-launch-webapp "https://x.com/" +bindd = SUPER SHIFT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" + +# Overwrite existing bindings, like putting Omarchy Menu on Super + Space +# unbind = SUPER, Space +# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu + +# keybinds for special workspaces +bind = SUPER, S, togglespecialworkspace, slack +bind = SUPER, period, togglespecialworkspace, 1password +bind = SUPER, Z, togglespecialworkspace, creddy + +# I'm used to super+L to lock screen +bind = SUPER, L, exec, omarchy-lock-screen diff --git a/dot_config/hypr/envs.conf b/dot_config/hypr/envs.conf new file mode 100644 index 0000000..53e0825 --- /dev/null +++ b/dot_config/hypr/envs.conf @@ -0,0 +1,3 @@ +# Extra env variables +# Note: You must relaunch Hyprland after changing envs (use Super+Esc, then Relaunch) +# env = MY_GLOBAL_ENV,setting diff --git a/dot_config/hypr/hypridle.conf b/dot_config/hypr/hypridle.conf new file mode 100644 index 0000000..f2245a7 --- /dev/null +++ b/dot_config/hypr/hypridle.conf @@ -0,0 +1,22 @@ +general { + lock_cmd = omarchy-lock-screen # lock screen and 1password + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. + inhibit_sleep = 3 # wait until screen is locked +} + +listener { + timeout = 150 # 2.5min + on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already) +} + +listener { + timeout = 300 # 5min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 330 # 5.5min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected +} diff --git a/dot_config/hypr/hyprland.conf b/dot_config/hypr/hyprland.conf new file mode 100644 index 0000000..e03c300 --- /dev/null +++ b/dot_config/hypr/hyprland.conf @@ -0,0 +1,19 @@ +# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ + +# Use defaults Omarchy defaults (but don't edit these directly!) +source = ~/.local/share/omarchy/default/hypr/autostart.conf +source = ~/.local/share/omarchy/default/hypr/bindings/media.conf +source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf +source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf +source = ~/.local/share/omarchy/default/hypr/envs.conf +source = ~/.local/share/omarchy/default/hypr/looknfeel.conf +source = ~/.local/share/omarchy/default/hypr/input.conf +source = ~/.local/share/omarchy/default/hypr/windows.conf +source = ~/.config/omarchy/current/theme/hyprland.conf + +# Change your own setup in these files (and overwrite any settings from defaults!) +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/input.conf +source = ~/.config/hypr/bindings.conf +source = ~/.config/hypr/envs.conf +source = ~/.config/hypr/autostart.conf diff --git a/dot_config/hypr/hyprlock.conf b/dot_config/hypr/hyprlock.conf new file mode 100644 index 0000000..f3e8159 --- /dev/null +++ b/dot_config/hypr/hyprlock.conf @@ -0,0 +1,37 @@ +source = ~/.config/omarchy/current/theme/hyprlock.conf + +background { + monitor = + color = $color +} + +animations { + enabled = false +} + +input-field { + monitor = + size = 600, 100 + position = 0, 0 + halign = center + valign = center + + inner_color = $inner_color + outer_color = $outer_color + outline_thickness = 4 + + font_family = CaskaydiaMono Nerd Font + font_color = $font_color + + placeholder_text =   Enter Password 󰈷  + check_color = $check_color + fail_text = $PAMFAIL ($ATTEMPTS) + + rounding = 0 + shadow_passes = 0 + fade_on_empty = false +} + +auth { + fingerprint:enabled = true +} diff --git a/dot_config/hypr/hyprsunset.conf b/dot_config/hypr/hyprsunset.conf new file mode 100644 index 0000000..1827445 --- /dev/null +++ b/dot_config/hypr/hyprsunset.conf @@ -0,0 +1,6 @@ +# Makes hyprsunset do nothing to the screen by default +# Without this, the default applies some tint to the monitor +profile { + time = 00:00 + identity = true +} \ No newline at end of file diff --git a/dot_config/hypr/input.conf b/dot_config/hypr/input.conf new file mode 100644 index 0000000..533a6bb --- /dev/null +++ b/dot_config/hypr/input.conf @@ -0,0 +1,29 @@ +# Control your input devices +# See https://wiki.hypr.land/Configuring/Variables/#input +input { + # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt + # kb_layout = us,dk,eu + kb_layout = us + kb_options = compose:ralt # ,grp:alts_toggle + + # Change speed of keyboard repeat + repeat_rate = 40 + repeat_delay = 600 + + # Increase sensitity for mouse/trackpack (default: 0) + # sensitivity = 0.35 + + touchpad { + # Use natural (inverse) scrolling + # natural_scroll = true + + # Use two-finger clicks for right-click instead of lower-right corner + # clickfinger_behavior = true + + # Control the speed of your scrolling + scroll_factor = 0.4 + } +} + +# Scroll faster in the terminal +windowrule = scrolltouchpad 1.5, class:Alacritty diff --git a/dot_config/hypr/monitors.conf b/dot_config/hypr/monitors.conf new file mode 100644 index 0000000..786b0be --- /dev/null +++ b/dot_config/hypr/monitors.conf @@ -0,0 +1,29 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +# List current monitors and resolutions possible: hyprctl monitors +# Format: monitor = [port], resolution, position, scale +# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch) + +# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. +env = GDK_SCALE,2 +monitor = , preferred, auto, auto + +# 4k monitor +# monitor = DP-9, 3840x2160, 0x0, 1.5 +# hi-refresh monitor +# monitor = DP-10, 2560x1440, 2560x0, 1 +# built-in monitor +# monitor = eDP-1, preferred, auto-right, 1.33 + + + +# Good compromise for 27" or 32" 4K monitors (but fractional!) +# env = GDK_SCALE,1.75 +# monitor=,preferred,auto,1.666667 + +# Straight 1x setup for low-resolution displays like 1080p or 1440p +# env = GDK_SCALE,1 +# monitor=,preferred,auto,1 + +# Example for Framework 13 w/ 6K XDR Apple display +# monitor = DP-5, 6016x3384@60, auto, 2 +# monitor = eDP-1, 2880x1920@120, auto, 2 diff --git a/dot_config/hypr/workspaces.conf b/dot_config/hypr/workspaces.conf new file mode 100644 index 0000000..4e50e00 --- /dev/null +++ b/dot_config/hypr/workspaces.conf @@ -0,0 +1,3 @@ +workspace = 1, monitor:DP-11 +workspace = 2, monitor:DP-12 +workspace = 3, monitor:eDP-1 diff --git a/dot_config/kanshi/config b/dot_config/kanshi/config new file mode 100644 index 0000000..ec1264f --- /dev/null +++ b/dot_config/kanshi/config @@ -0,0 +1,10 @@ +profile desktop { + output "Samsung Electric Company LS27A800U HCJW301093" mode 3840x2160 position 0,0 scale 1.5 + output "Seanix Technology Inc NX-EDG27X C6F0K3CN07UL" mode 2560x1440@120.00Hz position 2560,0 + output eDP-1 mode 2256x1504 position 5120,0 scale 1.333333 + exec ~/.local/bin/assign-workspace-monitors +} + +profile laptop { + output eDP-1 mode 2256x1504 position 5120,0 scale 1.333333 +} diff --git a/dot_config/mise/config.toml b/dot_config/mise/config.toml new file mode 100644 index 0000000..4d4d8c6 --- /dev/null +++ b/dot_config/mise/config.toml @@ -0,0 +1,12 @@ +[settings] +idiomatic_version_file_enable_tools = ["ruby"] + +[settings.ruby] +ruby_build_opts = "CC=gcc-14 CXX=g++-14" + +[tools] +chezmoi = "latest" +cosign = "latest" +mold = "latest" +node = "lts" +rust = "latest" diff --git a/dot_local/bin/symlink_zed b/dot_local/bin/symlink_zed new file mode 100644 index 0000000..974fdb0 --- /dev/null +++ b/dot_local/bin/symlink_zed @@ -0,0 +1 @@ +/usr/bin/zeditor