Compare commits
3 Commits
69454aba52
...
414a3a1fdf
Author | SHA1 | Date |
---|---|---|
Moritz Böhme | 414a3a1fdf | |
Moritz Böhme | af1f1fec2e | |
Moritz Böhme | 52650a3c84 |
|
@ -9,6 +9,7 @@ in
|
|||
(import ./catppuccin.nix
|
||||
{
|
||||
inherit config lib pkgs;
|
||||
flavor = "mocha";
|
||||
rosewater = "f2d5cf";
|
||||
flamingo = "eebebe";
|
||||
pink = "f4b8e4";
|
||||
|
|
|
@ -9,6 +9,7 @@ in
|
|||
(import ./catppuccin.nix
|
||||
{
|
||||
inherit config lib pkgs;
|
||||
flavor = "mocha";
|
||||
rosewater = "dc8a78";
|
||||
flamingo = "dd7878";
|
||||
pink = "ea76cb";
|
||||
|
|
|
@ -9,6 +9,7 @@ in
|
|||
(import ./catppuccin.nix
|
||||
{
|
||||
inherit config lib pkgs;
|
||||
flavor = "mocha";
|
||||
rosewater = "f4dbd6";
|
||||
flamingo = "f0c6c6";
|
||||
pink = "f5bde6";
|
||||
|
|
|
@ -9,6 +9,7 @@ in
|
|||
(import ./catppuccin.nix
|
||||
{
|
||||
inherit config lib pkgs;
|
||||
flavor = "mocha";
|
||||
rosewater = "f5e0dc";
|
||||
flamingo = "f2cdcd";
|
||||
pink = "f5c2e7";
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{ config
|
||||
, pkgs
|
||||
, flavor
|
||||
, rosewater
|
||||
, flamingo
|
||||
, pink
|
||||
|
@ -127,6 +129,12 @@
|
|||
color7 #${subtext1}
|
||||
color15 #${subtext0}
|
||||
'';
|
||||
tmux.plugins = with pkgs.tmuxPlugins; [
|
||||
{
|
||||
plugin = catppuccin;
|
||||
extraConfig = "set -g @catppuccin_flavour '${flavor}'";
|
||||
}
|
||||
];
|
||||
zathura.extraConfig = ''
|
||||
set window-title-basename "true"
|
||||
set selection-clipboard "clipboard"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
@ -97,6 +98,9 @@ in
|
|||
active_border_color #f8f8f2
|
||||
inactive_border_color #6272a4
|
||||
'';
|
||||
tmux.plugins = with pkgs.tmuxPlugins; [
|
||||
dracula
|
||||
];
|
||||
zathura.extraConfig = ''
|
||||
set window-title-basename "true"
|
||||
set selection-clipboard "clipboard"
|
||||
|
|
|
@ -62,6 +62,8 @@ in
|
|||
fish.enable = true;
|
||||
git.enable = true;
|
||||
gpg.enable = true;
|
||||
navi.enable = true;
|
||||
tmux.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -98,8 +100,8 @@ in
|
|||
exa
|
||||
gparted
|
||||
neofetch
|
||||
reptyr
|
||||
ripgrep
|
||||
tmux
|
||||
up
|
||||
viu
|
||||
wget
|
||||
|
@ -143,7 +145,6 @@ in
|
|||
];
|
||||
};
|
||||
zoxide.enable = true;
|
||||
navi.enable = true;
|
||||
};
|
||||
home = {
|
||||
username = "moritz";
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
./ledger
|
||||
./logseq.nix
|
||||
./miracast.nix
|
||||
./navi
|
||||
./nvim
|
||||
./python.nix
|
||||
./rofi
|
||||
|
@ -25,6 +26,7 @@
|
|||
./ssh.nix
|
||||
./sway.nix
|
||||
./thunar.nix
|
||||
./tmux.nix
|
||||
./zathura.nix
|
||||
./zsh.nix
|
||||
];
|
||||
|
|
|
@ -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"
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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 New Issue