summaryrefslogtreecommitdiff
path: root/profiles/laptop.nix
blob: 8660cc02a1bf49f3586cf3e09c1ffab5d3a90bb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# helium laptop
{ pkgs, lib, ... }:

{
  imports = [
    ../lib/common.nix
    ../lib/linux.nix
    ../lib/emacs.nix
    ../lib/ssh.nix
    ../lib/packages.nix
  ];

  home = {
    packages = [
      pkgs.wmctrl
      pkgs.zulip
    ];
  };

  programs.autorandr.enable = true;

  programs.autorandr.hooks.postswitch = {
    "restart-polybar" = "systemctl --user restart polybar.service";
  };

  programs.autorandr.profiles = let
    fingerprint = {
      # get fingerprints with `autorandr --fingerprint`
      eDP-1 = "00ffffffffffff000daea814000000002c170104951f11780237459e55539229125054000000010101010101010101010101010101015e358096703814402c1c240034ad10000018000000fe004e3134304847452d4541310a20000000fe00434d4e0a202020202020202020000000fe004e3134304847452d4541310a20001f";
      HDMI-2 = "00ffffffffffff0006b3ba28c0f40300151f0103803e22782ab4a5ad4f449e250f50542308008140818081c081009500b300d1c001014dd000a0f0703e80303035006d552100001a565e00a0a0a02950302035006d552100001e000000fd00283c1ea03c000a202020202020000000fc00415355532056473238390a20200159020359f159010304121305141f100706025d5e5f60610e0f15161d1e20482309070783010000e200d56d030c001000383c20006001020367d85dc401788003681a00000101283ee6e305c301e50f00800100e6060701565500023a801871382d40582c45006d552100001e000000000000000000000000000000000000000073";
    };

    externalMonitor = rotate: {
      enable = true;
      primary = true;
      position = "0x0";
      mode = "3840x2160";
      dpi = 331;
      rate = "30.00";
      inherit rotate;
    };

    laptopScreen = {
      enable = true;
      primary = true;
      position = "0x0";
      mode = "1920x1080";
      rate = "60.00";
      dpi = 166;
    };

  in {
    docked-portrait = {
      fingerprint = { inherit (fingerprint) HDMI-2; };
      config = {
        eDP-1.enable = false;
        HDMI-2 = externalMonitor "right";
      };
    };
    docked-laptop = {
      inherit fingerprint;
      config = {
        eDP-1 = laptopScreen;
        HDMI-2 = externalMonitor "right";
      };
    };
    laptop = {
      fingerprint = { inherit (fingerprint) eDP-1; };
      config = {
        HDMI-2.enable = false;
        eDP-1 = laptopScreen;
      };
    };
  };

  services.betterlockscreen.enable = true;

  services.picom = {
    enable = true;
    backend = "glx";
    vSync = true;

    # Transparency/Opacity
    inactiveOpacity = 0.70;
    activeOpacity = 0.95;
    opacityRules = [
      "100:class_g   *?= 'Firefox'"
      "100:class_g   *?= 'Deadd-notification-center'"
      "100:class_g   *?= 'Rofi'"
    ];

    # Fading
    fade = true;
    fadeDelta = 5;

    # Shadows
    shadowExclude = [
      "class_g = 'eww-topbar-btw'"
    ];

    settings = {
      # Blur
      blur-method = "dual_kawase";
      blur-strength = 8;
      blur-backgroud-exclude = [
        "class_g = 'eww-topbar-btw'"
      ];

      # Radius
      corner-radius = 10;
      round-borders = 1;
      rounded-corners-exclude = [
        "class_g = 'Custom-taffybar'"
      ];
    };
  };
}