Initial full commit for Dell16 Arch

This commit is contained in:
2026-06-18 09:55:42 +02:00
commit 8d3c4f4acb
61 changed files with 3891 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
# Configuration Alacritty - Catppuccin Mocha
[general]
live_config_reload = true
[window]
opacity = 0.95
blur = false
dimensions = { columns = 120, lines = 30 }
[scrolling]
history = 10000
# Couleurs Catppuccin Mocha
[colors.primary]
background = "#1e1e2e"
foreground = "#cdd6f4"
[colors.normal]
black = "#45475a"
red = "#f38ba8"
green = "#a6e3a1"
yellow = "#f9e2af"
blue = "#89b4fa"
magenta = "#f5c2e7"
cyan = "#94e2d5"
white = "#bac2de"
[colors.bright]
black = "#585b70"
red = "#f38ba8"
green = "#a6e3a1"
yellow = "#f9e2af"
blue = "#89b4fa"
magenta = "#f5c2e7"
cyan = "#94e2d5"
white = "#a6adc8"
[colors.selection]
background = "#585b70"
foreground = "#cdd6f4"
[colors.cursor]
text = "#1e1e2e"
cursor = "#f5c2e7"
[colors.vi_mode_cursor]
text = "#1e1e2e"
cursor = "#f38ba8"
[colors.search.matches]
foreground = "#1e1e2e"
background = "#f9e2af"
[colors.search.focused_match]
foreground = "#1e1e2e"
background = "#a6e3a1"
[cursor]
style = { shape = "Block", blinking = "Off" }
vi_mode_style = { shape = "Block", blinking = "Off" }

286
.config/btop/btop.conf Normal file
View File

@@ -0,0 +1,286 @@
#? Config file for btop v.1.4.7
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = true
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = true
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = false
#* Option to disable presets. Either the default preset, custom presets, or all presets.
#* "Off" All presets are enabled.
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
disable_presets = "Off"
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = false
#* Disable all mouse events.
disable_mouse = false
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = true
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
terminal_sync = true
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = false
#* Show processes as a tree.
proc_tree = false
#* Use the cpu graph colors in the process list.
proc_colors = true
#* Use a darkening gradient in the process list.
proc_gradient = true
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = false
#* Show process memory as bytes instead of percent.
proc_mem_bytes = true
#* Show cpu graph for each process.
proc_cpu_graphs = true
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = false
#* Show proc box on left side of screen instead of right.
proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = false
#* Should the process list follow the selected process when detailed view is open.
proc_follow_detailed = true
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = false
#* Should cpu and memory usage display be preserved for dead processes when paused.
keep_dead_proc_usage = false
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = true
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = false
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = false
#* Shows the system uptime in the CPU box.
show_uptime = true
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = true
#* Show cpu temperature.
check_temp = true
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = true
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = false
#* Show CPU frequency.
show_cpu_freq = true
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
freq_mode = "first"
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = true
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = true
#* Show mem box below net box instead of above.
mem_below_net = false
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = true
#* If swap memory should be shown in memory box.
show_swap = true
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = true
#* If mem box should be split to also show disks info.
show_disks = true
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = true
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = true
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = false
#* Set to true to show available disk space for privileged users.
disk_free_priv = false
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = true
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = false
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = false
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
swap_upload_download = false
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = true
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = true
#* Starts with the Network Interface specified here.
net_iface = ""
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = true
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = true
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Automatically save current settings to config file on exit.
save_config_on_exit = true
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = true
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = true
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = true
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

13
.config/gtk-3.0/bookmarks Normal file
View File

@@ -0,0 +1,13 @@
file:///home/lucas/Documents
file:///home/lucas/Images
file:///home/lucas/Musique
file:///home/lucas/Vid%C3%A9os
file:///home/lucas/T%C3%A9l%C3%A9chargements
file:///home/lucas/LocalProjets
file:///home/lucas/Nextcloud
file:///home/lucas/Nextcloud/Projets
file:///home/lucas/Nextcloud/Projets/2Limited
file:///home/lucas/Nextcloud2
file:///home/lucas/Nextcloud2/03.%20Associatif/V%C3%A9lo%20Boom%20Boom
file:///home/lucas/Nextcloud2/03.%20Associatif/V%C3%A9lo%20Boom%20Boom/01%20Communication
sftp://lucas@vps-eb9864cc.vps.ovh.net:34567/home/lucas

View File

@@ -0,0 +1,17 @@
[Settings]
gtk-theme-name=catppuccin-mocha-mauve-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Adwaita Sans 11
gtk-cursor-theme-name=Bibata-Modern-Classic
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0

1
.config/gtk-4.0/assets Symbolic link
View File

@@ -0,0 +1 @@
/usr/share/themes/catppuccin-mocha-mauve-standard+default/gtk-4.0/assets

View File

@@ -0,0 +1 @@
/usr/share/themes/catppuccin-mocha-mauve-standard+default/gtk-4.0/gtk-dark.css

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

