DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

3fbac3596d58b88575d9ab1dfc27523082659be1 — Jonni Liljamo a month ago bc38c31
feat: hyprland things again
3 files changed, 234 insertions(+), 21 deletions(-)

M hosts/alice/hyprland.nix
M hosts/arwen/hyprland.nix
M roles/hyprland.nix
M hosts/alice/hyprland.nix => hosts/alice/hyprland.nix +191 -1
@@ 3,6 3,29 @@

  hm = {
    wayland.windowManager.hyprland.settings = {
      exec-once = [
        "waybar"
      ];

      general = {
        border_size = 1;
        gaps_in = 6;
        gaps_out = 12;
      };

      decoration = {
        rounding = 8;
        drop_shadow = false;
        blur = {
          enabled = false;
        };
      };

      animations = {
        enabled = true;
        first_launch_animation = false;
      };

      monitor = [
        "DP-2,3840x2160@60,0x0,1"
        "DP-1,2560x1440@59,3840x0,1"


@@ 16,7 39,9 @@
        "4,monitor:DP-1"
        "5,monitor:DP-1"
        "6,monitor:DP-2,persistent:1"
        "7,monitor:HDMI-A-1,persistent:1"
        "7,monitor:DP-2,persistent:1"
        "8,monitor:HDMI-A-1,persistent:1"
        "9,monitor:HDMI-A-1,persistent:1"
      ];
    };



@@ 34,5 59,170 @@
        duration = "15m";
      };
    };

    programs.waybar = {
      settings = [
        {
          output = "DP-2";
          layer = "bottom";
          position = "bottom";
          height = 0;
          spacing = 8;
          margin = "0 12 12 12";

          modules-center = ["mpris"];
          modules-right = ["hyprland/workspaces"];

          mpris = {
            format = "{title} - {artist} - {album}";
          };

          "hyprland/workspaces" = {
            format = "";
            persistent-workspaces = {
              "DP-2" = [6 7];
            };
          };
        }
        {
          output = "DP-1";
          layer = "bottom";
          position = "bottom";
          height = 0;
          spacing = 8;
          margin = "0 12 12 12";

          modules-left = ["hyprland/window"];
          modules-center = ["hyprland/workspaces"];
          modules-right = ["hyprland/language" "clock" "tray"];

          "hyprland/workspaces" = {
            format = "";
            persistent-workspaces = {
              "DP-1" = [1 2 3 4 5];
            };
          };

          "hyprland/language" = {
            format-en = "US";
            format-fi = "FI";
            format-no = "NO";
          };

          clock = {
            format = "{:%H:%M}";
            format-alt = "{:%A, %B %d, %Y (%R)}";
          };
        }
        {
          output = "HDMI-A-1";
          layer = "bottom";
          position = "top";
          height = 0;
          spacing = 8;
          margin = "12 12 0 12";

          modules-left = ["hyprland/workspaces"];
          modules-right = ["cpu" "memory" "disk"];

          "hyprland/workspaces" = {
            format = "";
            persistent-workspaces = {
              "HDMI-A-1" = [8 9];
            };
          };

          cpu = {
            format = " {usage}%";
          };
          memory = {
            format = " {used}/{total}GiB";
          };
          disk = {
            format = " {used}/{total}";
          };
        }
      ];
      style = ''
        @define-color text #444444;

        /* https://www.color-hex.com/color-palette/45494 */
        @define-color white0 #ffffff;
        @define-color white1 #f6f6f6;
        @define-color white2 #ececec;
        @define-color white3 #e1e1e1;
        @define-color white4 #d0d0d0;

        /* https://www.color-hex.com/color-palette/5361 */
        @define-color red #ffb3ba;
        @define-color orange #ffdfba;
        @define-color yellow #ffffba;
        @define-color green #baffc9;
        @define-color blue #bae1ff;

        * {
          font-family: VictorMono Nerd Font;
          border: none;
          border-radius: 10px;
        }

        window#waybar {
          background: transparent;
          color: @text;
          font-size: 14px;
          font-weight: 900;
        }

        #clock,
        #cpu,
        #disk,
        #language,
        #memory,
        #mpris,
        #tray,
        #window,
        #workspaces {
          background: @white0;
          padding: 0 6px;
        }

        #mpris.paused {
          color: @orange;
        }

        #window {
          font-weight: 700;
          font-style: italic;
        }

        #workspaces button {
          background: @white4;
          font-size: 0px;
          min-height: 10px;
          min-width: 10px;
          padding: 0px;
          margin: 10px;
          transition: all 200ms linear;
        }

        #workspaces button.empty {
          background: @white2;
        }

        #workspaces button.visible {
          background: @blue;
          padding: 0 6px;
        }

        #workspaces button.active {
          background: @green;
          padding: 0 6px;
        }

        #workspaces button.urgent {
          background: @red;
        }
      '';
    };
  };
}

M hosts/arwen/hyprland.nix => hosts/arwen/hyprland.nix +19 -0
@@ 3,6 3,25 @@

  hm = {
    wayland.windowManager.hyprland.settings = {
      general = {
        border_size = 1;
        gaps_in = 2;
        gaps_out = 2;
      };

      decoration = {
        rounding = false;
        drop_shadow = false;
        blur = {
          enabled = false;
        };
      };

      animations = {
        enabled = false;
        first_launch_animation = false;
      };

      monitor = [
        "eDP-1,1920x1080@60,0x0,1"
      ];

M roles/hyprland.nix => roles/hyprland.nix +24 -20
@@ 11,7 11,11 @@ in {
  };

  config = lib.mkIf cfg.enable {
    environment.systemPackages = [pkgs.bemenu];
    environment.systemPackages = [
      pkgs.bemenu

      pkgs.playerctl
    ];

    programs.hyprland.enable = true;



@@ 26,25 30,6 @@ in {
            "wpaperd -d"
          ];

          general = {
            border_size = 1;
            gaps_in = 2;
            gaps_out = 2;
          };

          decoration = {
            rounding = false;
            drop_shadow = false;
            blur = {
              enabled = false;
            };
          };

          animations = {
            enabled = false;
            first_launch_animation = false;
          };

          input = {
            kb_layout = "us,fi,no";
            kb_options = "grp:win_space_toggle,ctrl:nocaps";


@@ 91,6 76,8 @@ in {
            "$mod, 5, workspace, 5"
            "$mod, 6, workspace, 6"
            "$mod, 7, workspace, 7"
            "$mod, 8, workspace, 8"
            "$mod, 9, workspace, 9"
            "$mod SHIFT, 1, movetoworkspace, 1"
            "$mod SHIFT, 2, movetoworkspace, 2"
            "$mod SHIFT, 3, movetoworkspace, 3"


@@ 98,6 85,8 @@ in {
            "$mod SHIFT, 5, movetoworkspace, 5"
            "$mod SHIFT, 6, movetoworkspace, 6"
            "$mod SHIFT, 7, movetoworkspace, 7"
            "$mod SHIFT, 8, movetoworkspace, 8"
            "$mod SHIFT, 9, movetoworkspace, 9"
          ];
          binde = [
            "$mod CTRL, h, resizeactive, -10 0"


@@ 149,6 138,21 @@ in {
      };

      programs.wpaperd.enable = true;

      services.mako = {
        enable = true;
        maxVisible = 5;
        defaultTimeout = 5000;
        backgroundColor = "#7298bf";
        textColor = "#e0c296";
        borderColor = "#ffffff";
        borderSize = 2;
      };

      programs.waybar = {
        enable = true;
        systemd.enable = false;
      };
    };
  };
}