commit 47d33a59a9be8400d0376330453928b77ecc01ed Author: Milan Martin Jäckel Date: Fri Jun 26 18:38:59 2026 +0200 Initial omarchy setup scripts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..263cc87 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +*.log +*.cache +.cache/ +.DS_Store +Thumbs.db + +*.backup +*.backup.* + +node_modules/ +__pycache__/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..f3b829b --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Milan's Omarchy Config + +## Install + +```bash +git clone https://git.ta52.dk/milan/omarchy-config.git + +cd omarchy-config + +chmod +x install.sh + +./install.sh +``` + +## Update repository + +After changing your setup: + +```bash +./backup.sh + +git add . + +git commit -m "Update" + +git push +``` diff --git a/aur-packages.txt b/aur-packages.txt new file mode 100644 index 0000000..66cb38f --- /dev/null +++ b/aur-packages.txt @@ -0,0 +1,13 @@ +asciiquarium-transparent-git +balena-etcher +bibata-cursor-theme-bin +cutechess +hyprmod-git +kdeconnect-git +lmms-git +lunacy-bin +penguins-eggs +stockfish +teams-for-linux +virtualbox-bin +zen-browser-bin diff --git a/backup.sh b/backup.sh new file mode 100644 index 0000000..8c6b724 --- /dev/null +++ b/backup.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +set -euo pipefail + +echo "Updating package lists..." + +pacman -Qqe > packages.txt +pacman -Qqem > aur-packages.txt +pacman -Qe > installed-packages-full.txt + +echo "Updating configs..." + +rm -rf configs + +mkdir configs + +cp -r ~/.config/omarchy configs/ +cp -r ~/.config/hypr configs/ +cp -r ~/.config/waybar configs/ +cp -r ~/.config/walker configs/ +cp -r ~/.config/ghostty configs/ +cp -r ~/.config/kitty configs/ +cp -r ~/.config/mako configs/ +cp -r ~/.config/nvim configs/ +cp -r ~/.config/fastfetch configs/ + +cp ~/.config/starship.toml configs/ +cp ~/.config/mimeapps.list configs/ + +echo "Updating services..." + +systemctl --user list-unit-files --state=enabled > system/user-services.txt + +sudo systemctl list-unit-files --state=enabled > system/system-services.txt + +echo +echo "Done!" +echo +echo "Review changes:" +echo "git diff" diff --git a/configs/fastfetch/config.jsonc b/configs/fastfetch/config.jsonc new file mode 100644 index 0000000..ea6b59e --- /dev/null +++ b/configs/fastfetch/config.jsonc @@ -0,0 +1,156 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "type": "file", + "source": "~/.config/omarchy/branding/about.txt", + "color": { "1": "green" }, + "padding": { + "top": 2, + "right": 6, + "left": 2 + } + }, + "modules": [ + "break", + { + "type": "custom", + "format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐" + }, + { + "type": "host", + "key": " PC", + "keyColor": "green" + }, + { + "type": "cpu", + "key": "│ ├", + "showPeCoreCount": true, + "keyColor": "green" + }, + { + "type": "gpu", + "key": "│ ├", + "detectionMethod": "pci", + "keyColor": "green" + }, + { + "type": "display", + "key": "│ ├󱄄", + "keyColor": "green" + }, + { + "type": "disk", + "key": "│ ├󰋊", + "keyColor": "green" + }, + { + "type": "memory", + "key": "│ ├", + "keyColor": "green" + }, + { + "type": "swap", + "key": "└ └󰓡 ", + "keyColor": "green" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "\u001b[90m┌──────────────────────Software──────────────────────┐" + }, + { + "type": "command", + "key": "\ue900 OS", + "keyColor": "blue", + "text": "version=$(omarchy-version); echo \"Omarchy $version\"" + }, + { + "type": "command", + "key": "│ ├󰘬", + "keyColor": "blue", + "text": "branch=$(omarchy-version-branch); echo \"$branch\"" + }, + { + "type": "command", + "key": "│ ├󰔫", + "keyColor": "blue", + "text": "channel=$(omarchy-version-channel); echo \"$channel\"" + }, + { + "type": "kernel", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "wm", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "de", + "key": " DE", + "keyColor": "blue" + }, + { + "type": "terminal", + "key": "│ ├", + "keyColor": "blue" + }, + { + "type": "packages", + "key": "│ ├󰏖", + "keyColor": "blue" + }, + { + "type": "wmtheme", + "key": "│ ├󰉼", + "keyColor": "blue" + }, + { + "type": "command", + "key": "│ ├󰸌", + "keyColor": "blue", + "text": "theme=$(omarchy-theme-current); echo -e \"$theme \\e[38m●\\e[37m●\\e[36m●\\e[35m●\\e[34m●\\e[33m●\\e[32m●\\e[31m●\"" + }, + { + "type": "terminalfont", + "key": "└ └", + "keyColor": "blue" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "\u001b[90m┌────────────────Age / Uptime / Update───────────────┐" + }, + { + "type": "command", + "key": "󱦟 OS Age", + "keyColor": "magenta", + "text": "echo $(( ($(date +%s) - $(stat -c %W /)) / 86400 )) days" + }, + { + "type": "uptime", + "key": "󱫐 Uptime", + "keyColor": "magenta" + }, + { + "type": "command", + "key": " Update", + "keyColor": "magenta", + "text": "updated=$(omarchy-version-pkgs); echo \"$updated\"" + }, + { + "type": "custom", + "format": "\u001b[90m└────────────────────────────────────────────────────┘" + }, + "break" + ] +} diff --git a/configs/ghostty/config b/configs/ghostty/config new file mode 100644 index 0000000..dc30bd4 --- /dev/null +++ b/configs/ghostty/config @@ -0,0 +1,37 @@ +# Dynamic theme colors +config-file = ?"~/.config/omarchy/current/theme/ghostty.conf" + +# Font +font-family = "JetBrainsMonoNL Nerd Font" +font-style = Regular +font-size = 9 + +# Window +window-theme = ghostty +window-padding-x = 14 +window-padding-y = 14 +confirm-close-surface=false +resize-overlay = never +gtk-toolbar-style = flat + +# Cursor styling +cursor-style = "block" +cursor-style-blink = false + +# Cursor styling + SSH session terminfo +# (all shell integration options must be passed together) +shell-integration-features = no-cursor,ssh-env + +# Keyboard bindings +keybind = shift+insert=paste_from_clipboard +keybind = control+insert=copy_to_clipboard +keybind = super+control+shift+alt+arrow_down=resize_split:down,100 +keybind = super+control+shift+alt+arrow_up=resize_split:up,100 +keybind = super+control+shift+alt+arrow_left=resize_split:left,100 +keybind = super+control+shift+alt+arrow_right=resize_split:right,100 + +# Slowdown mouse scrolling +mouse-scroll-multiplier = 0.95 + +# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224) +async-backend = epoll diff --git a/configs/hypr/autostart.conf b/configs/hypr/autostart.conf new file mode 100644 index 0000000..708b3a2 --- /dev/null +++ b/configs/hypr/autostart.conf @@ -0,0 +1,2 @@ +# Extra autostart processes +# exec-once = uwsm-app -- my-service diff --git a/configs/hypr/bindings.conf b/configs/hypr/bindings.conf new file mode 100644 index 0000000..a4ec711 --- /dev/null +++ b/configs/hypr/bindings.conf @@ -0,0 +1,42 @@ +# Application bindings +bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" +bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" bash -c "tmux attach || tmux new -s Work" +bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser +bindd = SUPER, E, File manager, exec, uwsm-app -- nautilus --new-window +bindd = SUPER ALT SHIFT, E, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" +bindd = SUPER, B, Browser, exec, uwsm-app -- firefox +bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser +bindd = SUPER SHIFT ALT, B, Browser (private), exec, omarchy-launch-browser --private +bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify +bindd = SUPER SHIFT ALT, M, Music TUI, exec, omarchy-launch-or-focus-tui cliamp +bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor +bindd = SUPER SHIFT, D, Docker, exec, omarchy-launch-tui lazydocker +bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop" +bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian" +bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime +bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password + +# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment +bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" +bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" +bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" +#bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" +bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" +bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" +bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations" +bindd = SUPER SHIFT, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Google Photos" "https://photos.google.com/" +bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/" +bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" + +bindd = SHIFT, SPACE, Omarchy menu, exec, omarchy-launch-walker +# Add extra bindings +# bind = SUPER SHIFT, R, exec, alacritty -e ssh your-server +# +# Overwrite existing bindings, like putting Omarchy Menu on Super + Space +# unbind = SUPER, SPACE +# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu + +# Logitech MX Keys +# bind = SUPER SHIFT, S, exec, omarchy-capture-screenshot # Print Screen Button +# bind = SUPER, H, exec, voxtype record toggle # Dictation Button +# bind = SUPER, PERIOD, exec, omarchy-launch-walker -m symbols # Emoji Button diff --git a/configs/hypr/envs.conf b/configs/hypr/envs.conf new file mode 100644 index 0000000..47c8499 --- /dev/null +++ b/configs/hypr/envs.conf @@ -0,0 +1,8 @@ + +env = XCURSOR_THEME,Moga-Candy-Black +env = XCURSOR_SIZE,18 + +# NVIDIA (Turing+ with GSP firmware) +env = NVD_BACKEND,direct +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia diff --git a/configs/hypr/hypridle.conf b/configs/hypr/hypridle.conf new file mode 100644 index 0000000..08b27ef --- /dev/null +++ b/configs/hypr/hypridle.conf @@ -0,0 +1,19 @@ +general { + lock_cmd = omarchy-system-lock # lock screen and 1password + before_sleep_cmd = OMARCHY_LOCK_ONLY=true omarchy-system-lock # lock before suspend without scheduling display off. + after_sleep_cmd = sleep 1 && omarchy-system-wake # delay for PAM readiness, then turn on display. + inhibit_sleep = 3 # wait until screen is locked +} + +# Start screensaver after 2.5 minutes +listener { + timeout = 150 + on-timeout = pidof hyprlock || omarchy-launch-screensaver +} + +# Lock system after 5 minutes (screensaver resets idle timer, so have to just do half + 2s margin) +listener { + timeout = 152 + on-timeout = omarchy-system-lock + on-resume = omarchy-system-wake +} diff --git a/configs/hypr/hypridle.conf.bak.1778494830 b/configs/hypr/hypridle.conf.bak.1778494830 new file mode 100644 index 0000000..7d00327 --- /dev/null +++ b/configs/hypr/hypridle.conf.bak.1778494830 @@ -0,0 +1,28 @@ +general { + lock_cmd = omarchy-system-lock # lock screen and 1password + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = sleep 1 && hyprctl dispatch dpms on # delay for PAM readiness, then turn on 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 = 151 # 5min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 330 # 5.5min + on-timeout = brightnessctl -sd '*::kbd_backlight' set 0 # save state and turn off keyboard backlight + on-resume = brightnessctl -rd '*::kbd_backlight' # restore keyboard backlight +} + +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/configs/hypr/hyprland-gui.conf b/configs/hypr/hyprland-gui.conf new file mode 100644 index 0000000..34063a9 --- /dev/null +++ b/configs/hypr/hyprland-gui.conf @@ -0,0 +1,14 @@ +# Generated by HyprMod + +decoration:inactive_opacity = 0.90 +decoration:rounding = 4 +general:border_size = 1 +general:col.active_border = 0xff99c1f1 45deg +general:gaps_out = 3 +general:gaps_in = 1 +gestures:workspace_swipe_touch = true +input:natural_scroll = true +input:touchpad:natural_scroll = true + +# Animations +animation = workspaces, 1, 1.0, default diff --git a/configs/hypr/hyprland.conf b/configs/hypr/hyprland.conf new file mode 100644 index 0000000..0ffc0e9 --- /dev/null +++ b/configs/hypr/hyprland.conf @@ -0,0 +1,32 @@ +# Learn how to configure Hyprland: https://wiki.hypr.land/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/clipboard.conf +source = ~/.local/share/omarchy/default/hypr/bindings/tiling-v2.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/looknfeel.conf +source = ~/.config/hypr/autostart.conf + +# Toggle config flags dynamically +source = ~/.local/state/omarchy/toggles/hypr/*.conf + +# Add any other personal Hyprland configuration below +# windowrule = workspace 5, match:class qemu + +# HyprMod managed settings +source = /home/milan/.config/hypr/hyprland-gui.conf + +env = XCURSOR_THEME,Bibata-Modern-Classic +env = XCURSOR_SIZE,18 diff --git a/configs/hypr/hyprlock.conf b/configs/hypr/hyprlock.conf new file mode 100644 index 0000000..97c37ab --- /dev/null +++ b/configs/hypr/hyprlock.conf @@ -0,0 +1,43 @@ +source = ~/.config/omarchy/current/theme/hyprlock.conf + +general { + ignore_empty_input = true +} + +background { + monitor = + color = $color + path = ~/.config/omarchy/current/background + blur_passes = 3 +} + +animations { + enabled = false +} + +input-field { + monitor = + size = 650, 100 + position = 0, 0 + halign = center + valign = center + + inner_color = $inner_color + outer_color = $outer_color + outline_thickness = 4 + + font_family = JetBrainsMonoNL Nerd Font + font_color = $font_color + + placeholder_text = Enter Password + check_color = $check_color + fail_text = $FAIL ($ATTEMPTS) + + rounding = 0 + shadow_passes = 0 + fade_on_empty = false +} + +auth { + fingerprint:enabled = false +} diff --git a/configs/hypr/hyprsunset.conf b/configs/hypr/hyprsunset.conf new file mode 100644 index 0000000..c4d0f8d --- /dev/null +++ b/configs/hypr/hyprsunset.conf @@ -0,0 +1,14 @@ +# Makes hyprsunset do nothing to the screen by default +# Without this, the default applies some tint to the monitor +profile { + time = 07:00 + identity = true +} + +# To enable auto switch to nightlight, set in your .config/hypr/autostart: +# exec-once = uwsm app -- hyprsunset +# and use the following: +# profile { +# time = 20:00 +# temperature = 4000 +# } diff --git a/configs/hypr/input.conf b/configs/hypr/input.conf new file mode 100644 index 0000000..a33e4df --- /dev/null +++ b/configs/hypr/input.conf @@ -0,0 +1,60 @@ +# Control your input devices +# See https://wiki.hypr.land/Configuring/Basics/Variables/#input +input { + # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt + # kb_layout = us,dk,eu + + # Use a specific keyboard variant if needed (e.g. intl for international keyboards) + # kb_variant = intl + + kb_layout = dk + kb_options = compose:caps # ,grp:alts_toggle + + # Change speed of keyboard repeat + repeat_rate = 40 + repeat_delay = 250 + + # Start with numlock on by default + numlock_by_default = true + + # Increase sensitivity for mouse/trackpad (default: 0) + # sensitivity = 0.35 + + # Turn off mouse acceleration (default: adaptive) + # accel_profile = flat + + 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 + + # Enable the touchpad while typing + # disable_while_typing = false + + # Left-click-and-drag with three fingers + # drag_3fg = 1 + } +} + +# Scroll nicely in the terminal +windowrule = match:class (Alacritty|kitty|foot), scroll_touchpad 1.5 +windowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2 + +# Natural scroll for mouse only +device { + name = logitech-lenovo-usb-optical-mouse + natural_scroll = false +} + +# 4-finger swipe: left → next workspace, right → previous workspace +gesture = 4, left, dispatcher, workspace, e+1 +gesture = 4, right, dispatcher, workspace, e-1 + +# 3-finger swipe: left → next window, right → previous window +gesture = 3, left, dispatcher, cyclenext +gesture = 3, right, dispatcher, cyclenext, prev diff --git a/configs/hypr/looknfeel.conf b/configs/hypr/looknfeel.conf new file mode 100644 index 0000000..984e315 --- /dev/null +++ b/configs/hypr/looknfeel.conf @@ -0,0 +1,42 @@ +# Change the default Omarchy look'n'feel + +# https://wiki.hypr.land/Configuring/Basics/Variables/#general +general { + # No gaps between windows or borders + # gaps_in = 0 + # gaps_out = 0 + # border_size = 0 + + # Change to niri-like side-scrolling layout + # layout = scrolling +} + +# https://wiki.hypr.land/Configuring/Basics/Variables/#decoration +decoration { + # Use round window corners + # rounding = 8 + + # Dim unfocused windows (0.0 = no dim, 1.0 = fully dimmed) + # dim_inactive = true + # dim_strength = 0.15 +} + +# https://wiki.hypr.land/Configuring/Basics/Variables/#animations +animations { + # Disable all animations + # enabled = no +} + +# https://wiki.hypr.land/Configuring/Basics/Variables/#layout +layout { + # Avoid overly wide single-window layouts on wide screens + # single_window_aspect_ratio = 1 1 +} + +# Fix default config compatibility with Hyprland 0.55+ +# The default looknfeel.conf uses -1 for locked border colors, +# which newer Hyprland rejects (needs proper color values) +group { + col.border_locked_active = $inactiveBorderColor + col.border_locked_inactive = $inactiveBorderColor +} diff --git a/configs/hypr/monitors.conf b/configs/hypr/monitors.conf new file mode 100644 index 0000000..226f6a2 --- /dev/null +++ b/configs/hypr/monitors.conf @@ -0,0 +1,26 @@ +# See https://wiki.hypr.land/Configuring/Basics/Monitors/ +# List current monitors and resolutions possible: hyprctl monitors +# Format: monitor = [port], resolution, position, scale + +# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. +#env = GDK_SCALE,1 +#monitor=,preferred,auto,auto + +# Good compromise for 27" or 32" 4K monitors (but fractional!) +# env = GDK_SCALE,1.75 +# monitor=,preferred,auto,1.6 + +# Straight 1x setup for low-resolution displays like 1080p or 1440p +# Or for ultrawide monitors like 34" 3440x1440 or 49" 5120x1440 +env = GDK_SCALE,1 +monitor=,preferred,auto,1.25 + +# Portrait/rotated secondary monitor (transform: 1 = 90°, 3 = 270°) +# monitor = DP-2, preferred, auto, 1, transform, 1 + +# Example for Framework 13 w/ 6K XDR Apple display +# monitor = DP-5, 6016x3384@60, auto, 2 +# monitor = eDP-1, 2880x1920@120, auto, 2 + +# Disable the second ghost monitor on an Apple 6K XDR over Thunderbolt +# monitor=DP-2,disable diff --git a/configs/hypr/xdph.conf b/configs/hypr/xdph.conf new file mode 100644 index 0000000..63b66be --- /dev/null +++ b/configs/hypr/xdph.conf @@ -0,0 +1,4 @@ +screencopy { + allow_token_by_default = true + custom_picker_binary = hyprland-preview-share-picker +} diff --git a/configs/kitty/kitty.conf b/configs/kitty/kitty.conf new file mode 100644 index 0000000..b6867b0 --- /dev/null +++ b/configs/kitty/kitty.conf @@ -0,0 +1,30 @@ +include ~/.config/omarchy/current/theme/kitty.conf + +# Font +font_family JetBrainsMonoNL Nerd Font +bold_italic_font auto +font_size 9.0 + +# Window +window_padding_width 14 +hide_window_decorations yes +confirm_os_window_close 0 + +# Keybindings +map ctrl+insert copy_to_clipboard +map shift+insert paste_from_clipboard + +# Allow remote access +allow_remote_control yes + +# Aesthetics +cursor_shape block +cursor_blink_interval 0 +shell_integration no-cursor +enable_audio_bell no + +# Minimal Tab bar styling +tab_bar_edge bottom +tab_bar_style powerline +tab_powerline_style slanted +tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''} diff --git a/configs/mako/config b/configs/mako/config new file mode 120000 index 0000000..497a0f3 --- /dev/null +++ b/configs/mako/config @@ -0,0 +1 @@ +/home/milan/.config/omarchy/current/theme/mako.ini \ No newline at end of file diff --git a/configs/mimeapps.list b/configs/mimeapps.list new file mode 100644 index 0000000..f2a5e08 --- /dev/null +++ b/configs/mimeapps.list @@ -0,0 +1,66 @@ +[Default Applications] +text/plain=nvim.desktop +text/english=nvim.desktop +text/x-makefile=nvim.desktop +text/x-c++hdr=nvim.desktop +text/x-c++src=nvim.desktop +text/x-chdr=nvim.desktop +text/x-csrc=nvim.desktop +text/x-java=nvim.desktop +text/x-moc=nvim.desktop +text/x-pascal=nvim.desktop +text/x-tcl=nvim.desktop +text/x-tex=nvim.desktop +application/x-shellscript=nvim.desktop +text/x-c=nvim.desktop +text/x-c++=nvim.desktop +application/xml=nvim.desktop +text/xml=nvim.desktop +inode/directory=org.gnome.Nautilus.desktop +image/png=imv.desktop +image/jpeg=imv.desktop +image/gif=imv.desktop +image/webp=imv.desktop +image/bmp=imv.desktop +image/tiff=imv.desktop +application/pdf=org.gnome.Evince.desktop +text/html=firefox.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/about=firefox.desktop +x-scheme-handler/unknown=firefox.desktop +video/mp4=mpv.desktop +video/x-msvideo=mpv.desktop +video/x-matroska=mpv.desktop +video/x-flv=mpv.desktop +video/x-ms-wmv=mpv.desktop +video/mpeg=mpv.desktop +video/ogg=mpv.desktop +video/webm=mpv.desktop +video/quicktime=mpv.desktop +video/3gpp=mpv.desktop +video/3gpp2=mpv.desktop +video/x-ms-asf=mpv.desktop +video/x-ogm+ogg=mpv.desktop +video/x-theora+ogg=mpv.desktop +application/ogg=mpv.desktop +x-scheme-handler/mailto=HEY.desktop +x-scheme-handler/chrome=zen.desktop +application/x-extension-htm=zen.desktop +application/x-extension-html=zen.desktop +application/x-extension-shtml=zen.desktop +application/xhtml+xml=zen.desktop +application/x-extension-xhtml=zen.desktop +application/x-extension-xht=zen.desktop + +[Added Associations] +x-scheme-handler/http=zen.desktop; +x-scheme-handler/https=zen.desktop; +x-scheme-handler/chrome=zen.desktop; +text/html=zen.desktop; +application/x-extension-htm=zen.desktop; +application/x-extension-html=zen.desktop; +application/x-extension-shtml=zen.desktop; +application/xhtml+xml=zen.desktop; +application/x-extension-xhtml=zen.desktop; +application/x-extension-xht=zen.desktop; diff --git a/configs/nvim/.gitignore b/configs/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/configs/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/configs/nvim/.neoconf.json b/configs/nvim/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/configs/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/configs/nvim/LICENSE b/configs/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/configs/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/configs/nvim/README.md b/configs/nvim/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/configs/nvim/README.md @@ -0,0 +1,4 @@ +# 💤 LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/configs/nvim/init.lua b/configs/nvim/init.lua new file mode 100644 index 0000000..2514f9e --- /dev/null +++ b/configs/nvim/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/configs/nvim/lazy-lock.json b/configs/nvim/lazy-lock.json new file mode 100644 index 0000000..5f23f97 --- /dev/null +++ b/configs/nvim/lazy-lock.json @@ -0,0 +1,53 @@ +{ + "LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" }, + "aether.nvim": { "branch": "v3", "commit": "50643b773cf509080bcc7da361a81392d0edc9db" }, + "bamboo.nvim": { "branch": "master", "commit": "1309bc88bffcf1bedc3e84e7fa9004de93da774a" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" }, + "conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" }, + "ethereal.nvim": { "branch": "main", "commit": "a0ec73332e537228981b6a4f465cef82bb3e1d36" }, + "everforest": { "branch": "master", "commit": "aeef62ee97872d2557d25904d160ec93a4a355f8" }, + "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, + "flexoki-neovim": { "branch": "main", "commit": "c3e2251e813d29d885a7cbbe9808a7af234d845d" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, + "gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" }, + "grug-far.nvim": { "branch": "main", "commit": "21604255d0e8f9968322f61f2b6c09e5efe1285a" }, + "gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" }, + "hackerman.nvim": { "branch": "main", "commit": "8134000fa4de5036d1af519774c3e373887226e3" }, + "kanagawa.nvim": { "branch": "master", "commit": "8ad3b4cdcc804b332c32db8f9743667e1bb82b99" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" }, + "lualine.nvim": { "branch": "master", "commit": "a905eeebc4e63fdc48b5135d3bf8aea5618fb21c" }, + "lumon.nvim": { "branch": "master", "commit": "f8ce95213e57b379089da23abc36a1fc39936b63" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0a3b42c3e503df87aef6d6513e13148381495c3a" }, + "mason.nvim": { "branch": "main", "commit": "12ddd182d9efbdc848b540f16484a583d52da0fb" }, + "matteblack.nvim": { "branch": "main", "commit": "a8a039f5d6189b28d76fa0221e64965efec7e996" }, + "miasma.nvim": { "branch": "main", "commit": "466456f08d1a114c983c0d24e8fc01339e3b0a27" }, + "mini.ai": { "branch": "main", "commit": "43eb2074843950a3a25aae56a5f41362ec043bfa" }, + "mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" }, + "mini.pairs": { "branch": "main", "commit": "42387c7fe68fc0b6e95eaf37f1bb76e7bffaa0d9" }, + "monokai-pro.nvim": { "branch": "master", "commit": "d8884d4473667c48bd17a68d08383d38839136a3" }, + "neo-tree.nvim": { "branch": "main", "commit": "4d0828d95adaf4250c1373d2cd9318d3509712b7" }, + "nightfox.nvim": { "branch": "main", "commit": "26b61b1f856ec37cae3cb64f5690adb955f246a1" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" }, + "nvim-lspconfig": { "branch": "master", "commit": "e146efacbafed3789ac568abcc5a981c5decaa58" }, + "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, + "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, + "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, + "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "retro-82.nvim": { "branch": "master", "commit": "8f81d59140b0a1a07e14b095f113b7883401eb35" }, + "rose-pine": { "branch": "main", "commit": "9504524e5ed0e326534698f637f9d038ba4cd0ee" }, + "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, + "vantablack.nvim": { "branch": "main", "commit": "8a05ea96343914f1001e937b4fa7d9d44b51d221" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }, + "white.nvim": { "branch": "main", "commit": "e3c3c3cc4b943b521032299e4f9b0d84a02e06d1" } +} diff --git a/configs/nvim/lazyvim.json b/configs/nvim/lazyvim.json new file mode 100644 index 0000000..71fc832 --- /dev/null +++ b/configs/nvim/lazyvim.json @@ -0,0 +1,10 @@ +{ + "extras": [ + "lazyvim.plugins.extras.editor.neo-tree" + ], + "install_version": 8, + "news": { + "NEWS.md": "10960" + }, + "version": 8 +} \ No newline at end of file diff --git a/configs/nvim/lua/config/autocmds.lua b/configs/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..4221e75 --- /dev/null +++ b/configs/nvim/lua/config/autocmds.lua @@ -0,0 +1,8 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- +-- Add any additional autocmds here +-- with `vim.api.nvim_create_autocmd` +-- +-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults) +-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell") diff --git a/configs/nvim/lua/config/keymaps.lua b/configs/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/configs/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/configs/nvim/lua/config/lazy.lua b/configs/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..d73bfa1 --- /dev/null +++ b/configs/nvim/lua/config/lazy.lua @@ -0,0 +1,53 @@ +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) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { + enabled = true, -- check for plugin updates periodically + notify = false, -- notify on update + }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/configs/nvim/lua/config/options.lua b/configs/nvim/lua/config/options.lua new file mode 100644 index 0000000..f8b335b --- /dev/null +++ b/configs/nvim/lua/config/options.lua @@ -0,0 +1,4 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +vim.opt.relativenumber = false diff --git a/configs/nvim/lua/plugins/all-themes.lua b/configs/nvim/lua/plugins/all-themes.lua new file mode 100644 index 0000000..bff3343 --- /dev/null +++ b/configs/nvim/lua/plugins/all-themes.lua @@ -0,0 +1,101 @@ +return { + -- Load all theme plugins but don't apply them + -- This ensures all colorschemes are available for hot-reloading + { + "ribru17/bamboo.nvim", + lazy = true, + priority = 1000, + }, + { + "bjarneo/aether.nvim", + lazy = true, + priority = 1000, + }, + { + "bjarneo/ethereal.nvim", + lazy = true, + priority = 1000, + }, + { + "bjarneo/hackerman.nvim", + lazy = true, + priority = 1000, + }, + { + "bjarneo/vantablack.nvim", + lazy = true, + priority = 1000, + }, + { + "bjarneo/white.nvim", + lazy = true, + priority = 1000, + }, + { + "catppuccin/nvim", + name = "catppuccin", + lazy = true, + priority = 1000, + }, + { + "sainnhe/everforest", + lazy = true, + priority = 1000, + }, + { + "kepano/flexoki-neovim", + lazy = true, + priority = 1000, + }, + { + "ellisonleao/gruvbox.nvim", + lazy = true, + priority = 1000, + }, + { + "rebelot/kanagawa.nvim", + lazy = true, + priority = 1000, + }, + { + "tahayvr/matteblack.nvim", + lazy = true, + priority = 1000, + }, + { + "loctvl842/monokai-pro.nvim", + lazy = true, + priority = 1000, + }, + { + "shaunsingh/nord.nvim", + lazy = true, + priority = 1000, + }, + { + "rose-pine/neovim", + name = "rose-pine", + lazy = true, + priority = 1000, + }, + { + "folke/tokyonight.nvim", + lazy = true, + priority = 1000, + }, + { + "OldJobobo/miasma.nvim", + lazy = true, + priority = 1000, + }, + { + "OldJobobo/retro-82.nvim", + lazy = true, + priority = 1000, + }, + { + "omacom-io/lumon.nvim", + lazy = true, + priority = 1000, + }, +} diff --git a/configs/nvim/lua/plugins/disable-news-alert.lua b/configs/nvim/lua/plugins/disable-news-alert.lua new file mode 100644 index 0000000..5b3cd76 --- /dev/null +++ b/configs/nvim/lua/plugins/disable-news-alert.lua @@ -0,0 +1,9 @@ +return { + "LazyVim/LazyVim", + opts = { + news = { + lazyvim = false, + neovim = false, + }, + }, +} diff --git a/configs/nvim/lua/plugins/example.lua b/configs/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..17f53d6 --- /dev/null +++ b/configs/nvim/lua/plugins/example.lua @@ -0,0 +1,197 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, { name = "emoji" }) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").lsp.on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, { + function() + return "😄" + end, + }) + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, +} diff --git a/configs/nvim/lua/plugins/omarchy-theme-hotreload.lua b/configs/nvim/lua/plugins/omarchy-theme-hotreload.lua new file mode 100644 index 0000000..054ff29 --- /dev/null +++ b/configs/nvim/lua/plugins/omarchy-theme-hotreload.lua @@ -0,0 +1,91 @@ +return { + { + name = "theme-hotreload", + dir = vim.fn.stdpath("config"), + lazy = false, + priority = 1000, + config = function() + local transparency_file = vim.fn.stdpath("config") .. "/plugin/after/transparency.lua" + + vim.api.nvim_create_autocmd("User", { + pattern = "LazyReload", + callback = function() + -- Unload the theme module + package.loaded["plugins.theme"] = nil + + vim.schedule(function() + local ok, theme_spec = pcall(require, "plugins.theme") + if not ok then + return + end + + -- Find the theme plugin and unload it + local theme_plugin_name = nil + for _, spec in ipairs(theme_spec) do + if spec[1] and spec[1] ~= "LazyVim/LazyVim" then + theme_plugin_name = spec.name or spec[1] + break + end + end + + -- Clear all highlight groups before applying new theme + vim.cmd("highlight clear") + if vim.fn.exists("syntax_on") then + vim.cmd("syntax reset") + end + + -- Reset background to default so colorscheme can set it properly (light themes will set to light) + vim.o.background = "dark" + + -- Unload theme plugin modules to force full reload + if theme_plugin_name then + local plugin = require("lazy.core.config").plugins[theme_plugin_name] + if plugin then + -- Unload all lua modules from the plugin directory + local plugin_dir = plugin.dir .. "/lua" + require("lazy.core.util").walkmods(plugin_dir, function(modname) + package.loaded[modname] = nil + package.preload[modname] = nil + end) + end + end + + -- Find and apply the new colorscheme + for _, spec in ipairs(theme_spec) do + if spec[1] == "LazyVim/LazyVim" and spec.opts and spec.opts.colorscheme then + local colorscheme = spec.opts.colorscheme + + -- Load the colorscheme plugin + require("lazy.core.loader").colorscheme(colorscheme) + + vim.defer_fn(function() + -- Apply the colorscheme (it will set background itself) + pcall(vim.cmd.colorscheme, colorscheme) + + -- Force redraw to update all UI elements + vim.cmd("redraw!") + + -- Reload transparency settings + if vim.fn.filereadable(transparency_file) == 1 then + vim.defer_fn(function() + vim.cmd.source(transparency_file) + + -- Trigger UI updates for various plugins + vim.api.nvim_exec_autocmds("ColorScheme", { modeline = false }) + vim.api.nvim_exec_autocmds("VimEnter", { modeline = false }) + + -- Final redraw + vim.cmd("redraw!") + end, 5) + end + end, 5) + + break + end + end + end) + end, + }) + end, + }, +} diff --git a/configs/nvim/lua/plugins/snacks-animated-scrolling-off.lua b/configs/nvim/lua/plugins/snacks-animated-scrolling-off.lua new file mode 100644 index 0000000..cbb0a58 --- /dev/null +++ b/configs/nvim/lua/plugins/snacks-animated-scrolling-off.lua @@ -0,0 +1,8 @@ +return { + "folke/snacks.nvim", + opts = { + scroll = { + enabled = false, -- Disable scrolling animations + }, + }, +} diff --git a/configs/nvim/lua/plugins/theme.lua b/configs/nvim/lua/plugins/theme.lua new file mode 120000 index 0000000..b5e2cc0 --- /dev/null +++ b/configs/nvim/lua/plugins/theme.lua @@ -0,0 +1 @@ +/home/milan/.config/omarchy/current/theme/neovim.lua \ No newline at end of file diff --git a/configs/nvim/plugin/after/transparency.lua b/configs/nvim/plugin/after/transparency.lua new file mode 100644 index 0000000..add6fd6 --- /dev/null +++ b/configs/nvim/plugin/after/transparency.lua @@ -0,0 +1,59 @@ +-- Make highlight groups transparent while preserving their other attributes +local function make_transparent(name) + local ok, hl = pcall(vim.api.nvim_get_hl, 0, { name = name, link = false }) + if ok then + hl.bg = nil + vim.api.nvim_set_hl(0, name, hl) + end +end + +local groups = { + -- transparent background + "Normal", + "NormalFloat", + "FloatBorder", + "Pmenu", + "Terminal", + "EndOfBuffer", + "FoldColumn", + "Folded", + "SignColumn", + "LineNr", + "CursorLineNr", + "NormalNC", + "WhichKeyFloat", + "TelescopeBorder", + "TelescopeNormal", + "TelescopePromptBorder", + "TelescopePromptTitle", + -- neotree + "NeoTreeNormal", + "NeoTreeNormalNC", + "NeoTreeVertSplit", + "NeoTreeWinSeparator", + "NeoTreeEndOfBuffer", + -- nvim-tree + "NvimTreeNormal", + "NvimTreeVertSplit", + "NvimTreeEndOfBuffer", + -- notify + "NotifyINFOBody", + "NotifyERRORBody", + "NotifyWARNBody", + "NotifyTRACEBody", + "NotifyDEBUGBody", + "NotifyINFOTitle", + "NotifyERRORTitle", + "NotifyWARNTitle", + "NotifyTRACETitle", + "NotifyDEBUGTitle", + "NotifyINFOBorder", + "NotifyERRORBorder", + "NotifyWARNBorder", + "NotifyTRACEBorder", + "NotifyDEBUGBorder", +} + +for _, name in ipairs(groups) do + make_transparent(name) +end diff --git a/configs/nvim/stylua.toml b/configs/nvim/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/configs/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/configs/omarchy/branding/about.txt b/configs/omarchy/branding/about.txt new file mode 100644 index 0000000..bf3ea8f --- /dev/null +++ b/configs/omarchy/branding/about.txt @@ -0,0 +1,26 @@ +██████████████████████████████████████████████████████ +██████████████████████████████████████████████████████ +████ ████ ████ +████ ████ ████ +████ █████████████████████ ████████ ████ +████ █████████████████████ ████████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████████████ ████ ████ +████████████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ████ ████ ████ +████ ██████████████████████████████████████ ████ +████ ██████████████████████████████████████ ████ +████ ████ ████ +████ ████ ████ +█████████████████████████████ ████████████████████ +█████████████████████████████ ████████████████████ diff --git a/configs/omarchy/branding/screensaver.txt b/configs/omarchy/branding/screensaver.txt new file mode 100644 index 0000000..47433aa --- /dev/null +++ b/configs/omarchy/branding/screensaver.txt @@ -0,0 +1,10 @@ + ▄▄▄ + ▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███ +███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███ +███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███ +███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███ +███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ + ▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀ + ███ █▀ diff --git a/configs/omarchy/current/background b/configs/omarchy/current/background new file mode 120000 index 0000000..82fd183 --- /dev/null +++ b/configs/omarchy/current/background @@ -0,0 +1 @@ +/home/milan/.config/omarchy/current/theme/backgrounds/2-coffee-beans.jpg \ No newline at end of file diff --git a/configs/omarchy/current/theme.name b/configs/omarchy/current/theme.name new file mode 100644 index 0000000..7b9f1cd --- /dev/null +++ b/configs/omarchy/current/theme.name @@ -0,0 +1 @@ +ristretto diff --git a/configs/omarchy/current/theme/alacritty.toml b/configs/omarchy/current/theme/alacritty.toml new file mode 100644 index 0000000..496884d --- /dev/null +++ b/configs/omarchy/current/theme/alacritty.toml @@ -0,0 +1,47 @@ +[colors.primary] +background = "#2c2525" +foreground = "#e6d9db" + +[colors.cursor] +text = "#2c2525" +cursor = "#c3b7b8" + +[colors.vi_mode_cursor] +text = "#2c2525" +cursor = "#c3b7b8" + +[colors.search.matches] +foreground = "#2c2525" +background = "#f9cc6c" + +[colors.search.focused_match] +foreground = "#2c2525" +background = "#fd6883" + +[colors.footer_bar] +foreground = "#2c2525" +background = "#e6d9db" + +[colors.selection] +text = "#e6d9db" +background = "#403e41" + +[colors.normal] +black = "#72696a" +red = "#fd6883" +green = "#adda78" +yellow = "#f9cc6c" +blue = "#f38d70" +magenta = "#a8a9eb" +cyan = "#85dacc" +white = "#e6d9db" + +[colors.bright] +black = "#948a8b" +red = "#ff8297" +green = "#c8e292" +yellow = "#fcd675" +blue = "#f8a788" +magenta = "#bebffd" +cyan = "#9bf1e1" +white = "#f1e5e7" diff --git a/configs/omarchy/current/theme/backgrounds/0-launch.png b/configs/omarchy/current/theme/backgrounds/0-launch.png new file mode 100644 index 0000000..3c19194 Binary files /dev/null and b/configs/omarchy/current/theme/backgrounds/0-launch.png differ diff --git a/configs/omarchy/current/theme/backgrounds/1-color-curves.jpg b/configs/omarchy/current/theme/backgrounds/1-color-curves.jpg new file mode 100644 index 0000000..7618e1b Binary files /dev/null and b/configs/omarchy/current/theme/backgrounds/1-color-curves.jpg differ diff --git a/configs/omarchy/current/theme/backgrounds/2-coffee-beans.jpg b/configs/omarchy/current/theme/backgrounds/2-coffee-beans.jpg new file mode 100644 index 0000000..faf63ea Binary files /dev/null and b/configs/omarchy/current/theme/backgrounds/2-coffee-beans.jpg differ diff --git a/configs/omarchy/current/theme/backgrounds/3-industrial-moon.jpg b/configs/omarchy/current/theme/backgrounds/3-industrial-moon.jpg new file mode 100644 index 0000000..385b01d Binary files /dev/null and b/configs/omarchy/current/theme/backgrounds/3-industrial-moon.jpg differ diff --git a/configs/omarchy/current/theme/backgrounds/omarchy.png b/configs/omarchy/current/theme/backgrounds/omarchy.png new file mode 100644 index 0000000..f1182f6 Binary files /dev/null and b/configs/omarchy/current/theme/backgrounds/omarchy.png differ diff --git a/configs/omarchy/current/theme/btop.theme b/configs/omarchy/current/theme/btop.theme new file mode 100644 index 0000000..b058a7f --- /dev/null +++ b/configs/omarchy/current/theme/btop.theme @@ -0,0 +1,82 @@ +#Btop monokai pro ristretto theme +#Reconfigured from monokai theme + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#2c2421" + +# Main text color +theme[main_fg]="#e6d9db" + +# Title color for boxes +theme[title]="#e6d9db" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#fd6883" + +# Background color of selected item in processes box +theme[selected_bg]="#3d2f2a" + +# Foreground color of selected item in processes box +theme[selected_fg]="#e6d9db" + +# Color of inactive/disabled text +theme[inactive_fg]="#72696a" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#adda78" + +# Cpu box outline color +theme[cpu_box]="#5b4a45" + +# Memory/disks box outline color +theme[mem_box]="#5b4a45" + +# Net up/down box outline color +theme[net_box]="#5b4a45" + +# Processes box outline color +theme[proc_box]="#5b4a45" + +# Box divider line and small boxes line color +theme[div_line]="#72696a" + +# Temperature graph colors +theme[temp_start]="#a8a9eb" +theme[temp_mid]="#f38d70" +theme[temp_end]="#fd6a85" + +# CPU graph colors +theme[cpu_start]="#adda78" +theme[cpu_mid]="#f9cc6c" +theme[cpu_end]="#fd6883" + +# Mem/Disk free meter +theme[free_start]="#5b4a45" +theme[free_mid]="#adda78" +theme[free_end]="#c5e2a3" + +# Mem/Disk cached meter +theme[cached_start]="#5b4a45" +theme[cached_mid]="#85dacc" +theme[cached_end]="#b3e8dd" + +# Mem/Disk available meter +theme[available_start]="#5b4a45" +theme[available_mid]="#f9cc6c" +theme[available_end]="#fce2a3" + +# Mem/Disk used meter +theme[used_start]="#5b4a45" +theme[used_mid]="#fd6a85" +theme[used_end]="#feb5c7" + +# Download graph colors +theme[download_start]="#3d2f2a" +theme[download_mid]="#a8a9eb" +theme[download_end]="#c5c6f0" + +# Upload graph colors +theme[upload_start]="#3d2f2a" +theme[upload_mid]="#fd6a85" +theme[upload_end]="#feb5c7" + diff --git a/configs/omarchy/current/theme/chromium.theme b/configs/omarchy/current/theme/chromium.theme new file mode 100644 index 0000000..caf0e9c --- /dev/null +++ b/configs/omarchy/current/theme/chromium.theme @@ -0,0 +1 @@ +44,37,37 diff --git a/configs/omarchy/current/theme/colors.toml b/configs/omarchy/current/theme/colors.toml new file mode 100644 index 0000000..b5ca9ab --- /dev/null +++ b/configs/omarchy/current/theme/colors.toml @@ -0,0 +1,23 @@ +accent = "#f38d70" +cursor = "#c3b7b8" +foreground = "#e6d9db" +background = "#2c2525" +selection_foreground = "#e6d9db" +selection_background = "#403e41" + +color0 = "#72696a" +color1 = "#fd6883" +color2 = "#adda78" +color3 = "#f9cc6c" +color4 = "#f38d70" +color5 = "#a8a9eb" +color6 = "#85dacc" +color7 = "#e6d9db" +color8 = "#948a8b" +color9 = "#ff8297" +color10 = "#c8e292" +color11 = "#fcd675" +color12 = "#f8a788" +color13 = "#bebffd" +color14 = "#9bf1e1" +color15 = "#f1e5e7" diff --git a/configs/omarchy/current/theme/foot.ini b/configs/omarchy/current/theme/foot.ini new file mode 100644 index 0000000..472bbee --- /dev/null +++ b/configs/omarchy/current/theme/foot.ini @@ -0,0 +1,25 @@ +[colors-dark] +foreground=e6d9db +background=2c2525 +selection-foreground=e6d9db +selection-background=403e41 + +cursor=2c2525 c3b7b8 + +regular0=72696a +regular1=fd6883 +regular2=adda78 +regular3=f9cc6c +regular4=f38d70 +regular5=a8a9eb +regular6=85dacc +regular7=e6d9db + +bright0=948a8b +bright1=ff8297 +bright2=c8e292 +bright3=fcd675 +bright4=f8a788 +bright5=bebffd +bright6=9bf1e1 +bright7=f1e5e7 diff --git a/configs/omarchy/current/theme/ghostty.conf b/configs/omarchy/current/theme/ghostty.conf new file mode 100644 index 0000000..edeb285 --- /dev/null +++ b/configs/omarchy/current/theme/ghostty.conf @@ -0,0 +1,22 @@ +background = #2c2525 +foreground = #e6d9db +cursor-color = #c3b7b8 +selection-background = #403e41 +selection-foreground = #e6d9db + +palette = 0=#72696a +palette = 1=#fd6883 +palette = 2=#adda78 +palette = 3=#f9cc6c +palette = 4=#f38d70 +palette = 5=#a8a9eb +palette = 6=#85dacc +palette = 7=#e6d9db +palette = 8=#948a8b +palette = 9=#ff8297 +palette = 10=#c8e292 +palette = 11=#fcd675 +palette = 12=#f8a788 +palette = 13=#bebffd +palette = 14=#9bf1e1 +palette = 15=#f1e5e7 diff --git a/configs/omarchy/current/theme/gum.env.conf b/configs/omarchy/current/theme/gum.env.conf new file mode 100644 index 0000000..ffda539 --- /dev/null +++ b/configs/omarchy/current/theme/gum.env.conf @@ -0,0 +1,137 @@ +# Gum Style (generic) Variables +env = FOREGROUND,##e6d9db +env = BACKGROUND,##2c2525 +env = BORDER_FOREGROUND,##f38d70 +env = BORDER_BACKGROUND,##2c2525 + +# Gum Confirm Style Variables +env = GUM_CONFIRM_PROMPT_FOREGROUND,##f38d70 +env = GUM_CONFIRM_PROMPT_BACKGROUND,##2c2525 +env = GUM_CONFIRM_SELECTED_FOREGROUND,##e6d9db +env = GUM_CONFIRM_SELECTED_BACKGROUND,##403e41 +env = GUM_CONFIRM_UNSELECTED_FOREGROUND,##e6d9db +env = GUM_CONFIRM_UNSELECTED_BACKGROUND,##2c2525 + +# Gum Input Style Variables +env = GUM_INPUT_PROMPT_FOREGROUND,##f38d70 +env = GUM_INPUT_PROMPT_BACKGROUND,##2c2525 +env = GUM_INPUT_PLACEHOLDER_FOREGROUND,##948a8b +env = GUM_INPUT_PLACEHOLDER_BACKGROUND,##2c2525 +env = GUM_INPUT_CURSOR_FOREGROUND,##c3b7b8 +env = GUM_INPUT_CURSOR_BACKGROUND,##2c2525 +env = GUM_INPUT_HEADER_FOREGROUND,##e6d9db +env = GUM_INPUT_HEADER_BACKGROUND,##2c2525 + +# Gum Choose Style Variables +env = GUM_CHOOSE_CURSOR_FOREGROUND,##f38d70 +env = GUM_CHOOSE_CURSOR_BACKGROUND,##2c2525 +env = GUM_CHOOSE_HEADER_FOREGROUND,##e6d9db +env = GUM_CHOOSE_HEADER_BACKGROUND,##2c2525 +env = GUM_CHOOSE_ITEM_FOREGROUND,##e6d9db +env = GUM_CHOOSE_ITEM_BACKGROUND,##2c2525 +env = GUM_CHOOSE_SELECTED_FOREGROUND,##e6d9db +env = GUM_CHOOSE_SELECTED_BACKGROUND,##403e41 + +# Gum Filter Style Variables +env = GUM_FILTER_PROMPT_FOREGROUND,##f38d70 +env = GUM_FILTER_PROMPT_BACKGROUND,##2c2525 +env = GUM_FILTER_TEXT_FOREGROUND,##e6d9db +env = GUM_FILTER_TEXT_BACKGROUND,##2c2525 +env = GUM_FILTER_MATCH_FOREGROUND,##f38d70 +env = GUM_FILTER_CURSOR_TEXT_FOREGROUND,##c3b7b8 +env = GUM_FILTER_CURSOR_TEXT_BACKGROUND,##2c2525 +env = GUM_FILTER_SELECTED_FOREGROUND,##e6d9db +env = GUM_FILTER_SELECTED_BACKGROUND,##403e41 +env = GUM_FILTER_INDICATOR_FOREGROUND,##f38d70 +env = GUM_FILTER_HEADER_FOREGROUND,##e6d9db +env = GUM_FILTER_MATCH_BACKGROUND,##2c2525 +env = GUM_FILTER_HEADER_BACKGROUND,##2c2525 +env = GUM_FILTER_PLACEHOLDER_FOREGROUND,##948a8b +env = GUM_FILTER_PLACEHOLDER_BACKGROUND,##2c2525 +env = GUM_FILTER_INDICATOR_BACKGROUND,##2c2525 +env = GUM_FILTER_SELECTED_PREFIX_FOREGROUND,##e6d9db +env = GUM_FILTER_SELECTED_PREFIX_BACKGROUND,##403e41 +env = GUM_FILTER_UNSELECTED_PREFIX_FOREGROUND,##948a8b +env = GUM_FILTER_UNSELECTED_PREFIX_BACKGROUND,##2c2525 + +# Gum Table Style Variables +env = GUM_TABLE_HEADER_FOREGROUND,##e6d9db +env = GUM_TABLE_HEADER_BACKGROUND,##2c2525 +env = GUM_TABLE_CELL_FOREGROUND,##e6d9db +env = GUM_TABLE_CELL_BACKGROUND,##2c2525 +env = GUM_TABLE_BORDER_FOREGROUND,##948a8b +env = GUM_TABLE_BORDER_BACKGROUND,##2c2525 +env = GUM_TABLE_SELECTED_FOREGROUND,##e6d9db +env = GUM_TABLE_SELECTED_BACKGROUND,##403e41 + +# Gum Spin Style Variables +env = GUM_SPIN_SPINNER_FOREGROUND,##f38d70 +env = GUM_SPIN_SPINNER_BACKGROUND,##2c2525 +env = GUM_SPIN_TITLE_FOREGROUND,##e6d9db +env = GUM_SPIN_TITLE_BACKGROUND,##2c2525 + +# Gum File Style Variables +env = GUM_FILE_CURSOR_FOREGROUND,##c3b7b8 +env = GUM_FILE_CURSOR_BACKGROUND,##2c2525 +env = GUM_FILE_SYMLINK_FOREGROUND,##e6d9db +env = GUM_FILE_SYMLINK_BACKGROUND,##2c2525 +env = GUM_FILE_DIRECTORY_FOREGROUND,##e6d9db +env = GUM_FILE_DIRECTORY_BACKGROUND,##2c2525 +env = GUM_FILE_FILE_FOREGROUND,##e6d9db +env = GUM_FILE_FILE_BACKGROUND,##2c2525 +env = GUM_FILE_PERMISSIONS_FOREGROUND,##948a8b +env = GUM_FILE_PERMISSIONS_BACKGROUND,##2c2525 +env = GUM_FILE_SELECTED_FOREGROUND,##e6d9db +env = GUM_FILE_SELECTED_BACKGROUND,##403e41 +env = GUM_FILE_FILE_SIZE_FOREGROUND,##948a8b +env = GUM_FILE_FILE_SIZE_BACKGROUND,##2c2525 +env = GUM_FILE_HEADER_FOREGROUND,##e6d9db +env = GUM_FILE_HEADER_BACKGROUND,##2c2525 + +# Gum Pager Style Variables +env = GUM_PAGER_FOREGROUND,##e6d9db +env = GUM_PAGER_BACKGROUND,##2c2525 +env = GUM_PAGER_LINE_NUMBER_FOREGROUND,##948a8b +env = GUM_PAGER_LINE_NUMBER_BACKGROUND,##2c2525 +env = GUM_PAGER_MATCH_FOREGROUND,##f38d70 +env = GUM_PAGER_MATCH_BACKGROUND,##2c2525 +env = GUM_PAGER_MATCH_HIGH_FOREGROUND,##f38d70 +env = GUM_PAGER_MATCH_HIGH_BACKGROUND,##2c2525 +env = GUM_PAGER_HELP_FOREGROUND,##948a8b +env = GUM_PAGER_HELP_BACKGROUND,##2c2525 + +# Gum Write Style Variables +env = GUM_WRITE_BASE_FOREGROUND,##e6d9db +env = GUM_WRITE_BASE_BACKGROUND,##2c2525 +env = GUM_WRITE_CURSOR_LINE_NUMBER_FOREGROUND,##948a8b +env = GUM_WRITE_CURSOR_LINE_NUMBER_BACKGROUND,##2c2525 +env = GUM_WRITE_CURSOR_LINE_FOREGROUND,##e6d9db +env = GUM_WRITE_CURSOR_LINE_BACKGROUND,##403e41 +env = GUM_WRITE_CURSOR_FOREGROUND,##c3b7b8 +env = GUM_WRITE_CURSOR_BACKGROUND,##2c2525 +env = GUM_WRITE_END_OF_BUFFER_FOREGROUND,##948a8b +env = GUM_WRITE_END_OF_BUFFER_BACKGROUND,##2c2525 +env = GUM_WRITE_LINE_NUMBER_FOREGROUND,##948a8b +env = GUM_WRITE_LINE_NUMBER_BACKGROUND,##2c2525 +env = GUM_WRITE_HEADER_FOREGROUND,##e6d9db +env = GUM_WRITE_HEADER_BACKGROUND,##2c2525 +env = GUM_WRITE_PLACEHOLDER_FOREGROUND,##948a8b +env = GUM_WRITE_PLACEHOLDER_BACKGROUND,##2c2525 +env = GUM_WRITE_PROMPT_FOREGROUND,##e6d9db +env = GUM_WRITE_PROMPT_BACKGROUND,##2c2525 + +# Gum Log Style Variables +env = GUM_LOG_LEVEL_FOREGROUND,##f38d70 +env = GUM_LOG_LEVEL_BACKGROUND,##2c2525 +env = GUM_LOG_TIME_FOREGROUND,##948a8b +env = GUM_LOG_TIME_BACKGROUND,##2c2525 +env = GUM_LOG_PREFIX_FOREGROUND,##e6d9db +env = GUM_LOG_PREFIX_BACKGROUND,##2c2525 +env = GUM_LOG_MESSAGE_FOREGROUND,##e6d9db +env = GUM_LOG_MESSAGE_BACKGROUND,##2c2525 +env = GUM_LOG_KEY_FOREGROUND,##e6d9db +env = GUM_LOG_KEY_BACKGROUND,##2c2525 +env = GUM_LOG_VALUE_FOREGROUND,##e6d9db +env = GUM_LOG_VALUE_BACKGROUND,##2c2525 +env = GUM_LOG_SEPARATOR_FOREGROUND,##948a8b +env = GUM_LOG_SEPARATOR_BACKGROUND,##2c2525 \ No newline at end of file diff --git a/configs/omarchy/current/theme/helix.toml b/configs/omarchy/current/theme/helix.toml new file mode 100644 index 0000000..957c693 --- /dev/null +++ b/configs/omarchy/current/theme/helix.toml @@ -0,0 +1,132 @@ +# Syntax +"keyword" = "color5" +"keyword.control" = { fg = "color5", modifiers = ["italic"] } +"function" = "color4" +"function.builtin" = "color4" +"function.macro" = "color5" +"type" = "color3" +"type.builtin" = "color5" +"type.enum.variant" = "color6" +"constructor" = "color4" +"constant" = "color3" +"constant.builtin" = "color3" +"constant.numeric" = "color3" +"constant.character" = "color6" +"constant.character.escape" = "color5" +"string" = "color2" +"string.regexp" = "color5" +"string.special" = "color4" +"comment" = { fg = "color8", modifiers = ["italic"] } +"variable" = "foreground" +"variable.parameter" = { fg = "color5", modifiers = ["italic"] } +"variable.builtin" = "color1" +"variable.other.member" = "color4" +"label" = "color4" +"punctuation" = "color8" +"punctuation.special" = "color6" +"operator" = "color6" +"tag" = "color4" +"namespace" = { fg = "color3", modifiers = ["italic"] } +"special" = "color5" +"attribute" = "color3" + +# Markup +"markup.heading.1" = "color1" +"markup.heading.2" = "color3" +"markup.heading.3" = "color3" +"markup.heading.4" = "color2" +"markup.heading.5" = "color4" +"markup.heading.6" = "color5" +"markup.list" = "color6" +"markup.list.unchecked" = "color8" +"markup.list.checked" = "color2" +"markup.bold" = { fg = "color1", modifiers = ["bold"] } +"markup.italic" = { fg = "color1", modifiers = ["italic"] } +"markup.strikethrough" = { modifiers = ["crossed_out"] } +"markup.link.url" = { fg = "color4", modifiers = ["italic", "underlined"] } +"markup.link.text" = "color5" +"markup.link.label" = "color4" +"markup.raw" = "color2" +"markup.quote" = "color5" + +# Diff +"diff.plus" = "color2" +"diff.minus" = "color1" +"diff.delta" = "color4" + +# Leave the editor background transparent so the terminal background shows through +"ui.background" = { } + +"ui.linenr" = { fg = "color8" } +"ui.linenr.selected" = { fg = "foreground" } + +# Statusline uses an inverted band (background-color text on foreground-color +# background) to guarantee contrast across both light and dark Omarchy themes. +"ui.statusline" = { fg = "background", bg = "foreground" } +"ui.statusline.inactive" = { fg = "background", bg = "color8" } +"ui.statusline.normal" = { fg = "background", bg = "color4", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "background", bg = "color2", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "background", bg = "color5", modifiers = ["bold"] } + +"ui.popup" = { fg = "foreground", bg = "background" } +"ui.window" = { fg = "color8" } +"ui.help" = { fg = "foreground", bg = "background" } + +"ui.bufferline" = { fg = "color8", bg = "background" } +"ui.bufferline.active" = { fg = "foreground", bg = "background", underline = { color = "color5", style = "line" } } + +"ui.text" = "foreground" +"ui.text.focus" = { fg = "foreground", bg = "color0", modifiers = ["bold"] } +"ui.text.inactive" = { fg = "color8" } +"ui.text.directory" = { fg = "color4" } + +"ui.virtual" = "color8" +"ui.virtual.ruler" = { bg = "color0" } +"ui.virtual.indent-guide" = "color8" +"ui.virtual.inlay-hint" = { fg = "color8" } +"ui.virtual.jump-label" = { fg = "color1", modifiers = ["bold"] } +"ui.virtual.whitespace" = "color8" + +"ui.selection" = { bg = "selection_background", fg = "selection_foreground" } + +"ui.cursor" = { fg = "background", bg = "cursor" } +"ui.cursor.primary" = { fg = "background", bg = "cursor" } +"ui.cursor.match" = { fg = "color3", modifiers = ["bold"] } +"ui.cursor.primary.normal" = { fg = "background", bg = "cursor" } +"ui.cursor.primary.insert" = { fg = "background", bg = "color2" } +"ui.cursor.primary.select" = { fg = "background", bg = "color5" } + +"ui.cursorline.primary" = { bg = "color0" } + +"ui.highlight" = { bg = "color0", modifiers = ["bold"] } + +"ui.menu" = { fg = "foreground", bg = "background" } +"ui.menu.selected" = { fg = "background", bg = "foreground", modifiers = ["bold"] } + +"diagnostic.error" = { underline = { color = "color1", style = "curl" } } +"diagnostic.warning" = { underline = { color = "color3", style = "curl" } } +"diagnostic.info" = { underline = { color = "color4", style = "curl" } } +"diagnostic.hint" = { underline = { color = "color6", style = "curl" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } + +error = "color1" +warning = "color3" +info = "color4" +hint = "color6" + +[palette] +background = "#2c2525" +foreground = "#e6d9db" +cursor = "#c3b7b8" +selection_background = "#403e41" +selection_foreground = "#e6d9db" +color0 = "#72696a" +color1 = "#fd6883" +color2 = "#adda78" +color3 = "#f9cc6c" +color4 = "#f38d70" +color5 = "#a8a9eb" +color6 = "#85dacc" +color7 = "#e6d9db" +color8 = "#948a8b" diff --git a/configs/omarchy/current/theme/hyprland-preview-share-picker.css b/configs/omarchy/current/theme/hyprland-preview-share-picker.css new file mode 100644 index 0000000..62bc835 --- /dev/null +++ b/configs/omarchy/current/theme/hyprland-preview-share-picker.css @@ -0,0 +1,94 @@ +@define-color foreground #e6d9db; +@define-color background #2c2525; +@define-color accent #f38d70; +@define-color muted #948a8b; +@define-color card_bg #72696a; +@define-color text_dark #2c2525; +@define-color accent_hover #f8a788; +@define-color selected_tab #f38d70; +@define-color text #e6d9db; + +* { + all: unset; + font-family: JetBrains Mono NF; + color: @foreground; + font-weight: bold; + font-size: 16px; +} + +.window { + background: alpha(@background, 0.95); + border: solid 2px @accent; + margin: 4px; + padding: 18px; +} + +tabs { + padding: 0.5rem 1rem; +} + +tabs > tab { + margin-right: 1rem; +} + +.tab-label { + color: @text; + transition: all 0.2s ease; +} + +tabs > tab:checked > .tab-label, tabs > tab:active > .tab-label { + text-decoration: underline currentColor; + color: @selected_tab; +} + +tabs > tab:focus > .tab-label { + color: @foreground; +} + +.page { + padding: 1rem; +} + +.image-label { + font-size: 12px; + padding: 0.25rem; +} + +flowboxchild > .card, button > .card { + transition: all 0.2s ease; + border: solid 2px transparent; + border-color: @background; + border-radius: 5px; + background-color: @card_bg; + padding: 5px; +} + +flowboxchild:hover > .card, button:hover > .card, flowboxchild:active > .card, flowboxchild:selected > .card, button:active > .card, button:selected > .card, button:focus > .card { + border: solid 2px @accent; +} + +.image { + border-radius: 5px; +} + +.region-button { + padding: 0.5rem 1rem; + border-radius: 5px; + background-color: @accent; + color: @text_dark; + transition: all 0.2s ease; +} + +.region-button > label { + color: @text_dark; +} + +.region-button:not(:disabled):hover, .region-button:not(:disabled):focus { + background-color: @accent_hover; + color: @text_dark; +} + +.region-button:disabled { + background-color: @muted; + color: @background; +} diff --git a/configs/omarchy/current/theme/hyprland.conf b/configs/omarchy/current/theme/hyprland.conf new file mode 100644 index 0000000..f8b63b6 --- /dev/null +++ b/configs/omarchy/current/theme/hyprland.conf @@ -0,0 +1,9 @@ +$activeBorderColor = rgb(f38d70) + +general { + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor +} diff --git a/configs/omarchy/current/theme/hyprlock.conf b/configs/omarchy/current/theme/hyprlock.conf new file mode 100644 index 0000000..7e56812 --- /dev/null +++ b/configs/omarchy/current/theme/hyprlock.conf @@ -0,0 +1,5 @@ +$color = rgba(44,37,37, 1.0) +$inner_color = rgba(44,37,37, 0.8) +$outer_color = rgba(230,217,219, 1.0) +$font_color = rgba(230,217,219, 1.0) +$check_color = rgba(243,141,112, 1.0) diff --git a/configs/omarchy/current/theme/icons.theme b/configs/omarchy/current/theme/icons.theme new file mode 100644 index 0000000..e38b9ce --- /dev/null +++ b/configs/omarchy/current/theme/icons.theme @@ -0,0 +1 @@ +Yaru-yellow diff --git a/configs/omarchy/current/theme/keyboard.rgb b/configs/omarchy/current/theme/keyboard.rgb new file mode 100644 index 0000000..d23e906 --- /dev/null +++ b/configs/omarchy/current/theme/keyboard.rgb @@ -0,0 +1 @@ +#f38d70 diff --git a/configs/omarchy/current/theme/kitty.conf b/configs/omarchy/current/theme/kitty.conf new file mode 100644 index 0000000..a61aab0 --- /dev/null +++ b/configs/omarchy/current/theme/kitty.conf @@ -0,0 +1,27 @@ +foreground #e6d9db +background #2c2525 +selection_foreground #e6d9db +selection_background #403e41 + +cursor #c3b7b8 +cursor_text_color #2c2525 + +active_border_color #f38d70 +active_tab_background #f38d70 + +color0 #72696a +color1 #fd6883 +color2 #adda78 +color3 #f9cc6c +color4 #f38d70 +color5 #a8a9eb +color6 #85dacc +color7 #e6d9db +color8 #948a8b +color9 #ff8297 +color10 #c8e292 +color11 #fcd675 +color12 #f8a788 +color13 #bebffd +color14 #9bf1e1 +color15 #f1e5e7 diff --git a/configs/omarchy/current/theme/mako.ini b/configs/omarchy/current/theme/mako.ini new file mode 100644 index 0000000..597e258 --- /dev/null +++ b/configs/omarchy/current/theme/mako.ini @@ -0,0 +1,5 @@ +include=~/.local/share/omarchy/default/mako/core.ini + +text-color=#e6d9db +border-color=#f38d70 +background-color=#2c2525 diff --git a/configs/omarchy/current/theme/neovim.lua b/configs/omarchy/current/theme/neovim.lua new file mode 100644 index 0000000..4263da7 --- /dev/null +++ b/configs/omarchy/current/theme/neovim.lua @@ -0,0 +1,31 @@ +return { + { + "gthelding/monokai-pro.nvim", + config = function() + require("monokai-pro").setup({ + filter = "ristretto", + override = function() + return { + NonText = { fg = "#948a8b" }, + MiniIconsGrey = { fg = "#948a8b" }, + MiniIconsRed = { fg = "#fd6883" }, + MiniIconsBlue = { fg = "#85dacc" }, + MiniIconsGreen = { fg = "#adda78" }, + MiniIconsYellow = { fg = "#f9cc6c" }, + MiniIconsOrange = { fg = "#f38d70" }, + MiniIconsPurple = { fg = "#a8a9eb" }, + MiniIconsAzure = { fg = "#a8a9eb" }, + MiniIconsCyan = { fg = "#85dacc" }, -- same value as MiniIconsBlue for consistency + } + end, + }) + vim.cmd([[colorscheme monokai-pro]]) + end, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "monokai-pro", + }, + }, +} diff --git a/configs/omarchy/current/theme/obsidian.css b/configs/omarchy/current/theme/obsidian.css new file mode 100644 index 0000000..67bde17 --- /dev/null +++ b/configs/omarchy/current/theme/obsidian.css @@ -0,0 +1,99 @@ +/* Omarchy Theme for Obsidian */ + +.theme-dark, .theme-light { + /* Core colors */ + --background-primary: #2c2525; + --background-primary-alt: #2c2525; + --background-secondary: #2c2525; + --background-secondary-alt: #2c2525; + --text-normal: #e6d9db; + + /* Selection colors */ + --text-selection: #403e41; + + /* Border color */ + --background-modifier-border: #948a8b; + + /* Semantic heading colors */ + --text-title-h1: #fd6883; + --text-title-h2: #adda78; + --text-title-h3: #f9cc6c; + --text-title-h4: #f38d70; + --text-title-h5: #a8a9eb; + --text-title-h6: #a8a9eb; + + /* Links and accents */ + --text-link: #f38d70; + --text-accent: #f38d70; + --text-accent-hover: #f38d70; + --interactive-accent: #f38d70; + --interactive-accent-hover: #f38d70; + + /* Muted text */ + --text-muted: color-mix(in srgb, #e6d9db 70%, transparent); + --text-faint: color-mix(in srgb, #e6d9db 55%, transparent); + + /* Code */ + --code-normal: #85dacc; + + /* Errors and success */ + --text-error: #fd6883; + --text-error-hover: #fd6883; + --text-success: #adda78; + + /* Tags */ + --tag-color: #85dacc; + --tag-background: #948a8b; + + /* Graph */ + --graph-line: #948a8b; + --graph-node: #f38d70; + --graph-node-focused: #f38d70; + --graph-node-tag: #85dacc; + --graph-node-attachment: #adda78; +} + +/* Headers */ +.cm-header-1, .markdown-rendered h1 { color: var(--text-title-h1); } +.cm-header-2, .markdown-rendered h2 { color: var(--text-title-h2); } +.cm-header-3, .markdown-rendered h3 { color: var(--text-title-h3); } +.cm-header-4, .markdown-rendered h4 { color: var(--text-title-h4); } +.cm-header-5, .markdown-rendered h5 { color: var(--text-title-h5); } +.cm-header-6, .markdown-rendered h6 { color: var(--text-title-h6); } + +/* Code blocks */ +.markdown-rendered code { + color: #85dacc; +} + +/* Syntax highlighting */ +.cm-s-obsidian span.cm-keyword { color: #fd6883; } +.cm-s-obsidian span.cm-string { color: #adda78; } +.cm-s-obsidian span.cm-number { color: #f9cc6c; } +.cm-s-obsidian span.cm-comment { color: #948a8b; } +.cm-s-obsidian span.cm-operator { color: #f38d70; } +.cm-s-obsidian span.cm-def { color: #f38d70; } + +/* Links */ +.markdown-rendered a { + color: var(--text-link); +} + +/* Blockquotes */ +.markdown-rendered blockquote { + border-left-color: #f38d70; +} + +/* Active elements */ +.workspace-leaf.mod-active .workspace-leaf-header-title { + color: var(--interactive-accent); +} + +.nav-file-title.is-active { + color: var(--interactive-accent); +} + +/* Search results */ +.search-result-file-title { + color: var(--interactive-accent); +} diff --git a/configs/omarchy/current/theme/preview-unlock.png b/configs/omarchy/current/theme/preview-unlock.png new file mode 100644 index 0000000..ec51c94 Binary files /dev/null and b/configs/omarchy/current/theme/preview-unlock.png differ diff --git a/configs/omarchy/current/theme/preview.png b/configs/omarchy/current/theme/preview.png new file mode 100644 index 0000000..978b80f Binary files /dev/null and b/configs/omarchy/current/theme/preview.png differ diff --git a/configs/omarchy/current/theme/swayosd.css b/configs/omarchy/current/theme/swayosd.css new file mode 100644 index 0000000..f194d65 --- /dev/null +++ b/configs/omarchy/current/theme/swayosd.css @@ -0,0 +1,5 @@ +@define-color background-color #2c2525; +@define-color border-color #e6d9db; +@define-color label #e6d9db; +@define-color image #e6d9db; +@define-color progress #f38d70; diff --git a/configs/omarchy/current/theme/unlock.png b/configs/omarchy/current/theme/unlock.png new file mode 100644 index 0000000..f865bc5 Binary files /dev/null and b/configs/omarchy/current/theme/unlock.png differ diff --git a/configs/omarchy/current/theme/vscode.json b/configs/omarchy/current/theme/vscode.json new file mode 100644 index 0000000..41a587e --- /dev/null +++ b/configs/omarchy/current/theme/vscode.json @@ -0,0 +1,4 @@ +{ + "name": "Monokai Pro (Filter Ristretto)", + "extension": "monokai.theme-monokai-pro-vscode" +} diff --git a/configs/omarchy/current/theme/walker.css b/configs/omarchy/current/theme/walker.css new file mode 100644 index 0000000..2e83fd7 --- /dev/null +++ b/configs/omarchy/current/theme/walker.css @@ -0,0 +1,6 @@ +@define-color selected-text #f38d70; +@define-color text #e6d9db; +@define-color base #2c2525; +@define-color border #e6d9db; +@define-color foreground #e6d9db; +@define-color background #2c2525; diff --git a/configs/omarchy/current/theme/waybar.css b/configs/omarchy/current/theme/waybar.css new file mode 100644 index 0000000..a6be70a --- /dev/null +++ b/configs/omarchy/current/theme/waybar.css @@ -0,0 +1,2 @@ +@define-color foreground #e6d9db; +@define-color background #2c2525; diff --git a/configs/omarchy/extensions/menu.sh b/configs/omarchy/extensions/menu.sh new file mode 100644 index 0000000..f7d0b27 --- /dev/null +++ b/configs/omarchy/extensions/menu.sh @@ -0,0 +1,20 @@ +# Overwrite parts of the omarchy-menu with user-specific submenus. +# See $OMARCHY_PATH/bin/omarchy-menu for functions that can be overwritten. +# +# WARNING: Overwritten functions will obviously not be updated when Omarchy changes. +# +# Example of minimal system menu: +# +# show_system_menu() { +# case $(menu "System" " Lock\n󰐥 Shutdown") in +# *Lock*) omarchy-system-lock ;; +# *Shutdown*) omarchy-system-shutdown ;; +# *) back_to show_main_menu ;; +# esac +# } +# +# Example of overriding just the about menu action: (Using zsh instead of bash (default)) +# +# show_about() { +# exec omarchy-launch-or-focus-tui "zsh -c 'fastfetch; read -k 1'" +# } diff --git a/configs/omarchy/hooks/battery-low.sample b/configs/omarchy/hooks/battery-low.sample new file mode 100644 index 0000000..dc3726a --- /dev/null +++ b/configs/omarchy/hooks/battery-low.sample @@ -0,0 +1,10 @@ +#!/bin/bash + +# This hook is called with the current battery percentage when the low battery +# notification is sent. To put it into use, remove .sample from the name. + +SOUND_FILE="/usr/share/sounds/freedesktop/stereo/dialog-warning.oga" + +if omarchy-cmd-present mpv && [[ -f $SOUND_FILE ]]; then + mpv --no-video "$SOUND_FILE" >/dev/null 2>&1 +fi diff --git a/configs/omarchy/hooks/font-set.sample b/configs/omarchy/hooks/font-set.sample new file mode 100644 index 0000000..3f0109a --- /dev/null +++ b/configs/omarchy/hooks/font-set.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called with the snake-cased name of the font that has just been set. +# To put it into use, remove .sample from the name. + +# Example: Show the name of the theme that was just set. +# notify-send -u low "New font" "Your new font is $1" diff --git a/configs/omarchy/hooks/post-boot.d/weather.sample b/configs/omarchy/hooks/post-boot.d/weather.sample new file mode 100644 index 0000000..60a1c88 --- /dev/null +++ b/configs/omarchy/hooks/post-boot.d/weather.sample @@ -0,0 +1,10 @@ +#!/bin/bash + +# Show the weather status notification after Omarchy has started. +# To put it into use, remove .sample from this file name. + +weather=$(omarchy-weather-status 2>/dev/null) || true + +if [[ -n $weather && $weather != "Weather unavailable" ]]; then + notify-send -u low "$weather" +fi diff --git a/configs/omarchy/hooks/post-update.sample b/configs/omarchy/hooks/post-update.sample new file mode 100644 index 0000000..f740d5b --- /dev/null +++ b/configs/omarchy/hooks/post-update.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called after an Omarchy system update has been performed. +# To put it into use, remove .sample from the name. + +# Example: Show notification after the system has been updated. +# notify-send -u low "Update Performed" "Your system is now up to date" diff --git a/configs/omarchy/hooks/theme-set.sample b/configs/omarchy/hooks/theme-set.sample new file mode 100644 index 0000000..2d13287 --- /dev/null +++ b/configs/omarchy/hooks/theme-set.sample @@ -0,0 +1,7 @@ +#!/bin/bash + +# This hook is called with the snake-cased name of the theme that has just been set. +# To put it into use, remove .sample from the name. + +# Example: Show the name of the theme that was just set. +# notify-send -u low "New theme" "Your new theme is $1" diff --git a/configs/omarchy/themed/alacritty.toml.tpl.sample b/configs/omarchy/themed/alacritty.toml.tpl.sample new file mode 100644 index 0000000..b86516e --- /dev/null +++ b/configs/omarchy/themed/alacritty.toml.tpl.sample @@ -0,0 +1,86 @@ +# Omarchy User Template Example: Alacritty +# +# This is a sample template file demonstrating how to create custom themed +# configurations. Templates use placeholder variables that get replaced with +# your current theme's colors when you switch themes. +# +# HOW TO USE: +# 1. Rename this file to: alacritty.toml.tpl (remove the .sample extension) +# 2. Customize it as needed +# 3. Change your theme to apply the template +# +# User templates in ~/.config/omarchy/themed/ take priority over the built-in +# templates in the Omarchy default/themed/ directory. This lets you override +# any built-in template or create templates for applications not included +# by default. +# +# AVAILABLE VARIABLES: +# {{ background }} - Main background color (e.g., "#1a1b26") +# {{ foreground }} - Main foreground/text color +# {{ cursor }} - Cursor color +# {{ accent }} - Theme accent color +# {{ selection_background }} - Selection highlight background +# {{ selection_foreground }} - Selection highlight foreground +# +# {{ color0 }} through {{ color15 }} - Standard 16-color terminal palette +# color0-7: Normal colors (black, red, green, yellow, blue, magenta, cyan, white) +# color8-15: Bright variants +# +# VARIABLE MODIFIERS: +# {{ variable_strip }} - Hex color without the # prefix (e.g., "1a1b26") +# {{ variable_rgb }} - Decimal RGB values (e.g., "26,27,38") +# +# Example using modifiers: +# background = "{{ background }}" -> background = "#1a1b26" +# background = "{{ background_strip }}" -> background = "1a1b26" +# background = "rgb({{ background_rgb }})" -> background = "rgb(26,27,38)" +# +# --------------------------------------------------------------------------- + +[colors.primary] +background = "{{ background }}" +foreground = "{{ foreground }}" + +[colors.cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.vi_mode_cursor] +text = "{{ background }}" +cursor = "{{ cursor }}" + +[colors.search.matches] +foreground = "{{ background }}" +background = "{{ color3 }}" + +[colors.search.focused_match] +foreground = "{{ background }}" +background = "{{ color1 }}" + +[colors.footer_bar] +foreground = "{{ background }}" +background = "{{ foreground }}" + +[colors.selection] +text = "{{ selection_foreground }}" +background = "{{ selection_background }}" + +[colors.normal] +black = "{{ color0 }}" +red = "{{ color1 }}" +green = "{{ color2 }}" +yellow = "{{ color3 }}" +blue = "{{ color4 }}" +magenta = "{{ color5 }}" +cyan = "{{ color6 }}" +white = "{{ color7 }}" + +[colors.bright] +black = "{{ color8 }}" +red = "{{ color9 }}" +green = "{{ color10 }}" +yellow = "{{ color11 }}" +blue = "{{ color12 }}" +magenta = "{{ color13 }}" +cyan = "{{ color14 }}" +white = "{{ color15 }}" diff --git a/configs/omarchy/themes/aether b/configs/omarchy/themes/aether new file mode 120000 index 0000000..2063d65 --- /dev/null +++ b/configs/omarchy/themes/aether @@ -0,0 +1 @@ +/home/milan/.config/aether/theme \ No newline at end of file diff --git a/configs/starship.toml b/configs/starship.toml new file mode 100644 index 0000000..36f15d1 --- /dev/null +++ b/configs/starship.toml @@ -0,0 +1,32 @@ +add_newline = true +command_timeout = 200 +format = "[$directory$git_branch$git_status]($style)$character" + +[character] +error_symbol = "[✗](bold cyan)" +success_symbol = "[❯](bold cyan)" + +[directory] +truncation_length = 2 +truncation_symbol = "…/" +repo_root_style = "bold cyan" +repo_root_format = "[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) " + +[git_branch] +format = "[$branch]($style) " +style = "italic cyan" + +[git_status] +format = '[$all_status]($style)' +style = "cyan" +ahead = "⇡${count} " +diverged = "⇕⇡${ahead_count}⇣${behind_count} " +behind = "⇣${count} " +conflicted = " " +up_to_date = " " +untracked = "? " +modified = " " +stashed = "" +staged = "" +renamed = "" +deleted = "" diff --git a/configs/walker/config.toml b/configs/walker/config.toml new file mode 100644 index 0000000..7638097 --- /dev/null +++ b/configs/walker/config.toml @@ -0,0 +1,49 @@ +force_keyboard_focus = true # forces keyboard forcus to stay in Walker +selection_wrap = true # wrap list if at bottom or top +theme = "omarchy-default" # theme to use +additional_theme_location = "~/.local/share/omarchy/default/walker/themes/" +hide_action_hints = true # globally hide the action hints + +[placeholders] +"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other" + +[keybinds] +quick_activate = [] + +[columns] +symbols = 1 # providers to be queried by default + +[providers] +max_results = 256 # 256 should be enough for everyone +default = [ + "desktopapplications", + "websearch", +] + +[[providers.prefixes]] +prefix = "/" +provider = "providerlist" + +[[providers.prefixes]] +prefix = "." +provider = "files" + +[[providers.prefixes]] +prefix = ":" +provider = "symbols" + +[[providers.prefixes]] +prefix = "=" +provider = "calc" + +[[providers.prefixes]] +prefix = "@" +provider = "websearch" + +[[providers.prefixes]] +prefix = "$" +provider = "clipboard" + +[[emergencies]] +text = "Restart Walker" +command = "omarchy-restart-walker" diff --git a/configs/waybar/config.jsonc b/configs/waybar/config.jsonc new file mode 100644 index 0000000..2a2654f --- /dev/null +++ b/configs/waybar/config.jsonc @@ -0,0 +1,182 @@ +{ + "reload_style_on_change": true, + "layer": "top", + "position": "top", + "spacing": 0, + "height": 26, + "modules-left": ["custom/omarchy", "hyprland/workspaces"], + "modules-center": ["clock", "custom/weather", "custom/update", "custom/voxtype", "custom/screenrecording-indicator", "custom/idle-indicator", "custom/notification-silencing-indicator"], + "modules-right": [ + "group/tray-expander", + "bluetooth", + "network", + "pulseaudio", + "cpu", + "battery" + ], + "hyprland/workspaces": { + "on-click": "activate", + "format": "{icon}", + "format-icons": { + "default": "", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "0", + "active": "󱓻" + }, + "persistent-workspaces": { + "1": [], + "2": [], + "3": [], + "4": [], + "5": [] + } + }, + "custom/omarchy": { + "format": "\ue900", + "on-click": "omarchy-menu", + "on-click-right": "xdg-terminal-exec", + "tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space" + }, + "custom/update": { + "format": "", + "exec": "omarchy-update-available", + "on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update", + "tooltip-format": "Omarchy update available", + "signal": 7, + "interval": 21600 + }, + + "cpu": { + "interval": 5, + "format": "󰍛", + "on-click": "omarchy-launch-or-focus-tui btop", + "on-click-right": "alacritty" + }, + "clock": { + "format": "{:L%A %H:%M}", + "format-alt": "{:L%d %B W%V %Y}", + "tooltip": false, + "on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select" + }, + "custom/weather": { + "exec": "$OMARCHY_PATH/default/waybar/weather.sh", + "return-type": "json", + "interval": 60, + "tooltip": false, + "on-click": "notify-send -u low \"$(omarchy-weather-status)\"" + }, + "network": { + "format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"], + "format": "{icon}", + "format-wifi": "{icon}", + "format-ethernet": "󰀂", + "format-disconnected": "󰤮", + "tooltip-format-wifi": "{essid} ({frequency} GHz)", + "tooltip-format-ethernet": "Connected", + "tooltip-format-disconnected": "Disconnected", + "interval": 3, + "spacing": 1, + "on-click": "omarchy-launch-wifi" + }, + "battery": { + "format": "{icon} {capacity}%", + "format-discharging": "{icon} {capacity}%", + "format-charging": "{icon} {capacity}%", + "format-plugged": "", + "format-icons": { + "charging": ["󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"], + "default": ["󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] + }, + "format-full": "󰂅", + "tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%", + "tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%", + "interval": 5, + "on-click": "omarchy-menu power", + "on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"", + "states": { + "warning": 20, + "critical": 10 + } + }, + "bluetooth": { + "format": "", + "format-off": "󰂲", + "format-disabled": "󰂲", + "format-connected": "󰂱", + "format-no-controller": "", + "tooltip-format": "Devices connected: {num_connections}", + "on-click": "omarchy-launch-bluetooth" + }, + "pulseaudio": { + "format": "{icon}", + "on-click": "omarchy-launch-audio", + "on-click-right": "pamixer -t", + "tooltip-format": "Playing at {volume}%", + "scroll-step": 5, + "format-muted": "", + "format-icons": { + "headphone": "", + "headset": "", + "default": ["", "", ""] + } + }, + "group/tray-expander": { + "orientation": "inherit", + "drawer": { + "transition-duration": 600, + "children-class": "tray-group-item" + }, + "modules": ["custom/expand-icon", "tray"] + }, + "custom/expand-icon": { + "format": "", + "tooltip": false, + "on-scroll-up": "", + "on-scroll-down": "", + "on-scroll-left": "", + "on-scroll-right": "" + }, + "custom/screenrecording-indicator": { + "on-click": "omarchy-capture-screenrecording", + "exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh", + "signal": 8, + "return-type": "json" + }, + "custom/idle-indicator": { + "on-click": "omarchy-toggle-idle", + "exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh", + "signal": 9, + "return-type": "json" + }, + "custom/notification-silencing-indicator": { + "on-click": "omarchy-toggle-notification-silencing", + "exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh", + "signal": 10, + "return-type": "json" + }, + "custom/voxtype": { + "exec": "omarchy-voxtype-status", + "return-type": "json", + "format": "{icon}", + "format-icons": { + "idle": "", + "recording": "󰍬", + "transcribing": "󰔟" + }, + "tooltip": true, + "on-click-right": "omarchy-voxtype-config", + "on-click": "omarchy-voxtype-model" + }, + "tray": { + "icon-size": 12, + "spacing": 17 + } +} diff --git a/configs/waybar/style.css b/configs/waybar/style.css new file mode 100644 index 0000000..9d735ad --- /dev/null +++ b/configs/waybar/style.css @@ -0,0 +1,131 @@ +@import "../omarchy/current/theme/waybar.css"; + +* { + background-color: transparent; + color: @foreground; + + border: none; + border-radius: 0; + min-height: 0; + font-family: 'JetBrainsMonoNL Nerd Font'; + font-size: 12px; +} + +window#waybar { + background: transparent; +} + +.modules-left, +.modules-center, +.modules-right { + background: rgba(255, 255, 255, 0.1); + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0 12px; + margin-top: 4px; + margin-bottom: 4px; +} + +.modules-left { + margin-left: 8px; +} + +.modules-center { + margin-left: 8px; + margin-right: 8px; +} + +.modules-right { + margin-right: 8px; +} + +#workspaces button { + all: initial; + padding: 0 6px; + margin: 0 1.5px; + min-width: 9px; +} + +#workspaces button.empty { + opacity: 0.5; +} + +#cpu, +#battery, +#pulseaudio, +#custom-omarchy, +#custom-update { + min-width: 12px; + margin: 0 5px; +} + +#tray { + margin-right: 8px; +} + +#bluetooth { + margin-right: 10px; +} + +#network { + margin-right: 6px; +} + +#custom-expand-icon { + margin-right: 2px; +} + +tooltip { + padding: 2px; +} + +#custom-update { + font-size: 10px; +} + +#clock { + margin-left: 5px; +} + +.hidden { + opacity: 0; +} + +#custom-screenrecording-indicator, +#custom-idle-indicator, +#custom-notification-silencing-indicator { + min-width: 12px; + margin-left: 5px; + margin-right: 0; + font-size: 10px; + padding-bottom: 1px; +} + +#custom-screenrecording-indicator.active { + color: #a55555; +} + +#custom-idle-indicator.active, +#custom-notification-silencing-indicator.active { + color: #a55555; +} + +#custom-voxtype { + min-width: 12px; + margin: 0 0 0 7.5px; +} + +#custom-voxtype.recording { + color: #a55555; +} + +#custom-weather { + margin-left: 5px; + margin-right: 5px; +} + +#custom-weather.unavailable { + min-width: 0; + margin: 0; + padding: 0; +} diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..1736673 --- /dev/null +++ b/install.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash + +set -euo pipefail + +REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +CONFIGS_DIR="$REPO_DIR/configs" + +echo "========================================" +echo " Milan's Omarchy Setup Installer" +echo "========================================" +echo + +# +# Update system +# +echo "[1/5] Updating system..." +yay -Syu --noconfirm + +# +# Install packages +# +echo +echo "[2/5] Installing packages..." + +if [[ -f "$REPO_DIR/packages.txt" ]]; then + yay -S --needed --noconfirm $(<"$REPO_DIR/packages.txt") +fi + +if [[ -s "$REPO_DIR/aur-packages.txt" ]]; then + yay -S --needed --noconfirm $(<"$REPO_DIR/aur-packages.txt") +fi + +# +# Symlink configs +# +echo +echo "[3/5] Linking configs..." + +mkdir -p "$HOME/.config" + +for item in "$CONFIGS_DIR"/*; do + + name="$(basename "$item")" + + target="$HOME/.config/$name" + + # Skip if already linked correctly + if [[ -L "$target" ]]; then + if [[ "$(readlink -f "$target")" == "$(readlink -f "$item")" ]]; then + echo "✓ $name already linked" + continue + fi + fi + + # Backup existing config + if [[ -e "$target" && ! -L "$target" ]]; then + backup="${target}.backup.$(date +%Y%m%d-%H%M%S)" + echo "Backing up $name -> $(basename "$backup")" + mv "$target" "$backup" + fi + + rm -rf "$target" + + ln -s "$item" "$target" + + echo "Linked $name" + +done + +# +# Enable user services +# +echo +echo "[4/5] Enabling user services..." + +if [[ -f "$REPO_DIR/system/user-services.txt" ]]; then + awk '{print $1}' "$REPO_DIR/system/user-services.txt" | + while read -r service; do + [[ -z "$service" ]] && continue + systemctl --user enable "$service" >/dev/null 2>&1 || true + done +fi + +# +# Font cache +# +echo +echo "[5/5] Refreshing font cache..." +fc-cache -fv >/dev/null 2>&1 || true + +echo +echo "========================================" +echo " Finished!" +echo "========================================" +echo +echo "You may want to:" +echo " • Log out and back in" +echo " • Run: omarchy-theme (if needed)" +echo " • Restart Waybar/Hyprland if configs changed" +echo diff --git a/installed-packages-full.txt b/installed-packages-full.txt new file mode 100644 index 0000000..b606750 --- /dev/null +++ b/installed-packages-full.txt @@ -0,0 +1,210 @@ +1password-beta 8.12.24_24.BETA-24.1 +1password-cli 2.34.0-1 +aether 4.27.2-1 +alacritty 0.17.0-1 +alsa-utils 1.2.16-1 +asciiquarium-transparent-git r46.3862efe-1 +asdcontrol 1:0.6.0-1 +balena-etcher 2.1.6-1 +base 3-3 +base-devel 1-2 +bash-completion 2.17.0-3 +bat 0.26.1-2 +bibata-cursor-theme-bin 2.0.7-1 +bitwarden 2026.2.1-1 +bitwarden-cli 2026.2.0-1 +bluetui 0.8.1-2 +bolt 0.9.11-1 +brightnessctl 0.5.1-3 +btop 1.4.7-1 +btrfs-progs 7.0-1 +cava 0.10.7-1 +chromium 149.0.7827.53-1 +clang 22.1.6-1 +claude-code 2.1.168-1 +cliamp 1.52.0-1 +cmatrix 2.0-4 +cups 2:2.4.19-1 +cups-browsed 2.1.1-1 +cups-filters 2.0.1-2 +cups-pdf 3.0.3-1 +cutechess 1.4.0-1 +docker 1:29.5.2-1 +docker-buildx 0.34.1-1 +docker-compose 5.1.4-1 +dosfstools 4.2-5 +dotnet-runtime-9.0 9.0.16.sdk117-1 +dust 1.2.4-2 +efibootmgr 18-4 +evince 1:48.4-1 +exfatprogs 1.4.1-1 +expac 10-12 +eza 0.23.4-3 +fastfetch 2.64.2-2 +fcitx5 5.1.19-1 +fcitx5-gtk 5.1.6-1 +fcitx5-qt 5.1.13-5 +fd 10.4.2-2 +ffmpegthumbnailer 2.3.0-1 +firefox 151.0.4-1 +flatpak 1:1.18.0-1 +fontconfig 2:2.18.1-1 +freerdp 2:3.26.0-1 +fzf 0.72.0-1 +git 2.54.0-1 +github-cli 2.94.0-1 +gnome-calculator 50.0-1 +gnome-disk-utility 46.1-2 +gnome-keyring 1:50.0-1 +gnome-themes-extra 1:3.28-1 +godot 4.6.3-1 +gpu-screen-recorder 5.13.9-2 +grim 1.5.0-2 +gst-plugin-pipewire 1:1.6.6-1 +gum 0.17.0-1 +gvfs-mtp 1.60.0-2 +gvfs-nfs 1.60.0-2 +gvfs-smb 1.60.0-2 +heroic-games-launcher-bin 2.22.0-1 +hypridle 0.1.7-9 +hyprland 0.55.4-1 +hyprland-guiutils 0.2.1-6 +hyprland-preview-share-picker 0.2.1-1 +hyprlock 0.9.5-4 +hyprmod-git r84.43887c6-1 +hyprpicker 0.4.7-1 +hyprsunset 0.3.3-7 +imagemagick 7.1.2.25-1 +impala 0.7.4-1 +imv 5.0.1-1 +inetutils 2.8-1 +intel-media-driver 26.1.5-1 +intel-ucode 20260512-1 +inxi 3.3.40.1-1 +iwd 3.12-1 +jq 1.8.1-3 +kdeconnect-git 26.04.2+r5513+g834af3a9f-1 +kdenlive 26.04.2-1 +kernel-modules-hook 0.1.7-3 +kvantum-qt5 1.1.8-1 +lazydocker 0.25.2-1 +lazygit 0.62.2-1 +less 1:704-1 +lib32-nvidia-utils 610.43.02-1 +lib32-vulkan-intel 1:26.1.2-1 +libpulse 17.0+r98+gb096704c0-1 +libqalculate 5.11.0-1 +libreoffice-fresh 26.2.4-1 +libva-nvidia-driver 0.0.17-1 +libyaml 0.2.5-3 +limine 12.3.3-1 +limine-mkinitcpio-hook 1.36.0-1 +limine-snapper-sync 1.29.0-1 +linux 7.0.11.arch1-1 +linux-firmware 20260519-1 +linux-headers 7.0.11.arch1-1 +llvm 22.1.6-1 +lmms-git 1.3.0.alpha.1.r998.g4cb78c4b6-1 +localsend 1.17.0-3 +luarocks 3.13.0-5 +lunacy-bin 14.1-1 +mako 1.11.0-1 +man-db 2.13.1-1 +mariadb-libs 12.3.2-2 +mise 2026.5.15-1 +modrinth-app 0.14.6-1 +mpv 1:0.41.0-3 +nano 9.0-1 +nautilus 50.2.2-1 +nautilus-python 4.1.0-3 +neovim 0.12.3-1 +noto-fonts 1:2026.06.01-1 +noto-fonts-cjk 20240730-1 +noto-fonts-emoji 1:2.051-1 +nss-mdns 0.15.1-2 +nvidia-open-dkms 610.43.02-2 +nvidia-utils 610.43.02-2 +obsidian 1.12.7-2 +omarchy-keyring 20251027-1 +omarchy-nvim 2026.4.23-1 +omarchy-walker 1.0.0-2 +openbsd-netcat 1.238_1-1 +pamixer 1.6-4 +penguins-eggs 26.6.2-1 +pinta 3.1.2-1 +pipewire 1:1.6.6-1 +pipewire-alsa 1:1.6.6-1 +pipewire-jack 1:1.6.6-1 +pipewire-pulse 1:1.6.6-1 +playerctl 2.4.1-5 +plocate 1.1.24-1 +plymouth 26.134.222-2 +polkit-gnome 0.105-12 +postgresql-libs 18.4-1 +power-profiles-daemon 0.30-1 +python-gobject 3.56.3-1 +python-pip 26.1.2-1 +python-pipx 1.14.0-1 +python-poetry-core 2.4.1-1 +python-pygame 2.6.1-5 +python-terminaltexteffects 0.15.0-1 +qt5-wayland 5.15.19+kde+r55-1 +reflector 2023-5 +ripgrep 15.1.0-3 +ruby 3.4.8-2 +rust 1:1.96.0-1 +satty 0.20.1-2 +sddm 0.21.0-7 +signal-desktop 8.14.0-1 +sl 5.05-5 +slurp 1.5.0-2 +socat 1.8.1.1-1 +sof-firmware 2025.12.2-1 +spotify 1:1.2.90.451-1 +starship 1.25.1-1 +steam 1.0.0.85-7 +stockfish 1:18-1 +sudo 1.9.17.p2-2 +sushi 50.0-1 +swaybg 1.2.2-1 +swayosd 0.3.1-1 +system-config-printer 1.5.18-6 +tailscale 1.98.4-1 +teams-for-linux 2.10.0-2 +tesseract 5.5.2-1 +tesseract-data-eng 2:4.1.0-5 +thermald 2:2.5.11-1 +tldr 3.4.4-1 +tmux 3.6_b-2 +tobi-try 1.8.1-2 +tree-sitter-cli 0.26.9-1 +ttf-ia-writer 20181225-1 +ttf-jetbrains-mono-nerd 3.4.0-2 +typora 1.13.6-1 +tzupdate 3.1.0-1 +ufw 0.36.2-7 +ufw-docker 251123-1 +unzip 6.0-23 +usage 3.2.0-1 +uwsm 0.26.4-1 +virtualbox-bin 7.2.8-1 +visual-studio-code-bin 1.123.0-6 +vpl-gpu-rt 26.1.5-1 +vulkan-intel 1:26.1.2-1 +waybar 0.15.0-2 +whois 5.6.6-1 +wireless-regdb 2026.05.30-1 +wiremix 0.11.0-1 +wireplumber 0.5.14-1 +wl-clipboard 1:2.3.0-1 +woff2-font-awesome 7.2.0-1 +xdg-desktop-portal-gtk 1.15.3-1 +xdg-desktop-portal-hyprland 1.3.12-2 +xdg-terminal-exec 0.14.0-1 +xmlstarlet 1.6.1-6 +xournalpp 1.3.5-1 +yaru-icon-theme 26.04.5.1ubuntu-1 +yay 12.5.7-2.1 +zen-browser-bin 1.21b-1 +zoxide 0.9.9-2 +zram-generator 1.2.1-1 diff --git a/packages.txt b/packages.txt new file mode 100644 index 0000000..6749b00 --- /dev/null +++ b/packages.txt @@ -0,0 +1,210 @@ +1password-beta +1password-cli +aether +alacritty +alsa-utils +asciiquarium-transparent-git +asdcontrol +balena-etcher +base +base-devel +bash-completion +bat +bibata-cursor-theme-bin +bitwarden +bitwarden-cli +bluetui +bolt +brightnessctl +btop +btrfs-progs +cava +chromium +clang +claude-code +cliamp +cmatrix +cups +cups-browsed +cups-filters +cups-pdf +cutechess +docker +docker-buildx +docker-compose +dosfstools +dotnet-runtime-9.0 +dust +efibootmgr +evince +exfatprogs +expac +eza +fastfetch +fcitx5 +fcitx5-gtk +fcitx5-qt +fd +ffmpegthumbnailer +firefox +flatpak +fontconfig +freerdp +fzf +git +github-cli +gnome-calculator +gnome-disk-utility +gnome-keyring +gnome-themes-extra +godot +gpu-screen-recorder +grim +gst-plugin-pipewire +gum +gvfs-mtp +gvfs-nfs +gvfs-smb +heroic-games-launcher-bin +hypridle +hyprland +hyprland-guiutils +hyprland-preview-share-picker +hyprlock +hyprmod-git +hyprpicker +hyprsunset +imagemagick +impala +imv +inetutils +intel-media-driver +intel-ucode +inxi +iwd +jq +kdeconnect-git +kdenlive +kernel-modules-hook +kvantum-qt5 +lazydocker +lazygit +less +lib32-nvidia-utils +lib32-vulkan-intel +libpulse +libqalculate +libreoffice-fresh +libva-nvidia-driver +libyaml +limine +limine-mkinitcpio-hook +limine-snapper-sync +linux +linux-firmware +linux-headers +llvm +lmms-git +localsend +luarocks +lunacy-bin +mako +man-db +mariadb-libs +mise +modrinth-app +mpv +nano +nautilus +nautilus-python +neovim +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +nss-mdns +nvidia-open-dkms +nvidia-utils +obsidian +omarchy-keyring +omarchy-nvim +omarchy-walker +openbsd-netcat +pamixer +penguins-eggs +pinta +pipewire +pipewire-alsa +pipewire-jack +pipewire-pulse +playerctl +plocate +plymouth +polkit-gnome +postgresql-libs +power-profiles-daemon +python-gobject +python-pip +python-pipx +python-poetry-core +python-pygame +python-terminaltexteffects +qt5-wayland +reflector +ripgrep +ruby +rust +satty +sddm +signal-desktop +sl +slurp +socat +sof-firmware +spotify +starship +steam +stockfish +sudo +sushi +swaybg +swayosd +system-config-printer +tailscale +teams-for-linux +tesseract +tesseract-data-eng +thermald +tldr +tmux +tobi-try +tree-sitter-cli +ttf-ia-writer +ttf-jetbrains-mono-nerd +typora +tzupdate +ufw +ufw-docker +unzip +usage +uwsm +virtualbox-bin +visual-studio-code-bin +vpl-gpu-rt +vulkan-intel +waybar +whois +wireless-regdb +wiremix +wireplumber +wl-clipboard +woff2-font-awesome +xdg-desktop-portal-gtk +xdg-desktop-portal-hyprland +xdg-terminal-exec +xmlstarlet +xournalpp +yaru-icon-theme +yay +zen-browser-bin +zoxide +zram-generator diff --git a/system/makepkg.conf b/system/makepkg.conf new file mode 100644 index 0000000..7b2b1f4 --- /dev/null +++ b/system/makepkg.conf @@ -0,0 +1,168 @@ +#!/hint/bash +# shellcheck disable=2034 + +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#NPROC=2 + +#-- Compiler and Linker Flags +#CPPFLAGS="" +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection \ + -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" +LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ + -Wl,-z,pack-relative-relocs" +LTOFLAGS="-flto=auto" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +BUILDENV=(!distcc color !ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: +# OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +#-- autodeps: Automatically add depends/provides +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=(usr{,/local}{,/share}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" +#-- Prefix and directories for library autodeps +LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -c -z -) +COMPRESSZST=(zstd -c -T0 -) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +PKGEXT='.pkg.tar.zst' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() +# vim: set ft=sh ts=2 sw=2 et: diff --git a/system/pacman.conf b/system/pacman.conf new file mode 100644 index 0000000..5dafbc8 --- /dev/null +++ b/system/pacman.conf @@ -0,0 +1,30 @@ +# See the pacman.conf(5) manpage for option and repository directives + +[options] +Color +ILoveCandy +VerbosePkgLists +HoldPkg = pacman glibc +Architecture = auto +CheckSpace +ParallelDownloads = 5 +DownloadUser = alpm + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +# pacman searches repositories in the order defined here +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +[omarchy] +SigLevel = Optional TrustAll +Server = https://pkgs.omarchy.org/stable/$arch diff --git a/system/system-services.txt b/system/system-services.txt new file mode 100644 index 0000000..cf1136c --- /dev/null +++ b/system/system-services.txt @@ -0,0 +1,33 @@ +UNIT FILE STATE PRESET +cups.path enabled disabled +avahi-daemon.service enabled disabled +bluetooth.service enabled disabled +cups-browsed.service enabled disabled +cups.service enabled disabled +getty@.service enabled enabled +iwd.service enabled disabled +limine-snapper-sync.service enabled disabled +linux-modules-cleanup.service enabled disabled +power-profiles-daemon.service enabled disabled +sddm.service enabled disabled +systemd-network-generator.service enabled enabled +systemd-networkd.service enabled enabled +systemd-resolved.service enabled enabled +systemd-timesyncd.service enabled enabled +tailscaled.service enabled disabled +thermald.service enabled disabled +ufw.service enabled disabled +avahi-daemon.socket enabled disabled +cups.socket enabled disabled +docker.socket enabled disabled +systemd-networkd-resolve-hook.socket enabled disabled +systemd-networkd-varlink-metrics.socket enabled disabled +systemd-networkd-varlink.socket enabled disabled +systemd-networkd.socket enabled disabled +systemd-resolved-monitor.socket enabled disabled +systemd-resolved-varlink.socket enabled disabled +systemd-userdbd.socket enabled enabled +remote-fs.target enabled enabled +snapper-timeline.timer enabled disabled + +30 unit files listed. diff --git a/system/user-services.txt b/system/user-services.txt new file mode 100644 index 0000000..deba2e2 --- /dev/null +++ b/system/user-services.txt @@ -0,0 +1,13 @@ +UNIT FILE STATE PRESET +elephant.service enabled enabled +omarchy-recover-internal-monitor.service enabled enabled +swayosd-server.service enabled enabled +wireplumber.service enabled enabled +xdg-user-dirs.service enabled enabled +gnome-keyring-daemon.socket enabled enabled +p11-kit-server.socket enabled enabled +pipewire-pulse.socket enabled enabled +pipewire.socket enabled enabled +omarchy-battery-monitor.timer enabled enabled + +10 unit files listed.