- Hyprland via UWSM (comme Omarchy), à choisir à la connexion ; i3 reste la session par défaut - config Lua (format Hyprland >= 0.55) : raccourcis bépo d'i3, apparence Omarchy, Ghostty comme terminal - waybar, hyprlock, swaybg, grim/slurp, wl-clipboard, brightnessctl - workspace-run : support de hyprctl et des options en --opt= - stt-dictate : wtype sous Wayland au lieu de xdotool Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
76 lines
1.9 KiB
Nix
76 lines
1.9 KiB
Nix
{ pkgs, ... }:
|
|
|
|
# Session Hyprland, en test à côté d'i3. Le compositeur et la session sont
|
|
# activés côté système (programs.hyprland dans nixos/configuration.nix).
|
|
{
|
|
xdg.configFile."hypr/hyprland.lua".source = ../files/hypr/hyprland.lua;
|
|
|
|
home.packages = with pkgs; [
|
|
swaybg # fond d'écran (remplace feh)
|
|
grim # captures d'écran…
|
|
slurp # … d'une zone
|
|
wl-clipboard # wl-copy / wl-paste (remplace xsel)
|
|
wtype # saisie de texte (remplace xdotool), pour stt-dictate
|
|
brightnessctl # remplace xbacklight
|
|
];
|
|
|
|
# Lancée par hyprland.lua et pas par systemd, pour ne pas apparaître sous i3
|
|
programs.waybar = {
|
|
enable = true;
|
|
settings.main = {
|
|
layer = "top";
|
|
position = "top";
|
|
height = 26;
|
|
modules-left = [ "hyprland/workspaces" ];
|
|
modules-center = [ "clock" ];
|
|
modules-right = [
|
|
"cpu"
|
|
"temperature"
|
|
"disk"
|
|
"network"
|
|
"pulseaudio"
|
|
"battery"
|
|
"tray"
|
|
];
|
|
clock = {
|
|
format = "{:%a %d %b %H:%M}";
|
|
tooltip-format = "<tt>{calendar}</tt>";
|
|
};
|
|
cpu.format = "CPU {usage}%";
|
|
disk.format = "/ {percentage_used}%";
|
|
network = {
|
|
format-wifi = "{essid} {signalStrength}%";
|
|
format-ethernet = "{ipaddr}";
|
|
format-disconnected = "hors ligne";
|
|
};
|
|
pulseaudio = {
|
|
format = "vol {volume}%";
|
|
format-muted = "muet";
|
|
on-click = "pavucontrol";
|
|
};
|
|
battery.format = "bat {capacity}%";
|
|
};
|
|
};
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general.hide_cursor = true;
|
|
background = [
|
|
{
|
|
color = "rgb(000000)";
|
|
}
|
|
];
|
|
input-field = [
|
|
{
|
|
size = "400, 60";
|
|
position = "0, 0";
|
|
halign = "center";
|
|
valign = "center";
|
|
placeholder_text = "Mot de passe";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|