@@ -0,0 +1 @@
/usr/share/themes/catppuccin-mocha-mauve-standard+default/gtk-4.0/gtk.css

View File

@@ -0,0 +1,7 @@
[Settings]
gtk-theme-name=catppuccin-mocha-mauve-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Adwaita Sans 11
gtk-cursor-theme-name=Bibata-Modern-Classic
gtk-cursor-theme-size=24
gtk-application-prefer-dark-theme=0

View File

@@ -0,0 +1,21 @@
general {
lock_cmd = pidof hyprlock || hyprlock
unlock_cmd = pkill -x hyprlock
before_sleep_cmd = loginctl lock-session
after_sleep_cmd = hyprctl dispatch dpms on && ./home/lucas/scripts/restart-external-screen
ignore_dbus_inhibit = false
no_fade_in = true
}
listener {
timeout = 180
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}
listener {
timeout = 300
on-timeout = loginctl lock-session
}
listener {
timeout = 360 # lock d'abord, suspend après
on-timeout = systemctl suspend
}

View File

@@ -0,0 +1,23 @@
general {
lock_cmd = pidof hyprlock || hyprlock # Commande de verrouillage
unlock_cmd = pkill -x hyprlock # Commande de déverrouillage
before_sleep_cmd = loginctl lock-session # Avant la mise en veille
after_sleep_cmd = hyprctl dispatch dpms on && ./home/lucas/scripts/restart-external-screen # Après réveil
ignore_dbus_inhibit = false # Respecte les inhibiteurs DBus
no_fade_in = true
}
listener {
timeout = 600 # 10 minutes d'inactivité
on-timeout = loginctl lock-session # Verrouille l'écran
}
listener {
timeout = 900 # 15 minutes d'inactivité
on-timeout = systemctl suspend # Met en veille
}
animations {
animation = fadeIn, 0
animation = fadeOut, 0
}

163
.config/hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,163 @@
source = ~/.config/hypr/monitors.conf
workspace = 1, monitor:eDP-1
workspace = 2, monitor:eDP-1
workspace = 3, monitor:eDP-1
workspace = 4, monitor:HDMI-A-1
workspace = 5, monitor:HDMI-A-1
workspace = 6, monitor:HDMI-A-1
xwayland {
force_zero_scaling = true
}
misc {
vrr = 2 # 0: off, 1: on, 2: fullscreen only
}
# --- IDENTITÉ DE LA SESSION ---
env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
# --- HARDWARE & GPU (Stabilité Hybride) ---
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = NVD_BACKEND,direct
# --- TOOLKIT & RENDU ---
env = QT_QPA_PLATFORM,wayland;xcb
env = GDK_BACKEND,wayland,x11
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
# --- THEME ---
env = GTK_THEME,Adwaita:dark
env = QT_STYLE_OVERRIDE,adwaita-dark
# --- CURSOR ---
env = XCURSOR_THEME,Adwaita
env = XCURSOR_SIZE,24
# --- LANCEMENT AUTOMATIQUE ---
exec-once = waybar &
exec-once = mako &
exec-once = ~/scripts/hypridle-launch &
exec-once = nm-applet --indicator &
exec-once = blueman-applet &
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
exec-once = wl-paste --type text --watch cliphist store &
exec-once = wl-paste --type image --watch cliphist store &
exec-once = dex -a &
exec-once = ~/.config/hypr/scripts/wallpaper.sh &
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark's
# --- CLAVIER & TRACKPAD ---
input {
kb_layout = fr
kb_options = caps:shiftlock
numlock_by_default = true
follow_mouse = 1
touchpad {
natural_scroll = true
tap-to-click = true
}
numlock_by_default = true
scroll_factor = 1.0
}
# --- RACCOURCIS CLAVIER ---
$mainMod = SUPER
bind = $mainMod, C, exec, alacritty
bind = $mainMod, Q, killactive,
bind = $mainMod, E, exec, thunar
bind = $mainMod, X, togglefloating,
bind = $mainMod, D, exec, rofi -show drun
bind = $mainMod, L, exec, hyprlock
bind = $mainMod, M, exit,
bind = $mainMod, ugrave, exec, systemctl poweroff
bind = $mainMod, asterisk, exec, systemctl reboot
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
# Navigation Workspaces (AZERTY)
bind = $mainMod, ampersand, workspace, 1
bind = $mainMod, eacute, workspace, 2
bind = $mainMod, quotedbl, workspace, 3
bind = $mainMod, apostrophe, workspace, 4
bind = $mainMod, parenleft, workspace, 5
bind = $mainMod, minus, workspace, 6
# Déplacement fenêtres vers Workspaces (SHIFT + AZERTY)
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
bind = $mainMod SHIFT, minus, movetoworkspace, 6
# Gestion fenêtres
bind = $mainMod SHIFT, Right, resizeactive, 50 0
bind = $mainMod SHIFT, Left, resizeactive, -50 0
bind = $mainMod SHIFT, Up, resizeactive, 0 -50
bind = $mainMod SHIFT, Down, resizeactive, 0 50
bind = $mainMod SHIFT, F, togglefloating
bind = $mainMod SHIFT, G, pin
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindowss
# Screenshot
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
# Display mode
bind = $mainMod, P, exec, ~/.config/hypr/scripts/display-mode.sh
# Contrôles Hardware
bindel = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
bindel = , XF86AudioRaiseVolume, exec, pamixer -i 5
bindel = , XF86AudioLowerVolume, exec, pamixer -d 5
bindl = , XF86AudioMute, exec, pamixer -t
windowrule = workspace 1, match:class ^(Alacritty)$
windowrule = workspace 2, match:title ^(Obsidian)$
windowrule = workspace 3, match:title ^(Beeper)$
windowrule = workspace 4, match:class ^(firefox)$
windowrule = workspace 5, match:class ^(org.inkscape.Inkscape)$
windowrule = workspace 6, match:title ^(ncspot)$
windowrule = workspace 6, match:title ^(Kasts)$
# --- APPARENCE (Catppuccin Mocha) ---
general {
gaps_in = 0
gaps_out = 0
border_size = 0 # Pas de bordure comme demandé
col.active_border = rgb(cba6f7) rgb(89b4fa) 45deg
col.inactive_border = rgba(1e1e2eaa)
layout = dwindle
}
decoration {
rounding = 3
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = false
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = false
size = 3
passes = 1
}
}
cursor {
no_hardware_cursors = true
}

