Compare commits

...

8 Commits

Author SHA1 Message Date
c5c4eb2f1e Merge pull request 'resurrect' (#8) from resurrect into master
All checks were successful
Test templates, puts into cache / nix (nix-runner) (push) Successful in 5m13s
Bump flake.lock / build (push) Successful in 7m30s
Reviewed-on: #8
2025-09-16 17:23:51 +00:00
3810d4a0fc Merge branch 'master' into resurrect
All checks were successful
Test templates, puts into cache / nix (nix-runner) (push) Successful in 15m20s
2025-09-16 12:01:18 -05:00
a0f7c1be69 adding resurrect
Some checks failed
Test templates, puts into cache / nix (nix-runner) (push) Failing after 20m49s
2025-09-10 10:47:35 -05:00
71e62552e5 tmux config move 2025-09-10 10:01:48 -05:00
542cba92cb fmt sh scripts
All checks were successful
Test templates, puts into cache / nix (nix-runner) (push) Successful in 6m42s
2025-09-09 12:58:10 -05:00
f5991b9df0 uair setup 1
Some checks are pending
Test templates, puts into cache / nix (nix-runner) (push) Has started running
2025-09-09 12:20:26 -05:00
9278c2d467 uair 2025-09-09 11:20:24 -05:00
5cf01c8df1 uair add config 2025-09-09 10:12:04 -05:00
5 changed files with 105 additions and 34 deletions

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Notify with tmux?
message="Break done"
echo "sth"
echo "$message"
tmux display-popup -T "uair" "echo -e \"$message\""

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Notify with tmux?
message="
$1
exit with ctrl-C, resume next with uairctl
"
echo "sth"
echo "$message"
tmux display-popup -T "uair" "echo -e \"$message\""

View File

@@ -0,0 +1,19 @@
loop_on_end = true
[defaults]
format = "🍅 {name} {state}: {time}\n"
paused_state_text = "paused"
resumed_state_text = "playing"
[[sessions]]
id = "work"
name = "Work"
duration = "10m"
command = '~/.config/uair/scripts/notify.sh "Work Done!"'
[[sessions]]
id = "rest"
name = "Rest"
duration = "2m"
command = "~/.config/uair/scripts/break.sh"

View File

@@ -49,6 +49,7 @@ in
pkgs.ydiff
pkgs.xsel
pkgs.delta
pkgs.uair
pkgs-unstable.claude-code
# default_python
@@ -100,6 +101,7 @@ in
programs.direnv.nix-direnv.enable = true;
xdg.enable = true;
xdg.configFile."uair".source = ./config/uair;
services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI {
enable = true;
@@ -254,40 +256,10 @@ in
'';
};
programs.tmux = {
enable = true;
package = pkgs-unstable.tmux;
historyLimit = 100000;
clock24 = true;
keyMode = "vi";
mouse = true;
prefix = "M-,";
plugins = [
pkgs.tmuxPlugins.vim-tmux-navigator
pkgs.tmuxPlugins.better-mouse-mode
pkgs.tmuxPlugins.sensible
pkgs.tmuxPlugins.power-theme
];
extraConfig = ''
set-option -g status-position top
unbind '"'
unbind %
set -s copy-command 'xsel -bi'
bind -N "Change layout" -T prefix % next-layout
bind -N "Horizontal split" -T prefix | split-window -h -c '#{pane_current_path}'
bind -N "Horizontal split" -T prefix \\ split-window -h -c '#{pane_current_path}'
bind -N "Vertical split" -T prefix - split-window -v -c '#{pane_current_path}'
bind -N "Create a new window" -T prefix c new-window -c '#{pane_current_path}'
bind -N "Quick pane for obsidian todos" -T prefix . split-window -c $DPK_OBSIDIAN_DIR -h "vim todos.md"
bind -N "Enter copy mode" -T prefix Space copy-mode
bind -N "Load buffer from xsel and paste" -T prefix C-p run "xsel -ob | tmux load-buffer - ; tmux paste-buffer"
set -g escape-time 1
bind -N "Leave copy mode" -T copy-mode-vi Escape send-keys -X cancel
bind -N "Leave copy mode" -T copy-mode-vi y send -X copy-pipe
bind -N "Selection toggle" -T copy-mode-vi Space if -F "#{selection_present}" { send -X clear-selection } { send -X begin-selection }
bind -N "Copy and leave copy-mode" -T copy-mode-vi Enter send -X copy-pipe-and-cancel
set-option -g status-right "#[fg=#ffb86c]#[fg=#262626,bg=#ffb86c]#(cat ${config.xdg.cacheHome}/weather/short-weather.txt) #[fg=#3a3a3a,bg=#ffb86c]#[fg=#ffb86c,bg=#3a3a3a] %T #[fg=#ffb86c,bg=#3a3a3a]#[fg=#262626,bg=#ffb86c] %F "
'';
programs.tmux = import ./tmux/tmux.nix {
inherit config;
inherit pkgs;
inherit pkgs-unstable;
};
programs.newsboat = {
@@ -389,4 +361,20 @@ in
};
};
systemd.user.services = {
uair = {
Unit = {
Description = "Uair pomodoro timer";
};
Service = {
Type = "simple";
ExecStart = "${pkgs.uair}/bin/uair -q";
Restart = "always";
};
Install = {
WantedBy = [ "default.target" ];
};
};
};
}

