148 lines
3.5 KiB
Nix
148 lines
3.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.pointerCursor.enable = true;
|
|
home.pointerCursor.name = "Vanilla-DMZ";
|
|
home.pointerCursor.package = pkgs.vanilla-dmz;
|
|
home.pointerCursor.gtk.enable = true;
|
|
home.pointerCursor.x11.enable = true;
|
|
home.pointerCursor.hyprcursor.enable = true;
|
|
|
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
|
|
# Hyprland
|
|
wayland.windowManager.hyprland.enable = true;
|
|
wayland.windowManager.hyprland.systemd.enable = false;
|
|
wayland.windowManager.hyprland.xwayland.enable = true;
|
|
wayland.windowManager.hyprland.settings = {
|
|
"$MOD" = "SUPER";
|
|
"$MONITOR-1" = lib.mkDefault "";
|
|
"$MONITOR-2" = lib.mkDefault "";
|
|
|
|
animations.enabled = true;
|
|
|
|
decoration = {
|
|
rounding = 5;
|
|
|
|
dim_inactive = true;
|
|
dim_strength = 0.2;
|
|
dim_around = 0.4;
|
|
|
|
blur.enabled = false;
|
|
};
|
|
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
};
|
|
|
|
exec-once = [
|
|
"systemctl --user enable --now hyprpaper.service"
|
|
"systemctl --user enable --now hypridle.service"
|
|
"systemctl --user restart --now activitywatch-watcher-awatcher.service"
|
|
];
|
|
|
|
general = {
|
|
gaps_in = 5;
|
|
gaps_out = 10;
|
|
border_size = 0;
|
|
layout = "dwindle";
|
|
};
|
|
|
|
input = {
|
|
kb_layout = "br";
|
|
kb_variant = "abnt2";
|
|
follow_mouse = 1;
|
|
sensitivity = 0;
|
|
};
|
|
|
|
monitor = [
|
|
", preferred, auto, 1"
|
|
];
|
|
|
|
windowrulev2 = [
|
|
# Inkscape pop-ups
|
|
"float,class:^(org.inkscape.Inkscape)$"
|
|
"tile,class:^(org.inkscape.Inkscape)$,title:(.*)(- Inkscape)$"
|
|
|
|
# Blender pop-ups
|
|
"float,class:^(blender)$,title:^(?!.*\ \-\ Blender).*$)"
|
|
];
|
|
|
|
workspace = [
|
|
# Primary monitor
|
|
"1,monitor:$MONITOR-1,default:true"
|
|
"2,monitor:$MONITOR-1"
|
|
"3,monitor:$MONITOR-1"
|
|
"4,monitor:$MONITOR-1"
|
|
"5,monitor:$MONITOR-1"
|
|
# Second monitor
|
|
"6,monitor:$MONITOR-2"
|
|
"7,monitor:$MONITOR-2"
|
|
"8,monitor:$MONITOR-2"
|
|
"9,monitor:$MONITOR-2"
|
|
"10,monitor:$MONITOR-2,default:true"
|
|
];
|
|
};
|
|
|
|
## Idle lock screen
|
|
programs.hyprlock.enable = true;
|
|
|
|
services.hypridle.enable = true;
|
|
services.hypridle.settings = let
|
|
hyprlock = lib.getExe config.programs.hyprlock.package;
|
|
|
|
brightnessctl = lib.getExe pkgs.brightnessctl;
|
|
hyprctl = lib.getExe' config.wayland.windowManager.hyprland.package "hyprctl";
|
|
loginctl = lib.getExe' pkgs.systemd "loginctl";
|
|
in {
|
|
general = {
|
|
lock_cmd = "pidof ${hyprlock} || ${hyprlock}";
|
|
before_sleep_cmd = "${loginctl} unlock-session";
|
|
after_sleep_cmd = "${hyprctl} dispatch dpms on";
|
|
};
|
|
listener = {
|
|
timeout = 10;
|
|
on-timeout = "${brightnessctl} -sd rgb:kbd_backlight set 0 && ${hyprlock}";
|
|
on-resume = "${brightnessctl} -rd rgb:kbd_backlight";
|
|
};
|
|
};
|
|
|
|
## Wallpaper
|
|
services.hyprpaper.enable = true;
|
|
|
|
## File picker and other portals not implemented by XDPH
|
|
xdg.portal.extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
];
|
|
xdg.portal.config.common.default = ["gtk"];
|
|
xdg.portal.xdgOpenUsePortal = true;
|
|
|
|
## Temp status bar
|
|
programs.waybar.enable = true;
|
|
programs.waybar.style = builtins.readFile ./waybar.css;
|
|
programs.waybar.systemd.enable = true;
|
|
|
|
# Notifications
|
|
services.dunst.enable = true;
|
|
services.dunst.settings = {
|
|
global = {
|
|
follow = "mouse";
|
|
};
|
|
};
|
|
|
|
# Application Launcher
|
|
programs.rofi.enable = true;
|
|
programs.rofi.modes = ["drun" "emoji"];
|
|
|
|
# Clipboard
|
|
services.cliphist.enable = true;
|
|
services.cliphist.allowImages = true;
|
|
home.packages = with pkgs; [
|
|
wl-clipboard
|
|
];
|
|
}
|