View File

@@ -0,0 +1,56 @@
monitor=,highres,auto,1.25
env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESTKOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = QT_QPA_PLATFORM,wayland
exec-once = waybar &
exec-one =
input {
kb_layout = fr
follow_mouse = 1
touchpad {
natural_scroll = true
tap-to-click = true
}
}
$mainMod = SUPER
bind = $mainMod, Q, exec, alacritty
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, thunar
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, rofi -show drun
bind = $mainMod, L, exec, swaylock
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, 0
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bindel = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
bindel = , XF86AudioRaiseVolume, exec, pamixer -i 5
bindel = , XF86AudioLowerVolume, exec, pamixer -d 5
bindl = , XF86AudioMute, exec, pamixer -t

View File

@@ -0,0 +1,64 @@
$base = rgb(1e1e2e)
$surface0 = rgb(313244)
$overlay0 = rgb(6c7086)
$text = rgb(cdd6f4)
$mauve = rgb(cba6f7)
$red = rgb(f38ba8)
background {
monitor =
path = screenshot
blur_passes = 3
blur_size = 7
color = $base
}
input-field {
monitor =
size = 300, 50
position = 0, -100
halign = center
valign = center
outline_thickness = 2
dots_size = 0.25
dots_spacing = 0.2
outer_color = $mauve
inner_color = $surface0
font_color = $text
fail_color = $red
check_color = $mauve
placeholder_text = <span foreground="##6c7086">Mot de passe</span>
fail_text = <i>Échec</i>
rounding = 8
}
label {
monitor =
text = cmd[update:1000] echo "$(date +"%H:%M")"
color = $text
font_size = 64
font_family = JetBrains Mono
position = 0, 200
halign = center
valign = center
}
label {
monitor =
text = cmd[update:60000] echo "$(date +"%A %d %B")"
color = $overlay0
font_size = 18
font_family = JetBrains Mono
position = 0, 120
halign = center
valign = center
}
auth {
fingerprint {
enabled = false
}
}

View File

@@ -0,0 +1,11 @@
# Generated with hyprdynamicmonitors freeze.
# This is a template that you can edit, it is just a starter that pulled your current monitor setup,
# adjust as needed.
# You can use templates here etc, see https://github.com/fiffeek/hyprdynamicmonitors/blob/main/examples/basic/hyprconfigs/template.go.tmpl.
# Monitors are given arbitrary tags (the "monitor" prefix and the ID coming from hyprland).
# If you are using tui to edit, leave this at the end of your file (the last monitor config applies)
# and leave the markers.
# <<<<< TUI AUTO START
monitor=desc:BOE 0x0B29,2560x1600@120.00200,320x1440,1.33333333,transform,0,vrr,0
monitor=desc:Shenzhen KTC Technology Group H27T7P-2 0000000000000,2560x1440@119.99800,0x0,1.00000000,transform,0,vrr,0
# <<<<< TUI AUTO END

View File