42
home/deepak/tmux/tmux.nix Normal file
View File

@@ -0,0 +1,42 @@
{
config,
pkgs,
pkgs-unstable,
}:
{
enable = true;
package = pkgs-unstable.tmux;
historyLimit = 100000;
clock24 = true;
keyMode = "vi";
mouse = true;
prefix = "M-,";
plugins = [
pkgs.tmuxPlugins.vim-tmux-navigator
pkgs.tmuxPlugins.better-mouse-mode
pkgs.tmuxPlugins.sensible
pkgs.tmuxPlugins.power-theme
pkgs.tmuxPlugins.resurrect
];
extraConfig = ''
set-option -g status-position top
unbind '"'
unbind %
set -s copy-command 'xsel -bi'
bind -N "Change layout" -T prefix % next-layout
bind -N "Horizontal split" -T prefix | split-window -h -c '#{pane_current_path}'
bind -N "Horizontal split" -T prefix \\ split-window -h -c '#{pane_current_path}'
bind -N "Vertical split" -T prefix - split-window -v -c '#{pane_current_path}'
bind -N "Create a new window" -T prefix c new-window -c '#{pane_current_path}'
bind -N "Quick pane for obsidian todos" -T prefix . split-window -c $DPK_OBSIDIAN_DIR -h "vim todos.md"
bind -N "Enter copy mode" -T prefix Space copy-mode
bind -N "Load buffer from xsel and paste" -T prefix C-p run "xsel -ob | tmux load-buffer - ; tmux paste-buffer"
set -g escape-time 1
bind -N "Leave copy mode" -T copy-mode-vi Escape send-keys -X cancel
bind -N "Leave copy mode" -T copy-mode-vi y send -X copy-pipe
bind -N "Selection toggle" -T copy-mode-vi Space if -F "#{selection_present}" { send -X clear-selection } { send -X begin-selection }
bind -N "Copy and leave copy-mode" -T copy-mode-vi Enter send -X copy-pipe-and-cancel
set-option -g status-right "#[fg=#ffb86c]#[fg=#262626,bg=#ffb86c]#(cat ${config.xdg.cacheHome}/weather/short-weather.txt) #[fg=#3a3a3a,bg=#ffb86c]#[fg=#ffb86c,bg=#3a3a3a] %T #[fg=#ffb86c,bg=#3a3a3a]#[fg=#262626,bg=#ffb86c] %F "
'';
}