first commit

This commit is contained in:
afoucaultc 2026-06-05 13:11:08 +02:00
commit 205faf4224
5471 changed files with 973850 additions and 0 deletions

View file

@ -0,0 +1,57 @@
-- shutdown hyprland and lock
hl.bind(
"CTRL + ALT + M",
hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"),
{ description = "hyprland shutdown" }
)
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd(lockscreen))
-- launchers
hl.bind("ALT + D", hl.dsp.exec_cmd(fileManager))
hl.bind("ALT + Q", hl.dsp.exec_cmd(terminal))
hl.bind("ALT + N", hl.dsp.exec_cmd("kitty -e nvim"))
hl.bind("ALT + W", hl.dsp.exec_cmd(app_launcher))
hl.bind("ALT + F", hl.dsp.exec_cmd(browser))
hl.bind("ALT + Z", hl.dsp.exec_cmd("zotero"))
-- window management
hl.bind("ALT + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind("ALT + F4", hl.dsp.window.kill("activewindow"))
-- move focus
hl.bind("ALT + L", hl.dsp.focus({ direction = "right" }))
hl.bind("ALT + H", hl.dsp.focus({ direction = "left" }))
hl.bind("ALT + J", hl.dsp.focus({ direction = "up" }))
hl.bind("ALT + K", hl.dsp.focus({ direction = "down" }))
-- move window
hl.bind("CTRL + SUPER + L", hl.dsp.window.move({ direction = "right" }))
hl.bind("CTRL + SUPER + H", hl.dsp.window.move({ direction = "left" }))
hl.bind("CTRL + SUPER + K", hl.dsp.window.move({ direction = "up" }))
hl.bind("CTRL + SUPER + J", hl.dsp.window.move({ direction = "down" }))
-- move to monitor
hl.bind("SUPER + A", hl.dsp.focus({ monitor = monitorA }))
hl.bind("SUPER + B", hl.dsp.focus({ monitor = monitorB }))
hl.bind("CTRL + SUPER + A", hl.dsp.window.move({ monitor = monitorA }))
hl.bind("CTRL + SUPER + B", hl.dsp.window.move({ monitor = monitorB }))
-- change workspace
hl.bind("SUPER + L", hl.dsp.focus({ workspace = "r+1" }))
hl.bind("SUPER + H", hl.dsp.focus({ workspace = "r-1" }))
hl.bind("SUPER + K", hl.dsp.window.move({ workspace = "r+1" }))
hl.bind("SUPER + J", hl.dsp.window.move({ workspace = "r-1" }))
-- screenshot
hl.bind(
"Print",
hl.dsp.exec_cmd(
[[filename="$(date +'%F-%T').png" && grimblast --freeze copysave area "$filename" && mkdir -p ~/Screenshots && mv "$filename" ~/Screenshots/ && nomacs ~/Screenshots/"$filename"]]
)
)
hl.bind("SUPER + V", hl.dsp.exec_cmd("cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy"))
-- mouse resize
hl.bind("ALT + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind("ALT + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- brightness
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"))
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))

8
config/hypr/conf/env.lua Normal file
View file

@ -0,0 +1,8 @@
-- environment variables
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("WLR_NO_HARDWARE_CURSOR", 1)
hl.env("NVD_BACKEND", "direct")
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
hl.env("SCREENSHOT_DIR", "$home/Screenshots")
hl.env("GDK_SCALE", 1)

View file

@ -0,0 +1,17 @@
hl.config({
input = {
kb_layout = "fr",
numlock_by_default = true,
accel_profile = "adaptive",
follow_mouse = 1,
sensitivity = -0.3,
touchpad = {
disable_while_typing = true,
scroll_factor = 1.2,
natural_scroll = false,
middle_button_emulation = false,
},
},
})

View file

@ -0,0 +1,13 @@
hl.monitor({
output = monitorA,
mode = "1366x768@60",
position = "0x0",
scale = "1",
})
hl.monitor({
output = monitorB,
mode = "preferred",
position = "1366x0",
scale = "1.2",
})

View file

@ -0,0 +1,6 @@
hl.misc({
force_default_wallpaper = 0,
disable_hyprland_logo = true,
disable_splash_rendering = true,
vrr = 0,
})

View file

@ -0,0 +1,8 @@
hl.on("hyprland.start", function()
hl.exec_cmd("hyprpaper")
hl.exec_cmd("wl-paste --type text --watch cliphist store")
hl.exec_cmd("wl-paste --type image --watch cliphist store")
hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd("hyprctl setcursor Bibata-Modern-Ice 24")
hl.exec_cmd("protonmail-bridge")
end)

View file