@@ -0,0 +1,32 @@
#!/bin/bash
STATE_FILE="/tmp/hypr_display_mode"
INTERNAL="eDP-1"
EXTERNAL=$(hyprctl monitors all -j | jq -r '.[].name' | grep -v "$INTERNAL" | head -1)
CURRENT=$(cat "$STATE_FILE" 2>/dev/null || echo "both")
if [ -z "$EXTERNAL" ]; then
notify-send "Display" "Aucun écran externe détecté" -t 2000
exit 0
fi
case "$CURRENT" in
"both")
hyprctl keyword monitor "$INTERNAL, disable"
echo "external" > "$STATE_FILE"
notify-send "Display" "Externe uniquement ($EXTERNAL)" -t 2000
;;
"external")
hyprctl keyword monitor "$EXTERNAL, disable"
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 0x0, 1.33"
echo "internal" > "$STATE_FILE"
notify-send "Display" "Interne uniquement" -t 2000
;;
"internal")
hyprctl keyword monitor "$INTERNAL, 2560x1600@120.0, 1995x1440, 1.33"
sleep 0.5
hyprctl keyword monitor "$EXTERNAL, 2560x1440@120.0, 1697x0, 1"
echo "both" > "$STATE_FILE"
notify-send "Display" "Double écran" -t 2000
;;
esac

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Chemins (à adapter)
VIDEO="$HOME/Videos/wallpaper.mp4"
IMAGE="$HOME/Pictures/wallpaper.jpg"
while true; do
# Vérifie si le chargeur est branché (ADP1 ou AC sur Dell)
if cat /sys/class/power_supply/AC*/online | grep -q '1'; then
# SUR SECTEUR : Lancer l'animation si elle n'est pas là
if ! pgrep -x "mpvpaper" > /dev/null; then
pkill hyprpaper
mpvpaper -o "no-audio --loop" eDP-1 "$VIDEO" &
fi
else
# SUR BATTERIE : Couper l'animation et mettre l'image fixe
if pgrep -x "mpvpaper" > /dev/null; then
pkill mpvpaper
hyprpaper &
# Optionnel : baisser les effets Hyprland ici
hyprctl reload
fi
fi
sleep 5 # Vérifie toutes les 5 secondes
done

View File

@@ -0,0 +1,7 @@
#!/bin/bash
hyprlock &
sleep 0.5
systemctl suspend
sleep 1
hyprctl dispatch dpms on
hyprctl reload

View File

@@ -0,0 +1,6 @@
#!/bin/bash
if grep -q "eco_mode=1" /proc/cmdline; then
swaybg -c 000000 &
else
swaybg -i ~/Pictures/wallpaper.jpg -m fill &
fi

View File

@@ -0,0 +1,12 @@
# Generated by nwg-displays on 2026-03-18 at 17:54:45. Do not edit manually.
workspace=1,monitor:eDP-1,default:true
workspace=2,monitor:eDP-1
workspace=3,monitor:eDP-1
workspace=4,monitor:eDP-1
workspace=5,monitor:eDP-1
workspace=6,monitor:eDP-1
workspace=7,monitor:eDP-1
workspace=8,monitor:eDP-1
workspace=9,monitor:eDP-1
workspace=10,monitor:eDP-1

View File

@@ -0,0 +1,24 @@
[general]
destination = "$HOME/.config/hypr/monitors.conf"
[power_events]
[power_events.dbus_query_object]
path = "/org/freedesktop/UPower/devices/line_power_AC"
[[power_events.dbus_signal_match_rules]]
object_path = "/org/freedesktop/UPower/devices/line_power_AC"
[profiles.dual]
config_file = "/home/lucas/.config/hyprdynamicmonitors/hyprconfigs/dual.go.tmpl"
config_file_type = "template"
[profiles.dual.conditions]
[[profiles.dual.conditions.required_monitors]]
description = "BOE 0x0B29"
monitor_tag = "monitor0"
[[profiles.dual.conditions.required_monitors]]
description = "Shenzhen KTC Technology Group H27T7P-2 0000000000000"
monitor_tag = "monitor1"

View File

@@ -0,0 +1,11 @@
# Generated with hyprdynamicmonitors freeze.
# This is a template that you can edit, it is just a starter that pulled your current monitor setup,
# adjust as needed.
# You can use templates here etc, see https://github.com/fiffeek/hyprdynamicmonitors/blob/main/examples/basic/hyprconfigs/template.go.tmpl.
# Monitors are given arbitrary tags (the "monitor" prefix and the ID coming from hyprland).
# If you are using tui to edit, leave this at the end of your file (the last monitor config applies)
# and leave the markers.
# <<<<< TUI AUTO START
monitor=desc:BOE 0x0B29,2560x1600@120.00200,320x1440,1.33333333,transform,0,vrr,0
monitor=desc:Shenzhen KTC Technology Group H27T7P-2 0000000000000,2560x1440@119.99800,0x0,1.00000000,transform,0,vrr,0
# <<<<< TUI AUTO END

6
.config/mako/config Normal file
View File

@@ -0,0 +1,6 @@
background-color=#1e1e2e
text-color=#cdd6f4
border-color=#cba6f7
border-size=2
border-radius=8
default-timeout=5000

47
.config/mimeapps.list Normal file
View File

