init commit
This commit is contained in:
346
hypr/hyprland.lua
Normal file
346
hypr/hyprland.lua
Normal file
@@ -0,0 +1,346 @@
|
||||
-- This is an example Hyprland Lua config file.
|
||||
-- Refer to the wiki for more information.
|
||||
-- https://wiki.hypr.land/Configuring/Start/
|
||||
|
||||
-- Please note not all available settings / options are set here.
|
||||
-- For a full list, see the wiki
|
||||
|
||||
-- You can (and should!!) split this configuration into multiple files
|
||||
-- Create your files separately and then require them like this:
|
||||
-- require("myColors")
|
||||
require("environment")
|
||||
local colors = require("rose-pine")
|
||||
|
||||
------------------
|
||||
---- MONITORS ----
|
||||
------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Monitors/
|
||||
hl.monitor({
|
||||
output = "DP-1",
|
||||
mode = "1920x1080@100",
|
||||
position = "0x0",
|
||||
scale = 1,
|
||||
})
|
||||
|
||||
hl.monitor({
|
||||
output = "HDMI-A-1",
|
||||
mode = "1920x1080@60",
|
||||
position = "1920x0",
|
||||
scale = 1.25,
|
||||
})
|
||||
|
||||
---------------------
|
||||
---- MY PROGRAMS ----
|
||||
---------------------
|
||||
|
||||
-- Set programs that you use
|
||||
local terminal = "kitty"
|
||||
local fileManager = "kitty"
|
||||
local menu = "hyprlauncher"
|
||||
local browser = "vivaldi-stable --enable-features=AcceleratedVideoEncoder"
|
||||
local browserPrivate = "vivaldi --incognito --enable-features=AcceleratedVideoEncoder"
|
||||
|
||||
-------------------
|
||||
---- AUTOSTART ----
|
||||
-------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
||||
|
||||
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
-- Or execute your favorite apps at launch like this:
|
||||
hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("swaybg -i /home/sortedcord/Pictures/Wallpapers/cliff.jpg -m fill")
|
||||
hl.exec_cmd("wayle shell")
|
||||
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||
hl.exec_cmd("quickshell")
|
||||
hl.exec_cmd("hyprpm reload -n")
|
||||
end)
|
||||
|
||||
-------------------------------
|
||||
---- ENVIRONMENT VARIABLES ----
|
||||
-------------------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
||||
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
hl.env("bitdepth", "10")
|
||||
hl.env("XDG_DESKTOP_PORTAL_HYPRLAND_FORCE_SHM", "1")
|
||||
|
||||
-----------------------
|
||||
----- PERMISSIONS -----
|
||||
-----------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Permissions/
|
||||
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
-- for security reasons
|
||||
|
||||
-- hl.config({
|
||||
-- ecosystem = {
|
||||
-- enforce_permissions = true,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow")
|
||||
|
||||
-----------------------
|
||||
---- LOOK AND FEEL ----
|
||||
-----------------------
|
||||
|
||||
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||
hl.config({
|
||||
general = {
|
||||
gaps_in = 3,
|
||||
gaps_out = 3,
|
||||
|
||||
border_size = 2,
|
||||
|
||||
col = {
|
||||
active_border = colors.rose,
|
||||
inactive_border = colors.muted,
|
||||
},
|
||||
|
||||
-- Set to true to enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false,
|
||||
|
||||
-- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on
|
||||
allow_tearing = false,
|
||||
|
||||
layout = "hy3",
|
||||
},
|
||||
|
||||
decoration = {
|
||||
rounding = 0,
|
||||
rounding_power = 0,
|
||||
|
||||
-- Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
|
||||
shadow = {
|
||||
enabled = false,
|
||||
range = 4,
|
||||
render_power = 3,
|
||||
color = 0xee1a1a1a,
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = false,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- hy3 plugin settings for i3-like tabbing & container layout
|
||||
hl.config({
|
||||
plugin = {
|
||||
hy3 = {
|
||||
-- policy controlling what happens when a node is removed from a group,
|
||||
-- leaving only a group
|
||||
-- 0 = remove the nested group
|
||||
-- 1 = keep the nested group
|
||||
-- 2 = keep the nested group only if its parent is a tab group
|
||||
node_collapse_policy = 2,
|
||||
|
||||
-- offset from group split direction when only one window is in a group
|
||||
group_inset = 10,
|
||||
|
||||
-- if a tab group will automatically be created for the first window spawned in a workspace
|
||||
tab_first_window = false,
|
||||
|
||||
-- tab group settings
|
||||
tabs = {
|
||||
-- height of the tab bar
|
||||
height = 20,
|
||||
|
||||
-- padding between the tab bar and its focused node
|
||||
padding = 3,
|
||||
|
||||
-- the tab bar should animate in/out from the top instead of below the window
|
||||
from_top = false,
|
||||
|
||||
-- radius of tab bar corners
|
||||
radius = 0,
|
||||
|
||||
-- tab bar border width
|
||||
border_width = 2,
|
||||
|
||||
-- render the window title on the bar
|
||||
render_text = true,
|
||||
|
||||
-- center the window title
|
||||
text_center = true,
|
||||
|
||||
-- font to render the window title with
|
||||
text_font = "Sans",
|
||||
|
||||
-- height of the window title
|
||||
text_height = 10,
|
||||
|
||||
-- left padding of the window title
|
||||
text_padding = 3,
|
||||
|
||||
colors = {
|
||||
-- active tab bar segment colors (using Rose Pine colors, fully opaque)
|
||||
active = colors.rose,
|
||||
active_border = colors.rose,
|
||||
active_text = colors.base,
|
||||
|
||||
-- active tab bar segment colors for bars on an unfocused monitor
|
||||
active_alt_monitor = colors.subtle,
|
||||
active_alt_monitor_border = colors.subtle,
|
||||
active_alt_monitor_text = colors.base,
|
||||
|
||||
-- focused tab bar segment colors (focused node in unfocused container)
|
||||
focused = colors.muted,
|
||||
focused_border = colors.muted,
|
||||
focused_text = colors.text,
|
||||
|
||||
-- inactive tab bar segment colors
|
||||
inactive = colors.surface,
|
||||
inactive_border = colors.overlay,
|
||||
inactive_text = colors.muted,
|
||||
|
||||
-- urgent tab bar segment colors
|
||||
urgent = colors.love,
|
||||
urgent_border = colors.love,
|
||||
urgent_text = colors.base,
|
||||
|
||||
-- locked tab bar segment colors
|
||||
locked = colors.gold,
|
||||
locked_border = colors.gold,
|
||||
locked_text = colors.base,
|
||||
},
|
||||
|
||||
-- if tab backgrounds should be blurred
|
||||
blur = false,
|
||||
|
||||
-- opacity multiplier for tabs
|
||||
opacity = 1.0,
|
||||
},
|
||||
|
||||
-- autotiling settings
|
||||
autotile = {
|
||||
enable = false,
|
||||
ephemeral_groups = true,
|
||||
trigger_width = 0,
|
||||
trigger_height = 0,
|
||||
workspaces = "all",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||
|
||||
-- Default springs
|
||||
|
||||
-- Ref https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
-- "Smart gaps" / "No gaps when only"
|
||||
-- uncomment all if you wish to use that.
|
||||
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-wtv1",
|
||||
-- match = { float = false, workspace = "w[tv1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-f1",
|
||||
-- match = { float = false, workspace = "f[1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
||||
hl.config({
|
||||
dwindle = {
|
||||
preserve_split = true, -- You probably want this
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Master-Layout/ for more
|
||||
hl.config({
|
||||
master = {
|
||||
new_status = "master",
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/ for more
|
||||
hl.config({
|
||||
scrolling = {
|
||||
fullscreen_on_one_column = true,
|
||||
},
|
||||
})
|
||||
|
||||
----------------
|
||||
---- MISC ----
|
||||
----------------
|
||||
|
||||
hl.config({
|
||||
misc = {
|
||||
disable_hyprland_logo = true, -- If true disables the random hyprland logo / anime girl background. :(
|
||||
},
|
||||
})
|
||||
|
||||
---------------
|
||||
---- INPUT ----
|
||||
---------------
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
kb_variant = "",
|
||||
kb_model = "",
|
||||
kb_options = "",
|
||||
kb_rules = "",
|
||||
|
||||
follow_mouse = 1,
|
||||
|
||||
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
hl.gesture({
|
||||
fingers = 3,
|
||||
direction = "horizontal",
|
||||
action = "workspace",
|
||||
})
|
||||
|
||||
-- Example per-device config
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Devices/ for more
|
||||
hl.device({
|
||||
name = "epic-mouse-v1",
|
||||
sensitivity = -0.5,
|
||||
})
|
||||
|
||||
---------------------
|
||||
---- KEYBINDINGS ----
|
||||
---------------------
|
||||
|
||||
require("keybinds").setup({
|
||||
terminal = terminal,
|
||||
menu = menu,
|
||||
browser = browser,
|
||||
browserPrivate = browserPrivate,
|
||||
})
|
||||
|
||||
--------------------------------
|
||||
---- WINDOWS AND WORKSPACES ----
|
||||
--------------------------------
|
||||
|
||||
require("windowrules")
|
||||
Reference in New Issue
Block a user