From d70a0da1a8d68ecaa2ea3539ffd5eb086971fd74 Mon Sep 17 00:00:00 2001 From: th3r00t Date: Wed, 20 Aug 2025 11:59:46 -0400 Subject: [PATCH] added home-manager-common.nix --- home-server.nix | 441 +------------------------------- home-xps13.nix | 232 +---------------- modules/home-manager-common.nix | 240 +++++++++++++++++ 3 files changed, 244 insertions(+), 669 deletions(-) create mode 100644 modules/home-manager-common.nix diff --git a/home-server.nix b/home-server.nix index 8235ff0..d4e80d6 100644 --- a/home-server.nix +++ b/home-server.nix @@ -22,30 +22,16 @@ recursive = true; executable = true; }; - home.file.".config/dosbox-x" = { - source = ./home/config/dosbox-x; - recursive = true; - executable = true; - }; - home.file.".config/waybar/power_menu.xml" = { - source = ./home/config/waybar/power_menu.xml; - recursive = true; - executable = true; - }; - home.file.".config/qutebrowser/blocked-hosts" = { - source = ./home/config/qutebrowser/blocked-hosts; - recursive = true; - executable = true; - }; home.file.".ssh/allowed_signers".text = '' * ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos ''; imports = [ - modules/hyprland.nix + # modules/hyprland.nix + modules/homme-manager-common.nix ]; xdg.enable = true; programs.nix-index.enable = true; - fonts.fontconfig.enable = true; + fonts.fontconfig.enable = false; home.sessionVariables = { EDITOR = "nvim"; BROWSER = "qutebrowser"; @@ -53,13 +39,8 @@ }; home.packages = with pkgs; [ autossh - mesa-demos - bluez - bluez-tools - bluez-alsa fastfetch ranger - kdePackages.dolphin zip unzip xz @@ -84,7 +65,6 @@ irssi luarocks lua5_1 - gimp lua-language-server go nodejs @@ -92,13 +72,9 @@ readline cachix sqlite - rofi - qutebrowser - foot vifm-full ranger zoxide - hyprsysteminfo ( python313.withPackages ( python-pkgs: @@ -114,426 +90,15 @@ ) neovim zig - nodejs - go syncthing - dosbox-x lazygit wofi - qutebrowser - waybar - uwsm gopls pyright ncurses rustup wayvnc - power-profiles-daemon - wpa_supplicant_gui gvfs ]; - programs.wofi = { - enable = true; - settings = { - location = "top-center"; - allow_markup = true; - width = 400; - }; - style = '' - /* Base */ - window { - background-color: rgba(17, 24, 39, 0.6); - box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); - border-radius: 1rem; - font-size: 1rem; - } - - window #outer-box { } - - window #outer-box #input { - background-color: rgba(17,24,39,0.6); - color: #c0caf5; - border: none; - border-bottom: 1px solid rgba(17,24,39,0.2); - padding: 0.8rem 1rem; - font-size: 1rem; - border-radius: 1rem 1rem 0 0; - } - - /* focus states (no #window!) */ - window #outer-box #input:focus, - window #outer-box #input:focus-visible, - window #outer-box #input:active { - border: none; - outline: 2px solid transparent; - outline-offset: 2px; - } - - window #outer-box #scroll { } - window #outer-box #scroll #inner-box { } - - window #outer-box #scroll #inner-box #entry { - color: #c0caf5; - background-color: rgba(17,24,39,0.1); - padding: 0.6rem 1rem; - } - - window #outer-box #scroll #inner-box #entry #img { - width: 1rem; - margin-right: 0.5rem; - } - - window #outer-box #scroll #inner-box #entry:selected { - color: #c0caf5; - background-color: rgba(38,50,56,0.1); - outline: none; - } - ''; - }; - programs.neovim.plugins = [ - pkgs.vimPlugins.nvim-treesitter.withAllGrammars - ]; - programs.taskwarrior = { - enable = true; - }; - services.syncthing = { - enable = true; - }; - programs.ranger = { - enable = true; - extraConfig = '' - - ''; - extraPackages = [ ]; - mappings = { - Q = "quitall"; - q = "quit"; - }; - plugins = [ - { - name = "zoxide"; - src = builtins.fetchGit { - url = "https://github.com/jchook/ranger-zoxide.git"; - rev = "363df97af34c96ea873c5b13b035413f56b12ead"; - }; - } - { - name = "tmux"; - src = builtins.fetchGit { - url = "https://github.com/joouha/ranger_tmux.git"; - rev = "05ba5ddf2ce5659a90aa0ada70eb1078470d972a"; - }; - } - ]; - settings = { - column_ratios = "1,3,3"; - confirm_on_delete = "never"; - scroll_offset = 8; - unicode_ellipsis = true; - }; - }; - programs.fzf = { - enable = true; - tmux.enableShellIntegration = true; - enableZshIntegration = true; - colors = { - fg = "#d0d0d0"; - bg = "#24283b"; - hl = "#5f87af"; - "fg+" = "#d0d0d0"; - "bg+" = "#414868"; - "hl+" = "#5fd7ff"; - info = "#afaf87"; - prompt = "#d7005f"; - pointer = "#af5fff"; - marker = "#87ff00"; - spinner = "#af5fff"; - header = "#87afaf"; - }; - }; - programs.tmux = { - enable = true; - baseIndex = 1; - clock24 = true; - disableConfirmationPrompt = true; - keyMode = "vi"; - mouse = true; - newSession = true; - plugins = with pkgs; [ - tmuxPlugins.cpu - { - plugin = tmuxPlugins.resurrect; - extraConfig = "set -g @resurrect-strategy-nvim 'session'"; - } - { - plugin = tmuxPlugins.continuum; - extraConfig = '' - set -g @continuum-restore 'on' - set -g @continuum-save-interval '60' - ''; - } - tmuxPlugins.yank - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.vim-tmux-focus-events - tmuxPlugins.urlview - { - plugin = tmuxPlugins.tokyo-night-tmux; - extraConfig = '' - set -g @tokyo-night-tmux_window_id_style digital - set -g @tokyo-night-tmux_pane_id_style hsquare - set -g @tokyo-night-tmux_zoom_id_style dsquare - set -g @tokyo-night-tmux_show_netspeed 1 - set -g @tokyo-night-tmux_netspeed_iface "wlp2s0" # Detected via default route - set -g @tokyo-night-tmux_netspeed_showip 1 # Display IPv4 address (default 0) - set -g @tokyo-night-tmux_netspeed_refresh 1 # Update interval in seconds (default 1) - set -g @tokyo-night-tmux_show_path 1 - set -g @tokyo-night-tmux_path_format relative # 'relative' or 'full' - set -g @tokyo-night-tmux_show_battery_widget 1 - set -g @tokyo-night-tmux_battery_name "BAT0" # some linux distro have 'BAT0' - set -g @tokyo-night-tmux_battery_low_threshold 21 # default - ''; - } - tmuxPlugins.tmux-fzf - # { - # plugin = tmuxPlugins.tilish; - # extraConfig = '' - # set -g @tilish-navigator 'on' - # set -g @tilish-default 'main-vertical' - # set -g @tilish-enforce 'none' - # set -g escape-time 0 - # set -g @tilish-dmenu 'on' - # ''; - # } - - ]; - prefix = "C-a"; - shell = "${pkgs.zsh}/bin/zsh"; - # terminal = "xterm-kitty:RGB"; - tmuxinator.enable = true; - extraConfig = '' - set-option -g update-environment "DISPLAY XAUTHORITY WAYLAND_DISPLAY XDG_RUNTIME_DIR HYPRLAND_INSTANCE_SIGNATURE" - set -g focus-events on - set -g escape-time 3 - set-option -g status-position top - set-option -as terminal-features 'foot:RGB' - set -g default-terminal 'tmux-256color' - bind-key b choose-tree -Z "run-shell 'tmux swap-pane -s %%'" - # bind C-p display-popup -E -w 60% -h 70% 'tmuxsessions.sh' - bind C-p run-shell 'tmuxsessions.sh' - bind C-d run-shell 'dotfile-picker.sh' - bind [ run-shell 'project-picker.sh' - # bind C-c display-popup -E -w 50% -h 50% 'nvim +":cd ~/org" ~/org/refile.norg' - # bind C-c display-popup -E -w 50% -h 50% 'nvim +"VimwikiIndex" - bind C-c display-popup -E -w 60% -h 60% "pytui -n" - # bind C-w display-popup -E -w 40% -h 60% "pytui -D" - - bind C-o display-popup -E -w 50% -h 50% 'igrep ~/wiki/notes' - - bind j run-shell 'popuptmux' - bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" - bind i split-window -v -c '\ -#{pane_current_path}' 'emojicherrypick.py --menu fzf\ - ' - bind-key -n F4 run-shell 'ranger' -# bind-key -n C-e split-window -v -c '\ -#{pane_current_path}' 'vifm\' - bind-key -n C-f split-window 'ranger .' -bind F3 send-keys 'igrep .' C-m - ''; - }; - programs.git = { - enable = true; - userName = "th3r00t"; - userEmail = "tty303@proton.me"; - extraConfig = { - commit.gpgSign = true; - gpg.format = "ssh"; - gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; - user.signingkey = "~/.ssh/id_ed25519.pub"; - }; - }; - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; - programs.foot = { - enable = true; - server.enable = true; - settings = { - main = { - term = "foot"; - font = "SauceCodePro Nerd Font Mono:size=6"; - dpi-aware = "yes"; - shell = "${pkgs.zsh}/bin/zsh"; - }; - mouse = { hide-when-typing = "yes"; }; - cursor = { style = "block"; blink = "yes"; }; - colors = { - alpha = "0.7"; - background="1a1b26"; - foreground="a9b1d6"; - flash="ff9e64"; - flash-alpha="0.5"; - regular0="1a1b26"; - regular1="f7768e"; - regular2="9ece6a"; - regular3="e0af68"; - regular4="7aa2f7"; - regular5="bb9af7"; - regular6="7dcfff"; - regular7="c0caf5"; - bright0="545c7e"; - bright1="ff7a93"; - bright2="b9f27c"; - bright3="ff9e64"; - bright4="7aa2f7"; - bright5="bb9af7"; - bright6="7dcfff"; - bright7="a9b1d6"; - sixel0="1a1b26"; - sixel1="7aa2f7"; - sixel2="f7768e"; - sixel3="9ece6a"; - sixel4="bb9af7"; - sixel5="7dcfff"; - sixel6="e0af68"; - sixel7="565f89"; - sixel8="414868"; - sixel9="4e5173"; - sixel10="8f5151"; - sixel11="4e7652"; - sixel12="8a4d8f"; - sixel13="4e757a"; - sixel14="8a8851"; - sixel15="a9b1d6"; - selection-foreground="1a1b26"; - selection-background="a9b1d6"; - jump-labels="1a1b26 e0af68"; - scrollback-indicator="1a1b26 7aa2f7"; - search-box-no-match="1a1b26 f7768e"; - search-box-match="1a1b26 e0af68"; - urls="e0af68"; - }; - }; - }; - programs.eza = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - }; - programs.starship = { - enable = true; - # custom settings - settings = { - add_newline = false; - aws.disabled = true; - gcloud.disabled = true; - line_break.disabled = true; - }; - }; - programs.zsh = { - enable = true; - sessionVariables = { - PATH="$PATH:$HOME/.local/usr/bin"; - PYTHONBREAKPOINT="pudb.set_trace"; - }; - oh-my-zsh = { - enable = true; - plugins = [ - "git" - "colored-man-pages" - "colorize" - "command-not-found" - "compleat" - "dirhistory" - "fzf" - "git-auto-fetch" - "git-extras" - "git-prompt" - "gitignore" - "gpg-agent" - "history" - "jsontools" - "man" - "nmap" - "pip" - "python" - "ssh-agent" - "sudo" - "tmux" - "vi-mode" - "zsh-navigation-tools" - ]; - # theme = "starship"; - }; - }; - programs.bash = { - enable = true; - enableCompletion = true; - bashrcExtra = '' - export PATH="$PATH:$HOME/.local/usr/bin"; - ''; - shellAliases = { - urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'"; - urldecode = "python3 -c 'import sys, urllib.parse as ul; print(il.unquote_plus(sys.stdin.read()))'"; - ls = "eza"; - cat = "bat"; - }; - }; - programs.hyprlock = { - enable = true; - settings = { - general = { - disable_loading_bar = true; - grace = 300; - hide_cursor = true; - no_fade_in = false; - }; - background = [ - { - path = "screenshot"; - blur_passes = 3; - blur_size = 8; - } - ]; - input-field = [ - { - size = "400, 100"; - position = "0, -80"; - monitor = ""; - dots_center = true; - fade_on_empty = false; - font_color = "rgb(202, 211, 245)"; - inner_color = "rgb(91, 96, 120)"; - outer_color = "rgb(24, 25, 38)"; - outline_thickness = 5; - placeholder_text = "Password"; - shadow_passes = 2; - } - ]; - }; - }; - services.hypridle = { - enable = true; - settings = { - general = { - after_sleep_cmd = "hyprctl dispatch dpms on"; - ignore_dbus_inhibit = false; - lock_cmd = "hyprlock"; - }; - listener = [ - { - timeout = 300; - on-timeout = "hyprlock"; - } - { - timeout = 600; - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - ]; - }; - }; home.stateVersion = "25.05"; } diff --git a/home-xps13.nix b/home-xps13.nix index 8235ff0..da8e1ab 100644 --- a/home-xps13.nix +++ b/home-xps13.nix @@ -42,6 +42,7 @@ ''; imports = [ modules/hyprland.nix + modules/homme-manager-common.nix ]; xdg.enable = true; programs.nix-index.enable = true; @@ -190,173 +191,6 @@ } ''; }; - programs.neovim.plugins = [ - pkgs.vimPlugins.nvim-treesitter.withAllGrammars - ]; - programs.taskwarrior = { - enable = true; - }; - services.syncthing = { - enable = true; - }; - programs.ranger = { - enable = true; - extraConfig = '' - - ''; - extraPackages = [ ]; - mappings = { - Q = "quitall"; - q = "quit"; - }; - plugins = [ - { - name = "zoxide"; - src = builtins.fetchGit { - url = "https://github.com/jchook/ranger-zoxide.git"; - rev = "363df97af34c96ea873c5b13b035413f56b12ead"; - }; - } - { - name = "tmux"; - src = builtins.fetchGit { - url = "https://github.com/joouha/ranger_tmux.git"; - rev = "05ba5ddf2ce5659a90aa0ada70eb1078470d972a"; - }; - } - ]; - settings = { - column_ratios = "1,3,3"; - confirm_on_delete = "never"; - scroll_offset = 8; - unicode_ellipsis = true; - }; - }; - programs.fzf = { - enable = true; - tmux.enableShellIntegration = true; - enableZshIntegration = true; - colors = { - fg = "#d0d0d0"; - bg = "#24283b"; - hl = "#5f87af"; - "fg+" = "#d0d0d0"; - "bg+" = "#414868"; - "hl+" = "#5fd7ff"; - info = "#afaf87"; - prompt = "#d7005f"; - pointer = "#af5fff"; - marker = "#87ff00"; - spinner = "#af5fff"; - header = "#87afaf"; - }; - }; - programs.tmux = { - enable = true; - baseIndex = 1; - clock24 = true; - disableConfirmationPrompt = true; - keyMode = "vi"; - mouse = true; - newSession = true; - plugins = with pkgs; [ - tmuxPlugins.cpu - { - plugin = tmuxPlugins.resurrect; - extraConfig = "set -g @resurrect-strategy-nvim 'session'"; - } - { - plugin = tmuxPlugins.continuum; - extraConfig = '' - set -g @continuum-restore 'on' - set -g @continuum-save-interval '60' - ''; - } - tmuxPlugins.yank - tmuxPlugins.vim-tmux-navigator - tmuxPlugins.vim-tmux-focus-events - tmuxPlugins.urlview - { - plugin = tmuxPlugins.tokyo-night-tmux; - extraConfig = '' - set -g @tokyo-night-tmux_window_id_style digital - set -g @tokyo-night-tmux_pane_id_style hsquare - set -g @tokyo-night-tmux_zoom_id_style dsquare - set -g @tokyo-night-tmux_show_netspeed 1 - set -g @tokyo-night-tmux_netspeed_iface "wlp2s0" # Detected via default route - set -g @tokyo-night-tmux_netspeed_showip 1 # Display IPv4 address (default 0) - set -g @tokyo-night-tmux_netspeed_refresh 1 # Update interval in seconds (default 1) - set -g @tokyo-night-tmux_show_path 1 - set -g @tokyo-night-tmux_path_format relative # 'relative' or 'full' - set -g @tokyo-night-tmux_show_battery_widget 1 - set -g @tokyo-night-tmux_battery_name "BAT0" # some linux distro have 'BAT0' - set -g @tokyo-night-tmux_battery_low_threshold 21 # default - ''; - } - tmuxPlugins.tmux-fzf - # { - # plugin = tmuxPlugins.tilish; - # extraConfig = '' - # set -g @tilish-navigator 'on' - # set -g @tilish-default 'main-vertical' - # set -g @tilish-enforce 'none' - # set -g escape-time 0 - # set -g @tilish-dmenu 'on' - # ''; - # } - - ]; - prefix = "C-a"; - shell = "${pkgs.zsh}/bin/zsh"; - # terminal = "xterm-kitty:RGB"; - tmuxinator.enable = true; - extraConfig = '' - set-option -g update-environment "DISPLAY XAUTHORITY WAYLAND_DISPLAY XDG_RUNTIME_DIR HYPRLAND_INSTANCE_SIGNATURE" - set -g focus-events on - set -g escape-time 3 - set-option -g status-position top - set-option -as terminal-features 'foot:RGB' - set -g default-terminal 'tmux-256color' - bind-key b choose-tree -Z "run-shell 'tmux swap-pane -s %%'" - # bind C-p display-popup -E -w 60% -h 70% 'tmuxsessions.sh' - bind C-p run-shell 'tmuxsessions.sh' - bind C-d run-shell 'dotfile-picker.sh' - bind [ run-shell 'project-picker.sh' - # bind C-c display-popup -E -w 50% -h 50% 'nvim +":cd ~/org" ~/org/refile.norg' - # bind C-c display-popup -E -w 50% -h 50% 'nvim +"VimwikiIndex" - bind C-c display-popup -E -w 60% -h 60% "pytui -n" - # bind C-w display-popup -E -w 40% -h 60% "pytui -D" - - bind C-o display-popup -E -w 50% -h 50% 'igrep ~/wiki/notes' - - bind j run-shell 'popuptmux' - bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" - bind i split-window -v -c '\ -#{pane_current_path}' 'emojicherrypick.py --menu fzf\ - ' - bind-key -n F4 run-shell 'ranger' -# bind-key -n C-e split-window -v -c '\ -#{pane_current_path}' 'vifm\' - bind-key -n C-f split-window 'ranger .' -bind F3 send-keys 'igrep .' C-m - ''; - }; - programs.git = { - enable = true; - userName = "th3r00t"; - userEmail = "tty303@proton.me"; - extraConfig = { - commit.gpgSign = true; - gpg.format = "ssh"; - gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; - user.signingkey = "~/.ssh/id_ed25519.pub"; - }; - }; - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; programs.foot = { enable = true; server.enable = true; @@ -417,70 +251,6 @@ bind F3 send-keys 'igrep .' C-m }; }; }; - programs.eza = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - }; - programs.starship = { - enable = true; - # custom settings - settings = { - add_newline = false; - aws.disabled = true; - gcloud.disabled = true; - line_break.disabled = true; - }; - }; - programs.zsh = { - enable = true; - sessionVariables = { - PATH="$PATH:$HOME/.local/usr/bin"; - PYTHONBREAKPOINT="pudb.set_trace"; - }; - oh-my-zsh = { - enable = true; - plugins = [ - "git" - "colored-man-pages" - "colorize" - "command-not-found" - "compleat" - "dirhistory" - "fzf" - "git-auto-fetch" - "git-extras" - "git-prompt" - "gitignore" - "gpg-agent" - "history" - "jsontools" - "man" - "nmap" - "pip" - "python" - "ssh-agent" - "sudo" - "tmux" - "vi-mode" - "zsh-navigation-tools" - ]; - # theme = "starship"; - }; - }; - programs.bash = { - enable = true; - enableCompletion = true; - bashrcExtra = '' - export PATH="$PATH:$HOME/.local/usr/bin"; - ''; - shellAliases = { - urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'"; - urldecode = "python3 -c 'import sys, urllib.parse as ul; print(il.unquote_plus(sys.stdin.read()))'"; - ls = "eza"; - cat = "bat"; - }; - }; programs.hyprlock = { enable = true; settings = { diff --git a/modules/home-manager-common.nix b/modules/home-manager-common.nix new file mode 100644 index 0000000..f0e61b9 --- /dev/null +++ b/modules/home-manager-common.nix @@ -0,0 +1,240 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ]; + + programs.neovim.plugins = [ + pkgs.vimPlugins.nvim-treesitter.withAllGrammars + ]; + programs.taskwarrior = { + enable = true; + }; + services.syncthing = { + enable = true; + }; + programs.ranger = { + enable = true; + extraConfig = '' + + ''; + extraPackages = [ ]; + mappings = { + Q = "quitall"; + q = "quit"; + }; + plugins = [ + { + name = "zoxide"; + src = builtins.fetchGit { + url = "https://github.com/jchook/ranger-zoxide.git"; + rev = "363df97af34c96ea873c5b13b035413f56b12ead"; + }; + } + { + name = "tmux"; + src = builtins.fetchGit { + url = "https://github.com/joouha/ranger_tmux.git"; + rev = "05ba5ddf2ce5659a90aa0ada70eb1078470d972a"; + }; + } + ]; + settings = { + column_ratios = "1,3,3"; + confirm_on_delete = "never"; + scroll_offset = 8; + unicode_ellipsis = true; + }; + }; + programs.fzf = { + enable = true; + tmux.enableShellIntegration = true; + enableZshIntegration = true; + colors = { + fg = "#d0d0d0"; + bg = "#24283b"; + hl = "#5f87af"; + "fg+" = "#d0d0d0"; + "bg+" = "#414868"; + "hl+" = "#5fd7ff"; + info = "#afaf87"; + prompt = "#d7005f"; + pointer = "#af5fff"; + marker = "#87ff00"; + spinner = "#af5fff"; + header = "#87afaf"; + }; + }; + programs.tmux = { + enable = true; + baseIndex = 1; + clock24 = true; + disableConfirmationPrompt = true; + keyMode = "vi"; + mouse = true; + newSession = true; + plugins = with pkgs; [ + tmuxPlugins.cpu + { + plugin = tmuxPlugins.resurrect; + extraConfig = "set -g @resurrect-strategy-nvim 'session'"; + } + { + plugin = tmuxPlugins.continuum; + extraConfig = '' + set -g @continuum-restore 'on' + set -g @continuum-save-interval '60' + ''; + } + tmuxPlugins.yank + tmuxPlugins.vim-tmux-navigator + tmuxPlugins.vim-tmux-focus-events + tmuxPlugins.urlview + { + plugin = tmuxPlugins.tokyo-night-tmux; + extraConfig = '' + set -g @tokyo-night-tmux_window_id_style digital + set -g @tokyo-night-tmux_pane_id_style hsquare + set -g @tokyo-night-tmux_zoom_id_style dsquare + set -g @tokyo-night-tmux_show_netspeed 1 + set -g @tokyo-night-tmux_netspeed_iface "wlp2s0" # Detected via default route + set -g @tokyo-night-tmux_netspeed_showip 1 # Display IPv4 address (default 0) + set -g @tokyo-night-tmux_netspeed_refresh 1 # Update interval in seconds (default 1) + set -g @tokyo-night-tmux_show_path 1 + set -g @tokyo-night-tmux_path_format relative # 'relative' or 'full' + set -g @tokyo-night-tmux_show_battery_widget 1 + set -g @tokyo-night-tmux_battery_name "BAT0" # some linux distro have 'BAT0' + set -g @tokyo-night-tmux_battery_low_threshold 21 # default + ''; + } + tmuxPlugins.tmux-fzf + # { + # plugin = tmuxPlugins.tilish; + # extraConfig = '' + # set -g @tilish-navigator 'on' + # set -g @tilish-default 'main-vertical' + # set -g @tilish-enforce 'none' + # set -g escape-time 0 + # set -g @tilish-dmenu 'on' + # ''; + # } + + ]; + prefix = "C-a"; + shell = "${pkgs.zsh}/bin/zsh"; + # terminal = "xterm-kitty:RGB"; + tmuxinator.enable = true; + extraConfig = '' + set-option -g update-environment "DISPLAY XAUTHORITY WAYLAND_DISPLAY XDG_RUNTIME_DIR HYPRLAND_INSTANCE_SIGNATURE" + set -g focus-events on + set -g escape-time 3 + set-option -g status-position top + set-option -as terminal-features 'foot:RGB' + set -g default-terminal 'tmux-256color' + bind-key b choose-tree -Z "run-shell 'tmux swap-pane -s %%'" + # bind C-p display-popup -E -w 60% -h 70% 'tmuxsessions.sh' + bind C-p run-shell 'tmuxsessions.sh' + bind C-d run-shell 'dotfile-picker.sh' + bind [ run-shell 'project-picker.sh' + # bind C-c display-popup -E -w 50% -h 50% 'nvim +":cd ~/org" ~/org/refile.norg' + # bind C-c display-popup -E -w 50% -h 50% 'nvim +"VimwikiIndex" + bind C-c display-popup -E -w 60% -h 60% "pytui -n" + # bind C-w display-popup -E -w 40% -h 60% "pytui -D" + + bind C-o display-popup -E -w 50% -h 50% 'igrep ~/wiki/notes' + + bind j run-shell 'popuptmux' + bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" + bind i split-window -v -c '\ +#{pane_current_path}' 'emojicherrypick.py --menu fzf\ + ' + bind-key -n F4 run-shell 'ranger' +# bind-key -n C-e split-window -v -c '\ +#{pane_current_path}' 'vifm\' + bind-key -n C-f split-window 'ranger .' +bind F3 send-keys 'igrep .' C-m + ''; + }; + programs.git = { + enable = true; + userName = "th3r00t"; + userEmail = "tty303@proton.me"; + extraConfig = { + commit.gpgSign = true; + gpg.format = "ssh"; + gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; + user.signingkey = "~/.ssh/id_ed25519.pub"; + }; + }; + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; + + programs.eza = { + enable = true; + enableBashIntegration = true; + enableZshIntegration = true; + }; + programs.starship = { + enable = true; + # custom settings + settings = { + add_newline = false; + aws.disabled = true; + gcloud.disabled = true; + line_break.disabled = true; + }; + }; + programs.zsh = { + enable = true; + sessionVariables = { + PATH="$PATH:$HOME/.local/usr/bin"; + PYTHONBREAKPOINT="pudb.set_trace"; + }; + oh-my-zsh = { + enable = true; + plugins = [ + "git" + "colored-man-pages" + "colorize" + "command-not-found" + "compleat" + "dirhistory" + "fzf" + "git-auto-fetch" + "git-extras" + "git-prompt" + "gitignore" + "gpg-agent" + "history" + "jsontools" + "man" + "nmap" + "pip" + "python" + "ssh-agent" + "sudo" + "tmux" + "vi-mode" + "zsh-navigation-tools" + ]; + # theme = "starship"; + }; + }; + programs.bash = { + enable = true; + enableCompletion = true; + bashrcExtra = '' + export PATH="$PATH:$HOME/.local/usr/bin"; + ''; + shellAliases = { + urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'"; + urldecode = "python3 -c 'import sys, urllib.parse as ul; print(il.unquote_plus(sys.stdin.read()))'"; + ls = "eza"; + cat = "bat"; + }; + }; + +}