@@ -0,0 +1,47 @@
[Default Applications]
x-scheme-handler/discord=vesktop.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
text/html=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
inode/directory=thunar.desktop
video/mp4=mpv.desktop
x-terminal-emulator=Alacritty.desktop
image/svg+xml=org.inkscape.Inkscape.desktop
application/x-zerosize=codium.desktop
image/jpeg=viewnior.desktop
image/png=viewnior.desktop
model/stl=f3d.desktop
application/pdf=firefox.desktop
audio/x-opus+ogg=mpv.desktop
audio/flac=mpv.desktop
video/x-matroska=mpv.desktop
application/json=codium.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
x-scheme-handler/chrome=firefox.desktop;
text/html=firefox.desktop;
application/x-extension-htm=firefox.desktop;
application/x-extension-html=firefox.desktop;
application/x-extension-shtml=firefox.desktop;
application/xhtml+xml=firefox.desktop;
application/x-extension-xhtml=firefox.desktop;
application/x-extension-xht=firefox.desktop;
video/mp4=mpv.desktop;
application/x-zerosize=codium.desktop;onlyoffice-desktopeditors.desktop;
image/jpeg=com.github.PintaProject.Pinta.desktop;imv.desktop;nsxiv.desktop;viewnior.desktop;
image/png=com.github.PintaProject.Pinta.desktop;imv.desktop;viewnior.desktop;
application/pdf=firefox.desktop;onlyoffice-desktopeditors.desktop;
audio/x-opus+ogg=mpv.desktop;
audio/flac=mpv.desktop;
text/csv=onlyoffice-desktopeditors.desktop;codium.desktop;
video/x-matroska=mpv.desktop;
application/json=codium.desktop;

View File

Binary file not shown.

View File

@@ -0,0 +1,29 @@
[dmenu]
dmenu_command = rofi
active_chars = ==
highlight = True
highlight_fg =
highlight_bg =
highlight_bold = True
compact = False
pinentry =
wifi_icons = 󰤯󰤟󰤢󰤥󰤨
format = {name:<{max_len_name}s} {sec:<{max_len_sec}s} {icon:>4}
list_saved = False
prompt = Networks
[dmenu_passphrase]
obscure = False
obscure_color = #222222
[pinentry]
description = Get network password
prompt = Password:
[editor]
terminal = alacritty
gui_if_available = True
gui = nm-connection-editor
[nmdm]
rescan_delay = 5

7
.config/nwg-look/config Normal file
View File

@@ -0,0 +1,7 @@
{
"export-settings-ini": true,
"export-gtkrc-20": true,
"export-index-theme": true,
"export-xsettingsd": true,
"export-gtk4-symlinks": true
}

View File

@@ -0,0 +1,114 @@
/**
* Catppuccin Mocha theme
* Color palette copied from https://catppuccin.com/palette
* https://github.com/hiimsergey/rofi-catppuccin
*/
* {
base: #1e1e2e;
surface0: #313244;
overlay0: #6c7086;
text: #cdd6f4;
mauve: #cba6f7;
red: #f38ba8;
peach: #fab387;
green: #a6e3a1;
lavender: #b4befe;
background-color: @base;
}
window {
height: 600;
width: 600;
border: 3;
border-radius: 10;
border-color: @lavender;
}
mainbox {
spacing: 0;
children: [inputbar, message, listview];
}
inputbar {
color: @text;
padding: 14;
background-color: @base;
}
message {
padding: 10;
background-color: @overlay0;
}
listview {
padding: 8;
border-radius: 0 0 10 10;
border: 2 2 2 2;
border-color: @base;
background-color: @base;
dynamic: false;
}
textbox {
text-color: @text;
background-color: inherit;
}
error-message {
border: 20 20 20 20;
}
entry, prompt, case-indicator {
text-color: inherit;
}
prompt {
margin: 0 10 0 0;
}
element {
padding: 5;
vertical-align: 0.5;
border-radius: 10;
background-color: @surface0;
}
element.selected.normal {
background-color: @overlay0;
}
element.alternate.normal {
background-color: inherit;
}
element.normal.active, element.alternate.active {
background-color: @peach;
}
element.selected.active {
background-color: @green;
}
element.normal.urgent, element.alternate.urgent {
background-color: @red;
}
element.selected.urgent {
background-color: @mauve;
}
element-text, element-icon {
size: 40;
margin: 0 10 0 0;
vertical-align: 0.5;
background-color: inherit;
text-color: @text;
}
element-text .active, element-text .urgent {
text-color: @base;
}

18
.config/rofi/config.rasi Normal file
View File

@@ -0,0 +1,18 @@
configuration {
show-icons: true;
display-ssh: "󰣀 ssh:";
display-run: "󱓞 run:";
display-drun: "󰣖 drun:";
display-window: "󱂬 window:";
display-combi: "󰕘 combi:";
display-filebrowser: "󰉋 filebrowser:";
border: 2px; /* Évitez 1px sur les écrans haute résolution */
border-radius: 10px; /* Des coins arrondis lissent l'aspect visuel */
border-color: @mauve;
font: "JetBrainsMono Nerd Font 12";
}
@theme "~/.config/rofi/catppuccin-lavrent-mocha.rasi"

