Compare commits

..

12 Commits

18 changed files with 330 additions and 25 deletions

View File

@@ -12,7 +12,10 @@ statusbar-visible=true
[state/window] [state/window]
bottom-panel-size=140 bottom-panel-size=140
height=979
maximized=true
side-panel-active-page='GeditWindowDocumentsPanel' side-panel-active-page='GeditWindowDocumentsPanel'
side-panel-size=200 side-panel-size=200
size=(635, 285) size=(950, 975)
state=43908 state=43908
width=956

View File

@@ -1,7 +1,7 @@
[settings/file-chooser] [settings/file-chooser]
date-format='regular' date-format='regular'
location-mode='path-bar' location-mode='path-bar'
show-hidden=true show-hidden=false
show-size-column=true show-size-column=true
show-type-column=true show-type-column=true
sidebar-width=140 sidebar-width=140

View File

@@ -1,3 +1,6 @@
[compression]
default-compression-format='tar.xz'
[icon-view] [icon-view]
default-zoom-level='small' default-zoom-level='small'
@@ -6,6 +9,8 @@ default-folder-viewer='icon-view'
migrated-gtk-settings=true migrated-gtk-settings=true
search-filter-time-type='last_modified' search-filter-time-type='last_modified'
search-view='list-view' search-view='list-view'
show-create-link=true
show-delete-permanently=true
[window-state] [window-state]
initial-size=(1280, 720) initial-size=(1280, 720)

View File

@@ -118,7 +118,7 @@ dconf load /org/gnome/gedit/ < ~/.config/dconf-export/gedit.dconf
# rofi & rofi-calc (compilation, because why not) # rofi & rofi-calc (compilation, because why not)
ensure_installed rofi-wayland rofi-devel qalculate meson libtool cairo-devel ensure_installed rofi-wayland rofi-devel qalculate meson libtool cairo-devel
git clone https://github.com/svenstaro/rofi-calc ~/.local/bin/build_stage/rofi-calc && cd ~/.local/bin/build_stage/rofi-calc && meson setup build && meson compile -C build && sudo meson install git clone https://github.com/svenstaro/rofi-calc ~/.local/bin/build_stage/rofi-calc && cd ~/.local/bin/build_stage/rofi-calc && meson setup build && cd build && meson compile -C build && sudo meson install
cd cd
# kdeconnect # kdeconnect

1
gtk-4.0/gtk-dark.css Symbolic link
View File

@@ -0,0 +1 @@
/usr/share/themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css

3
hypr/exec.lua Normal file
View File

@@ -0,0 +1,3 @@
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY")
hl.exec_cmd("uwsm app udiskie")
hl.exec_cmd("uwsm app kdeconnect-indicator")

View File

@@ -13,7 +13,8 @@
#autogenerated = 1 # remove this line to remove the warning #autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto monitor=DP-2,preferred,0x0,1
monitor=HDMI-A-2,1920x1080,1920x-420,1, transform,1
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf

101
hypr/hyprland.lua Normal file
View File

@@ -0,0 +1,101 @@
local monitors = {
{
output="DP-2", -- todo: description as ID
mode="preferred",
position="0x0",
scale=1
}, -- desktop horizontal/left
{
output="HDMI-A-2", -- todo: description as ID
mode="1920x1080",
position="1920x-420",
scale=1,
transform=1
}, -- desktop vertical/right
{
output="eDP-1",
mode="preferred",
position="0x0",
scale=1.25,
}, -- laptop main
{
output = "",
mode = "preferred",
position = "auto",
scale = 1
} -- everything else
}
-- # Catppuccin theme colors
palette = require "macchiato"
-- Window rules
hl.window_rule({
name = "launcher",
center = true,
stay_focused = true,
match = {class = "^(Rofi)$"},
})
hl.config({
general = {
gaps_in = 2,
gaps_out = 4,
border_size = 2,
["col.active_border"] = palette.blue,
["col.inactive_border"] = palette.overlay0,
layout = dwindle,
},
input = {
kb_layout = "hu",
kb_variant = "102_qwertz_dot_nodead",
kb_options = "grp:menu_toggle",
follow_mouse = true,
touchpad = { natural_scroll = false, },
sensitivity = 0, -- -1.0 .. 1.0, 0 means no modification.
},
decoration = {
rounding = 5,
blur = {
enabled = true,
size = 3,
passes = 1,
},
shadow = {
enabled = false,
range = 4,
render_power = 3,
color = 'rgba('..palette.baseAlpha.."ee)",
},
},
xwayland = { force_zero_scaling = true, },
misc = {
vrr = 1, -- VRR on for every program needing it
disable_splash_rendering = true,
disable_hyprland_logo = true,
--force_hypr_chan = true -- there is suddenly an anime girl on the background :D
},
debug = { disable_logs = false }
})
hl.curve("myBezier", {type="bezier", points={{0.05, 0.9}, {0.1, 1.05}}})
hl.curve("cubic", {type="bezier", points={{0.65, 0}, {0.35, 1}}})
hl.animation({leaf="windows", enabled=true, speed=7, bezier="myBezier"})
hl.animation({leaf="windowsOut", enabled=true, speed=7, bezier="default", style="popin 80%"})
hl.animation({leaf="border", enabled=true, speed=10, bezier="default"})
hl.animation({leaf="borderangle", enabled=true, speed=8, bezier="default"})
hl.animation({leaf="fade", enabled=true, speed=7, bezier="default"})
hl.animation({leaf="workspaces", enabled=true, speed=6, bezier="myBezier", style="slidevert"})
hl.animation({leaf="specialWorkspace", enabled=true, speed=3, bezier="cubic", style="slide"})
hl.gesture({fingers=4, direction="vertical", action="workspace"}) -- TODO: invert
-- hl.gesture({fingers=4, direction="horizontal", action="special"}) -- TODO: toggle
hl.gesture({fingers=3, direction="down", action=function () hl.dsp.exec_cmd("~/.config/rofi/launchers/type-1/launcher.sh") end})
hl.gesture({fingers=3, direction="up", action=function() hl.dsp.exec_cmd("rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command \"echo -n '{result}' | wl-copy\"") end})
hl.gesture({fingers=2, direction="pinch", action="cursor_zoom"})
-- TODO: two finger left-right for back-forward
hl.gesture({fingers=5, direction="pinchout", action=function() hl.dsp.exec_cmd("/usr/bin/hyprlock") end})
hl.gesture({fingers=5, direction="pinchin", action=function() hl.dsp.window.close() end})
require "exec"
require "keybinds"

View File

@@ -21,8 +21,8 @@ bind = $mainMod SHIFT, PERIOD, pin
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
binde = , XF86MonBrightnessUp, exec, brightnessctl set '12.75+' binde = , XF86MonBrightnessUp, exec, brightnessctl set '242.42+'
binde = , XF86MonBrightnessDown, exec, brightnessctl set '12.75-' binde = , XF86MonBrightnessDown, exec, brightnessctl set '242.42-'
binde = , XF86AudioPlay, exec, playerctl play-pause binde = , XF86AudioPlay, exec, playerctl play-pause
binde = , XF86AudioNext, exec, playerctl next binde = , XF86AudioNext, exec, playerctl next
binde = , XF86AudioPrev, exec, playerctl previous binde = , XF86AudioPrev, exec, playerctl previous

77
hypr/keybinds.lua Normal file
View File

@@ -0,0 +1,77 @@
-- Keybinds configuration file
-- local mainMod = "SUPER + "
local execs = {
-- Applications
F = "uwsm app nautilus",
T = "uwsm app kitty",
W = "uwsm app io.gitlab.librewolf-community.desktop",
SPACE = "~/.config/rofi/launchers/type-1/launcher.sh",
-- Launcher
["SHIFT + V"] = "cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist decode | wl-copy",
["SHIFT + CTRL + V"] = "cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist delete",
minus = "rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command \"echo -n '{result}' | wl-copy\"",
-- System components
B = "pkill waybar || uwsm app waybar",
N = "swaync-client -t -sw",
["CTRL + BACKSPACE"] = "/usr/bin/hyprlock",
-- Screenshot
["SHIFT + S"] = "slurp | grim -g - - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date + '%Y-%m-%d-%H%M%S_grim.png')",
["SHIFT + CTRL + S"] = "grim - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date + '%Y-%m-%d-%H%M%S_grim.png')",
["CTRL + C"] = "hyprpicker | wl-copy",
}
for key, cmd in pairs(execs) do
hl.bind("SUPER + "..key, hl.dsp.exec_cmd(cmd))
end
-- Move focus with "SUPER + " + arrow keys
for key,dir in pairs({H="left", J="down", K="up", L="left"}) do
hl.bind("SUPER + "..key, hl.dsp.focus({direction=dir}))
hl.bind("SUPER + ".."SHIFT + "..key, hl.dsp.window.move({direction=dir})) -- will this move workspace up?
-- hl.bind("SUPER + ".."SHIFT + "..direction, hl.dsp.window.move(direction=direction))
end
-- for key,dir in pairs({H={x=-10, y=0}, J={x=0, y=-10}, K={x=0, y=10}, L={x=10, y=0}}) do
-- hl.bind("SUPER + ".."CTRL + SHIFT + "..key, hl.dsp.window.resize({direction=dir}), {locked=false, repeating=false, ignore_mods=false})
-- end
for ws = 1,9 do
hl.bind("SUPER + ".."CTRL + "..ws, hl.dsp.focus({workspace=ws}), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."SHIFT + "..ws, hl.dsp.window.move({workspace=ws}), {locked=false, repeating=false, ignore_mods=false})
end
for key,direction in pairs({mouse_down="r+1", mouse_up="r-1", K="r-1", J='r+1', up="r-1", down="r+1", END="empty", HOME="1"}) do
hl.bind("SUPER + ".."CTRL + "..key, hl.dsp.focus({workspace=direction}), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."SHIFT + "..key, hl.dsp.window.move({workspace=direction}), {locked=false, repeating=false, ignore_mods=false})
end
hl.bind("SUPER + ".."BACKSPACE", hl.dsp.window.close(), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."CTRL + ALT + BACKSPACE", hl.dsp.exit(), {locked=false, repeating=false, ignore_mods=false}) -- uwsm stop? loginctl?
hl.bind("SUPER + ".."Y", hl.dsp.window.float("toggle"), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."P", hl.dsp.window.pin("toggle"), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."E", hl.dsp.window.fullscreen("fullscreen", "toggle"), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."TAB", hl.dsp.workspace.toggle_special(), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."mouse:274", hl.dsp.workspace.toggle_special(), {locked=false, repeating=false, ignore_mods=false})
-- hl.bind("SUPER + ".."SHIFT + TAB", hl.dsp.window.move({workspace=special}), {locked=false, repeating=false, ignore_mods=false})
-- hl.bind("SUPER + ".."SHIFT + mouse:274", hl.dsp.window.move({workspace=special}), {locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."mouse:272", hl.dsp.window.drag(), {mouse=true, drag=true, locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."SHIFT + mouse:272", hl.dsp.window.resize(), {mouse=true, drag=true, locked=false, repeating=false, ignore_mods=false})
hl.bind("SUPER + ".."mouse:273", hl.dsp.window.resize(), {mouse=true, drag=true, locked=false, repeating=false, ignore_mods=false})
-- Media keybinds: repeating and allow when locked
local media_execs = {
XF86AudioRaiseVolume="wpclt set-volume @DEFAULT_AUDIO_SINK@ 5% + ",
XF86AudioLowerVolume="wpclt set-volume @DEFAULT_AUDIO_SINK@ 5%-",
XF86AudioMute="wpclt set-mute @DEFAULT_AUDIO_SINK@ toggle",
XF86MonBrightnessUp="brightnessctl set 1% + ",
XF86MonBrightnessDown="brightnessctl set 1%-",
XF86AudioPlay="playerctl play-pause",
XF86AudioNext="playerctl next",
XF86AudioPrev="playerctl previous",
}
for key,cmd in pairs(media_execs) do
hl.bind("SUPER + "..key, hl.dsp.exec_cmd(cmd), {locked=true, repeating=true, ignore_mods=true})
end

81
hypr/macchiato.lua Normal file
View File

@@ -0,0 +1,81 @@
local M = {}
M.rosewater = 'rgb(f4dbd6)'
M.rosewaterAlpha = 'f4dbd6'
M.flamingo = 'rgb(f0c6c6)'
M.flamingoAlpha = 'f0c6c6'
M.pink = 'rgb(f5bde6)'
M.pinkAlpha = 'f5bde6'
M.mauve = 'rgb(c6a0f6)'
M.mauveAlpha = 'c6a0f6'
M.red = 'rgb(ed8796)'
M.redAlpha = 'ed8796'
M.maroon = 'rgb(ee99a0)'
M.maroonAlpha = 'ee99a0'
M.peach = 'rgb(f5a97f)'
M.peachAlpha = 'f5a97f'
M.yellow = 'rgb(eed49f)'
M.yellowAlpha = 'eed49f'
M.green = 'rgb(a6da95)'
M.greenAlpha = 'a6da95'
M.teal = 'rgb(8bd5ca)'
M.tealAlpha = '8bd5ca'
M.sky = 'rgb(91d7e3)'
M.skyAlpha = '91d7e3'
M.sapphire = 'rgb(7dc4e4)'
M.sapphireAlpha = '7dc4e4'
M.blue = 'rgb(8aadf4)'
M.blueAlpha = '8aadf4'
M.lavender = 'rgb(b7bdf8)'
M.lavenderAlpha = 'b7bdf8'
M.text = 'rgb(cad3f5)'
M.textAlpha = 'cad3f5'
M.subtext1 = 'rgb(b8c0e0)'
M.subtext1Alpha = 'b8c0e0'
M.subtext0 = 'rgb(a5adcb)'
M.subtext0Alpha = 'a5adcb'
M.overlay2 = 'rgb(939ab7)'
M.overlay2Alpha = '939ab7'
M.overlay1 = 'rgb(8087a2)'
M.overlay1Alpha = '8087a2'
M.overlay0 = 'rgb(6e738d)'
M.overlay0Alpha = '6e738d'
M.surface2 = 'rgb(5b6078)'
M.surface2Alpha = '5b6078'
M.surface1 = 'rgb(494d64)'
M.surface1Alpha = '494d64'
M.surface0 = 'rgb(363a4f)'
M.surface0Alpha = '363a4f'
M.base = 'rgb(24273a)'
M.baseAlpha = '24273a'
M.mantle = 'rgb(1e2030)'
M.mantleAlpha = '1e2030'
M.crust = 'rgb(181926)'
M.crustAlpha = '181926'
return M

View File

@@ -2,6 +2,6 @@ local on_attach = require("nvchad.configs.lspconfig").on_attach
local capabilities = require("nvchad.configs.lspconfig").capabilities local capabilities = require("nvchad.configs.lspconfig").capabilities
-- if you just want default config for the servers then put them in a table -- if you just want default config for the servers then put them in a table
local servers = { "hyprls", "lua-language-server", "clangd", "basedpyright", "vhdl_ls" } local servers = { "hyprls", "lua-language-server", "clangd", "basedpyright", "vhdl_ls", "verible" }
vim.lsp.enable(servers) vim.lsp.enable(servers)

View File

@@ -6,6 +6,15 @@ local autocmd = vim.api.nvim_create_autocmd
-- command = "tabdo wincmd =", -- command = "tabdo wincmd =",
-- }) -- })
autocmd('FileType', {
pattern = { 'lua', 'vhdl', 'python', 'markdown', 'latex', 'c', 'cpp', 'hyprlang', 'html', 'css', 'yaml', 'json' },
callback = function()
vim.treesitter.start() -- highlighting
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' -- folds
vim.wo.foldmethod = 'expr'
-- vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" -- indentation
end,
})
-- disable folding on startup -- disable folding on startup
vim.opt.foldenable = false vim.opt.foldenable = false
@@ -47,3 +56,9 @@ local enable_providers = {
end end
vim.g.python3_host_prog = vim.fn.expand(os.getenv("XDG_STATE_HOME") .. "/virtualenvs/neovim/bin/python3") vim.g.python3_host_prog = vim.fn.expand(os.getenv("XDG_STATE_HOME") .. "/virtualenvs/neovim/bin/python3")
-- Acu filetype
autocmd({'BufRead', 'BufNewFile'}, {
pattern = '*.acu',
command = "set filetype=acu"
})

View File

@@ -6,6 +6,3 @@ require "nvchad.options"
-- o.cursorlineopt ='both' -- to enable cursorline! -- o.cursorlineopt ='both' -- to enable cursorline!
local o = vim.o local o = vim.o
-- Enable treesitter folding
o.foldmethod = "expr"
o.foldexpr = "nvim_treesitter#foldexpr()"

View File

@@ -5,6 +5,6 @@ vt = current
# The default session, also known as the greeter. # The default session, also known as the greeter.
[default_session] [default_session]
command = "dbus-run-session start-hyprland -- -c /etc/greetd/hyprland.conf" command = "dbus-run-session start-hyprland -- -c /etc/greetd/hyprland.lua"
user = "greetd" user = "greetd"

View File

@@ -8,6 +8,6 @@ hl.config({
disable_hyprland_guiutils_check = true, disable_hyprland_guiutils_check = true,
}, },
input = { input = {
kb_layout = hu kb_layout = "hu"
} }
}) })

