From 3eee4e105d08abd490dc00e4d8ea9c26a4b70f7f Mon Sep 17 00:00:00 2001 From: Gabe Venberg Date: Wed, 29 May 2024 15:18:13 -0500 Subject: [PATCH] added enable options to termina modules. --- modules/home-manager/terminal/btop.nix | 11 +- modules/home-manager/terminal/default.nix | 22 ++ modules/home-manager/terminal/direnv.nix | 3 + modules/home-manager/terminal/git.nix | 3 +- modules/home-manager/terminal/gpg.nix | 13 +- modules/home-manager/terminal/irssi.nix | 55 ++--- .../home-manager/terminal/nushell/default.nix | 56 ++--- modules/home-manager/terminal/pass.nix | 19 +- modules/home-manager/terminal/ssh-agent.nix | 11 +- modules/home-manager/terminal/starship.nix | 201 +++++++++--------- modules/home-manager/terminal/tiny-irc.nix | 7 +- modules/home-manager/terminal/voice.nix | 26 +-- .../home-manager/terminal/zellij/default.nix | 10 +- modules/home-manager/terminal/zsh.nix | 186 ++++++++-------- roles/home-manager/minimal-terminal.nix | 17 +- roles/home-manager/terminal.nix | 16 +- 16 files changed, 358 insertions(+), 298 deletions(-) create mode 100644 modules/home-manager/terminal/default.nix diff --git a/modules/home-manager/terminal/btop.nix b/modules/home-manager/terminal/btop.nix index 164c3ee..12260e6 100644 --- a/modules/home-manager/terminal/btop.nix +++ b/modules/home-manager/terminal/btop.nix @@ -4,10 +4,13 @@ lib, ... }: { - programs.btop = { - enable = true; - settings = { - vim_keys = true; + options.user.btop.enable = lib.mkEnableOption "enable btop"; + config = lib.mkIf config.user.btop.enable { + programs.btop = { + enable = true; + settings = { + vim_keys = true; + }; }; }; } diff --git a/modules/home-manager/terminal/default.nix b/modules/home-manager/terminal/default.nix new file mode 100644 index 0000000..eabf14d --- /dev/null +++ b/modules/home-manager/terminal/default.nix @@ -0,0 +1,22 @@ +{ + config, + pkgs, + lib, + ... +}: { + imports=[ + ./nushell + ./zellij + ./btop.nix + ./direnv.nix + ./git.nix + ./gpg.nix + ./irssi.nix + ./pass.nix + ./ssh-agent.nix + ./starship.nix + ./tiny-irc.nix + ./voice.nix + ./zsh.nix + ]; +} diff --git a/modules/home-manager/terminal/direnv.nix b/modules/home-manager/terminal/direnv.nix index 82d080e..95f53a0 100644 --- a/modules/home-manager/terminal/direnv.nix +++ b/modules/home-manager/terminal/direnv.nix @@ -4,8 +4,11 @@ lib, ... }: { + options.user.direnv.enable = lib.mkEnableOption "enable direnv"; + config= lib.mkIf config.user.direnv.enable{ programs.direnv = { enable = true; nix-direnv.enable = true; }; + }; } diff --git a/modules/home-manager/terminal/git.nix b/modules/home-manager/terminal/git.nix index 6df9f94..3161017 100644 --- a/modules/home-manager/terminal/git.nix +++ b/modules/home-manager/terminal/git.nix @@ -6,6 +6,7 @@ }: { options = { user.git = { + enable= lib.mkEnableOption "enable git"; workProfile = { enable = lib.mkEnableOption "git work profile"; email = lib.mkOption { @@ -26,7 +27,7 @@ }; }; - config = { + config = lib.mkIf config.user.git.enable { programs.git = { enable = true; aliases = { diff --git a/modules/home-manager/terminal/gpg.nix b/modules/home-manager/terminal/gpg.nix index 176a404..0c5d138 100644 --- a/modules/home-manager/terminal/gpg.nix +++ b/modules/home-manager/terminal/gpg.nix @@ -4,11 +4,14 @@ lib, ... }: { - programs.gpg.enable = true; + options.user.gpg.enable = lib.mkEnableOption "enable gpg"; + config = lib.mkIf config.user.gpg.enable { + programs.gpg.enable = true; - services.gpg-agent = { - enable = true; - enableSshSupport = true; - pinentryPackage = lib.mkDefault pkgs.pinentry-tty; + services.gpg-agent = { + enable = true; + enableSshSupport = true; + pinentryPackage = lib.mkDefault pkgs.pinentry-tty; + }; }; } diff --git a/modules/home-manager/terminal/irssi.nix b/modules/home-manager/terminal/irssi.nix index b5bbc17..2984267 100644 --- a/modules/home-manager/terminal/irssi.nix +++ b/modules/home-manager/terminal/irssi.nix @@ -4,33 +4,36 @@ lib, ... }: { - programs.irssi = { - enable = true; - networks = { - liberachat = { - nick = "toric"; - server = { - address = "irc.libera.chat"; - port = 6697; - autoConnect = true; - ssl = { - enable = true; - certificateFile = "${config.home.homeDirectory}/keys/certs/irc.pem"; - verify = true; + options.user.irssi.enable = lib.mkEnableOption "enable irssi"; + config = lib.mkIf config.user.irssi.enable { + programs.irssi = { + enable = true; + networks = { + liberachat = { + nick = "toric"; + server = { + address = "irc.libera.chat"; + port = 6697; + autoConnect = true; + ssl = { + enable = true; + certificateFile = "${config.home.homeDirectory}/keys/certs/irc.pem"; + verify = true; + }; + }; + channels = { + libera.autoJoin = true; + linux.autoJoin = true; + programming.autoJoin = true; + rust.autoJoin = true; + nixos.autoJoin = true; + git.autoJoin = true; + neovim.autoJoin = true; + kernel.autoJoin = true; + hardware.autoJoin = true; + lobsters.autoJoin = true; + gamingonlinux.autoJoin = true; }; - }; - channels = { - libera.autoJoin = true; - linux.autoJoin = true; - programming.autoJoin = true; - rust.autoJoin = true; - nixos.autoJoin = true; - git.autoJoin = true; - neovim.autoJoin = true; - kernel.autoJoin = true; - hardware.autoJoin = true; - lobsters.autoJoin = true; - gamingonlinux.autoJoin = true; }; }; }; diff --git a/modules/home-manager/terminal/nushell/default.nix b/modules/home-manager/terminal/nushell/default.nix index a1680ad..a11fa08 100644 --- a/modules/home-manager/terminal/nushell/default.nix +++ b/modules/home-manager/terminal/nushell/default.nix @@ -1,34 +1,42 @@ { config, + lib, pkgs, ... }: { - #sessionVariables, sessionPath and shellAliases are not applied to nushell. - programs.nushell = { - enable = true; - configFile.source = ./config.nu; - envFile.source = ./env.nu; - }; + options.user.nushell.enable = lib.mkEnableOption "enable nushell"; + config = lib.mkIf config.user.nushell.enable { + home.file = { + ".config/nushell/completions".source = ./completions; + }; - home.file = { - ".config/nushell/completions".source = ./completions; - }; + programs = { + #sessionVariables, sessionPath and shellAliases are not applied to nushell. + nushell = { + enable = true; + configFile.source = ./config.nu; + envFile.source = ./env.nu; + }; - programs.yazi.enableNushellIntegration = true; - programs.zoxide.enableNushellIntegration = true; - programs.starship.enableNushellIntegration = true; - programs.carapace = { - enable = true; - enableNushellIntegration = true; - }; - programs.direnv.enableNushellIntegration = true; - services.gpg-agent.enableNushellIntegration = true; - - services.pueue = { - enable = true; - settings = { - daemon = { - default_parallel_tasks = 5; + yazi.enableNushellIntegration = true; + zoxide.enableNushellIntegration = true; + starship.enableNushellIntegration = true; + eza.enableNushellIntegration = true; + carapace = { + enable = true; + enableNushellIntegration = true; + }; + direnv.enableNushellIntegration = true; + }; + services = { + gpg-agent.enableNushellIntegration = true; + pueue = { + enable = true; + settings = { + daemon = { + default_parallel_tasks = 5; + }; + }; }; }; }; diff --git a/modules/home-manager/terminal/pass.nix b/modules/home-manager/terminal/pass.nix index 55ad8a7..1ce7bcd 100644 --- a/modules/home-manager/terminal/pass.nix +++ b/modules/home-manager/terminal/pass.nix @@ -4,14 +4,17 @@ lib, ... }: { - programs.password-store = { - enable = true; - settings = { - PASSWORD_STORE_DIR = "$HOME/keys/password-store"; + options.user.pass.enable = lib.mkEnableOption "enable pass password manager"; + config = lib.mkIf config.user.pass.enable { + programs.password-store = { + enable = true; + settings = { + PASSWORD_STORE_DIR = "$HOME/keys/password-store"; + }; }; - }; - programs.nushell.extraEnv = '' - $env.PASSWORD_STORE_DIR = ($env.HOME | path join "keys" "password-store") - ''; + programs.nushell.extraEnv = '' + $env.PASSWORD_STORE_DIR = ($env.HOME | path join "keys" "password-store") + ''; + }; } diff --git a/modules/home-manager/terminal/ssh-agent.nix b/modules/home-manager/terminal/ssh-agent.nix index 46dcc7e..8cde305 100644 --- a/modules/home-manager/terminal/ssh-agent.nix +++ b/modules/home-manager/terminal/ssh-agent.nix @@ -4,8 +4,11 @@ lib, ... }: { - services.ssh-agent.enable = true; - programs.nushell.extraEnv = '' - $env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent" - ''; + options.user.ssh-agent.enable = lib.mkEnableOption "enable ssh-agent"; + config = lib.mkIf config.user.ssh-agent.enable { + services.ssh-agent.enable = true; + programs.nushell.extraEnv = '' + $env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent" + ''; + }; } diff --git a/modules/home-manager/terminal/starship.nix b/modules/home-manager/terminal/starship.nix index 2ecab45..21a5e4e 100644 --- a/modules/home-manager/terminal/starship.nix +++ b/modules/home-manager/terminal/starship.nix @@ -4,106 +4,109 @@ lib, ... }: { - programs.starship = { - enable = true; - settings = { - format = lib.concatStrings [ - "[](color_orange)" - "$shell" - "$username" - "[@](bg:color_orange)" - "$hostname" - "[ ](bg:color_orange)" - "[](bg:color_yellow fg:color_orange)" - "$directory" - "[](fg:color_yellow bg:color_aqua)" - "$git_branch" - "$git_status" - "[](fg:color_aqua bg:color_blue)" - "$git_metrics" - "[](fg:color_blue bg:color_bg3)" - "$git_commit" - "[](fg:color_bg3 bg:color_bg1)" - "$time" - "[ ](fg:color_bg1)" - "$line_break" - "$character" - ]; - add_newline = false; - palette = "gruvbox_dark"; - palettes.gruvbox_dark = { - color_fg0 = "#fbf1c7"; - color_bg1 = "#3c3836"; - color_bg3 = "#665c54"; - color_blue = "#458588"; - color_aqua = "#689d6a"; - color_green = "#98971a"; - color_orange = "#d65d0e"; - color_purple = "#b16286"; - color_red = "#cc241d"; - color_yellow = "#d79921"; + options.user.starship.enable = lib.mkEnableOption "enable starship prompt"; + config = lib.mkIf config.user.starship.enable { + programs.starship = { + enable = true; + settings = { + format = lib.concatStrings [ + "[](color_orange)" + "$shell" + "$username" + "[@](bg:color_orange)" + "$hostname" + "[ ](bg:color_orange)" + "[](bg:color_yellow fg:color_orange)" + "$directory" + "[](fg:color_yellow bg:color_aqua)" + "$git_branch" + "$git_status" + "[](fg:color_aqua bg:color_blue)" + "$git_metrics" + "[](fg:color_blue bg:color_bg3)" + "$git_commit" + "[](fg:color_bg3 bg:color_bg1)" + "$time" + "[ ](fg:color_bg1)" + "$line_break" + "$character" + ]; + add_newline = false; + palette = "gruvbox_dark"; + palettes.gruvbox_dark = { + color_fg0 = "#fbf1c7"; + color_bg1 = "#3c3836"; + color_bg3 = "#665c54"; + color_blue = "#458588"; + color_aqua = "#689d6a"; + color_green = "#98971a"; + color_orange = "#d65d0e"; + color_purple = "#b16286"; + color_red = "#cc241d"; + color_yellow = "#d79921"; + }; + hostname = { + ssh_only = false; + ssh_symbol = "🌐"; + format = "[$hostname $ssh_symbol]($style)"; + style = "bg:color_orange"; + }; + shell = { + disabled = false; + bash_indicator = "$"; + fish_indicator = "<><"; + zsh_indicator = "%"; + nu_indicator = ">"; + format = "[$indicator ]($style)"; + style = "bg:color_orange"; + }; + fill = { + symbol = " "; + style = "bg:color_bg3"; + }; + username = { + show_always = true; + style_user = "bg:color_orange fg:color_fg0"; + style_root = "bg:color_orange fg:color_fg0"; + format = "[$user]($style)"; + }; + directory = { + style = "fg:color_fg0 bg:color_yellow"; + format = "[ $path ]($style)"; + fish_style_pwd_dir_length = 3; + truncation_length = 4; + truncation_symbol = "…/"; + }; + git_branch = { + symbol = ""; + style = "bg:color_aqua"; + format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)"; + }; + git_status = { + style = "bg:color_aqua"; + format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)"; + }; + git_metrics = { + disabled = false; + added_style = "bg:color_blue fg:bold green"; + deleted_style = "bg:color_blue fg:bold red"; + format = "([ +$added ]($added_style))([-$deleted ]($deleted_style))"; + }; + git_commit = { + only_detached = false; + tag_disabled = false; + format = "[($hash$tag)]($style)"; + style = "bg:color_bg3"; + }; + time = { + disabled = false; + time_format = "%R"; + style = "bg:color_bg1"; + format = "[[  $time ](fg:color_fg0 bg:color_bg1)]($style)"; + }; + line_break.disabled = false; + character.disabled = false; }; - hostname = { - ssh_only = false; - ssh_symbol = "🌐"; - format = "[$hostname $ssh_symbol]($style)"; - style = "bg:color_orange"; - }; - shell = { - disabled = false; - bash_indicator = "$"; - fish_indicator = "<><"; - zsh_indicator = "%"; - nu_indicator = ">"; - format = "[$indicator ]($style)"; - style = "bg:color_orange"; - }; - fill = { - symbol = " "; - style = "bg:color_bg3"; - }; - username = { - show_always = true; - style_user = "bg:color_orange fg:color_fg0"; - style_root = "bg:color_orange fg:color_fg0"; - format = "[$user]($style)"; - }; - directory = { - style = "fg:color_fg0 bg:color_yellow"; - format = "[ $path ]($style)"; - fish_style_pwd_dir_length = 3; - truncation_length = 4; - truncation_symbol = "…/"; - }; - git_branch = { - symbol = ""; - style = "bg:color_aqua"; - format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)"; - }; - git_status = { - style = "bg:color_aqua"; - format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)"; - }; - git_metrics = { - disabled = false; - added_style = "bg:color_blue fg:bold green"; - deleted_style = "bg:color_blue fg:bold red"; - format = "([ +$added ]($added_style))([-$deleted ]($deleted_style))"; - }; - git_commit = { - only_detached = false; - tag_disabled = false; - format = "[($hash$tag)]($style)"; - style = "bg:color_bg3"; - }; - time = { - disabled = false; - time_format = "%R"; - style = "bg:color_bg1"; - format = "[[  $time ](fg:color_fg0 bg:color_bg1)]($style)"; - }; - line_break.disabled = false; - character.disabled = false; }; }; } diff --git a/modules/home-manager/terminal/tiny-irc.nix b/modules/home-manager/terminal/tiny-irc.nix index fe47845..15921e2 100644 --- a/modules/home-manager/terminal/tiny-irc.nix +++ b/modules/home-manager/terminal/tiny-irc.nix @@ -4,6 +4,8 @@ lib, ... }: { + options.user.tiny.enable=lib.mkEnableOption "enable tiny irc client"; + config=lib.mkIf config.user.tiny.enable { programs.tiny = { enable = true; settings = { @@ -31,9 +33,6 @@ ]; sasl = { username = "toric"; - # password = { - # command = "pass show libera"; - # }; pem = "${config.home.homeDirectory}/keys/certs/irc.pem"; }; } @@ -47,4 +46,4 @@ }; }; }; -} +};} diff --git a/modules/home-manager/terminal/voice.nix b/modules/home-manager/terminal/voice.nix index d0f9373..e847516 100644 --- a/modules/home-manager/terminal/voice.nix +++ b/modules/home-manager/terminal/voice.nix @@ -4,21 +4,17 @@ lib, ... }: { - options = { - user.enable-speech = lib.mkEnableOption "espeak"; - }; + options.user.enable-speech = lib.mkEnableOption "espeak"; - config = - lib.mkIf config.user.enable-speech - { - home.shellAliases = { - say = "espeak -p 10 -s 150 -a 200"; - }; - home.packages = with pkgs; [ - espeak - ]; - programs.nushell.extraConfig = '' - alias say = espeak -p 10 -s 150 -a 200 - ''; + config = lib.mkIf config.user.enable-speech { + home.shellAliases = { + say = "espeak -p 10 -s 150 -a 200"; }; + home.packages = with pkgs; [ + espeak + ]; + programs.nushell.extraConfig = '' + alias say = espeak -p 10 -s 150 -a 200 + ''; + }; } diff --git a/modules/home-manager/terminal/zellij/default.nix b/modules/home-manager/terminal/zellij/default.nix index fea7536..06f64df 100644 --- a/modules/home-manager/terminal/zellij/default.nix +++ b/modules/home-manager/terminal/zellij/default.nix @@ -1,10 +1,14 @@ { config, + lib, pkgs, ... }: { - programs.zellij.enable = true; - home.file = { - ".config/zellij/config.kdl".source = ./config.kdl; + options.user.zellij.enable = lib.mkEnableOption "enable zellij"; + config = lib.mkIf config.user.zellij.enable { + programs.zellij.enable = true; + home.file = { + ".config/zellij/config.kdl".source = ./config.kdl; + }; }; } diff --git a/modules/home-manager/terminal/zsh.nix b/modules/home-manager/terminal/zsh.nix index 68e9aa6..e543615 100644 --- a/modules/home-manager/terminal/zsh.nix +++ b/modules/home-manager/terminal/zsh.nix @@ -4,101 +4,107 @@ lib, ... }: { - programs.starship.enableZshIntegration = true; - programs.fzf.enableZshIntegration = true; - programs.zoxide.enableZshIntegration = true; - programs.yazi.enableZshIntegration = true; - programs.direnv.enableZshIntegration = true; - programs.kitty.shellIntegration.enableZshIntegration = true; - services.gpg-agent.enableZshIntegration = true; - programs.carapace.enableZshIntegration = false; - home.packages = with pkgs; [ - curl - ]; - programs.zsh = { - enable = true; - enableCompletion = true; - initExtra = lib.mkMerge [ - '' - #have the menu highlight while we cycle through options - zstyle ':completion:*' menu select - #case insensitive completion - zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' - #allow completion from midword - setopt COMPLETE_IN_WORD - #move cursor to end of word after completing - setopt ALWAYS_TO_END - #complete aliases as well - setopt COMPLETE_ALIASES - #select first item when you press tab the first time. - setopt MENU_COMPLETE - #case insensitive globbing - setopt NO_CASE_GLOB - #sort globs that expand to numbers by number rather than alphabeticly - setopt NUMERIC_GLOB_SORT - #allows for some neat globbing. - setopt EXTENDED_GLOB - #allow backspacing beyond the point you entered insert mode: - bindkey -v '^?' backward-delete-char - bindkey "^W" backward-kill-word + options.user.zsh.enable = lib.mkEnableOption "enable zsh"; + config = lib.mkIf config.user.zsh.enable { + programs = { + starship.enableZshIntegration = true; + fzf.enableZshIntegration = true; + zoxide.enableZshIntegration = true; + yazi.enableZshIntegration = true; + eza.enableZshIntegration = true; + direnv.enableZshIntegration = true; + kitty.shellIntegration.enableZshIntegration = true; + carapace.enableZshIntegration = false; + zsh = { + enable = true; + enableCompletion = true; + initExtra = lib.mkMerge [ + '' + #have the menu highlight while we cycle through options + zstyle ':completion:*' menu select + #case insensitive completion + zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' + #allow completion from midword + setopt COMPLETE_IN_WORD + #move cursor to end of word after completing + setopt ALWAYS_TO_END + #complete aliases as well + setopt COMPLETE_ALIASES + #select first item when you press tab the first time. + setopt MENU_COMPLETE + #case insensitive globbing + setopt NO_CASE_GLOB + #sort globs that expand to numbers by number rather than alphabeticly + setopt NUMERIC_GLOB_SORT + #allows for some neat globbing. + setopt EXTENDED_GLOB + #allow backspacing beyond the point you entered insert mode: + bindkey -v '^?' backward-delete-char + bindkey "^W" backward-kill-word - #cheat.sh is a wonderful tool, the less typing needed the better. - cheat(){ - for i in $*; do; - curl cheat.sh/$i - done - } - '' - (lib.mkIf (!config.programs.starship.enable) '' - autoload -U promptinit - promptinit - autoload -U colors - colors + #cheat.sh is a wonderful tool, the less typing needed the better. + cheat(){ + for i in $*; do; + curl cheat.sh/$i + done + } + '' + (lib.mkIf (!config.programs.starship.enable) '' + autoload -U promptinit + promptinit + autoload -U colors + colors - #stuff to show git things. - autoload -Uz vcs_info - setopt prompt_subst - precmd_vcs() {vcs_info} - #when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo. - zstyle ':vcs_info:*' nvcsformats '%~' - zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f' - zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f' + #stuff to show git things. + autoload -Uz vcs_info + setopt prompt_subst + precmd_vcs() {vcs_info} + #when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo. + zstyle ':vcs_info:*' nvcsformats '%~' + zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f' + zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f' - #the precmd function, called just before printing the prompt. - function precmd() { - precmd_vcs - } + #the precmd function, called just before printing the prompt. + function precmd() { + precmd_vcs + } - #Make the right prompt blank, just to be sure. - RPROMPT="" + #Make the right prompt blank, just to be sure. + RPROMPT="" - #on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...) - PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f$${vcs_info_msg_0_} %F{white}[%D %T]%f\n»' - '') + #on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...) + PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f$${vcs_info_msg_0_} %F{white}[%D %T]%f\n»' + '') + ]; + autocd = true; + autosuggestion.enable = true; + defaultKeymap = "viins"; + history = { + ignoreAllDups = true; + extended = true; + }; + shellAliases = { + ll = "ls -lh"; + la = "ls -lha"; + please = "sudo $(fc -ln -1)"; + pyactivate = "source ./.venv/bin/activate"; + }; + syntaxHighlighting = { + enable = true; + highlighters = [ + "main" + "brackets" + "pattern" + "regexp" + "root" + "line" + ]; + }; + }; + }; + services.gpg-agent.enableZshIntegration = true; + home.packages = with pkgs; [ + curl ]; - autocd = true; - autosuggestion.enable = true; - defaultKeymap = "viins"; - history = { - ignoreAllDups = true; - extended = true; - }; - shellAliases = { - ll = "ls -lh"; - la = "ls -lha"; - please = "sudo $(fc -ln -1)"; - pyactivate = "source ./.venv/bin/activate"; - }; - syntaxHighlighting = { - enable = true; - highlighters = [ - "main" - "brackets" - "pattern" - "regexp" - "root" - "line" - ]; - }; }; } diff --git a/roles/home-manager/minimal-terminal.nix b/roles/home-manager/minimal-terminal.nix index a82ee00..c8a42ab 100644 --- a/roles/home-manager/minimal-terminal.nix +++ b/roles/home-manager/minimal-terminal.nix @@ -5,16 +5,18 @@ ... }: { imports = [ - ../../modules/home-manager/terminal/zsh.nix - ../../modules/home-manager/terminal/git.nix - ../../modules/home-manager/terminal/zellij - ../../modules/home-manager/terminal/ssh-agent.nix - ../../modules/home-manager/terminal/direnv.nix - ../../modules/home-manager/terminal/btop.nix + ../../modules/home-manager/terminal ../../modules/home-manager/nvim ]; - user.nvim.enable = true; + user = { + btop.enable = true; + direnv.enable = true; + git.enable = true; + ssh-agent.enable = true; + zsh.enable = true; + nvim.enable = true; + }; home.packages = with pkgs; [ sshfs @@ -44,6 +46,7 @@ programs = { yazi.enable = true; fzf.enable = true; + eza.enable = true; ripgrep.enable = true; bat.enable = true; man.enable = true; diff --git a/roles/home-manager/terminal.nix b/roles/home-manager/terminal.nix index c73de3a..504ba2c 100644 --- a/roles/home-manager/terminal.nix +++ b/roles/home-manager/terminal.nix @@ -11,9 +11,14 @@ ../../modules/home-manager/terminal/tiny-irc.nix ]; - user.nvim = { - enable-lsp = true; - enable-treesitter = true; + user = { + nushell.enable = true; + starship.enable = true; + tiny.enable = true; + nvim = { + enable-lsp = true; + enable-treesitter = true; + }; }; home.packages = with pkgs; [ @@ -22,11 +27,6 @@ hyperfine ]; - home.sessionVariables = { - PIPENV_VENV_IN_PROJECT = 1; - POETRY_VIRTUALENVS_IN_PROJECT = 1; - }; - programs = { zoxide.enable = true; tealdeer.enable = true;