View File

@@ -0,0 +1,6 @@
[Unit]
Description=Check pacman updates
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'checkupdates > ~/.cache/updates-count 2>/dev/null || true'

View File

@@ -0,0 +1,8 @@
[Unit]
Description=Check updates on boot
[Timer]
OnBootSec=1min
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/appimagelauncherd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/hyprdynamicmonitors-prepare.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire-pulse.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire.service

View File

@@ -0,0 +1 @@
/home/lucas/.config/systemd/user/power-monitor.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/syncthing.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/hyprdynamicmonitors-prepare.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/hyprdynamicmonitors.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/wireplumber.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/wireplumber.service

View File

@@ -0,0 +1,11 @@
[Unit]
Description=RAPL power monitor
After=graphical-session.target
[Service]
Type=simple
ExecStart=/home/lucas/scripts/power-monitor
Restart=always
[Install]
WantedBy=default.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire-pulse.socket

View File

@@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire.socket

View File

@@ -0,0 +1 @@
/home/lucas/.config/systemd/user/checkupdates.timer

16
.config/user-dirs.dirs Normal file
View File

@@ -0,0 +1,16 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Bureau"
XDG_DOWNLOAD_DIR="$HOME/Téléchargements"
XDG_TEMPLATES_DIR="$HOME/Modèles"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Musique"
XDG_PICTURES_DIR="$HOME/Images"
XDG_VIDEOS_DIR="$HOME/Vidéos"
XDG_PROJECTS_DIR="$HOME/"

View File

@@ -0,0 +1,157 @@
{
"output": "HDMI-A-1",
"position": "bottom",
"layer": "top",
"height": 36,
"spacing": 3,
"modules-left": [
"hyprland/workspaces",
"hyprland/submap"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"pulseaudio",
"pulseaudio#microphone",
"network",
"cpu",
"memory",
"temperature",
"backlight",
"custom/battery",
"clock",
"tray",
"custom/power"
],
// Le module workspaces s'adapte selon l'écran
"hyprland/workspaces": {
"format": "{name} {icon}",
"on-click": "activate",
"format-icons": {
"active": "",
"default": "",
"empty": ""
},
"all-outputs": false,
// Ici on définit les workspaces persistants pour chaque écran
"persistent-workspaces": {
"eDP-1": [1, 2, 3],
"HDMI-A-1": [4, 5, 6]
}
},
"hyprland/window": {
"format": "󱂬 {title}",
"rewrite": {
"(.*) — Mozilla Firefox": "󰈹 Firefox",
"(.*) - Visual Studio Code": "󰨞 VS Code",
"(.*)vlc": "󰕼 VLC",
"lucas@dell16-lucas:(.*)": " Terminal"
},
"separate-outputs": true
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "󰝟 {volume}%",
"format-icons": {
"default": [
"",
"",
""
]
},
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol"
},
"pulseaudio#microphone": {
"type": "pulseaudio",
"format": "{format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol"
},
"network": {
"interval": 10,
"format-wifi": "{icon} {essid} {signalStrength}%",
"format-icons": [
"󰤯",
"󰤟",
"󰤢",
"󰤥",
"󰤨"
],
"format-ethernet": "󰈁 {ifname}",
"format-disconnected": "󰈂 Disconnected",
"format-alt": "{ipaddr}/{cidr}",
"on-click-right": "networkmanager_dmenu"
},
"cpu": {
"interval": 5,
"format": " {usage}%",
"tooltip": false,
"on-click": "alacritty -e btop"
},
"memory": {
"interval": 5,
"format": " {percentage}%",
"on-click": "alacritty -e btop"
},
"temperature": {
"interval": 5,
"hwmon-path": "/sys/class/hwmon/hwmon7/temp1_input",
"critical-threshold": 80,
"format-critical": "{icon} {temperatureC}°C",
"format": "{icon} {temperatureC}°C",
"format-icons": [
"",
"",
"",
"",
""
],
"tooltip": false,
"on-click": "alacritty -e btop"
},
"backlight": {
"format": "{icon} {percent}%",
"format-icons": [
"",
""
]
},
"custom/battery": {
"exec": "~/scripts/batt-info",
"interval": 2,
"on-click": "~/scripts/batt-toggle",
"on-click-right": "",
"tooltip-format": "Clic: basculer limite charge"
},
"clock": {
"format": " {:%H:%M}",
"format-alt": " {:%d/%m/%Y}",
"smooth-scrolling-threshold": 1,
"actions": {
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
},
"tooltip-format": "{calendar}",
"calendar": {
"mode": "month",
"mode-mon-col": 1,
"format": {
"months": "<span color='#cba6f7'><b>{}</b></span>",
"days": "<span color='#bac2de'>{}</span>",
"weekdays": "<span color='#89b4fa'><b>{}</b></span>",
"today": "<span color='#f38ba8'><b><u>{}</u></b></span>"
}
}
},
"custom/power": {
"format": "⏻",
"on-click": "wlogout"
}
}