@ -0,0 +1,65 @@
hl.config({
general = {
gaps_in = 2.5,
gaps_out = 5,
border_size = 2,
col = {
active_border = { colors = { "rgba(6788D1ee)", "rgba(8EB962ee)" }, angle = 45 },
inactive_border = "rgba(4E567Daa)",
},
resize_on_border = true,
hover_icon_on_border = true,
allow_tearing = true,
layout = "dwindle",
snap = {
enabled = true,
},
},
decoration = {
rounding = 8,
rounding_power = 10,
-- 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 = true,
size = 3,
passes = 2,
vibrancy = 0.1696,
},
},
animations = {
enabled = false,
},
})
-- tiling managers
hl.config({
dwindle = {
preserve_split = true,
},
master = {
new_status = "master",
orientation = "center",
mfact = "0.5",
},
scrolling = {
fullscreen_on_one_column = true,
},
})
-- others
hl.config({
misc = {
disable_hyprland_logo = true,
disable_splash_rendering = true,
force_default_wallpaper = 0,
},
})

View file

@ -0,0 +1,9 @@
terminal = "kitty"
fileManager = "nautilus"
menu = "wofi --show drun"
home = "/home/afoucaultc/"
lockscreen = "hyprlock"
browser = "zen-browser"
app_launcher = "~/.config/rofi/launchers/type-1/launcher.sh"
monitorA = "eDP-1"
monitorB = "DP-2"

View file

@ -0,0 +1,7 @@
hl.window_rule({
name = "opacity kitty",
match = {
class = "kitty",
},
opacity = "0.9",
})

View file

View file

