diff --git a/files/system/etc/rofi.rasi b/files/system/etc/rofi.rasi index dc7e8d4..0c9a485 100644 --- a/files/system/etc/rofi.rasi +++ b/files/system/etc/rofi.rasi @@ -1,225 +1,133 @@ -* { - primary: #b7c4ff; - primary-fixed: #dce1ff; - primary-fixed-dim: #b7c4ff; - on-primary: #0f2976; - on-primary-fixed: #001551; - on-primary-fixed-variant: #2b418d; - primary-container: #4257a4; - on-primary-container: #ffffff; - secondary: #bec5ea; - secondary-fixed: #dce1ff; - secondary-fixed-dim: #bec5ea; - on-secondary: #282f4c; - on-secondary-fixed: #121a36; - on-secondary-fixed-variant: #3e4564; - secondary-container: #3e4564; - on-secondary-container: #c2c9ee; - tertiary: #ffb867; - tertiary-fixed: #ffddba; - tertiary-fixed-dim: #ffb867; - on-tertiary: #482900; - on-tertiary-fixed: #2b1700; - on-tertiary-fixed-variant: #673d00; - tertiary-container: #845000; - on-tertiary-container: #ffffff; - error: #ffb4ab; - on-error: #690005; - error-container: #93000a; - on-error-container: #ffdad6; - surface: #121318; - on-surface: #e3e1e9; - on-surface-variant: #c5c5d3; - outline: #8f909c; - outline-variant: #444651; - shadow: #000000; - scrim: #000000; - inverse-surface: #e3e1e9; - inverse-on-surface: #2f3036; - inverse-primary: #4559a7; - surface-dim: #121318; - surface-bright: #38393e; - surface-container-lowest: #0d0e13; - surface-container-low: #1a1b20; - surface-container: #1f1f24; - surface-container-high: #292a2f; - surface-container-highest: #34343a; -} +/*Dracula theme based on the Purple official rofi theme*/ -/*****----- Configuration -----*****/ configuration { - modi: "drun"; - show-icons: true; - display-drun: ""; - drun-display-format: "{name}"; -} - -/*****----- Global Properties -----*****/ -@import "colors.rasi" - -*{ - bgcolor: #141b1e95; - background: @background; - background-alt: @surface-container; - foreground: @primary; - selected: @on-primary; - active: @on-primary; - urgent: @on-error; - - font: "IBM Plex Sans Medium 11"; -} - -/*****----- Main Window -----*****/ -window { - transparency: "real"; - location: center; - anchor: center; - fullscreen: true; - width: 1920px; - height: 1080px; - x-offset: 0px; - y-offset: 0px; - - enabled: true; - margin: 0px; - padding: 0px; - border: 0px solid; - border-radius: 0px; - border-color: @selected; - background-color: @bgcolor; - cursor: "default"; -} - -/*****----- Main Box -----*****/ -mainbox { - enabled: true; - spacing: 100px; - margin: 0px; - padding: 100px 225px; - border: 0px solid; - border-radius: 0px 0px 0px 0px; - border-color: @selected; - background-color: @bgcolor; - children: [ "inputbar", "listview" ]; -} - -/*****----- Inputbar -----*****/ -inputbar { - enabled: true; - spacing: 10px; - margin: 0% 25%; - padding: 10px; - border: 1px solid; - border-radius: 6px; - border-color: white / 25%; - background-color: white / 5%; - text-color: @foreground; - children: [ "prompt", "entry" ]; -} - -prompt { - enabled: true; - background-color: transparent; - padding: 0 10 0; - text-color: inherit; + show-icons: true; + display-drun: ""; + disable-history: false; } -textbox-prompt-colon { - enabled: true; - expand: false; - str: "::"; - background-color: transparent; - text-color: inherit; -} -entry { - enabled: true; - background-color: transparent; - text-color: inherit; - cursor: text; - placeholder: "Search"; - placeholder-color: inherit; -} - -/*****----- Listview -----*****/ -listview { - enabled: true; - columns: 7; - lines: 4; - cycle: true; - dynamic: true; - scrollbar: false; - layout: vertical; - reverse: false; - fixed-height: true; - fixed-columns: true; - - spacing: 0px; - margin: 0px; - padding: 0px; - border: 0px solid; - border-radius: 0px; - border-color: @selected; - background-color: transparent; - text-color: @foreground; - cursor: "default"; -} -scrollbar { - handle-width: 5px ; - handle-color: @selected; - border-radius: 0px; - background-color: @background-alt; -} - -/*****----- Elements -----*****/ -element { - enabled: true; - spacing: 15px; - margin: 0px; - padding: 35px 10px; - border: 0px solid; - border-radius: 15px; - border-color: @selected; - background-color: transparent; - text-color: @foreground; - orientation: vertical; - cursor: pointer; -} -element normal.normal { - background-color: transparent; - text-color: @foreground; -} -element selected.normal { - background-color: white / 5%; - text-color: @foreground; -} -element-icon { - background-color: transparent; - text-color: inherit; - size: 72px; - cursor: inherit; -} -element-text { - background-color: transparent; - text-color: inherit; - highlight: inherit; - cursor: inherit; - vertical-align: 0.5; - horizontal-align: 0.5; +* { + font: "Jetbrains Mono 12"; + foreground: #f8f8f2; + background-color: #282a36; + active-background: #6272a4; + urgent-background: #ff5555; + urgent-foreground: #282a36; + selected-background: @active-background; + selected-urgent-background: @urgent-background; + selected-active-background: @active-background; + separatorcolor: @active-background; + bordercolor: @active-background; } -/*****----- Message -----*****/ -error-message { - padding: 100px; - border: 0px solid; - border-radius: 0px; - border-color: @selected; - background-color: black / 10%; - text-color: @foreground; -} -textbox { - background-color: transparent; - text-color: @foreground; - vertical-align: 0.5; - horizontal-align: 0.0; - highlight: none; +#window { + background-color: @background-color; + border: 3; + border-radius: 6; + border-color: @bordercolor; + padding: 15; +} +#mainbox { + border: 0; + padding: 0; +} +#message { + border: 0px; + border-color: @separatorcolor; + padding: 1px; +} +#textbox { + text-color: @foreground; +} +#listview { + fixed-height: 0; + border: 0px; + border-color: @bordercolor; + spacing: 2px ; + scrollbar: false; + padding: 2px 0px 0px ; +} +#element { + border: 0; + padding: 3px ; +} +#element.normal.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +#element.normal.active { + background-color: @active-background; + text-color: @foreground; +} +#element.selected.normal { + background-color: @selected-background; + text-color: @foreground; +} +#element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @foreground; +} +#element.selected.active { + background-color: @selected-active-background; + text-color: @foreground; +} +#element.alternate.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.alternate.urgent { + background-color: @urgent-background; + text-color: @foreground; +} +#element.alternate.active { + background-color: @active-background; + text-color: @foreground; +} +#scrollbar { + width: 2px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +#sidebar { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +#button.selected { + background-color: @selected-background; + text-color: @foreground; +} +#inputbar { + spacing: 0; + text-color: @foreground; + padding: 1px ; +} +#case-indicator { + spacing: 0; + text-color: @foreground; +} +#entry { + spacing: 0; + text-color: @foreground; +} +#prompt { + spacing: 0; + text-color: @foreground; +} +#inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +#textbox-prompt-colon { + expand: false; + str: ">"; + margin: 0px 0.3em 0em 0em ; + text-color: @foreground; +} +element-text, element-icon { + background-color: inherit; + text-color: inherit; } diff --git a/files/system/etc/skel/.config/hypr/colors.conf b/files/system/etc/skel/.config/hypr/colors.conf index 67bf335..2d6485e 100644 --- a/files/system/etc/skel/.config/hypr/colors.conf +++ b/files/system/etc/skel/.config/hypr/colors.conf @@ -1,70 +1,173 @@ # Generated with Matugen -$background = "rgb(18, 19, 24)" -$error = "rgb(255, 180, 171)" -$error_container = "rgb(147, 0, 10)" -$inverse_on_surface = "rgb(47, 48, 54)" -$inverse_primary = "rgb(69, 89, 167)" -$inverse_surface = "rgb(227, 225, 233)" -$on_background = "rgb(227, 225, 233)" -$on_error = "rgb(105, 0, 5)" -$on_error_container = "rgb(255, 218, 214)" -$on_primary = "rgb(15, 41, 118)" -$on_primary_container = "rgb(255, 255, 255)" -$on_primary_fixed = "rgb(0, 21, 81)" -$on_primary_fixed_variant = "rgb(43, 65, 141)" -$on_secondary = "rgb(40, 47, 76)" -$on_secondary_container = "rgb(194, 201, 238)" -$on_secondary_fixed = "rgb(18, 26, 54)" -$on_secondary_fixed_variant = "rgb(62, 69, 100)" -$on_success = "rgb(0, 57, 31)" -$on_success_container = "rgb(255, 255, 255)" -$on_surface = "rgb(227, 225, 233)" -$on_surface_variant = "rgb(197, 197, 211)" -$on_tertiary = "rgb(72, 41, 0)" -$on_tertiary_container = "rgb(255, 255, 255)" -$on_tertiary_fixed = "rgb(43, 23, 0)" -$on_tertiary_fixed_variant = "rgb(103, 61, 0)" -$on_urgent = "rgb(105, 0, 0)" -$on_urgent_container = "rgb(0, 0, 0)" -$on_white = "rgb(47, 49, 49)" -$on_white_container = "rgb(70, 72, 73)" -$outline = "rgb(143, 144, 156)" -$outline_variant = "rgb(68, 70, 81)" -$primary = "rgb(183, 196, 255)" -$primary_container = "rgb(66, 87, 164)" -$primary_fixed = "rgb(220, 225, 255)" -$primary_fixed_dim = "rgb(183, 196, 255)" -$scrim = "rgb(0, 0, 0)" -$secondary = "rgb(190, 197, 234)" -$secondary_container = "rgb(62, 69, 100)" -$secondary_fixed = "rgb(220, 225, 255)" -$secondary_fixed_dim = "rgb(190, 197, 234)" -$shadow = "rgb(0, 0, 0)" -$source_color = "rgb(66, 87, 164)" -$success = "rgb(121, 218, 160)" -$success_container = "rgb(27, 133, 83)" -$success_source = "rgb(27, 133, 83)" -$success_value = "rgb(27, 133, 83)" -$surface = "rgb(18, 19, 24)" -$surface_bright = "rgb(56, 57, 62)" -$surface_container = "rgb(31, 31, 36)" -$surface_container_high = "rgb(41, 42, 47)" -$surface_container_highest = "rgb(52, 52, 58)" -$surface_container_low = "rgb(26, 27, 32)" -$surface_container_lowest = "rgb(13, 14, 19)" -$surface_dim = "rgb(18, 19, 24)" -$surface_variant = "rgb(68, 70, 81)" -$tertiary = "rgb(255, 184, 103)" -$tertiary_container = "rgb(132, 80, 0)" -$tertiary_fixed = "rgb(255, 221, 186)" -$tertiary_fixed_dim = "rgb(255, 184, 103)" -$urgent = "rgb(255, 180, 168)" -$urgent_container = "rgb(255, 85, 64)" -$urgent_source = "rgb(255, 0, 0)" -$urgent_value = "rgb(255, 0, 0)" -$white = "rgb(255, 255, 255)" -$white_container = "rgb(226, 226, 226)" -$white_source = "rgb(255, 255, 255)" -$white_value = "rgb(255, 255, 255)" + +$background = "rgba(18, 19, 26, 255)" + +$error = "rgba(255, 180, 171, 255)" + +$error_container = "rgba(147, 0, 10, 255)" + +$inverse_on_surface = "rgba(48, 48, 55, 255)" + +$inverse_primary = "rgba(68, 82, 196, 255)" + +$inverse_surface = "rgba(227, 225, 235, 255)" + +$light_pastel_blue = "rgba(255, 254, 255, 255)" + +$light_pastel_blue_container = "rgba(215, 227, 240, 255)" + +$light_pastel_blue_source = "rgba(215, 227, 240, 255)" + +$light_pastel_blue_value = "rgba(215, 227, 240, 255)" + +$on_background = "rgba(227, 225, 235, 255)" + +$on_error = "rgba(105, 0, 5, 255)" + +$on_error_container = "rgba(255, 218, 214, 255)" + +$on_light_pastel_blue = "rgba(38, 50, 59, 255)" + +$on_light_pastel_blue_container = "rgba(61, 73, 83, 255)" + +$on_primary = "rgba(9, 26, 150, 255)" + +$on_primary_container = "rgba(188, 193, 255, 255)" + +$on_primary_fixed = "rgba(0, 9, 101, 255)" + +$on_primary_fixed_variant = "rgba(42, 56, 172, 255)" + +$on_secondary = "rgba(40, 45, 87, 255)" + +$on_secondary_container = "rgba(195, 199, 251, 255)" + +$on_secondary_fixed = "rgba(18, 23, 65, 255)" + +$on_secondary_fixed_variant = "rgba(63, 67, 111, 255)" + +$on_semi_transparent_black = "rgba(48, 48, 48, 255)" + +$on_semi_transparent_black_container = "rgba(255, 255, 255, 255)" + +$on_success = "rgba(0, 57, 31, 255)" + +$on_success_container = "rgba(255, 255, 255, 255)" + +$on_surface = "rgba(227, 225, 235, 255)" + +$on_surface_variant = "rgba(198, 197, 213, 255)" + +$on_tertiary = "rgba(98, 16, 0, 255)" + +$on_tertiary_container = "rgba(255, 179, 162, 255)" + +$on_tertiary_fixed = "rgba(61, 7, 0, 255)" + +$on_tertiary_fixed_variant = "rgba(132, 37, 13, 255)" + +$on_transparent_black = "rgba(48, 48, 48, 255)" + +$on_transparent_black_container = "rgba(255, 255, 255, 255)" + +$on_urgent = "rgba(105, 0, 0, 255)" + +$on_urgent_container = "rgba(0, 0, 0, 255)" + +$on_white = "rgba(47, 49, 49, 255)" + +$on_white_container = "rgba(70, 72, 73, 255)" + +$outline = "rgba(144, 143, 159, 255)" + +$outline_variant = "rgba(69, 70, 83, 255)" + +$primary = "rgba(189, 194, 255, 255)" + +$primary_container = "rgba(19, 34, 155, 255)" + +$primary_fixed = "rgba(223, 224, 255, 255)" + +$primary_fixed_dim = "rgba(189, 194, 255, 255)" + +$scrim = "rgba(0, 0, 0, 255)" + +$secondary = "rgba(191, 195, 246, 255)" + +$secondary_container = "rgba(63, 67, 111, 255)" + +$secondary_fixed = "rgba(223, 224, 255, 255)" + +$secondary_fixed_dim = "rgba(191, 195, 246, 255)" + +$semi_transparent_black = "rgba(198, 198, 198, 255)" + +$semi_transparent_black_container = "rgba(0, 0, 0, 255)" + +$semi_transparent_black_source = "rgba(0, 0, 0, 255)" + +$semi_transparent_black_value = "rgba(0, 0, 0, 255)" + +$shadow = "rgba(0, 0, 0, 255)" + +$source_color = "rgba(19, 34, 155, 255)" + +$success = "rgba(121, 218, 160, 255)" + +$success_container = "rgba(27, 133, 83, 255)" + +$success_source = "rgba(27, 133, 83, 255)" + +$success_value = "rgba(27, 133, 83, 255)" + +$surface = "rgba(18, 19, 26, 255)" + +$surface_bright = "rgba(56, 56, 64, 255)" + +$surface_container = "rgba(31, 31, 38, 255)" + +$surface_container_high = "rgba(41, 41, 49, 255)" + +$surface_container_highest = "rgba(52, 52, 60, 255)" + +$surface_container_low = "rgba(27, 27, 34, 255)" + +$surface_container_lowest = "rgba(13, 14, 20, 255)" + +$surface_dim = "rgba(18, 19, 26, 255)" + +$surface_variant = "rgba(69, 70, 83, 255)" + +$tertiary = "rgba(255, 180, 163, 255)" + +$tertiary_container = "rgba(108, 19, 0, 255)" + +$tertiary_fixed = "rgba(255, 218, 210, 255)" + +$tertiary_fixed_dim = "rgba(255, 180, 163, 255)" + +$transparent_black = "rgba(198, 198, 198, 255)" + +$transparent_black_container = "rgba(0, 0, 0, 255)" + +$transparent_black_source = "rgba(0, 0, 0, 255)" + +$transparent_black_value = "rgba(0, 0, 0, 255)" + +$urgent = "rgba(255, 180, 168, 255)" + +$urgent_container = "rgba(255, 85, 64, 255)" + +$urgent_source = "rgba(255, 0, 0, 255)" + +$urgent_value = "rgba(255, 0, 0, 255)" + +$white = "rgba(255, 255, 255, 255)" + +$white_container = "rgba(226, 226, 226, 255)" + +$white_source = "rgba(255, 255, 255, 255)" + +$white_value = "rgba(255, 255, 255, 255)" diff --git a/files/system/etc/skel/.config/hypr/env.conf b/files/system/etc/skel/.config/hypr/env.conf index a66b90a..aa82e67 100644 --- a/files/system/etc/skel/.config/hypr/env.conf +++ b/files/system/etc/skel/.config/hypr/env.conf @@ -1,6 +1,27 @@ -# ############ Themes ############# -env = QT_QPA_PLATFORM, wayland +# XDG Envs +env = XDG_SESSION_TYPE,wayland +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland + +# Use Wayland +env = CLUTTER_BACKEND,wayland +env = GDK_BACKEND,wayland,x11 +env = QT_QPA_PLATFORM, wayland;xcb +env = ELECTRON_OZONE_PLATFORM_HINT,auto +env = MOZ_ENABLE_WAYLAND,1 + +# vulkan +env = WLR_RENDERER,vulkan + +# Themes +env = GTK_THEME,adw-gtk3-dark env = QT_QPA_PLATFORMTHEME, qt5ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1 -# env = QT_STYLE_OVERRIDE,kvantum -# env = WLR_NO_HARDWARE_CURSORS, 1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_STYLE_OVERRIDE,kvantum + +# NVIDIA Fixes +# env = LIBVA_DRIVER_NAME,nvidia +# env = GBM_BACKEND,nvidia-drm +# env = __GLX_VENDOR_LIBRARY_NAME,nvidia +# env = NVD_BACKEND,direct diff --git a/files/system/etc/skel/.config/hypr/exec.conf b/files/system/etc/skel/.config/hypr/exec.conf index ee89262..5abc042 100644 --- a/files/system/etc/skel/.config/hypr/exec.conf +++ b/files/system/etc/skel/.config/hypr/exec.conf @@ -1,18 +1,25 @@ -# Input method +# Exec +exec-once = /usr/libexec/xdg-desktop-portal-hyprland +exec-once = /usr/libexec/xdg-desktop-portal-gtk +exec-once = /usr/libexec/xdg-desktop-portal +exec-once = /usr/libexec/xfce-polkit +exec-once = exec /usr/libexec/pam_kwallet_init +exec-once = dbus-update-activation-environment --all +exec-once = /usr/bin/gnome-keyring-daemon --start --components=secrets + +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once = fcitx5 +exec-once = waybar & dunst & nm-applet +exec-once = hypridle & hyprpaper # Clipboard: history exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store -# Theming -# Hyprpaper -$wallpaper = "/usr/share/backgrounds/astronaut-nord.png" -exec-once = hyprctl hyprpaper preload $wallpaper -exec-once = hyprctl hyprpaper wallpaper "monitor, $wallpaper" - -set $interface = org.gnome.desktop.interface -set $wm-preferences = org.gnome.desktop.wm.preferences +$interface = org.gnome.desktop.interface +$wm-preferences = org.gnome.desktop.wm.preferences exec-once = gsettings set $interface color-scheme 'prefer-dark' exec-once = gsettings set $wm-preferences theme 'adw-gtk3-dark' diff --git a/files/system/etc/skel/.config/hypr/hyprland.conf b/files/system/etc/skel/.config/hypr/hyprland.conf new file mode 100644 index 0000000..578e5e3 --- /dev/null +++ b/files/system/etc/skel/.config/hypr/hyprland.conf @@ -0,0 +1,134 @@ +source = colors.conf +source = env.conf +source = exec.conf +source = keybinds.conf +source = rules.conf + +general { + # allow_tearing = true + gaps_in = 8 + gaps_out = 8 + border_size = 2 + resize_on_border = true + + + # col.active_border = $primary + # col.inactive_border = rgba(000000A0) + layout = dwindle +} + + +dwindle { + pseudotile = yes + preserve_split = yes + special_scale_factor = 0.8 +} + +master { + new_on_top=1 + mfact = 0.5 +} + +input { + kb_layout = br + kb_variant= + kb_model= + kb_rules= + # kb_options=grp:alt_shift_toggle + # repeat_rate=50 + # repeat_delay=300 + numlock_by_default=1 + # left_handed=0 + # follow_mouse=1 + # float_switch_override_focus=0 + + touchpad { + # disable_while_typing=1 + # natural_scroll=0 + # clickfinger_behavior=0 + # middle_button_emulation=1 + # tap-to-click=1 + # drag_lock=0 + } +} + +gestures { + workspace_swipe = off +} + +cursor { + no_hardware_cursors = true +} + +group { + col.border_active = $primary + # col.border_inactive = $secondary + + groupbar { + col.active = $primary + # col.inactive = $background + } +} + +decoration { + rounding = 20 + + active_opacity = 1.0 + inactive_opacity = 0.8 + fullscreen_opacity = 1.0 + + dim_inactive = true + dim_strength = 0.35 + + drop_shadow=true + shadow_range = 16 + shadow_render_power = 2 + shadow_offset = 2 2 + col.shadow = rgba(0C0E13A6) + + blur { + enabled = true + size = 5 + passes = 3 + ignore_opacity = true + new_optimizations = true + } +} + +animations { + enabled = yes + + bezier = shot, 0.2, 1.0, 0.2, 1.0 + bezier = swipe, 0.6, 0.0, 0.2, 1.05 + bezier = linear, 0.0, 0.0, 1.0, 1.0 + bezier = progressive, 1.0, 0.0, 0.6, 1.0 + + + animation = windows, 1, 6, shot, slide + animation = workspaces, 1, 6, swipe, slide + animation = fade, 1, 4, progressive + animation = border, 1, 6, linear + animation = borderangle, 1, 180, linear, loop # used by rainbow borders and rotating colors +} + +binds { + workspace_back_and_forth=1 + allow_workspace_cycles=1 + # pass_mouse_when_bound=0 +} + +#Could help when scaling and not pixelating +xwayland { + force_zero_scaling = true +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + # mouse_move_enables_dpms = true + vrr = 2 + # enable_swallow = true + focus_on_activate = false + swallow_regex = ^(kitty)$ + #disable_autoreload = true +} diff --git a/files/system/etc/skel/.config/hypr/hyprpaper.conf b/files/system/etc/skel/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..8d09375 --- /dev/null +++ b/files/system/etc/skel/.config/hypr/hyprpaper.conf @@ -0,0 +1,3 @@ +$wallpaper = /usr/share/backgrounds/astronaut-nord.png +preload = $wallpaper +wallpaper = , $wallpaper diff --git a/files/system/etc/skel/.config/hypr/keybinds.conf b/files/system/etc/skel/.config/hypr/keybinds.conf index 47f3f2b..672ec53 100644 --- a/files/system/etc/skel/.config/hypr/keybinds.conf +++ b/files/system/etc/skel/.config/hypr/keybinds.conf @@ -1 +1,182 @@ -### Keybinds +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +$hypr_scripts = $HOME/.config/hypr/scripts + +$mainMod = SUPER +$files = nautilus +$term = alacritty +$launcher = rofi -show drun -theme ~/.config/rofi/launcher-fullscreen.rasi +$powermenu = wlogout +$grislurp = $hypr_scripts/grislurp +$screenshot = $hypr_scripts/screenshot.sh + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod SHIFT, r, exec, hyprctl reload +bind = $mainMod,Q, killactive, +bind = $mainMod,F, fullscreen, +bind = $mainMod CTRL, F, togglefloating, +bind = $mainMod, C, centerwindow +bind = $mainMod,P, pseudo, # dwindle +bind = $mainMod,T, togglesplit, # dwindle +bind = $mainMod,G, togglegroup + +# Groups +bind = $mainMod ALT, H, moveintogroup, r +bind = $mainMod ALT, L, moveintogroup, l +bind = $mainMod ALT,J, moveoutofgroup +bind = $mainMod ALT, right, moveintogroup, r +bind = $mainMod ALT, left, moveintogroup, l +bind = $mainMod ALT,down, moveoutofgroup +bind = $mainMod,tab, changegroupactive +bind = $mainMod,left, changegroupactive, b +bind = $mainMod,right, changegroupactive, f + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# VIM-like +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, K, movefocus, u +bind = $mainMod, J, movefocus, d + +# Move +bind = $mainMod CTRL, left, movewindow, l +bind = $mainMod CTRL, right, movewindow, r +bind = $mainMod CTRL, up, movewindow, u +bind = $mainMod CTRL, down, movewindow, d + +# Change workspaces +bind = $mainMod, period, workspace, e+1 +bind = $mainMod, comma, workspace, e-1 + +#------# +# Apps # +#------# +bind = $mainMod, Return, exec, $term +bind = $mainMod, E, exec, $files +bind = $mainMod, D, exec, $launcher +bind = $mainMod CTRL, Backspace, exec, hyprlock +bind = $mainMod, Y, exec, killall -SIGUSR1 waybar +bind = $mainMod, Backspace, exec, $powermenu + +# Screenshot +bind = , Print, exec, $screenshot + +bind = , CTRL Print, exec, $grislurp copy area +bind = , SHIFT Print, exec, $grislurp savecopy screen + +#-------------# +# Numpad Keys # +#-------------# +$num0 = KP_Insert +$num1 = KP_End +$num2 = KP_Down +$num3 = KP_Next +$num4 = KP_Left +$num5 = KP_Begin +$num6 = KP_Right +$num7 = KP_Home +$num8 = KP_Up +$num9 = KP_Prior + +# Switch to workspace +bind = $mainMod,1, workspace, 1 +bind = $mainMod,2, workspace, 2 +bind = $mainMod,3, workspace, 3 +bind = $mainMod,4, workspace, 4 +bind = $mainMod,5, workspace, 5 +bind = $mainMod,6, workspace, 6 +bind = $mainMod,7, workspace, 7 +bind = $mainMod,8, workspace, 8 +bind = $mainMod,9, workspace, 9 +bind = $mainMod,0, workspace, 10 + +# Switch to workspace using Numpad Keys +bind = $mainMod,$num0, workspace, 10 +bind = $mainMod,$num1, workspace, 1 +bind = $mainMod,$num2, workspace, 2 +bind = $mainMod,$num3, workspace, 3 +bind = $mainMod,$num4, workspace, 4 +bind = $mainMod,$num5, workspace, 5 +bind = $mainMod,$num6, workspace, 6 +bind = $mainMod,$num7, workspace, 7 +bind = $mainMod,$num8, workspace, 8 +bind = $mainMod,$num9, workspace, 9 + +# Move active window and follow to workspace mainMod + SHIFT [0-9] +bind = $mainMod SHIFT, code:10, movetoworkspace, 1 +bind = $mainMod SHIFT, code:11, movetoworkspace, 2 +bind = $mainMod SHIFT, code:12, movetoworkspace, 3 +bind = $mainMod SHIFT, code:13, movetoworkspace, 4 +bind = $mainMod SHIFT, code:14, movetoworkspace, 5 +bind = $mainMod SHIFT, code:15, movetoworkspace, 6 +bind = $mainMod SHIFT, code:16, movetoworkspace, 7 +bind = $mainMod SHIFT, code:17, movetoworkspace, 8 +bind = $mainMod SHIFT, code:18, movetoworkspace, 9 +bind = $mainMod SHIFT, code:19, movetoworkspace, 10 + +bind = $mainMod SHIFT, $num1, movetoworkspace, 1 +bind = $mainMod SHIFT, $num2, movetoworkspace, 2 +bind = $mainMod SHIFT, $num3, movetoworkspace, 3 +bind = $mainMod SHIFT, $num4, movetoworkspace, 4 +bind = $mainMod SHIFT, $num5, movetoworkspace, 5 +bind = $mainMod SHIFT, $num6, movetoworkspace, 6 +bind = $mainMod SHIFT, $num7, movetoworkspace, 7 +bind = $mainMod SHIFT, $num8, movetoworkspace, 8 +bind = $mainMod SHIFT, $num9, movetoworkspace, 9 +bind = $mainMod SHIFT, $num0, movetoworkspace, 10 + +bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] +bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 + +bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] +bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 + +# -------------- # +# Mouse Bindings # +# -------------- # + +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizeactive + +# Volume and Media Control +$up_volume = pamixer -i 10 +$lower_volume = pamixer -d 10 +$mute_volume = pamixer --default-source -m +$mute_mic = pamixer -t +$up_brightness = brightness s +5% +$lower_brightness = brightness s -5% + +# Sound +bind = , XF86AudioRaiseVolume, exec, $up_volume +bind = , XF86AudioLowerVolume, exec, $lower_volume +bind = , XF86AudioMicMute, exec, $mute_volume +bind = , XF86AudioMute, exec, $mute_mic +bind = , XF86AudioPlay, exec, playerctl play-pause +bind = , XF86AudioNext, exec, playerctl next +bind = , XF86AudioPrev, exec, playerctl previous + +# Screen brightness +bind = , XF86MonBrightnessUp, exec, $up_brightness +bind = , XF86MonBrightnessDown, exec, $lower_brightness + +# Keyboard backlight +bind = , xf86KbdBrightnessUp, exec, brightnessctl -d *::kbd_backlight set +33% +bind = , xf86KbdBrightnessDown, exec, brightnessctl -d *::kbd_backlight set 33%- + +# For passthrough keyboard into a VM +# bind = $mainMod ALT, P, submap, passthru +#submap = passthru +# to unbind +#bind = $mainMod ALT, P, submap, reset +#submap = reset + +# Force QUIT Hyprland +bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 diff --git a/files/system/etc/skel/.config/hypr/rules.conf b/files/system/etc/skel/.config/hypr/rules.conf index ce1b81a..e35f8b9 100644 --- a/files/system/etc/skel/.config/hypr/rules.conf +++ b/files/system/etc/skel/.config/hypr/rules.conf @@ -11,13 +11,13 @@ windowrule = center, title:^(Library)(.*)$ windowrule = center, title:^(File Upload)(.*)$ # Dialogs -windowrule=float,title:^(Open File)(.*)$ -windowrule=float,title:^(Select a File)(.*)$ -windowrule=float,title:^(Choose wallpaper)(.*)$ -windowrule=float,title:^(Open Folder)(.*)$ -windowrule=float,title:^(Save As)(.*)$ -windowrule=float,title:^(Library)(.*)$ -windowrule=float,title:^(File Upload)(.*)$ +windowrule = float, title:^(Open File)(.*)$ +windowrule = float, title:^(Select a File)(.*)$ +windowrule = float, title:^(Choose wallpaper)(.*)$ +windowrule = float, title:^(Open Folder)(.*)$ +windowrule = float, title:^(Save As)(.*)$ +windowrule = float, title:^(Library)(.*)$ +windowrule = float, title:^(File Upload)(.*)$ windowrule = float, org.kde.polkit-kde-authentication-agent-1 windowrule = float, nm-connection-editor|blueman-manager diff --git a/files/system/etc/skel/.config/wlogout/colors.css b/files/system/etc/skel/.config/wlogout/colors.css index 030242c..7a705ab 100644 --- a/files/system/etc/skel/.config/wlogout/colors.css +++ b/files/system/etc/skel/.config/wlogout/colors.css @@ -1,5 +1,5 @@ /* -* Wlogout Colors +* Waybar Colors * Generated with Matugen */ diff --git a/files/system/etc/skel/.local/share/xdg-terminals/kitty.desktop b/files/system/etc/skel/.local/share/xdg-terminals/kitty.desktop new file mode 120000 index 0000000..4b67763 --- /dev/null +++ b/files/system/etc/skel/.local/share/xdg-terminals/kitty.desktop @@ -0,0 +1 @@ +/usr/share/applications/kitty.desktop \ No newline at end of file diff --git a/files/system/usr/share/hyprland/hyprland.conf b/files/system/usr/share/hyprland/hyprland.conf index 3069df4..3b8f891 100644 --- a/files/system/usr/share/hyprland/hyprland.conf +++ b/files/system/usr/share/hyprland/hyprland.conf @@ -9,7 +9,6 @@ monitor=,preferred,auto,1 # Some default env vars. env = XCURSOR_SIZE,24 -env = WLR_NO_HARDWARE_CURSORS=1 env = GTK_THEME,Adwaita:dark env = QT_STYLE_OVERRIDE,adwaita-dark @@ -31,11 +30,15 @@ input { sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } +cursor { + no_hardware_cursors = true +} + general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 4 - gaps_out = 4 + gaps_in = 8 + gaps_out = 8 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) @@ -101,6 +104,7 @@ misc { # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER +$launcher = rofi $files = nautilus $term = kitty @@ -110,7 +114,7 @@ bind = $mainMod, F, fullscreen, bind = $mainMod CTRL, F, togglefloating, bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle -# bind = $mainMod, Backspace, exit, + #------# # Apps # #------# @@ -118,6 +122,8 @@ bind = $mainMod, Return, exec, $term bind = $mainMod, E, exec, $files bind = $mainMod, D, exec, rofi -show drun -modi drun,run,window bind = $mainMod, L, exec, hyprlock +bind = $mainMod, Backspace, exec, wlogout + # screenshot bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy @@ -164,24 +170,25 @@ bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Volume and Media Control -# $up_volume = -# $down_volume = -# $mute_volume = -# $mute_mic = -# $up_brightness = -# $down_brightness = -# -bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 -bind = , XF86AudioLowerVolume, exec, pamixer -d 5 -bind = , XF86AudioMicMute, exec, pamixer --default-source -m -bind = , XF86AudioMute, exec, pamixer -t +$up_volume = pamixer -i 10 +$lower_volume = pamixer -d 10 +$mute_volume = pamixer --default-source -m +$mute_mic = pamixer -t +$up_brightness = brightness s +5% +$lower_brightness = brightness s -5% + +# Sound +bind = , XF86AudioRaiseVolume, exec, $up_volume +bind = , XF86AudioLowerVolume, exec, $lower_volume +bind = , XF86AudioMicMute, exec, $mute_volume +bind = , XF86AudioMute, exec, $mute_mic bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous # Screen brightness -bind = , XF86MonBrightnessUp, exec, brightnessctl s +5% -bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%- +bind = , XF86MonBrightnessUp, exec, $up_brightness +bind = , XF86MonBrightnessDown, exec, $lower_brightness # Keyboard backlight bind = , xf86KbdBrightnessUp, exec, brightnessctl -d *::kbd_backlight set +33% @@ -196,6 +203,8 @@ exec-once = /usr/libexec/xfce-polkit exec-once = exec /usr/libexec/pam_kwallet_init exec-once = dbus-update-activation-environment --all exec-once = /usr/bin/gnome-keyring-daemon --start --components=secrets +exec-once = /usr/libexec/xdg-desktop-portal-hyprland +exec-once = fcitx5 exec-once = waybar & dunst & nm-applet -exec-once = hypridle +exec-once = hypridle & hyprpaper diff --git a/recipes/modules/pkgs.yml b/recipes/modules/pkgs.yml index d3baf95..2aedc71 100644 --- a/recipes/modules/pkgs.yml +++ b/recipes/modules/pkgs.yml @@ -7,7 +7,7 @@ install: # bar - waybar # launcher - - rofi + - rofi-wayland # environment - power-profiles-daemon - xorg-x11-server-Xwayland