2024-03-22 11:15:18 -04:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
programs.bash = {
|
|
|
|
enable = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
initExtra = ''
|
|
|
|
export PS1="[\[$(tput setaf 27)\]\u\[$(tput setaf 135)\]@\[$(tput setaf 45)\]\h:\[$(tput setaf 33)\]\w] \[$(tput sgr0)\]$ "
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.emacs = {
|
|
|
|
enable = true;
|
2024-03-22 18:26:42 -04:00
|
|
|
extraPackages = ( epkgs: (with epkgs; [
|
|
|
|
better-defaults
|
|
|
|
org
|
|
|
|
org-bullets
|
|
|
|
org-journal
|
|
|
|
org-roam
|
2024-03-22 20:03:04 -04:00
|
|
|
nix-mode
|
|
|
|
treemacs
|
2024-03-22 18:26:42 -04:00
|
|
|
])
|
|
|
|
);
|
2024-03-22 11:15:18 -04:00
|
|
|
package = pkgs.emacs-nox;
|
|
|
|
extraConfig = ''
|
2024-03-22 20:03:04 -04:00
|
|
|
; 4 spaces > tabs.
|
2024-03-22 11:15:18 -04:00
|
|
|
(setq-default indent-tabs-mode nil)
|
|
|
|
(setq-default tab-width 4)
|
|
|
|
(setq indent-line-function 'insert-tab)
|
2024-03-22 20:03:04 -04:00
|
|
|
|
|
|
|
; xterm mouse mode
|
2024-03-22 11:15:18 -04:00
|
|
|
(xterm-mouse-mode 1)
|
2024-03-22 20:03:04 -04:00
|
|
|
|
|
|
|
; Enable line numbers
|
|
|
|
(global-display-line-numbers-mode 1)
|
|
|
|
(global-hl-line-mode t)
|
|
|
|
|
|
|
|
; Enable mouse scrolling
|
|
|
|
(global-set-key (kbd "<mouse-4>") 'previous-line)
|
|
|
|
(global-set-key (kbd "<mouse-5>") 'next-line)
|
|
|
|
|
|
|
|
; Enable tabs
|
|
|
|
(tab-bar-mode 1)
|
|
|
|
(setq tab-bar-show 1)
|
|
|
|
(setq tab-bar-new-tab-choice "*dashboard*")
|
|
|
|
|
|
|
|
; Enable treemacs
|
|
|
|
(add-hook 'emacs-startup-hook 'treemacs)
|
|
|
|
(setq treemacs-width 25)
|
|
|
|
(treemacs-resize-icons 16) ; Adjust the icon size according to your preference
|
|
|
|
(setq treemacs-follow-mode t) ; Enable follow mode
|
|
|
|
(setq treemacs-filewatch-mode t) ; Enable file watch mode
|
|
|
|
(setq treemacs-fringe-indicator-mode t) ; Enable fringe indicator mode
|
|
|
|
(setq treemacs-git-mode 'simple) ; Set git mode to simple
|
|
|
|
(setq treemacs-git-integration t) ; Enable git integration
|
|
|
|
(setq treemacs-show-hidden-files t) ; Show hidden files
|
|
|
|
(setq treemacs-icons-dired-mode t) ; Use icons in dired buffers
|
|
|
|
|
|
|
|
; Enable column 80 line for coding
|
|
|
|
(setq-default fill-column 80)
|
|
|
|
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
|
2024-03-22 11:15:18 -04:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.eza = {
|
|
|
|
enable = true;
|
|
|
|
git = true;
|
2024-03-22 13:40:44 -04:00
|
|
|
icons = true;
|
2024-03-22 11:15:18 -04:00
|
|
|
extraOptions = [
|
|
|
|
"--group-directories-first"
|
|
|
|
"--header"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.fzf = {
|
|
|
|
enable = true;
|
|
|
|
tmux.enableShellIntegration = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.nnn.enable = true;
|
|
|
|
|
|
|
|
programs.tmux = {
|
|
|
|
enable = true;
|
|
|
|
mouse = true;
|
|
|
|
newSession = true;
|
2024-03-22 18:26:42 -04:00
|
|
|
plugins = with pkgs; [
|
|
|
|
tmuxPlugins.weather
|
|
|
|
tmuxPlugins.better-mouse-mode
|
|
|
|
tmuxPlugins.cpu
|
|
|
|
tmuxPlugins.battery
|
|
|
|
];
|
2024-03-22 11:15:18 -04:00
|
|
|
terminal = "tmux-256color";
|
|
|
|
extraConfig = ''
|
|
|
|
set-option -g status-bg blue
|
|
|
|
set-option -g pane-active-border-style fg=blue
|
2024-03-22 18:26:42 -04:00
|
|
|
set-option -g @tmux-weather-format "%x+%t"
|
|
|
|
set-option -g @tmux-weather-units "u"
|
|
|
|
set -g status-right '#{cpu_percentage} CPU | #{battery_percentage} BAT | %I:%M %p | #{weather}'
|
|
|
|
run-shell ${pkgs.tmuxPlugins.weather}/share/tmux-plugins/weather/tmux-weather.tmux
|
|
|
|
run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux
|
|
|
|
run-shell ${pkgs.tmuxPlugins.battery}/share/tmux-plugins/battery/battery.tmux
|
2024-03-22 11:15:18 -04:00
|
|
|
'';
|
|
|
|
};
|
2024-03-22 20:03:04 -04:00
|
|
|
}
|