157
.config/waybar/config.jsonc Normal file
View File

@@ -0,0 +1,157 @@
{
"output": "eDP-1",
"position": "bottom",
"layer": "top",
"height": 36,
"spacing": 3,
"modules-left": [
"hyprland/workspaces",
"hyprland/submap"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"pulseaudio",
"pulseaudio#microphone",
"network",
"cpu",
"memory",
"temperature",
"backlight",
"custom/battery",
"clock",
"tray",
"custom/power"
],
// Le module workspaces s'adapte selon l'écran
"hyprland/workspaces": {
"format": "{name} {icon}",
"on-click": "activate",
"format-icons": {
"active": "",
"default": "",
"empty": ""
},
"all-outputs": false,
// Ici on définit les workspaces persistants pour chaque écran
"persistent-workspaces": {
"eDP-1": [1, 2, 3],
"HDMI-A-1": [4, 5, 6]
}
},
"hyprland/window": {
"format": "󱂬 {title}",
"rewrite": {
"(.*) — Mozilla Firefox": "󰈹 Firefox",
"(.*) - Visual Studio Code": "󰨞 VS Code",
"(.*)vlc": "󰕼 VLC",
"lucas@dell16-lucas:(.*)": " Terminal"
},
"separate-outputs": true
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "󰝟 {volume}%",
"format-icons": {
"default": [
"",
"",
""
]
},
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol"
},
"pulseaudio#microphone": {
"type": "pulseaudio",
"format": "{format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol"
},
"network": {
"interval": 10,
"format-wifi": "{icon} {essid} {signalStrength}%",
"format-icons": [
"󰤯",
"󰤟",
"󰤢",
"󰤥",
"󰤨"
],
"format-ethernet": "󰈁 {ifname}",
"format-disconnected": "󰈂 Disconnected",
"format-alt": "{ipaddr}/{cidr}",
"on-click-right": "networkmanager_dmenu"
},
"cpu": {
"interval": 5,
"format": " {usage}%",
"tooltip": false,
"on-click": "alacritty -e btop"
},
"memory": {
"interval": 5,
"format": " {percentage}%",
"on-click": "alacritty -e btop"
},
"temperature": {
"interval": 5,
"hwmon-path": "/sys/class/hwmon/hwmon7/temp1_input",
"critical-threshold": 80,
"format-critical": "{icon} {temperatureC}°C",
"format": "{icon} {temperatureC}°C",
"format-icons": [
"",
"",
"",
"",
""
],
"tooltip": false,
"on-click": "alacritty -e btop"
},
"backlight": {
"format": "{icon} {percent}%",
"format-icons": [
"",
""
]
},
"custom/battery": {
"exec": "~/scripts/batt-info",
"interval": 2,
"on-click": "~/scripts/batt-toggle",
"on-click-right": "",
"tooltip-format": "Clic: basculer limite charge"
},
"clock": {
"format": " {:%H:%M}",
"format-alt": " {:%d/%m/%Y}",
"smooth-scrolling-threshold": 1,
"actions": {
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
},
"tooltip-format": "{calendar}",
"calendar": {
"mode": "month",
"mode-mon-col": 1,
"format": {
"months": "<span color='#cba6f7'><b>{}</b></span>",
"days": "<span color='#bac2de'>{}</span>",
"weekdays": "<span color='#89b4fa'><b>{}</b></span>",
"today": "<span color='#f38ba8'><b><u>{}</u></b></span>"
}
}
},
"custom/power": {
"format": "⏻",
"on-click": "wlogout"
}
}

View File

@@ -0,0 +1,110 @@
{
"position": "bottom",
"layer": "top",
"height": 34,
"spacing": 3,
"modules-left": ["hyprland/workspaces", "hyprland/submap"],
"modules-center": ["hyprland/window"],
"modules-right": [
"pulseaudio",
"pulseaudio#microphone",
"network",
"cpu",
"memory",
"temperature",
"backlight",
"battery",
"clock",
"tray",
"custom/power"
],
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"pulseaudio#microphone": {
"format": "{format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"on-click": "pamixer --default-source -t"
},
"network": {
"interval": 10,
"format-wifi": "{icon} {essid} {signalStrength}%",
"format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"],
"format-ethernet": "󰈁 {ifname}",
"format-disconnected": "󰈂 Disconnected",
// Clic gauche : Bascule l'affichage vers l'IP (format-alt)
// Pas de commande nécessaire, c'est le comportement natif de Waybar au clic
"format-alt": "{ipaddr}/{cidr}",
// Clic droit : Ouvre le menu de NetworkManager
"on-click-right": "networkmanager_dmenu"
},
"cpu": {
"interval": 5,
"format": " {usage}%",
"tooltip": false
},
"memory": {
"interval": 5,
"format": " {percentage}%", // Vérifiez bien l'espace entre l'icône et le texte
},
"temperature": {
"interval": 5,
"hwmon-path": "/sys/class/hwmon/hwmon7/temp1_input",
"critical-threshold": 80,
"format-critical": "{icon} {temperatureC}°C",
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", "", "", ""],
"tooltip": true
},
"backlight": {
"format": "{icon} {percent}%",
"format-icons": ["", ""]
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"clock": {
"format": " {:%H:%M}",
"format-alt": " {:%d/%m/%Y}",
"tooltip-format": "<span color='#cba6f7' font='JetBrainsMono Nerd Font 12'><big>{:%Y %B}</big></span>\n<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "month",
"mode-mon-col" : 3,
"on-scroll" : 1,
"format": {
"months": "<span color='#cdd6f4'><b>{}</b></span>",
"days": "<span color='#bac2de'>{}</span>",
"weekdays": "<span color='#89b4fa'><b>{}</b></span>",
"today": "<span color='#f38ba8'><b><u>{}</u></b></span>"
}
}
},
"custom/power": {
"format": "⏻",
"on-click": "wlogout"
}
}

