Compare commits
2 commits
b403ee295b
...
747f5d3e69
| Author | SHA1 | Date | |
|---|---|---|---|
| 747f5d3e69 | |||
| 69283dfea5 |
4 changed files with 47 additions and 18 deletions
24
nixos/flake.lock
generated
24
nixos/flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766553861,
|
||||
"narHash": "sha256-ZbnG01yA3O8Yr1vUm3+NQ2qk9iRhS5bloAnuXHHy7+c=",
|
||||
"lastModified": 1770260404,
|
||||
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0999ed8f965bbbd991437ad9c5ed3434cecbc30e",
|
||||
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -62,11 +62,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1766473571,
|
||||
"narHash": "sha256-5G1NDO2PulBx1RoaA6U1YoUDX0qZslpPxv+n5GX6Qto=",
|
||||
"lastModified": 1770136044,
|
||||
"narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "76701a179d3a98b07653e2b0409847499b2a07d3",
|
||||
"rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -77,11 +77,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1766651565,
|
||||
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||
"lastModified": 1770197578,
|
||||
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
|
||||
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -173,11 +173,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766289575,
|
||||
"narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=",
|
||||
"lastModified": 1770145881,
|
||||
"narHash": "sha256-ktjWTq+D5MTXQcL9N6cDZXUf9kX8JBLLBLT0ZyOTSYY=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "9836912e37aef546029e48c8749834735a6b9dad",
|
||||
"rev": "17eea6f3816ba6568b8c81db8a4e6ca438b30b7c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
let
|
||||
cfg = config.sisyphus.services.remEYEnder;
|
||||
|
||||
icon = ./vecteezy_eyes-line-icon-vector-isolated_13932670.jpg;
|
||||
in {
|
||||
options.sisyphus.services.remEYEnder.enable = lib.mkEnableOption "Eye reminder";
|
||||
|
||||
|
|
@ -13,10 +11,10 @@ in {
|
|||
enable = true;
|
||||
description = "Send an eye reminder";
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
# Display reminder for 20 seconds.
|
||||
${pkgs.libnotify}/bin/notify-send -t 20000 --icon=${icon} "RemEYEnder" "Look away from your screen :)"
|
||||
'';
|
||||
script = builtins.readFile ./remEYEnder.sh;
|
||||
path = with pkgs; [
|
||||
libnotify
|
||||
];
|
||||
};
|
||||
timers.remEYEnder = {
|
||||
enable = true;
|
||||
|
|
|
|||
1
nixos/modules/services/remEYEnder/remEYEnder.sh
Symbolic link
1
nixos/modules/services/remEYEnder/remEYEnder.sh
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../../../scripts/remEYEnder.sh
|
||||
30
scripts/remEYEnder.sh
Normal file
30
scripts/remEYEnder.sh
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
DURATION=20 # How long it takes to progress the bar fully
|
||||
STEPS=100 # In how many steps to progress (> 0)
|
||||
|
||||
# Trick to fake decimals
|
||||
EXP=3
|
||||
interval_ms="$(( "${DURATION}" * ( 10 ** "${EXP}" ) / "${STEPS}" ))"
|
||||
padded_interval_ms="$(printf "%0${EXP}d" "${interval_ms}")"
|
||||
interval_s="${padded_interval_ms:0:-${EXP}}.${padded_interval_ms:-${EXP}}"
|
||||
|
||||
end_time="$(( "$( date '+%s' )" + "${DURATION}" + 1 ))"
|
||||
|
||||
# notify-send args
|
||||
replace_id="${end_time}"
|
||||
expire_time="$(( "${interval_ms}" + 1 ))" # To avoid flickering
|
||||
|
||||
counter=0
|
||||
while [[ "${end_time}" -gt "$( date '+%s' )" ]]; do
|
||||
# Remap to [0, 100]
|
||||
remaining_part="$(( ("${STEPS}" - "${counter}") * 100 / "${STEPS}" ))"
|
||||
|
||||
notify-send \
|
||||
'Look away from your screen :)' 'RemEYEnder' \
|
||||
--hint="int:value:${remaining_part}" \
|
||||
--category='sysinfo' \
|
||||
--replace-id="${replace_id}" \
|
||||
--expire-time="${expire_time}"
|
||||
|
||||
counter="$(( "${counter}" + 1 ))"
|
||||
sleep "${interval_s}"
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue