{ config, pkgs, inputs, ... }: { # user config home.username = "aaron"; home.homeDirectory = "/home/aaron"; # nixvim config programs.nixvim = { globals.mapleader = " "; enable = true; viAlias = false; vimAlias = true; opts = { number = true; relativenumber = true; shiftwidth = 2; tabstop = 2; expandtab = true; incsearch = true; }; colorschemes.nord.enable = true; plugins.lualine.enable = true; plugins.nix.enable = true; plugins.nvim-tree.enable = true; plugins.treesitter.enable = true; plugins.telescope.enable = true; plugins.web-devicons.enable = true; }; # tmux config programs.tmux = { enable = true; # Basic options prefix = "C-a"; keyMode = "vi"; mouse = true; # Terminal settings terminal = "screen-256color"; # Extra configuration extraConfig = '' # Status keys set -g status-keys vi # Status bar options set -g status-interval 1 set -g status on set -g status-justify left # Clock mode setw -g clock-mode-colour cyan # Colors set -g status-bg black set -g status-fg white # Key bindings # Reload configuration bind r source-file ~/.config/tmux/tmux.conf # Panel split and selection unbind % unbind '"' bind v split-window -v bind c split-window -h bind i new-window bind b previous-window bind n next-window # Move around panes with hjkl bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Resize panes bind H resize-pane -L 5 bind J resize-pane -D 5 bind K resize-pane -U 5 bind L resize-pane -R 5 # Kill commands bind q kill-window bind Q kill-session # Bars set -g status-left "#[fg=black,bg=blue,bold] #S#[fg=blue,bg=black,nobold,noitalics,nounderscore]" set -g status-left "#[fg=black,bg=blue,bold] #S #[fg=blue,bg=black,nobold,noitalics,nounderscore]" set -g status-right "#{prefix_highlight}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H " # Windows set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]" set -g window-status-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]" set -g window-status-separator "" ''; }; # user packages home.packages = with pkgs; [ discord fastfetch screenfetch zip xz unzip p7zip jq mtr iperf3 imagemagick imv dnsutils ldns socat nmap keepassxc cowsay file which tree zstd gnupg btop iotop iftop strace ltrace lsof sysstat lm_sensors ethtool pciutils usbutils powerline-fonts powerline-symbols nerd-fonts.sauce-code-pro ]; # configure git programs.git.settings = { enable = true; userName = "aaron"; userEmail = "aaron@0x29a.ch"; }; # configure zsh theme programs.zsh = { enable = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; theme = "agnoster"; #plugins = [ "git" "ssh-agent" ]; }; }; # set gtk theme gtk = { enable = true; theme = { name = "Adwaita-dark"; package = pkgs.gnome-themes-extra; }; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; gtk4.extraConfig.gtk-application-prefer-dark-theme = 1; }; # set qt theme qt = { enable = true; platformTheme.name = "qt6"; style = { name = "adwaita-dark"; package = pkgs.adwaita-qt; }; }; # set env vars home.sessionVariables = { EDITOR = "vim"; }; # enable syncthing for user services.syncthing.enable = true; # enable home manager programs.home-manager.enable = true; # don't change home.stateVersion = "25.11"; }