View File

@@ -1,6 +1,7 @@
{ [{
"layer": "top", "layer": "top",
"position": "top", "position": "top",
"output": "DP-2",
"include": [ "include": [
"~/.config/waybar/modules.jsonc" "~/.config/waybar/modules.jsonc"
], ],
@@ -16,4 +17,24 @@
"icon-size": 16, "icon-size": 16,
"spacing": 10 "spacing": 10
}, },
} },
{
"layer": "top",
"position": "top",
"output": "HDMI-A-2",
"include": [
"~/.config/waybar/modules.jsonc"
],
"height": 40,
"margin-left": 3,
"margin-right": 3,
"margin-top": 3,
"margin-bottom": 3,
"modules-left": ["custom/junkyard", "hyprland/workspaces"],
"modules-center": ["clock"],
"modules-right": ["tray", "custom/notification", "pulseaudio", "group/group-power"],
"tray": {
"icon-size": 16,
"spacing": 10
},
}]

View File

@@ -26,12 +26,12 @@
"pulseaudio": { "pulseaudio": {
// "scroll-step": 1, // %, can be a float // "scroll-step": 1, // %, can be a float
//"reverse-scrolling": 1, //"reverse-scrolling": 1,
"format": "{icon} {volume}% {format_source}", "format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{icon} {volume}% {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": "{icon} {format_source}", "format-bluetooth-muted": "{volume}% {icon}󰂲 {format_source}",
"format-muted": "󰝟 {volume}% {format_source}", "format-muted": "{volume}% 󰝟 {format_source}",
"format-source": "{volume}%", "format-source": "{volume}%",
"format-source-muted": "{volume}%", "format-source-muted": "{volume}%",
"format-icons": { "format-icons": {
"headphone": "󰋋", "headphone": "󰋋",
"hands-free": "󱡒", "hands-free": "󱡒",
@@ -48,7 +48,7 @@
"bluetooth": { "bluetooth": {
"format": "", "format": "",
"format-disabled": "", "format-disabled": "",
"format-connected": "{num_connections}", "format-connected": "{num_connections}",
"tooltip-format-enumerate-connected": "{device_alias}", "tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-connected": "{device_enumerate}", "tooltip-format-connected": "{device_enumerate}",
"on-click": "uwsm app blueman-manager" "on-click": "uwsm app blueman-manager"
@@ -94,7 +94,7 @@
"cpu": { "cpu": {
"interval": 1, "interval": 1,
"format": "{usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}", "format": "{usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
"format-icons": [ "format-icons": [
"<span color='#a6da95'>▁</span>", // green "<span color='#a6da95'>▁</span>", // green
"<span color='#8aadf4'>▂</span>", // blue "<span color='#8aadf4'>▂</span>", // blue
@@ -109,7 +109,7 @@
"memory": { "memory": {
"interval": 5, "interval": 5,
"format": "󰍛 {percentage}%" "format": "{percentage}% 󰍛"
}, },
"group/group-power": { "group/group-power": {
@@ -158,7 +158,7 @@
"warning": 20, "warning": 20,
"critical": 5 "critical": 5
}, },
"format": "{icon}{capacity}%", "format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄", "format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}% 󰚥", "format-plugged": "{capacity}% 󰚥",
// "format-alt": "{time} {icon}", // "format-alt": "{time} {icon}",
@@ -170,7 +170,7 @@
}, },
"backlight": { "backlight": {
"format": "{icon} {percent}%", "format": "{percent}% {icon}",
"format-icons": ["󰃞", "󰃟", "󰃠"] "format-icons": ["󰃞", "󰃟", "󰃠"]
}, },