aboutsummaryrefslogtreecommitdiff
path: root/home/rices/schrottkatze/niri.nix
blob: 32e145fd7c51abf13b779796edb24f537ef01124 (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
# this file must only be saved via autosave due to the formatter.
# else it will be ugly
{
  pkgs,
  lib,
  ...
}: {
  home.packages = with pkgs; [
    zenity
    xwayland-satellite
    swaybg
  ];

  xdg.configFile."niri/live.kdl".text = "";

  home.file."config" = let
    kdlfiles =
      lib.mapAttrsToList
      (filename: _value: "include \"${./niri/kdl}/${filename}\"")
      (lib.filterAttrs (key: value: value == "regular") (builtins.readDir ./niri/kdl));
    startups =
      map (it: "spawn-at-startup ${it}")
      (map (lib.concatStringsSep " ")
        (map (map (word: "\"${word}\""))
          [
            ["eww" "open-many" "topBar" "bottomBar"]
            ["sh" "-c" "sleep 1 && swaybg -o eDP-1 -i ${../../../assets/wallpapers/insert_coin.jpeg} -m fill"]
            ["touch" ".config/niri/live.kdl"]
          ]));
    other = [
      "include \"live.kdl\""
      "output \"eDP-1\" { scale 1.1; }"
      "animations { window-open { duration-ms 3000; curve \"linear\"; custom-shader r\"\n${builtins.readFile ./niri/shaders/arc.frag}\";};}"
      "binds {Mod+Shift+I { spawn \"${./niri/scripts/cpdate.sh}\"; }; }"
    ];
  in {
    target = ".config/niri/config.kdl";
    text = lib.concatLines (startups ++ kdlfiles ++ other);
  };
}