aboutsummaryrefslogtreecommitdiff
path: root/home-manager/hyprland/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/hyprland/default.nix')
-rw-r--r--home-manager/hyprland/default.nix148
1 files changed, 148 insertions, 0 deletions
diff --git a/home-manager/hyprland/default.nix b/home-manager/hyprland/default.nix
new file mode 100644
index 0000000..9355113
--- /dev/null
+++ b/home-manager/hyprland/default.nix
@@ -0,0 +1,148 @@
+{
+ pkgs,
+ lib,
+ inputs,
+ ...
+}:
+{
+ imports = [
+ ../rofi
+ ../kitty
+ ../waybar
+ ../hyprpaper
+ ];
+
+ home.file.".config/hypr/hyprlock.conf".source = ./hyprlock.conf;
+
+ wayland.windowManager.hyprland= {
+ enable = true;
+ xwayland.enable = true;
+ systemd.variables = ["--all"];
+ settings = {
+ "$mod" = "SUPER";
+ exec-once = [
+ "waybar"
+ "xss-lock --transfer-sleep-lock -- hyprlock"
+ "nm-applet"
+ "hyprpaper"
+ ];
+ bind =
+ [
+ "$mod, C, exec, firefox"
+ ", Print, exec, grimblast copy area"
+ "$mod, D, exec, rofi -i -show drun -disable-history"
+ "$mod Shift, E, exit"
+ "$mod, Return, exec, kitty"
+ "$mod, T, togglesplit"
+ "$mod Control, left, workspace, m-1"
+ "$mod Control, h, workspace, m-1"
+ "$mod Control, right, workspace, m+1"
+ "$mod Control, l, workspace, m+1"
+ "$mod, x, exec, hyprlock"
+ "$mod Shift, x, exec, hyprlock"
+ "$mod Shift, x, exec, systemctl suspend"
+ "$mod Shift, MINUS, exec, emacsclient -c"
+ "ALT, Tab, focusmonitor, +1"
+ "$mod, G, exec, bash /home/boss/bin/rofi-passmenu"
+ ", XF86AudioRaiseVolume, exec, pamixer -i 5"
+ ", XF86AudioLowerVolume, exec, pamixer -d 5"
+ "$mod Shift, Q, killactive"
+ "$mod, F, fullscreen"
+ "$mod Shift, space, togglefloating"
+ "$mod, mouse:272, movewindow"
+ ", XF86AudioPlay, exec, playerctl play-pause"
+ "$mod, bracketleft, exec, playerctl -p firefox play-pause"
+ "$mod, bracketright, exec, playerctl -p spotify play-pause"
+ "$mod Shift, S, exec spectacle -r"
+ ]
+ ++ (
+ # workspaces
+ # binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
+ builtins.concatLists (builtins.genList (
+ x: let
+ key = let
+ c = (x + 1) / 10;
+ in toString (x + 1 - (c * 10));
+ in [
+ "$mod, ${key}, workspace, ${toString (x + 1)}"
+ "$mod SHIFT, ${key}, movetoworkspace, ${toString (x + 1)}"
+ (lib.mkIf (x < 5)
+ "$mod Control, ${key}, workspace, ${toString (x + 6)}"
+ )
+ "$mod Control, ${key}, workspace, ${toString (x + 1)}"
+ ]
+ )
+ 10)
+ )
+ ++ (
+ builtins.map (
+ x: "$mod, ${ builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}"
+ )
+ [
+ ["h" "l"]
+ ["left" "l"]
+ ["j" "d"]
+ ["down" "d"]
+ ["k" "u"]
+ ["up" "u"]
+ ["l" "r"]
+ ["right" "r"]
+ ]
+ );
+ monitor =
+ [
+ "eDP-1, highrr, 0x0, 1"
+ "HDMI-A-1, highrr, 1920x0, 1"
+ ];
+ workspace =
+ (builtins.genList
+ (x : "${toString (x + 1)},monitor:eDP-1")
+ 5
+ )
+ ++ (builtins.genList
+ (x : "${toString (x + 6)},monitor:HDMI-A-1")
+ 5
+ );
+
+
+ input = {
+ touchpad.natural_scroll = true;
+ #touchpad.scroll_factor = 0.5;
+ accel_profile = "flat";
+ follow_mouse = true;
+ #sensitivity = 0.00;
+ };
+ decoration = {
+ rounding = 10;
+ drop_shadow = false;
+ };
+ animation = [
+ "workspaces,1,5,easeOutQuint,slide"
+ ];
+ bezier = [
+ "easeInOutCubic,0.65,0,0.35,1"
+ "easeOutQuint,0.22,1,0.36,1"
+ ];
+ general = {
+ "col.inactive_border" = "rgb(2f2e43)";
+ "col.active_border" = "rgb(ab47bc)";
+ border_size = 2;
+ gaps_in = 6;
+ gaps_out = 12;
+ };
+ windowrulev2 = [
+ "opacity 0.8 override 0.8 override, title:Spotify$"
+ ];
+ };
+ };
+
+ home.packages = with pkgs; [
+ ydotool
+ xss-lock
+ pamixer
+ grimblast
+ playerctl
+ libsForQt5.spectacle
+ inputs.hyprlock.packages.${system}.hyprlock
+ ];
+}