summaryrefslogtreecommitdiff
path: root/modules/packages/niri/hosts/vecna.nix
blob: de0b1cdfce98881eb31747e583e576c4a590dc42 (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
{
  self,
  inputs,
  ...
}: {
  flake.nixosModules.vecnaNiri = {
    pkgs,
    lib,
    config,
    ...
  }: {
    programs.niri = {
      enable = true;
      package = self.packages.${pkgs.stdenv.hostPlatform.system}.vecnaNiri;
    };

    xdg.portal = {
      enable = true;
      extraPortals = [pkgs.xdg-desktop-portal-gtk];
    };

    environment.systemPackages = [pkgs.wlr-randr];

    services.greetd = {
      enable = true;
      settings = {
        default_session = {
          command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --asterisks --cmd niri";
          user = "jck";
        };
      };
    };
  };

  perSystem = {
    pkgs,
    lib,
    config,
    self',
    ...
  }: {
    packages.vecnaNiri = inputs.wrapper-modules.wrappers.niri.wrap {
      inherit pkgs;
      imports = [
        (self.wrapperModules.niri {
          inherit pkgs;
          inherit lib;
          inherit config;
          noctalia-shell = self'.packages.vecna-noctalia-shell;
        })
        {
          config.settings.extraConfig = ''
            output "DP-3" {
              mode "2660x1440@170.07100"
              scale 1
            }
            output "HDMI-A-1" {
              mode "1920x1080@74.97300"
              scale 1
              position x=-1920 y=150
            }

            workspace "w0" {
              open-on-output "DP-3"
            }
            workspace "w1" {
              open-on-output "DP-3"
            }
            workspace "w2" {
              open-on-output "DP-3"
            }
            workspace "w3" {
              open-on-output "DP-3"
            }
            workspace "w4" {
              open-on-output "DP-3"
            }
            workspace "w5" {
              open-on-output "HDMI-A-1"
            }
            workspace "w6" {
              open-on-output "HDMI-A-1"
            }
            workspace "w7" {
              open-on-output "HDMI-A-1"
            }
            workspace "w8" {
              open-on-output "HDMI-A-1"
            }
            workspace "w9" {
              open-on-output "HDMI-A-1"
            }
          '';
        }
      ];
    };
  };
}