Compare commits
3 commits
69454aba52
...
414a3a1fdf
Author | SHA1 | Date | |
---|---|---|---|
414a3a1fdf | |||
af1f1fec2e | |||
52650a3c84 |
11 changed files with 129 additions and 2 deletions
|
@ -9,6 +9,7 @@ in
|
||||||
(import ./catppuccin.nix
|
(import ./catppuccin.nix
|
||||||
{
|
{
|
||||||
inherit config lib pkgs;
|
inherit config lib pkgs;
|
||||||
|
flavor = "mocha";
|
||||||
rosewater = "f2d5cf";
|
rosewater = "f2d5cf";
|
||||||
flamingo = "eebebe";
|
flamingo = "eebebe";
|
||||||
pink = "f4b8e4";
|
pink = "f4b8e4";
|
||||||
|
|
|
@ -9,6 +9,7 @@ in
|
||||||
(import ./catppuccin.nix
|
(import ./catppuccin.nix
|
||||||
{
|
{
|
||||||
inherit config lib pkgs;
|
inherit config lib pkgs;
|
||||||
|
flavor = "mocha";
|
||||||
rosewater = "dc8a78";
|
rosewater = "dc8a78";
|
||||||
flamingo = "dd7878";
|
flamingo = "dd7878";
|
||||||
pink = "ea76cb";
|
pink = "ea76cb";
|
||||||
|
|
|
@ -9,6 +9,7 @@ in
|
||||||
(import ./catppuccin.nix
|
(import ./catppuccin.nix
|
||||||
{
|
{
|
||||||
inherit config lib pkgs;
|
inherit config lib pkgs;
|
||||||
|
flavor = "mocha";
|
||||||
rosewater = "f4dbd6";
|
rosewater = "f4dbd6";
|
||||||
flamingo = "f0c6c6";
|
flamingo = "f0c6c6";
|
||||||
pink = "f5bde6";
|
pink = "f5bde6";
|
||||||
|
|
|
@ -9,6 +9,7 @@ in
|
||||||
(import ./catppuccin.nix
|
(import ./catppuccin.nix
|
||||||
{
|
{
|
||||||
inherit config lib pkgs;
|
inherit config lib pkgs;
|
||||||
|
flavor = "mocha";
|
||||||
rosewater = "f5e0dc";
|
rosewater = "f5e0dc";
|
||||||
flamingo = "f2cdcd";
|
flamingo = "f2cdcd";
|
||||||
pink = "f5c2e7";
|
pink = "f5c2e7";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{ config
|
{ config
|
||||||
|
, pkgs
|
||||||
|
, flavor
|
||||||
, rosewater
|
, rosewater
|
||||||
, flamingo
|
, flamingo
|
||||||
, pink
|
, pink
|
||||||
|
@ -127,6 +129,12 @@
|
||||||
color7 #${subtext1}
|
color7 #${subtext1}
|
||||||
color15 #${subtext0}
|
color15 #${subtext0}
|
||||||
'';
|
'';
|
||||||
|
tmux.plugins = with pkgs.tmuxPlugins; [
|
||||||
|
{
|
||||||
|
plugin = catppuccin;
|
||||||
|
extraConfig = "set -g @catppuccin_flavour '${flavor}'";
|
||||||
|
}
|
||||||
|
];
|
||||||
zathura.extraConfig = ''
|
zathura.extraConfig = ''
|
||||||
set window-title-basename "true"
|
set window-title-basename "true"
|
||||||
set selection-clipboard "clipboard"
|
set selection-clipboard "clipboard"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ config
|
{ config
|
||||||
, lib
|
, lib
|
||||||
|
, pkgs
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -97,6 +98,9 @@ in
|
||||||
active_border_color #f8f8f2
|
active_border_color #f8f8f2
|
||||||
inactive_border_color #6272a4
|
inactive_border_color #6272a4
|
||||||
'';
|
'';
|
||||||
|
tmux.plugins = with pkgs.tmuxPlugins; [
|
||||||
|
dracula
|
||||||
|
];
|
||||||
zathura.extraConfig = ''
|
zathura.extraConfig = ''
|
||||||
set window-title-basename "true"
|
set window-title-basename "true"
|
||||||
set selection-clipboard "clipboard"
|
set selection-clipboard "clipboard"
|
||||||
|
|
|
@ -62,6 +62,8 @@ in
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
gpg.enable = true;
|
gpg.enable = true;
|
||||||
|
navi.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -98,8 +100,8 @@ in
|
||||||
exa
|
exa
|
||||||
gparted
|
gparted
|
||||||
neofetch
|
neofetch
|
||||||
|
reptyr
|
||||||
ripgrep
|
ripgrep
|
||||||
tmux
|
|
||||||
up
|
up
|
||||||
viu
|
viu
|
||||||
wget
|
wget
|
||||||
|
@ -143,7 +145,6 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
zoxide.enable = true;
|
zoxide.enable = true;
|
||||||
navi.enable = true;
|
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
username = "moritz";
|
username = "moritz";
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
./ledger
|
./ledger
|
||||||
./logseq.nix
|
./logseq.nix
|
||||||
./miracast.nix
|
./miracast.nix
|
||||||
|
./navi
|
||||||
./nvim
|
./nvim
|
||||||
./python.nix
|
./python.nix
|
||||||
./rofi
|
./rofi
|
||||||
|
@ -25,6 +26,7 @@
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./thunar.nix
|
./thunar.nix
|
||||||
|
./tmux.nix
|
||||||
./zathura.nix
|
./zathura.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
6
modules/programs/navi/cheats/reptyr.cheat
Normal file
6
modules/programs/navi/cheats/reptyr.cheat
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
% tmux, reptyr
|
||||||
|
|
||||||
|
# send background process to tmux
|
||||||
|
bg <process> && disown <process> && tmux new "$SHELL -c 'reptyr <process>'"
|
||||||
|
|
||||||
|
$ process: ps x -eo pid,tty,stat | awk '$2 ~ /pts/' | awk '$3 ~ /T/' | cut -d" " -f1 --- --preview "ps -p {} -o cmd"
|
20
modules/programs/navi/default.nix
Normal file
20
modules/programs/navi/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.my.programs.navi;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.my.programs.navi.enable = mkEnableOption "navi";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.moritz = {
|
||||||
|
programs.navi.enable = true;
|
||||||
|
xdg.dataFile."navi/cheats/personal" = {
|
||||||
|
enable = true;
|
||||||
|
recursive = true;
|
||||||
|
source = ./cheats;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
82
modules/programs/tmux.nix
Normal file
82
modules/programs/tmux.nix
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.my.programs.tmux;
|
||||||
|
|
||||||
|
tmux-sessionizer = pkgs.writeShellApplication {
|
||||||
|
name = "ts";
|
||||||
|
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd ];
|
||||||
|
text = ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ $# -eq 1 ]]; then
|
||||||
|
selected=$1
|
||||||
|
else
|
||||||
|
selected=$(fd -gH '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | fzf)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $selected ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
selected_name=$(basename "$selected" | tr . _)
|
||||||
|
|
||||||
|
if ! tmux has-session -t="$selected_name" 2> /dev/null; then
|
||||||
|
tmux new-session -ds "$selected_name" -c "$selected"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z ''${TMUX+x} ]]; then
|
||||||
|
tmux attach -t "$selected_name"
|
||||||
|
else
|
||||||
|
tmux switch-client -t "$selected_name"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.my.programs.tmux = {
|
||||||
|
enable = mkEnableOption "tmux";
|
||||||
|
autoAttach = mkEnableOption "autoAttach";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
my.shell.abbreviations.t = "tmux";
|
||||||
|
|
||||||
|
home-manager.users.moritz.home.packages = [ tmux-sessionizer ];
|
||||||
|
home-manager.users.moritz.programs = {
|
||||||
|
tmux = {
|
||||||
|
enable = true;
|
||||||
|
clock24 = true;
|
||||||
|
customPaneNavigationAndResize = true;
|
||||||
|
keyMode = "vi";
|
||||||
|
mouse = true;
|
||||||
|
newSession = true;
|
||||||
|
prefix = "C-Space";
|
||||||
|
sensibleOnTop = false;
|
||||||
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
|
sensible
|
||||||
|
tmux-fzf
|
||||||
|
yank
|
||||||
|
];
|
||||||
|
};
|
||||||
|
fzf.tmux.enableShellIntegration = true;
|
||||||
|
fish.interactiveShellInit =
|
||||||
|
let
|
||||||
|
insideVariables = [ "$TMUX" "$INSIDE_EMACS" "$EMACS" "$VIM" "$VSCODE_RESOLVING_ENVIRONMENT" ];
|
||||||
|
insideVariableMissing = concatStringsSep " && " (map (x: "test -z ${x}") insideVariables);
|
||||||
|
in
|
||||||
|
mkIf cfg.autoAttach
|
||||||
|
''
|
||||||
|
if ! fish_is_root_user && test "$TERM_PROGRAM" != 'vscode' && ${insideVariableMissing}
|
||||||
|
if test -z $tmux_autostarted
|
||||||
|
set -x tmux_autostarted true
|
||||||
|
ts
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue