250 lines
7.5 KiB
Nix
250 lines
7.5 KiB
Nix
{myConfig, ...}: {
|
|
imports = [
|
|
./config/binds.nix
|
|
./config/execs.nix
|
|
./config/rules.nix
|
|
];
|
|
|
|
home.file.".config/hypr/scripts/wsaction.fish" = {
|
|
source = builtins.toPath ./scripts/wsaction.fish;
|
|
executable = true;
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
systemd.enable = true;
|
|
settings = {
|
|
"$mod" = "SUPER";
|
|
"$term" = "kitty --single-instance";
|
|
"$browser" = "firefox";
|
|
"$wsaction" = "fish -c ./scripts/wsaction.fish";
|
|
|
|
monitor = myConfig.nixos.Hyprland.monitors;
|
|
general = {
|
|
gaps_in = 2;
|
|
gaps_out = 5;
|
|
border_size = 2;
|
|
# col.active_border = "#0DB7D4FF";
|
|
# col.inactive_border = "#31313600";
|
|
# col = {
|
|
# "inactive_border" = "rgba(595959aa)";
|
|
# "active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
|
# };
|
|
resize_on_border = false;
|
|
allow_tearing = false;
|
|
layout = "dwindle";
|
|
};
|
|
decoration = {
|
|
rounding = 10;
|
|
rounding_power = 2;
|
|
active_opacity = 1.0;
|
|
inactive_opacity = 1.0;
|
|
|
|
dim_inactive = true;
|
|
dim_strength = 0.1;
|
|
dim_special = 0.8;
|
|
|
|
shadow = {
|
|
enabled = true;
|
|
range = 4;
|
|
render_power = 3;
|
|
color = "rgba(1a1a1aee)";
|
|
};
|
|
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
vibrancy = 0.1696;
|
|
};
|
|
};
|
|
|
|
animations = {
|
|
enabled = true;
|
|
bezier = [
|
|
"linear, 0, 0, 1, 1"
|
|
"md3_standard, 0.2, 0, 0, 1"
|
|
"md3_decel, 0.05, 0.7, 0.1, 1"
|
|
"md3_accel, 0.3, 0, 0.8, 0.15"
|
|
"overshot, 0.05, 0.9, 0.1, 1.1"
|
|
"crazyshot, 0.1, 1.5, 0.76, 0.92"
|
|
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
|
"menu_decel, 0.1, 1, 0, 1"
|
|
"menu_accel, 0.38, 0.04, 1, 0.07"
|
|
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
|
"easeOutCirc, 0, 0.55, 0.45, 1"
|
|
"easeOutExpo, 0.16, 1, 0.3, 1"
|
|
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
|
"md2, 0.4, 0, 0.2, 1"
|
|
];
|
|
|
|
animation = [
|
|
"windows, 1, 3, md3_decel, popin 60%"
|
|
"windowsIn, 1, 3, md3_decel, popin 60%"
|
|
"windowsOut, 1, 3, md3_accel, popin 60%"
|
|
"border, 1, 10, default"
|
|
"fade, 1, 3, md3_decel"
|
|
"layersIn, 1, 3, menu_decel, slide"
|
|
"layersOut, 1, 1.6, menu_accel"
|
|
"fadeLayersIn, 1, 2, menu_decel"
|
|
"fadeLayersOut, 1, 0.5, menu_accel"
|
|
"workspaces, 1, 7, menu_decel, slide"
|
|
"specialWorkspace, 1, 3, md3_decel, slidevert"
|
|
];
|
|
};
|
|
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
};
|
|
|
|
master = {
|
|
new_status = "master";
|
|
};
|
|
|
|
misc = {
|
|
force_default_wallpaper = -1;
|
|
disable_hyprland_logo = true;
|
|
};
|
|
|
|
input = {
|
|
kb_layout = "us";
|
|
follow_mouse = 1;
|
|
sensitivity = 0;
|
|
force_no_accel = true;
|
|
repeat_delay = 250;
|
|
repeat_rate = 35;
|
|
|
|
touchpad = {
|
|
natural_scroll = false;
|
|
};
|
|
|
|
numlock_by_default = true;
|
|
};
|
|
|
|
gestures = {
|
|
workspace_swipe = false;
|
|
};
|
|
|
|
binds = {
|
|
workspace_back_and_forth = true;
|
|
scroll_event_delay = 0;
|
|
};
|
|
|
|
# The 'bind' array is now entirely managed by the imported binds.nix
|
|
# You would remove the existing 'bind' section from here:
|
|
# bind = ... (remove this section)
|
|
|
|
# Similarly, remove other bind sections (bindm, bindel, bindl, bindi, bindin)
|
|
# if you've moved them into `binds.nix`.
|
|
|
|
env = [
|
|
"HYPRCURSOR_THEME, Bibata-Original-Classic"
|
|
"HYPRCURSOR_SIZE, 24"
|
|
];
|
|
# ######## Window rules ########
|
|
windowrule = [
|
|
"opaque, class:foot|equibop"
|
|
"center 1, floating:1, xwayland:0"
|
|
|
|
# Float
|
|
"float, class:guifetch"
|
|
"float, class:yad"
|
|
"float, class:zenity"
|
|
"float, class:wev"
|
|
"float, class:org\\.gnome\\.FileRoller" # Escaped backslash
|
|
"float, class:file-roller"
|
|
"float, class:blueman-manager"
|
|
"float, class:com\\.github\\.GradienceTeam\\.Gradience" # Escaped backslash
|
|
"float, class:feh"
|
|
"float, class:imv"
|
|
"float, class:system-config-printer"
|
|
"float, class:quickshell"
|
|
|
|
# Float, resize and center
|
|
"float, class:foot, title:nmtui"
|
|
"size 60% 70%, class:foot, title:nmtui"
|
|
"center 1, class:foot, title:nmtui"
|
|
"float, class:org\\.gnome\\.Settings"
|
|
"size 70% 80%, class:org\\.gnome\\.Settings"
|
|
"center 1, class:org\\.gnome\\.Settings"
|
|
"float, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
|
|
"size 60% 70%, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
|
|
"center 1, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
|
|
"float, class:nwg-look"
|
|
"size 50% 60%, class:nwg-look"
|
|
"center 1, class:nwg-look"
|
|
|
|
# Special workspaces
|
|
"workspace special:sysmon, class:btop"
|
|
"workspace special:music, class:feishin|Spotify|Supersonic"
|
|
"workspace special:music, initialTitle:Spotify( Free)?"
|
|
"workspace special:communication, class:discord|equibop|vesktop|whatsapp"
|
|
"workspace special:todo, class:Todoist"
|
|
|
|
# Dialogs
|
|
"float, title:(Select|Open)( a)? (File|Folder)(s)?"
|
|
"float, title:File (Operation|Upload)( Progress)?"
|
|
"float, title:.* Properties"
|
|
"float, title:Export Image as PNG"
|
|
"float, title:GIMP Crash Debug"
|
|
"float, title:Save As"
|
|
"float, title:Library"
|
|
|
|
# Picture in picture (resize and move done via script)
|
|
"move 100%-w-2% 100%-w-3%, title:Picture(-| )in(-| )[Pp]icture"
|
|
"keepaspectratio, title:Picture(-| )in(-| )[Pp]icture"
|
|
"float, title:Picture(-| )in(-| )[Pp]icture"
|
|
"pin, title:Picture(-| )in(-| )[Pp]icture"
|
|
|
|
# Steam
|
|
"rounding 10, title:, class:steam"
|
|
"float, title:Friends List, class:steam"
|
|
"immediate, class:steam_app_[0-9]+"
|
|
"idleinhibit always, class:steam_app_[0-9]+"
|
|
|
|
# ATLauncher console
|
|
"float, class:com-atlauncher-App, title:ATLauncher Console"
|
|
|
|
# Autodesk Fusion 360
|
|
"noblur, title:Fusion360|(Marking Menu), class:fusion360\\.exe" # Escaped backslash
|
|
|
|
# Ugh xwayland popups
|
|
"nodim, xwayland:1, title:win[0-9]+"
|
|
"noshadow, xwayland:1, title:win[0-9]+"
|
|
"rounding 10, xwayland:1, title:win[0-9]+"
|
|
];
|
|
|
|
# ######## Workspace rules ########
|
|
workspace = [
|
|
"w[tv1]s[false], gapsout:20, gapsin:20"
|
|
"f[1]s[false], gapsout:20, gapsin:20"
|
|
];
|
|
|
|
# ######## Layer rules ########
|
|
layerrule = [
|
|
"animation fade, hyprpicker"
|
|
"animation fade, logout_dialog"
|
|
"animation fade, selection"
|
|
"animation fade, wayfreeze"
|
|
|
|
# Fuzzel
|
|
"animation popin 80%, launcher"
|
|
"blur, launcher"
|
|
|
|
# Shell
|
|
"noanim, caelestia-(launcher|osd|notifications|border-exclusion|area-picker)"
|
|
"animation fade, caelestia-(drawers|background)"
|
|
"order 1, caelestia-border-exclusion"
|
|
"order 2, caelestia-bar"
|
|
# The commented out lines below need to remain commented if you don't want them active
|
|
#"xray 1, caelestia-(border|launcher|bar|sidebar|navbar|mediadisplay|screencorners)"
|
|
#"blur, caelestia-.*"
|
|
#"blurpopups, caelestia-.*"
|
|
#"ignorealpha 0.57, caelestia-.*"
|
|
];
|
|
};
|
|
};
|
|
}
|