Add tray indicator for email, upgrade to latest nixpkgs
This commit is contained in:
parent
098cc3287c
commit
b1c27d9541
5 changed files with 98 additions and 28 deletions
|
@ -97,7 +97,7 @@ in {
|
||||||
# Mainly to access SMB shares on local network
|
# Mainly to access SMB shares on local network
|
||||||
services.gvfs = {
|
services.gvfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
package = lib.mkForce pkgs.gnome.gvfs;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
|
@ -160,8 +160,9 @@ in {
|
||||||
gthumb
|
gthumb
|
||||||
unzip
|
unzip
|
||||||
somafm-cli
|
somafm-cli
|
||||||
yubikey-manager
|
# these packages have some problem with installation now
|
||||||
yubikey-manager-qt
|
#yubikey-manager
|
||||||
|
#yubikey-manager-qt
|
||||||
ripgrep
|
ripgrep
|
||||||
file
|
file
|
||||||
zoom-us
|
zoom-us
|
||||||
|
@ -172,7 +173,6 @@ in {
|
||||||
mullvad-vpn
|
mullvad-vpn
|
||||||
mullvad
|
mullvad
|
||||||
usbutils
|
usbutils
|
||||||
wf-recorder
|
|
||||||
xournalpp
|
xournalpp
|
||||||
dnsutils
|
dnsutils
|
||||||
graphviz
|
graphviz
|
||||||
|
@ -190,6 +190,7 @@ in {
|
||||||
solc
|
solc
|
||||||
kdenlive
|
kdenlive
|
||||||
kooha # screen capture
|
kooha # screen capture
|
||||||
|
inotify-tools
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
# mainly needed for npm which decided to play hardball
|
# mainly needed for npm which decided to play hardball
|
||||||
|
@ -217,6 +218,8 @@ in {
|
||||||
nodejs
|
nodejs
|
||||||
|
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
|
||||||
|
qpwgraph
|
||||||
];
|
];
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
@ -721,8 +724,14 @@ in {
|
||||||
height = 24;
|
height = 24;
|
||||||
modules-left = [ "sway/workspaces" "sway/mode" ];
|
modules-left = [ "sway/workspaces" "sway/mode" ];
|
||||||
modules-center = [ "sway/window" ];
|
modules-center = [ "sway/window" ];
|
||||||
modules-right = [ "idle_inhibitor" "battery" "clock" "tray" ];
|
modules-right = [ "custom/maildir" "idle_inhibitor" "battery" "clock" "tray" ];
|
||||||
clock.format = "{:%Y-%m-%d %H:%M}";
|
clock.format = "{:%Y-%m-%d %H:%M}";
|
||||||
|
"custom/maildir" = {
|
||||||
|
exec = "${./waybar_maildir.sh} /home/knazarov/Maildir/personal/Inbox/new knazarov";
|
||||||
|
format = " {} ";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
|
||||||
battery = {
|
battery = {
|
||||||
states = {
|
states = {
|
||||||
# good = 95;
|
# good = 95;
|
||||||
|
|
4
emacs.el
4
emacs.el
|
@ -222,6 +222,7 @@
|
||||||
|
|
||||||
(set-face-attribute 'mode-line nil :box nil)
|
(set-face-attribute 'mode-line nil :box nil)
|
||||||
(set-face-attribute 'mode-line-inactive nil :box nil)
|
(set-face-attribute 'mode-line-inactive nil :box nil)
|
||||||
|
(setq mode-line-end-spaces nil)
|
||||||
|
|
||||||
;; -------- Font --------
|
;; -------- Font --------
|
||||||
|
|
||||||
|
@ -273,6 +274,7 @@ Intended for `after-make-frame-functions'."
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer 2
|
:defer 2
|
||||||
|
:diminish which-key-mode
|
||||||
:config
|
:config
|
||||||
(which-key-mode)
|
(which-key-mode)
|
||||||
(which-key-setup-side-window-bottom)
|
(which-key-setup-side-window-bottom)
|
||||||
|
@ -376,6 +378,7 @@ Intended for `after-make-frame-functions'."
|
||||||
(evil-set-undo-system 'undo-redo)
|
(evil-set-undo-system 'undo-redo)
|
||||||
|
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>f") 'find-file)
|
(evil-define-key 'normal 'global (kbd "<leader>f") 'find-file)
|
||||||
|
(evil-define-key 'normal 'global (kbd "<leader>d") 'dired-jump)
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>b") 'switch-to-buffer)
|
(evil-define-key 'normal 'global (kbd "<leader>b") 'switch-to-buffer)
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>r") 'consult-ripgrep)
|
(evil-define-key 'normal 'global (kbd "<leader>r") 'consult-ripgrep)
|
||||||
|
|
||||||
|
@ -562,6 +565,7 @@ Intended for `after-make-frame-functions'."
|
||||||
:ensure t
|
:ensure t
|
||||||
:config
|
:config
|
||||||
(global-org-modern-mode)
|
(global-org-modern-mode)
|
||||||
|
(setq org-modern-star 'replace)
|
||||||
)
|
)
|
||||||
|
|
||||||
(setq org-modules '(org-w3m org-bbdb org-bibtex org-docview
|
(setq org-modules '(org-w3m org-bbdb org-bibtex org-docview
|
||||||
|
|
46
flake.lock
46
flake.lock
|
@ -11,11 +11,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725815541,
|
"lastModified": 1730478096,
|
||||||
"narHash": "sha256-wcuqVnH4Y5UY25MX5Vc9HwBKLlD+wDjQjcqmTuBjx/w=",
|
"narHash": "sha256-nTH9eT3FDq2BkB+RccSq2UHMWLHbeM6LZX+enhQXvdw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "618b2f8393cc31d275d5373febf017dc38a0f72f",
|
"rev": "79547cb5e8968bd1540f01609c1273fe5fb9b53e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -29,11 +29,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1726560853,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -69,11 +69,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725781935,
|
"lastModified": 1730490306,
|
||||||
"narHash": "sha256-o6LRtdpgBTzev9n243Ktu3rn0/qsv0frFyJwU6vJsdE=",
|
"narHash": "sha256-AvCVDswOUM9D368HxYD25RsSKp+5o0L0/JHADjLoD38=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ec4c6928bbacc89cf10e9c959a7a47cbaad95344",
|
"rev": "1743615b61c7285976f85b303a36cdf88a556503",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -89,11 +89,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730155921,
|
"lastModified": 1730504112,
|
||||||
"narHash": "sha256-ZF/zP5CKPh4phvae7TUkd45iBvMomrhwwMfw6NOWHpA=",
|
"narHash": "sha256-ruhlb3H98jYnOwxuMbjBFk1SGvHgzS1kbSLV7o6/ZK0=",
|
||||||
"owner": "~knazarov",
|
"owner": "~knazarov",
|
||||||
"repo": "knazarov.com",
|
"repo": "knazarov.com",
|
||||||
"rev": "8eb740e7e36132fca7e29b14daad038155a7b3d3",
|
"rev": "340914d6f4416fc2c969c30f67060cb5d1d5cbeb",
|
||||||
"type": "sourcehut"
|
"type": "sourcehut"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -104,11 +104,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725833752,
|
"lastModified": 1730501559,
|
||||||
"narHash": "sha256-RjUtPX46yGjn90wMDtOjZGW+SF1RAbU6b06wWYxibXo=",
|
"narHash": "sha256-htEfkJAMAD9eWH4jiPZBMS12W4OEukRsXOsdFSjITko=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "75e28367ac76ff2fa13608fddfc34484e3a7ace3",
|
"rev": "d0cea61ff94eeb08a8bf09c9cfde6a3529e30370",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -119,11 +119,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725693463,
|
"lastModified": 1730327045,
|
||||||
"narHash": "sha256-ZPzhebbWBOr0zRWW10FfqfbJlan3G96/h3uqhiFqmwg=",
|
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "68e7dce0a6532e876980764167ad158174402c6f",
|
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -160,11 +160,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724107934,
|
"lastModified": 1725843843,
|
||||||
"narHash": "sha256-huE0MjfQeufYqHD/3DjytnaIPexQoHXVYnZKZetetk0=",
|
"narHash": "sha256-huE0MjfQeufYqHD/3DjytnaIPexQoHXVYnZKZetetk0=",
|
||||||
"owner": "~knazarov",
|
"owner": "~knazarov",
|
||||||
"repo": "q.sh",
|
"repo": "q.sh",
|
||||||
"rev": "ec5583ef44f6f7678a99fc084ca5f1aca4183b15",
|
"rev": "e1b69b417b92e915fdb0d82326e2e9b0368fc59e",
|
||||||
"type": "sourcehut"
|
"type": "sourcehut"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -197,11 +197,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725765163,
|
"lastModified": 1729999681,
|
||||||
"narHash": "sha256-rfd2c47iVSFI6bRYy5l8wRijRBaYDeU7dM8XCDUGqlA=",
|
"narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "b68757cd2c3fa66d6ccaa0d046ce42a9324e0070",
|
"rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -5,6 +5,7 @@ if [ "$1" = "mira" ]; then
|
||||||
elif [ "$1" = "framework" ]; then
|
elif [ "$1" = "framework" ]; then
|
||||||
NIX_SSHOPTS="-t" nixos-rebuild switch --target-host framework --use-remote-sudo --flake `pwd`#framework
|
NIX_SSHOPTS="-t" nixos-rebuild switch --target-host framework --use-remote-sudo --flake `pwd`#framework
|
||||||
elif [ "$1" = "knazarovcom" ]; then
|
elif [ "$1" = "knazarovcom" ]; then
|
||||||
|
nix flake lock --update-input knazarovcom
|
||||||
nixos-rebuild switch --target-host knazarov.com --use-remote-sudo --flake `pwd`#knazarovcom
|
nixos-rebuild switch --target-host knazarov.com --use-remote-sudo --flake `pwd`#knazarovcom
|
||||||
elif [ "$1" = "videos" ]; then
|
elif [ "$1" = "videos" ]; then
|
||||||
nixos-rebuild switch --target-host 107.189.7.30 --use-remote-sudo --flake `pwd`#videos
|
nixos-rebuild switch --target-host 107.189.7.30 --use-remote-sudo --flake `pwd`#videos
|
||||||
|
|
56
waybar_maildir.sh
Executable file
56
waybar_maildir.sh
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# waybar-maildir.sh - count messages in a maildr (or other) directory
|
||||||
|
#
|
||||||
|
# USAGE: waybar-maildir.sh DIRECTORY ACCOUNT_NAME [nonotify]
|
||||||
|
# "nonotify" is used to prevent multiple identical notification when this script is used in multi-monitor setups
|
||||||
|
#
|
||||||
|
# REQUIREMENTS: inotifywait
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
### Example (partial) ~/.config/waybar/config
|
||||||
|
#
|
||||||
|
# "custom/maildir": {
|
||||||
|
# "exec": "~/.config/waybar/waybar-maildir.sh ~/.maildir/INBOX/new mailaccountname",
|
||||||
|
# "format": " {}",
|
||||||
|
# "return-type": "json"
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
### Example (partial) ~/.config/waybar/syles.css
|
||||||
|
#
|
||||||
|
# #custom-maildir {
|
||||||
|
# background-color: #875f00
|
||||||
|
# }
|
||||||
|
|
||||||
|
# mail_dir is the directory we are watching and within which, we are counting contents
|
||||||
|
# account_name can be used in notify_command as a label for the mail account being watched
|
||||||
|
|
||||||
|
mail_dir="${1}"
|
||||||
|
account_name="${2}"
|
||||||
|
|
||||||
|
old_count=0
|
||||||
|
|
||||||
|
while [[ -n "$(pgrep waybar)" ]]; do
|
||||||
|
if [[ ! -d "${mail_dir}" ]]; then
|
||||||
|
printf -- '{"text":"?"}\n'
|
||||||
|
sleep 60
|
||||||
|
fi
|
||||||
|
|
||||||
|
count="$(ls "${mail_dir}" | wc -l)"
|
||||||
|
|
||||||
|
if [[ "${count}" > 0 ]]; then
|
||||||
|
printf -- '{"text":"%s","class":"newmail","tooltip":"%s"}\n' "${count}" "${account_name}"
|
||||||
|
else
|
||||||
|
printf -- '{"text":"-","tooltip":"%s"}\n' "${account_name}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
old_count="${count}"
|
||||||
|
|
||||||
|
# 60-second timeout keeps this from becoming a zombified process when waybar is no longer running
|
||||||
|
inotifywait -t 60 -qq -e 'create,delete,move' "${mail_dir}"
|
||||||
|
sleep 1 # Allow directory to settle after new messages
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
unset -v account_name count latest_file mail_dir nonotify notify_command old_count subject
|
Loading…
Reference in a new issue