Torjus Håkestad
9b497a5174
All checks were successful
Run nix flake check / flake-check (push) Successful in 1m46s
350 lines
9.9 KiB
Nix
350 lines
9.9 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
options.hyprland.enable = lib.mkEnableOption "Hyprland";
|
|
config = {
|
|
home.packages = with pkgs; [
|
|
dunst
|
|
rofi-wayland
|
|
slurp
|
|
swww
|
|
waybar
|
|
wl-clipboard
|
|
catppuccin-cursors.macchiatoLavender
|
|
bibata-cursors
|
|
# For potentially fixing some issues
|
|
libsForQt5.qt5.qtwayland
|
|
libsForQt5.qt5ct
|
|
];
|
|
|
|
services.hyprpaper = {
|
|
enable = true;
|
|
settings = {
|
|
splash = false;
|
|
};
|
|
};
|
|
services.hypridle = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
lock_cmd = "hyprlock";
|
|
before_sleep_cmd = "lockhelper";
|
|
ignore_dbus_inhibit = false;
|
|
};
|
|
listener = {
|
|
timeout = 240;
|
|
on-timeout = "lockhelper";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
background = [
|
|
{
|
|
monitor = "DP-5";
|
|
path = "/tmp/lockscreen/DP-5.png";
|
|
blur_passes = 3;
|
|
contrast = 0.8916;
|
|
brightness = 0.8172;
|
|
vibrancy = 0.1696;
|
|
vibrancy_darkness = 0.0;
|
|
}
|
|
{
|
|
monitor = "DP-6";
|
|
path = "/tmp/lockscreen/DP-6.png";
|
|
blur_passes = 3;
|
|
contrast = 0.8916;
|
|
brightness = 0.8172;
|
|
vibrancy = 0.1696;
|
|
vibrancy_darkness = 0.0;
|
|
}
|
|
{
|
|
monitor = "DP-7";
|
|
path = "/tmp/lockscreen/DP-7.png";
|
|
blur_passes = 3;
|
|
contrast = 0.8916;
|
|
brightness = 0.8172;
|
|
vibrancy = 0.1696;
|
|
vibrancy_darkness = 0.0;
|
|
}
|
|
{
|
|
monitor = "DP-8";
|
|
path = "/tmp/lockscreen/DP-8.png";
|
|
blur_passes = 3;
|
|
contrast = 0.8916;
|
|
brightness = 0.8172;
|
|
vibrancy = 0.1696;
|
|
vibrancy_darkness = 0.0;
|
|
}
|
|
];
|
|
|
|
general = {
|
|
no_fade_in = false;
|
|
grace = 0;
|
|
disable_loading_bar = true;
|
|
};
|
|
|
|
input-field = [
|
|
{
|
|
size = "250, 60";
|
|
outline_thickness = 2;
|
|
dots_size = 0.2;
|
|
dots_spacing = 0.2;
|
|
dots_center = true;
|
|
outer_color = "rgba(0, 0, 0, 0)";
|
|
inner_color = "rgba(0, 0, 0, 0.5)";
|
|
font_color = "rgb(200, 200, 200)";
|
|
fade_on_empty = false;
|
|
font_family = "JetBrains Mono Nerd Font Mono";
|
|
placeholder_text = "<i><span foreground=\"##cdd6f4\">Input Password...</span></i>";
|
|
hide_input = false;
|
|
position = "0, -120";
|
|
halign = "center";
|
|
valign = "center";
|
|
}
|
|
];
|
|
|
|
label = [
|
|
{
|
|
text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\"";
|
|
color = "rgba(255, 255, 255, 0.6)";
|
|
font_size = 120;
|
|
font_family = "JetBrains Mono Nerd Font Mono ExtraBold";
|
|
position = "0, -300";
|
|
halign = "center";
|
|
valign = "top";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
# streamcontroller service
|
|
systemd.user.services = {
|
|
streamcontroller = {
|
|
Unit = {
|
|
Description = "Streamcontroller service";
|
|
PartOf = [ "graphical-session.target" ];
|
|
After = [ "graphical-session.target" ];
|
|
Requisite = [ "graphical-session.target" ];
|
|
};
|
|
|
|
Service = {
|
|
ExecStart = "${pkgs.streamcontroller}/bin/streamcontroller -b";
|
|
Restart = "on-failure";
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "graphical-session.target" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
package = pkgs.hyprland;
|
|
settings = {
|
|
"$mainMod" = "SUPER";
|
|
"$shiftMainMod" = "SUPER_SHIFT";
|
|
"$term" = "kitty";
|
|
|
|
# monitors
|
|
"$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000";
|
|
"$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389";
|
|
"$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd";
|
|
"$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390";
|
|
|
|
monitor = [
|
|
# "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000
|
|
"DP-6,1920x1080@60,2560x0,1" # top T2B04424SL000 60
|
|
# "$mon_left,2560x1440@75,0x1080,1" # left
|
|
"DP-8,2560x1440@75,0x1080,1" # left 75hz
|
|
# "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd
|
|
"DP-5,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz
|
|
# "$mon_right,2560x1440@75,5120x1080,1" # right
|
|
"DP-7,2560x1440@75,5120x1080,1" # right 75hz
|
|
];
|
|
input = {
|
|
kb_layout = "no";
|
|
follow_mouse = 1;
|
|
};
|
|
|
|
cursor = {
|
|
no_hardware_cursors = true;
|
|
};
|
|
|
|
env = [
|
|
"LIBVA_DRIVER_NAME,nvidia"
|
|
"XDG_SESSION_TYPE,wayland"
|
|
"GBM_BACKEND,nvidia-drm"
|
|
# "__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
|
"WLR_NO_HARDWARE_CURSORS,1"
|
|
];
|
|
|
|
decoration = {
|
|
rounding = 10;
|
|
# shadow = {
|
|
# enable = true;
|
|
# range = 4;
|
|
# render_power = 3;
|
|
# };
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
xray = true;
|
|
};
|
|
};
|
|
|
|
general = {
|
|
gaps_in = 4;
|
|
gaps_out = 10;
|
|
border_size = 2;
|
|
layout = "dwindle";
|
|
};
|
|
|
|
animations = {
|
|
enabled = true;
|
|
bezier = [
|
|
"myBezier, 0.05, 0.9, 0.1, 1.05"
|
|
"easeInB, 0.6, -0.28, 0.735, 0.045"
|
|
];
|
|
animation = [
|
|
"windows, 1, 7, myBezier"
|
|
"windowsOut, 1, 7, default, popin 80%"
|
|
"border, 1, 10, default"
|
|
"borderangle, 1, 8, default"
|
|
"fade, 1, 7, default"
|
|
"workspaces, 1, 6, easeInB, slidefadevert"
|
|
"specialWorkspace, 1, 4, default, fade"
|
|
];
|
|
};
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
special_scale_factor = 0.85;
|
|
};
|
|
master = {
|
|
new_status = "master";
|
|
};
|
|
misc = {
|
|
force_default_wallpaper = 0;
|
|
disable_hyprland_logo = true;
|
|
};
|
|
|
|
windowrulev2 = [
|
|
"opacity 0.95 override 0.7 override,class:^(Alacritty)$"
|
|
"opacity 0.95 override 0.7 override,class:^(kitty)$"
|
|
];
|
|
|
|
workspace = [
|
|
"name:T1, monitor:$mon_top, persistent:true, default:true"
|
|
"name:T2, monitor:$mon_top, persistent:true, default:false"
|
|
"name:L1, monitor:$mon_left, persistent:true, default:true"
|
|
"name:L2, monitor:$mon_left, persistent:true, default:false"
|
|
"name:R1, monitor:$mon_right, persistent:true, default:true"
|
|
"name:R2, monitor:$mon_right, persistent:true, default:false"
|
|
"name:c1, monitor:$mon_center, persistent:true, default:true"
|
|
"name:c2, monitor:$mon_center, persistent:true, default:false"
|
|
"name:c3, monitor:$mon_center, persistent:true, default:false"
|
|
"name:c4, monitor:$mon_center, persistent:true, default:false"
|
|
"special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false"
|
|
];
|
|
|
|
bindm = [
|
|
"$mainMod,mouse:272,movewindow"
|
|
"$shiftMainMod,mouse:272,resizewindow"
|
|
];
|
|
|
|
bindr = [
|
|
# mumble ptt release
|
|
# ",code:202,exec,mumble rpc stoptalking"
|
|
# ",code:202,exec,pamixer --source 63 -m"
|
|
# ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
|
|
];
|
|
|
|
bind = [
|
|
# term
|
|
"$mainMod,Return,exec,$term"
|
|
|
|
# hyprlock
|
|
"$shiftMainMod,l,exec,lockhelper"
|
|
|
|
# rofi
|
|
"$mainMod,D,exec,rofi-launcher"
|
|
"$mainMod,P,exec,rofi-rbw"
|
|
|
|
# hyprland
|
|
"$mainMod,Q,killactive,"
|
|
"CTRLALT,Delete,exit,"
|
|
"$mainMod,Space,togglefloating,"
|
|
"$mainMod,F,fullscreen,"
|
|
|
|
# focus
|
|
"$mainMod,l,movefocus,l"
|
|
"$mainMod,h,movefocus,r"
|
|
"$mainMod,k,movefocus,u"
|
|
"$mainMod,j,movefocus,d"
|
|
|
|
# move
|
|
"$mainMod,h,movewindow,l"
|
|
"$mainMod,l,movewindow,r"
|
|
"$mainMod,k,movewindow,u"
|
|
"$mainMod,j,movewindow,d"
|
|
|
|
# Force opacity
|
|
"$shiftMainMod,o,exec, hl-no-opacity"
|
|
|
|
# grimblast
|
|
"$mainMod,Print,exec,grimblast save active ~/tmp/$(date -Iseconds).png"
|
|
"$shiftMainMod,Print,exec,grimblast copy area"
|
|
",Print,exec,grimblast copy active"
|
|
|
|
# mumble ptt click
|
|
# ",code:202,exec,mumble rpc starttalking"
|
|
#",code:202,pass,^(info\.mumble\.Mumble)$"
|
|
# ",code:202,exec,pamixer --default-source -u"
|
|
",code:202,pass,^discord$"
|
|
|
|
# Paste to wtype
|
|
"$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -"
|
|
|
|
# worspace switching
|
|
"$mainMod,1,workspace,name:c1"
|
|
"$mainMod,2,workspace,name:c2"
|
|
"$mainMod,3,workspace,name:c3"
|
|
"$mainMod,4,workspace,name:c4"
|
|
"$mainMod,5,workspace,5"
|
|
"$mainMod,6,workspace,6"
|
|
|
|
# Move window to workspace
|
|
"$shiftMainMod,1,movetoworkspace,name:c1"
|
|
"$shiftMainMod,2,movetoworkspace,name:c2"
|
|
"$shiftMainMod,3,movetoworkspace,name:c3"
|
|
"$shiftMainMod,4,movetoworkspace,name:c4"
|
|
"$shiftMainMod,5,movetoworkspace,5"
|
|
"$shiftMainMod,6,movetoworkspace,6"
|
|
|
|
# Special workspace
|
|
"$mainMod,c,togglespecialworkspace"
|
|
"$shiftMainMod,c,movetoworkspace, special"
|
|
];
|
|
|
|
exec-once = [
|
|
"waybar"
|
|
# "hyprpaper & sleep 10 && randomwp"
|
|
# "easyeffects --gapplication-service"
|
|
# "hypridle"
|
|
# "streamcontroller -b"
|
|
# "dunst"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|