181 lines
4.1 KiB
Nix
181 lines
4.1 KiB
Nix
{inputs, pkgs, ...}:
|
|
{
|
|
|
|
home.packages = [
|
|
pkgs.hyprshot
|
|
pkgs.nautilus
|
|
pkgs.gnome-control-center
|
|
pkgs.brightnessctl
|
|
];
|
|
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
settings = {
|
|
"$mod" = "SUPER";
|
|
|
|
# Global bindings
|
|
bind = [
|
|
"$mod, return, exec, walker"
|
|
"$mod+Shift, return, exec, kitty"
|
|
"$mod, F, exec, firefox"
|
|
"$mod, s, exec, code"
|
|
"$mod, e, exec, nautilus"
|
|
"$mod+Shift, Q, killactive," # Close window
|
|
"$mod+Shift, T, togglefloating," # Toggle Floating
|
|
|
|
# Move the focus
|
|
"$mod, left, movefocus, l"
|
|
"$mod, right, movefocus, r"
|
|
"$mod, up, movefocus, u"
|
|
"$mod, down, movefocus, d"
|
|
|
|
# Move the window
|
|
"$mod+Shift, left, movewindow, l"
|
|
"$mod+Shift, right, movewindow, r"
|
|
"$mod+Shift, up, movewindow, u"
|
|
"$mod+Shift, down, movewindow, d"
|
|
|
|
# Switch workspace
|
|
"$mod+Ctrl, left, workspace, -1"
|
|
"$mod+Ctrl, right, workspace, +1"
|
|
|
|
# Screenshot
|
|
"$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
|
"$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots"
|
|
];
|
|
|
|
general = {
|
|
resize_on_border = true;
|
|
gaps_in = 5;
|
|
gaps_out = 5;
|
|
border_size = 1;
|
|
layout = "master";
|
|
};
|
|
|
|
misc = {
|
|
disable_hyprland_logo = true;
|
|
};
|
|
|
|
input = {
|
|
kb_layout = "de";
|
|
kb_options = "caps:control";
|
|
numlock_by_default = true;
|
|
# mouse input should be unchanged
|
|
natural_scroll = false;
|
|
touchpad = {
|
|
disable_while_typing = false;
|
|
natural_scroll = true;
|
|
};
|
|
};
|
|
|
|
gestures = {
|
|
workspace_swipe = true;
|
|
workspace_swipe_fingers = 4;
|
|
workspace_swipe_touch = true;
|
|
};
|
|
|
|
decoration = {
|
|
rounding = 5;
|
|
active_opacity = 0.95;
|
|
inactive_opacity = 0.9;
|
|
|
|
shadow = {
|
|
enabled = true;
|
|
range = 6;
|
|
render_power = 6;
|
|
color = "#000000";
|
|
};
|
|
|
|
blur = {
|
|
enabled = true;
|
|
size = 4;
|
|
passes = 2;
|
|
new_optimizations = on;
|
|
ignore_opacity = true;
|
|
};
|
|
};
|
|
|
|
monitor = [
|
|
"eDP-1, highres, 0x0, 1.5" # the internal laptop monitor
|
|
", preferred, auto, 1" # automatically add any newly detected monitor
|
|
];
|
|
};
|
|
|
|
plugins = [
|
|
# Touch gestures: https://github.com/horriblename/hyprgrass
|
|
# inputs.hyprgrass.packages.${pkgs.system}.default
|
|
# Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
|
|
# inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops
|
|
];
|
|
};
|
|
|
|
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
|
# the overlay makes this available as a home manager module
|
|
programs.hyprpanel = {
|
|
enable = true;
|
|
# autostart after hyprland
|
|
hyprland.enable = true;
|
|
overwrite.enable = true;
|
|
overlay.enable = true;
|
|
|
|
theme = "monochrome";
|
|
|
|
settings = {
|
|
bar = {
|
|
clock.format = "%H:%M";
|
|
clock.showIcon = false;
|
|
launcher.icon = "🚀";
|
|
launcher.autoDetectIcon = true;
|
|
workspaces.show_icons = true;
|
|
};
|
|
};
|
|
|
|
layout = {
|
|
"bar.layouts" = {
|
|
"*" = {
|
|
left = ["workspaces"];
|
|
middle = ["clock"];
|
|
right = ["volume" "systray" "nm-applet" "notifications" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
programs.walker = {
|
|
enable = true;
|
|
runAsService = true;
|
|
|
|
# All options from the config.json can be used here.
|
|
config = {
|
|
search.placeholder = "Search";
|
|
ui.fullscreen = true;
|
|
list = {
|
|
height = 200;
|
|
};
|
|
websearch.prefix = "?";
|
|
switcher.prefix = "/";
|
|
};
|
|
};
|
|
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
grace = 5;
|
|
no_fade_in = false;
|
|
disable_loading_bar = false;
|
|
};
|
|
};
|
|
# Style the lock screen
|
|
};
|
|
|
|
services.network-manager-applet = {
|
|
enable = true;
|
|
};
|
|
|
|
}
|