summaryrefslogtreecommitdiff
path: root/pkgs/lockscreen/default.nix
blob: 2b6bbdc9cdca8b702f0e47fb62b1c0460aa99ab8 (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
{
  runCommand,
  imagemagick,
  i3lock-color,
  lib,
  backgroundImage ? null,
  resolution ? "1920x1080",
}:
let
  useBackgroundImage = backgroundImage != null;
in
runCommand "lockscreen" { envVariable = true; } (
  ''
    mkdir -p $out/{bin,share}
  ''
  + (lib.optionalString useBackgroundImage ''
    ${imagemagick}/bin/convert ${backgroundImage} -resize ${resolution} -blur 0x5 RGB:$out/share/lockscreen.png
  '')
  + ''
     echo > $out/bin/lockscreen.sh \
    "export PATH=$PATH
     ${i3lock-color}/bin/i3lock-color \\
  ''
  + (lib.optionalString useBackgroundImage ''
    --raw ${resolution}:rgb \\
    --image $out/share/lockscreen.png \\
    --tiling \\
  '')
  + ''
    --no-unlock-indicator \\
    --composite \\
    --clock \\
    --ignore-empty-password \\
    --time-color=FFFFFFFF \\
    --date-color=00000000 \\
    --time-size=100"
  ''
  + (lib.optionalString useBackgroundImage ''
    chmod 444 $out/share/lockscreen.png
  '')
  + ''
    chmod 555 $out/bin/lockscreen.sh
    chmod 555 $out/{bin,share}
  ''
)