192 lines
5.4 KiB
Nix
192 lines
5.4 KiB
Nix
|
{ pkgs, lib, config, inputs, ... }: {
|
||
|
imports = [
|
||
|
../home-manager/neovim
|
||
|
./waybar/style.css.nix
|
||
|
./waybar/config.jsonc.nix
|
||
|
];
|
||
|
home = {
|
||
|
username = "pim";
|
||
|
homeDirectory = "/home/pim";
|
||
|
stateVersion = "23.05";
|
||
|
|
||
|
packages = with pkgs; [
|
||
|
hyprland
|
||
|
telegram-desktop
|
||
|
signal-desktop
|
||
|
];
|
||
|
};
|
||
|
|
||
|
programs = {
|
||
|
home-manager.enable = true;
|
||
|
alacritty.enable = true;
|
||
|
|
||
|
librewolf = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
"identity.fxaccounts.enabled" = true;
|
||
|
"privacy.clearOnShutdown.history" = false;
|
||
|
"privacy.clearOnShutdown.downloads" = false;
|
||
|
"browser.translations.automaticallyPopup" = false;
|
||
|
"browser.aboutConfig.showWarning" = false;
|
||
|
"privacy.clearOnShutdown.cookies" = false;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
waybar = {
|
||
|
enable = true;
|
||
|
|
||
|
systemd = {
|
||
|
enable = true;
|
||
|
target = "hyprland-session.target";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
fonts.fontconfig.enable = true;
|
||
|
|
||
|
wayland.windowManager.hyprland =
|
||
|
let
|
||
|
mainMod = "SUPER";
|
||
|
terminalEmulator = lib.getExe config.programs.alacritty.package;
|
||
|
fileManager = lib.getExe pkgs.gnome.nautilus;
|
||
|
webBrowser = lib.getExe config.programs.librewolf.package;
|
||
|
launcherCommand = "${lib.getExe pkgs.wofi} --show drun --allow-images --insensitive --matching fuzzy";
|
||
|
# startupScript = pkgs.writeShellScriptBin "hyprlandStart.sh" ''
|
||
|
# ${lib.getExe pkgs.waybar} &
|
||
|
# '';
|
||
|
in
|
||
|
{
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
# exec-once = "${lib.getExe startupScript}";
|
||
|
monitor = ",preferred,auto,auto";
|
||
|
env = [
|
||
|
"XCURSOR_SIZE,24"
|
||
|
"HYPRCURSOR_SIZE,24"
|
||
|
];
|
||
|
general = {
|
||
|
gaps_in = 5;
|
||
|
gaps_out = 20;
|
||
|
border_size = 2;
|
||
|
resize_on_border = false;
|
||
|
layout = "dwindle";
|
||
|
};
|
||
|
|
||
|
decoration = {
|
||
|
rounding = 10;
|
||
|
active_opacity = "1.0";
|
||
|
inactive_opacity = "1.0";
|
||
|
drop_shadow = true;
|
||
|
shadow_range = 4;
|
||
|
shadow_render_power = 3;
|
||
|
|
||
|
blur = {
|
||
|
enabled = true;
|
||
|
size = 3;
|
||
|
passes = 1;
|
||
|
vibrancy = "0.1696";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
animations = {
|
||
|
enabled = true;
|
||
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||
|
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, default"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
dwindle = {
|
||
|
pseudotile = true;
|
||
|
preserve_split = true;
|
||
|
};
|
||
|
|
||
|
master.new_is_master = true;
|
||
|
|
||
|
misc = {
|
||
|
force_default_wallpaper = -1;
|
||
|
disable_hyprland_logo = false;
|
||
|
};
|
||
|
|
||
|
input = {
|
||
|
follow_mouse = 1;
|
||
|
sensitivity = 0;
|
||
|
touchpad.natural_scroll = true;
|
||
|
};
|
||
|
|
||
|
gestures.workspace_swipe = false;
|
||
|
|
||
|
bind = [
|
||
|
"${mainMod}, T, exec, ${terminalEmulator}"
|
||
|
"${mainMod}, D, exec, ${fileManager}"
|
||
|
"${mainMod}, E, exec, ${webBrowser}"
|
||
|
"${mainMod}, W, exec, ${launcherCommand}"
|
||
|
|
||
|
"${mainMod} SHIFT, Q, killactive"
|
||
|
"${mainMod}, M, exit"
|
||
|
"${mainMod}, V, togglefloating"
|
||
|
"${mainMod}, P, pseudo,"
|
||
|
"${mainMod}, C, togglesplit,"
|
||
|
"${mainMod}, F, fullscreen, 0"
|
||
|
|
||
|
"${mainMod}, left, movefocus, l"
|
||
|
"${mainMod}, right, movefocus, r"
|
||
|
"${mainMod}, up, movefocus, u"
|
||
|
"${mainMod}, down, movefocus, d"
|
||
|
|
||
|
"${mainMod}, H, movefocus, l"
|
||
|
"${mainMod}, L, movefocus, r"
|
||
|
"${mainMod}, K, movefocus, u"
|
||
|
"${mainMod}, J, movefocus, d"
|
||
|
|
||
|
"${mainMod} SHIFT, H, movewindow, l"
|
||
|
"${mainMod} SHIFT, L, movewindow, r"
|
||
|
"${mainMod} SHIFT, K, movewindow, u"
|
||
|
"${mainMod} SHIFT, J, movewindow, d"
|
||
|
|
||
|
"${mainMod} Control&SHIFT, H, resizeactive, exact -10% 0"
|
||
|
"${mainMod} Control&SHIFT, L, resizeactive, exact 10% 0"
|
||
|
"${mainMod} Control&SHIFT, K, resizeactive, exact 0 -10%"
|
||
|
"${mainMod} Control&SHIFT, J, resizeactive, exact 0 10%"
|
||
|
|
||
|
"${mainMod}, 1, workspace, 1"
|
||
|
"${mainMod}, 2, workspace, 2"
|
||
|
"${mainMod}, 3, workspace, 3"
|
||
|
"${mainMod}, 4, workspace, 4"
|
||
|
"${mainMod}, 5, workspace, 5"
|
||
|
"${mainMod}, 6, workspace, 6"
|
||
|
"${mainMod}, 7, workspace, 7"
|
||
|
"${mainMod}, 8, workspace, 8"
|
||
|
"${mainMod}, 9, workspace, 9"
|
||
|
"${mainMod}, 0, workspace, 10"
|
||
|
|
||
|
"${mainMod} SHIFT, 1, movetoworkspace, 1"
|
||
|
"${mainMod} SHIFT, 2, movetoworkspace, 2"
|
||
|
"${mainMod} SHIFT, 3, movetoworkspace, 3"
|
||
|
"${mainMod} SHIFT, 4, movetoworkspace, 4"
|
||
|
"${mainMod} SHIFT, 5, movetoworkspace, 5"
|
||
|
"${mainMod} SHIFT, 6, movetoworkspace, 6"
|
||
|
"${mainMod} SHIFT, 7, movetoworkspace, 7"
|
||
|
"${mainMod} SHIFT, 8, movetoworkspace, 8"
|
||
|
"${mainMod} SHIFT, 9, movetoworkspace, 9"
|
||
|
"${mainMod} SHIFT, 0, movetoworkspace, 10"
|
||
|
|
||
|
"${mainMod}, mouse_down, workspace, e+1"
|
||
|
"${mainMod}, mouse_up, workspace, e-1"
|
||
|
];
|
||
|
|
||
|
bindm = [
|
||
|
"${mainMod}, mouse:272, movewindow"
|
||
|
"${mainMod}, mouse:273, resizewindow"
|
||
|
];
|
||
|
|
||
|
windowrulev2 = "suppressevent maximize, class:.*";
|
||
|
};
|
||
|
};
|
||
|
}
|