@ -0,0 +1,4 @@
source = ~/.config/hypr/hyprland_config/variables.conf
source = ~/.config/hypr/hyprland_config/*

9
config/hypr/hyprland.lua Normal file
View file

@ -0,0 +1,9 @@
require("conf.variables")
require("conf.env")
require("conf.binding")
require("conf.input")
require("conf.monitor")
require("conf.startup")
require("conf.style")
require("conf.windowrules")
require("conf.workspace")

View file

@ -0,0 +1,16 @@
# windows rules (to see)
windowrulev2 = center, floating:[1]
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
windowrulev2 = float,title:^(Picture-in-Picture)$
windowrulev2 = opacity 0.95 override 0.95 override 0.95 override, class: firefox
windowrulev2 = opacity 1 override 1 override, class:^(org.pwmt.zathura)$
windowrulev2 = opacity 1 override 1 override, class:^(org.pwmt.nomacs)$
windowrulev2 = opacity 1.0 override 1 override, class:^(gimp)$
windowrulev2 = opacity 1.0 override 1 override, class:^(steam)$
windowrulev2 = opacity 1.0 override 1 override, title:^(Steam)$
windowrulev2 = opacity 1.0 override 1 override, class:^(steam_app_[0-9]+)$
windowrulev2 = opacity 1.0 override 1 override, class:^(steam_app_[0-9]+)$,floating:0
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

View file

@ -0,0 +1,89 @@
# Brightness
bind = ALT , up, exec, brightnessctl -d *::kbd_backlight set +33%
bind = ALT , down, exec, brightnessctl -d *::kbd_backlight set -33%
# shutdown (window, hyprland)
bind = ALT, F4, killactive,
bind = CTRL SUPER, M, exit,
bind = CTRL ALT, L, exec, $lockscreen
# apps
bind = ALT, D, exec, $fileManager
bind = ALT, N, exec, $terminal nvim
bind = ALT, Q, exec, $terminal
bind = ALT, W, exec, $app_launcher
bind = ALT, F, exec, $browser
bind = ALT, Z, exec, zotero
# Move focus with mod0 + arrow keys
bind = CTRL SUPER, h, movefocus, l
bind = CTRL SUPER, l, movefocus, r
bind = CTRL SUPER, k, movefocus, u
bind = CTRL SUPER, j, movefocus, d
# screenshot
bind =, Print, exec, filename="$(date +'%F-%T').png" && grimblast --freeze copysave area "$filename" && mkdir -p ~/Screenshots && mv "$filename" ~/Screenshots/ && nomacs ~/Screenshots/"$filename"
bind = SUPER, V, exec, cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy
# Switch workspaces
bind = SUPER, ampersand, workspace, 1
bind = SUPER, eacute, workspace, 2
bind = SUPER, quotedbl, workspace, 3
bind = SUPER, apostrophe, workspace, 4
bind = SUPER, parenleft, workspace, 5
bind = SUPER, minus, workspace, 6
bind = SUPER, egrave, workspace, 7
bind = SUPER, underscore, workspace, 8
bind = SUPER, ccedilla, workspace, 9
bind = SUPER, agrave, workspace, 10
bind = SUPER, up, workspace, name:secondscreen
bind = SUPER, Q, workspace, name:coding
# Move to workspace
bind = SUPER SHIFT, ampersand, movetoworkspace, 1
bind = SUPER SHIFT, eacute, movetoworkspace, 2
bind = SUPER SHIFT, quotedbl, movetoworkspace, 3
bind = SUPER SHIFT, apostrophe, movetoworkspace, 4
bind = SUPER SHIFT, parenleft, movetoworkspace, 5
bind = SUPER SHIFT, minus, movetoworkspace, 6
bind = SUPER SHIFT, egrave, movetoworkspace, 7
bind = SUPER SHIFT, underscore, movetoworkspace, 8
bind = SUPER SHIFT, ccedilla, movetoworkspace, 9
bind = SUPER SHIFT, agrave, movetoworkspace, 10
bind = SUPER SHIFT, up, movetoworkspace, name:secondscreen
bind = SUPER SHIFT, Q, movetoworkspace, name:coding
bind = SUPER, down, workspace, 1
bind = SUPER SHIFT, down, movetoworkspace, 1
# Scroll through existing workspaces with mod0 + scroll or arrows
bind = SUPER, mouse_down, workspace, +1
bind = SUPER, mouse_up, workspace, -1
bind = SUPER, l, workspace, +1
bind = SUPER, h, workspace, -1
bind = SUPER SHIFT, mouse_down, movetoworkspace, +1
bind = SUPER SHIFT, mouse_up, movetoworkspace, -1
bind = SUPER SHIFT, right, movetoworkspace, +1
bind = SUPER SHIFT, left, movetoworkspace, -1
# floating windows
bind = ALT, V, togglefloating,
bind = ALT, Y, togglesplit
binde = ALT_CTRL, K, resizeactive, 40 0
binde = ALT_CTRL, J, resizeactive, -40 0
binde = ALT_SHIFT, K, resizeactive, 40 0
binde = ALT_SHIFT, J, resizeactive, -40 0
# Move/resize windows with mouse
bindm = ALT, mouse:272, movewindow
bindm = ALT, mouse:273, resizewindow
# Audio control
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-

View file

@ -0,0 +1,8 @@
# environment variables
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = WLR_NO_HARDWARE_CURSOR,1
env = NVD_BACKEND,direct
env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = SCREENSHOT_DIR, $home/Screenshots
env = GDK_SCALE,1

View file

@ -0,0 +1,23 @@
# keyboard and mouse
input {
kb_layout = fr
kb_variant =
kb_model =
kb_options =
kb_rules =
numlock_by_default = true
follow_mouse = 1
accel_profile = adaptive
# force_no_accel = true
sensitivity = -0.3 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
scroll_factor=2
disable_while_typing = true
middle_button_emulation = false
}
}

View file

@ -0,0 +1,4 @@
# monitors settings
monitor=eDP-1,1366x768@60,0x0,1
monitor=DP-2,1680x1050@59.95400,1366x0,1
monitor=HDMI-A-1,1920x1080@60.00000,1366x0,1

View file

@ -0,0 +1,36 @@
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mod0 + P in the keybinds section below
preserve_split = true # You probably want this
}
master {
new_status = slave
mfact = 0.50
orientation = center
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
vfr = true
animate_manual_resizes = true
}
layout {
# single_window_aspect_ratio = 4 3
}
gesture = 3, horizontal, workspace
device {
name = epic-mouse-v1
sensitivity = -0.5
}
binds {
allow_workspace_cycles = true
}
ecosystem {
no_donation_nag = true
}

View file

@ -0,0 +1,9 @@
# startup programs
# exec/execr = on each reload, exec-once/execr-once = only on launch, exec-shutdown = command on shutdown
# exec-once = hyprpaper
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = systemctl --user start hyprpolkitagent
exec-once= hyprctl setcursor Bibata-Modern-Ice 24
# exec-once = hyprpanel
# exec-once = hyprsunset

View file

@ -0,0 +1,67 @@
# windows and tiling
general {
gaps_in = 2.5
gaps_out = 5
border_size = 1
col.active_border = rgba(00ffd2ee) rgba(004687ee) 45deg
col.inactive_border = rgba(00ffd2aa)
resize_on_border = true
allow_tearing = true
layout = master
hover_icon_on_border = true
snap {
enabled = true
}
}
scrolling {
column_width = 0.7
focus_fit_method = 0
}
dwindle {
smart_split = true
}
decoration {
rounding = 5
rounding_power = 10
active_opacity = 1
inactive_opacity = 1
fullscreen_opacity = 1
border_part_of_window = true
blur {
enabled = false
ignore_opacity = true
size = 1
passes = 1
new_optimizations = true
brightness = 0.5
}
shadow {
enabled = false
}
}
animations {
enabled = false
bezier = custom,0.13, 1, 0.75,1
animation = windows, 1, 3, custom, popin
animation = windowsOut, 1, 3, custom, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 3, default
animation = windowsMove, 1, 2.5, custom, slide
}
cursor {
inactive_timeout = 3
no_hardware_cursors = 0
use_cpu_buffer = true
persistent_warps = true
}

View file

@ -0,0 +1,10 @@
$terminal = kitty
$fileManager = nautilus
$menu = wofi --show drun
$home = /home/afoucaultc/
$lockscreen = hyprlock
$browser = zen-browser
$app_launcher = ~/.config/rofi/launchers/type-1/launcher.sh
$monitorA = eDP-1
$monitorB = HDMI-A-1

View file

@ -0,0 +1,32 @@
windowrule {
name = fullscreen opacity
match:fullscreen = true
opacity = 1
}
windowrule {
name = opacity zen
match:class = zen
opacity = 1
}
windowrule {
name = opacity kitty
match:class = kitty
opacity = 1
}
windowrule {
name = opacity zathura
match:class = org.pwmt.zathura
opacity = 1
}
windowrule {
name = gnufloat
match:class = Gnuplot
float = on
}
windowrule {
name = opacity typora
match:class = Typora
opacity = 1
}

View file

@ -0,0 +1,12 @@
# workspaces
workspace = 1 , default=true, persistent:true
workspace = 2 , persistent:true
workspace = 3 , persistent:true
workspace = 4 , persistent:true
workspace = 5 , persistent:true
workspace = 6 , persistent:true
workspace = 7 , persistent:true
workspace = 8 , persistent:true
workspace = 9 , persistent:true
workspace = 10 persistent:true
workspace = name:coding, $monitorA, rounding:false, decorate:true, gapsin:0, gapsout:0, border:true, persistent:true

73
config/hypr/hyprlock.conf Normal file
View file

@ -0,0 +1,73 @@
source = ~/.config/hypr/variables.conf
# BACKGROUND
background {
monitor =
#path = screenshot
path = ~/.config/hypr/wallpaper/save.jpg
color = #000000
blur_passes = 0
contrast = 1
brightness = 0.5
vibrancy = 0.2
vibrancy_darkness = 0.2
}
# GENERAL
general {
no_fade_in = true
no_fade_out = true
hide_cursor = false
grace = 0
disable_loading_bar = true
}
# INPUT FIELD
input-field {
monitor =
size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(1, 1, 1, 0)
inner_color = rgba(1, 1, 1, 0.2)
font_color = #000000
fade_on_empty = false
rounding = -1
check_color = rgb(204, 136, 34)
placeholder_text = <i><span foreground="##cdd6f4">Input Password...</span></i>
hide_input = false
position = 0, -200
halign = center
valign = center
}
# DATE
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(255,255,255, 0.75)
font_size = 22
font_family = Luciole
position = 0, 100
halign = center
valign = center
}
# TIME
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(255,255,255, 0.75)
font_size = 95
font_family = Luciole
position = 0, 200
halign = center
valign = center
}
auth {
fingerprint:enabled=true
}

View file

@ -0,0 +1,11 @@
wallpaper {
monitor = eDP-1
path = /home/afoucaultc/.config/hypr/wallpaper/hyprwallpaper.png
fit_mode = cover
}
wallpaper {
monitor = DP-2
path = /home/afoucaultc/.config/hypr/wallpaper/hyprwallpaper.png
fit_mode = cover
}
splash = false

View file

@ -0,0 +1,12 @@
max-gamma = 150
profile {
time = 7:30
identity = true
}
profile {
time = 21:00
temperature = 5500
gamma = 0.8
}

View file

@ -0,0 +1,18 @@
background = #D9C49C
base = #F2E2CE
text = #0D0000
alternate_base = #BF895A
bright_text = #F2E2CE
accent = #8C030E
accent_secondary = #400202
font_family = Sans Serif
rounding_large = 5
rounding_small = 2
h1_size = 19
h2_size = 15
h3_size = 13
font_size = 11
small_font_size = 10
icon_theme =

View file

@ -0,0 +1,25 @@
Light mode :
Lumineux
#73020C
#D9C49C
#F2E2CE
#BF895A
#0D0000
Sombre
#73020C
#010D00
#F2E2CE
#BF895A
#260101
Dark mode :
#1C1D26
#222940
#2F4C73
#4681A6
#56ACBF
sombre
#1C1D26
#242426
#222940
#253659
#3A668C

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB