Browse Source

feat: add hyprland configs

master
Tovi Jaeschke-Rogers 5 days ago
parent
commit
b371171298
14 changed files with 649 additions and 11 deletions
  1. +5
    -0
      .config/alacritty/alacritty.toml
  2. +36
    -0
      .config/alacritty/cyberdream.toml
  3. +248
    -0
      .config/hypr/hyprland.conf
  4. +0
    -0
      .config/hypr/monitors.conf
  5. +0
    -0
      .config/hypr/workspaces.conf
  6. +6
    -0
      .config/nvim/lua/plugins/blink.lua
  7. +43
    -6
      .config/nvim/lua/plugins/colorscheme.lua
  8. +2
    -1
      .config/nvim/lua/plugins/laravel.lua
  9. +21
    -1
      .config/nvim/lua/plugins/lspconfig.lua
  10. +1
    -0
      .config/nvim/lua/plugins/neotest.lua
  11. +152
    -0
      .config/waybar/config.jsonc
  12. +130
    -0
      .config/waybar/style.css
  13. +0
    -3
      .config/zsh/.zprofile
  14. +5
    -0
      .profile

+ 5
- 0
.config/alacritty/alacritty.toml View File

@ -0,0 +1,5 @@
[general]
import = ["~/.config/alacritty/cyberdream.toml"]
[window]
opacity = 0.9

+ 36
- 0
.config/alacritty/cyberdream.toml View File

@ -0,0 +1,36 @@
# cyberdream theme for alacritty
[[colors.indexed_colors]]
color = "0xffbd5e"
index = 16
[[colors.indexed_colors]]
color = "0xff6e5e"
index = 17
[colors.bright]
black = "0x3c4048"
blue = "0x5ea1ff"
cyan = "0x5ef1ff"
green = "0x5eff6c"
magenta = "0xbd5eff"
red = "0xff6e5e"
white = "0xffffff"
yellow = "0xf1ff5e"
[colors.normal]
black = "0x16181a"
blue = "0x5ea1ff"
cyan = "0x5ef1ff"
green = "0x5eff6c"
magenta = "0xbd5eff"
red = "0xff6e5e"
white = "0xffffff"
yellow = "0xf1ff5e"
[colors.primary]
background = "0x16181a"
foreground = "0xffffff"
[colors.selection]
background = "0x3c4048"
foreground = "0xffffff"

+ 248
- 0
.config/hypr/hyprland.conf View File

@ -0,0 +1,248 @@
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
monitor = DP-1-8, preferred, auto, 1
monitor = DP-1-9, preferred, auto, 1
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = alacritty
$menu = wofi --show drun
#################
### AUTOSTART ###
#################
exec-once = waybar
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
###################
### PERMISSIONS ###
###################
# See https://wiki.hyprland.org/Configuring/Permissions/
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
# for security reasons
# ecosystem {
# enforce_permissions = 1
# }
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 5
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 5
rounding_power = 2
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = false
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant =
kb_model =
kb_options = caps:swapescape
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Cycle through monitors
bind = SUPER, period, focusmonitor, +1
bind = SUPER, comma, focusmonitor, -1
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, return, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exec, uwsm stop
bind = $mainMod, F, togglefloating,
bind = $mainMod, P, exec, $menu
bind = $mainMod, S, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, h, movefocus, l # left
bind = $mainMod, j, movefocus, d # down
bind = $mainMod, k, movefocus, u # up
bind = $mainMod, l, movefocus, r # right
# Switch workspaces with mainMod + [0-9]
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
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD 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
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

+ 0
- 0
.config/hypr/monitors.conf View File


+ 0
- 0
.config/hypr/workspaces.conf View File


+ 6
- 0
.config/nvim/lua/plugins/blink.lua View File

@ -5,6 +5,7 @@ return {
'rafamadriz/friendly-snippets',
'mikavilpas/blink-ripgrep.nvim',
{ 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql', 'plsql' }, lazy = true },
{ 'saghen/blink.compat', version = '2.*', lazy = true, opts = {} },
},
version = '1.*',
@ -40,10 +41,15 @@ return {
'snippets',
'buffer',
'dadbod',
'laravel',
},
providers = {
dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
laravel = {
name = "laravel",
module = "blink.compat.source",
},
},
},


+ 43
- 6
.config/nvim/lua/plugins/colorscheme.lua View File

@ -6,25 +6,25 @@ return {
config = function()
-- Default options:
require("kanagawa").setup({
compile = false, -- enable compiling the colorscheme
compile = false, -- enable compiling the colorscheme
undercurl = true, -- enable undercurls
commentStyle = { italic = true },
functionStyle = {},
keywordStyle = { italic = true },
statementStyle = { bold = true },
typeStyle = {},
transparent = false, -- do not set background color
dimInactive = false, -- dim inactive window `:h hl-NormalNC`
transparent = true, -- do not set background color
dimInactive = false, -- dim inactive window `:h hl-NormalNC`
terminalColors = true, -- define vim.g.terminal_color_{0,17}
colors = { -- add/modify theme and palette colors
colors = { -- add/modify theme and palette colors
palette = {},
theme = { wave = {}, lotus = {}, dragon = {}, all = {} },
},
overrides = function(colors) -- add/modify highlights
return {}
end,
theme = "wave", -- Load "wave" theme when 'background' option is not set
background = { -- map the value of 'background' option to a theme
theme = "wave", -- Load "wave" theme when 'background' option is not set
background = { -- map the value of 'background' option to a theme
dark = "wave", -- try "dragon" !
light = "lotus",
},
@ -39,6 +39,43 @@ return {
lazy = false,
priority = 1000,
config = function()
require("cyberdream").setup({
variant = "default",
transparent = true,
saturation = 1, -- accepts a value between 0 and 1. 0 will be fully desaturated (greyscale) and 1 will be the full color (default)
italic_comments = false,
hide_fillchars = false,
borderless_pickers = false,
terminal_colors = true,
cache = true,
-- Override highlight groups with your own colour values
highlights = {
-- Highlight groups to override, adding new groups is also possible
-- See `:h highlight-groups` for a list of highlight groups or run `:hi` to see all groups and their current values
-- Example:
Comment = { fg = "#696969", bg = "NONE", italic = true },
-- More examples can be found in `lua/cyberdream/extensions/*.lua`
},
-- Override a highlight group entirely using the built-in colour palette
-- overrides = function(colors) -- NOTE: This function nullifies the `highlights` option
-- -- Example:
-- return {
-- Comment = { fg = colors.green, bg = "NONE", italic = true },
-- ["@property"] = { fg = colors.magenta, bold = true },
-- }
-- end,
-- Disable or enable colorscheme extensions
extensions = {
telescope = true,
notify = true,
mini = true,
},
})
vim.cmd("colorscheme cyberdream")
end
},


+ 2
- 1
.config/nvim/lua/plugins/laravel.lua View File

@ -1,5 +1,5 @@
return {
"adalessa/laravel.nvim",
dir = "~/Projects/laravel.nvim",
dependencies = {
"tpope/vim-dotenv",
"nvim-telescope/telescope.nvim",
@ -15,6 +15,7 @@ return {
event = { "VeryLazy" },
opts = {
lsp_server = "intelephense",
artisan_path = "app/api/artisan",
environments = {
default = "docker-compose",
auto_discover = false,


+ 21
- 1
.config/nvim/lua/plugins/lspconfig.lua View File

@ -239,7 +239,27 @@ return {
},
},
clangd = {},
clangd = {
cmd = {
"clangd",
"--compile-commands-dir=.",
"--header-insertion=never",
"--cross-file-rename",
"--clang-tidy"
},
filetypes = { "c", "cpp" },
root_dir = require('lspconfig.util').root_pattern(
'.clangd',
'.clang-tidy',
'.clang-format',
'compile_commands.json',
'compile_flags.txt',
'configure.in',
'.git',
'Makefile'
),
},
}
require("mason").setup()


+ 1
- 0
.config/nvim/lua/plugins/neotest.lua View File

@ -49,6 +49,7 @@ return {
root_files = { "phpunit.xml", "composer.json" },
-- phpunit_cmd = { "docker", "compose", "exec", "fpm", "./vendor/bin/phpunit" },
phpunit_cmd = { "docker", "compose", "exec", "app-fpm", "./vendor/bin/phpunit" },
-- phpunit_cmd = { "docker", "compose", "exec", "subscription-fpm", "./vendor/bin/phpunit" },
filter_dirs = { "vendor" },
mapped_docker_dir = "/var/www",
append_to_cwd = "/api",


+ 152
- 0
.config/waybar/config.jsonc View File

@ -0,0 +1,152 @@
// -*- mode: jsonc -*-
{
"layer": "top",
"mode": "dock",
"position": "top", // (top|bottom|left|right)
"height": 40, // (to be removed for auto height)
"width": "auto",
"spacing": 3, // Gaps between modules
"margin": 0,
"fixed-center": true,
"reload_style_on_change": true,
"modules-left": [
"hyprland/workspaces",
"hyprland/submap",
],
"modules-center": [
"clock"
],
"modules-right": [
"custom/weather",
"pulseaudio",
"temperature",
"network",
"backlight",
"battery",
"tray"
],
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{icon} {name}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"tray": {
"icon-size": 24,
"show-passive-items": true,
"spacing": 10
},
"clock": {
"interval": 1,
"format": "{:%A %d. %b %T}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"format": {
"today": "<span color='#ff5555'><b><u>{}</u></b></span>"
}
}
},
"temperature": {
"interval": 1000,
"critical-threshold": 80,
"format": "{temperatureC}°C"
},
"backlight": {
"format": "{icon}",
"tooltip-format": "{icon} {percent}",
"format-icons": [
"󰌶",
"󱩎",
"󱩏",
"󱩐",
"󱩑",
"󱩒",
"󱩓",
"󱩔",
"󱩕",
"󱩖",
"󰛨"
]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon}",
"format-full": "{icon}",
"format-charging": "{icon} ",
"format-plugged": "{icon} ",
"format-alt": "{icon}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
"interval": 1000,
"format-wifi": "{icon}",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{essid}\n{ifname} via {gwaddr}\n{ipaddr}/{cidr}",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "󰤭",
"format-alt": "{essid}",
"format-icons": [
"󰤯",
"󰤟",
"󰤢",
"󰤥",
"󰤨"
]
},
"pulseaudio": {
"format": "{icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "",
"format-source-muted": " ",
"format-bluetooth": "{icon} {format_source}",
"format-bluetooth-muted": "{icon} {format_source}",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "󰋎",
"phone": " ",
"portable": " ",
"car": "",
"default": [
"",
"",
""
]
},
"tooltip-format": "{icon} {volume}%\n{format_source}",
"ignored-sinks": [
"Easy Effects Sink"
]
},
"custom/weather": {
"format": "{}°C",
"tooltip": true,
"interval": 3600,
"exec": "wttrbar --date-format \"%d.%m.%Y\" -l de",
"return-type": "json"
}
}

+ 130
- 0
.config/waybar/style.css View File

@ -0,0 +1,130 @@
* {
border: none;
border-radius: 0;
font-family: JetBrainsMono, Roboto, Helvetica, Arial, sans-serif;
font-size: 14px;
min-height: 0;
}
window#waybar {
background: rgba(0, 0, 0, 0.6);
color: white;
}
button {
margin: 3px;
padding: 3px;
}
tooltip {
background: rgba(0, 0, 0, 0.202);/*rgba(43, 48, 59, 0.5);*/
border: 4px solid white;
border-radius: 10px;
}
tooltip label {
color: white;
}
#workspaces button {
margin: 0;
padding: 0;
background: transparent;
color: #888888;
}
#workspaces button.active {
color: white;
}
#mode,
#clock,
#battery,
#pulseaudio,
#temperature,
#language,
#backlight,
#network,
#tray,
#custom-weather {
padding: 0 10px;
}
#scratchpad,
#window {
margin-left: 6px;
margin-right: 6px;
}
#custom-weather.sunny {
color: rgb(215, 215, 0);
}
#custom-weather.lightrain {
color: lightblue;
}
#custom-weather.rain,
#custom-weather.heavyrain {
color: blue;
}
#custom-weather.cloudy,
#custom-weather.fog {
color: gray;
}
#window {
color: darkred;
}
#language {
color: cadetblue;
}
#pulseaudio {
color: darkcyan;
}
#network {
color: coral;
}
#temperature {
color: rgb(91, 191, 225);
}
#backlight {
color: rgb(255, 255, 61);
}
#clock {
color: aqua;
}
#battery {
color: rgb(147, 63, 225);
}
#battery.charging {
color: #26A65B;
}
@keyframes blink {
to {
color: white;
}
}
#battery.warning:not(.charging),
#temperature.critical,
#workspaces button.urgent,
#mode {
color: #ff0000;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(2);
animation-iteration-count: infinite;
animation-direction: alternate;
}

+ 0
- 3
.config/zsh/.zprofile View File

@ -1,3 +0,0 @@
if [[ -z "$DISPLAY" ]] && [[ "$XDG_VTNR" = 1 ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi

+ 5
- 0
.profile View File

@ -0,0 +1,5 @@
#!/bin/sh
if uwsm check may-start && uwsm select; then
exec systemd-cat -t uwsm_start uwsm start default
fi

Loading…
Cancel
Save