76
.config/waybar/style.css Normal file
View File

@@ -0,0 +1,76 @@
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color mauve #cba6f7;
@define-color blue #89b4fa;
@define-color text #cdd6f4;
window#waybar {
background: rgba(30, 30, 46, 0.85);
border-top: 2px solid @mauve;
color: @text;
margin: 0; /* On colle la barre aux bords ou on réduit fortement */
}
/* On réduit drastiquement les marges ici */
#workspaces,
#window,
#network,
#cpu,
#memory,
#temperature,
#backlight,
#battery,
#clock,
#tray,
#custom-power {
padding: 0 6px; /* Réduit de 10 à 6 */
margin: 0 2px; /* Réduit de 4 à 2 */
background-color: transparent;
}
#pulseaudio,
#pulseaudio.microphone {
padding: 0 6px;
margin: 0 2px;
}
#network {
color: @blue;
}
#network.disconnected {
color: #f38ba8; /* Red pour l'alerte */
}
/* On force la taille de la police pour gagner en place si besoin */
label {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
}
tooltip {
background: rgba(30, 30, 46, 0.95);
border: 1px solid @mauve;
border-radius: 8px;
}
tooltip label {
font-family: "JetBrainsMono Nerd Font";
font-size: 14px;
color: @text;
}
#tray {
padding: 0;
margin: 0 4px;
}
#tray > widget > image {
padding: 0 6px; /* C'est ici que l'espacement se crée réellement */
}
#tray > .passive,
#tray > .active,
#tray > .needs-attention {
padding: 0 3px;
}

30
.config/wlogout/layout Normal file
View File

@@ -0,0 +1,30 @@
{
"label" : "lock",
"action" : "hyprlock",
"text" : "Verrouiller",
"keybind" : "l"
}
{
"label" : "logout",
"action" : "hyprctl dispatch exit"
"text" : "Déconnecter",
"keybind" : "e"
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"text" : "Éteindre",
"keybind" : "s"
}
{
"label" : "suspend",
"action" : "~/.config/hypr/scripts/suspend.sh",
"text" : "Veille",
"keybind" : "u"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"text" : "Redémarrer",
"keybind" : "r"
}

View File

@@ -0,0 +1,36 @@
{
"label" : "lock",
"action" : "loginctl lock-session",
"text" : "Verrouiller",
"keybind" : "l"
}
{
"label" : "hibernate",
"action" : "systemctl hibernate",
"text" : "Hibernate",
"keybind" : "h"
}
{
"label" : "logout",
"action" : "loginctl terminate-user $USER",
"text" : "Logout",
"keybind" : "e"
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "suspend",
"action" : "systemctl suspend",
"text" : "Suspend",
"keybind" : "u"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"text" : "Reboot",
"keybind" : "r"
}

51
.config/wlogout/style.css Normal file
View File

@@ -0,0 +1,51 @@
* {
background-image: none;
box-shadow: none;
}
window {
background-color: rgba(30, 30, 46, 0.90);
}
button {
border-radius: 0;
border-color: #b4befe;
text-decoration-color: #cdd6f4;
color: #cdd6f4;
background-color: #181825;
border-style: solid;
border-width: 1px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
}
button:focus, button:active, button:hover {
/* 20% Overlay 2, 80% mantle */
background-color: rgb(48, 50, 66);
outline-style: none;
}
#lock {
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
}
#logout {
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
}
#suspend {
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
}
#hibernate {
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
}
#shutdown {
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
}
#reboot {
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
}

View File

@@ -0,0 +1,9 @@
Net/ThemeName "catppuccin-mocha-mauve-standard+default"
Net/IconThemeName "Papirus-Dark"
Gtk/CursorThemeName "Bibata-Modern-Classic"
Net/EnableEventSounds 1
EnableInputFeedbackSounds 0
Xft/Antialias 1
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/RGBA "rgb"