Files
dotfiles/programs/hyprland.nix
T
Pierre MARTINandClaude Opus 5.5 967a31d574 feat(hyprland): session Hyprland en test à côté d'i3
- 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>
2026-10-13 01:33:19 +02:00

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";
}
];
};
};
}