From 68d99c3696d39d534c5cf7f2aee7a424c55539d2 Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Fri, 19 Jul 2024 17:56:28 +0200 Subject: [PATCH] let's try nushell --- share/common.nix | 9 +++---- share/home.nix | 61 +++++++++++++----------------------------------- share/users.nix | 4 ++-- 3 files changed, 21 insertions(+), 53 deletions(-) diff --git a/share/common.nix b/share/common.nix index c2db3d3..a027bc0 100644 --- a/share/common.nix +++ b/share/common.nix @@ -330,6 +330,7 @@ in pkgs.kdePackages.neochat nixos-install-tools nmap + nushell nvme-cli procmail okteta @@ -493,12 +494,8 @@ in enableMail = false; }; - # use ZSH per default - programs.zsh.enable = true; - environment.shells = with pkgs; [ zsh ]; - - # needed for the ZSH completion - environment.pathsToLink = [ "/share/zsh" ]; + # add nushell and zsh to allowed shells + environment.shells = with pkgs; [ nushell zsh ]; # use micro as default terminal editor environment.variables.EDITOR = "micro"; diff --git a/share/home.nix b/share/home.nix index b432b9d..d1a6ee6 100644 --- a/share/home.nix +++ b/share/home.nix @@ -2,31 +2,19 @@ # initial version home.stateVersion = "22.11"; - # ZSH with good config - programs.zsh = { - # ZSH on + # my nushell config + programs.nushell = { + # we use nushell enable = true; - # we want completion - enableCompletion = true; - - # we want suggestions of already typed stuff - autosuggestion.enable = true; - - # we want nice command highlighting - syntaxHighlighting.enable = true; - - # better history - history = { - # save timestamps - extended = true; - - # kill dupes over full history - ignoreAllDups = true; - - # don't share history between sessions - share = false; - }; + # shell config + extraConfig = '' + $env.config = { + table: { + mode: none + } + } + ''; # aliases shellAliases = { @@ -54,14 +42,14 @@ neko = "ssh neko.fritz.box"; nekoroot = "ssh root@neko.fritz.box"; }; - }; + }; # nice prompt # https://starship.rs/config/ # https://draculatheme.com/starship programs.starship = { enable = true; - enableZshIntegration = true; + enableNushellIntegration = true; settings = { aws.style = "bold #ffb86c"; cmd_duration.style = "bold #f1fa8c"; @@ -87,37 +75,20 @@ # nice cd programs.zoxide = { enable = true; - enableZshIntegration = true; + enableNushellIntegration = true; options = [ "--cmd" "cd" ]; }; - # integrate fuzzy search - programs.fzf = { - enable = true; - enableZshIntegration = true; - }; - # better completion programs.carapace = { enable = true; - enableZshIntegration = true; + enableNushellIntegration = true; }; # better ls, adds la and Co. aliases, too programs.eza = { enable = true; - enableZshIntegration = true; - }; - - # tmux replacement - programs.zellij = { - enable = true; - enableZshIntegration = true; - settings = { - theme = "catppuccin-mocha"; - pane_frames = false; - on_force_close = "quit"; - }; + enableNushellIntegration = true; }; # better cat diff --git a/share/users.nix b/share/users.nix index fde40bf..6c942d4 100644 --- a/share/users.nix +++ b/share/users.nix @@ -14,8 +14,8 @@ in # all users and passwords are defined here mutableUsers = false; - # default shell is ZSH - defaultUserShell = pkgs.zsh; + # default shell is nushell + defaultUserShell = pkgs.nushell; # # administrator