summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Cullmann <christoph@cullmann.io>2024-07-29 18:21:20 +0200
committerChristoph Cullmann <christoph@cullmann.io>2024-07-29 18:21:20 +0200
commit7da47f07056cd9c8ceaf1f20282e6db1dde04646 (patch)
tree7d2981f740e2e1776544ecd4c866983f3b542fe1
parent6f4981f8d339d10bf0e4d693bc81bc137274a897 (diff)
Revert "let's try nushell"
This reverts commit 68d99c3696d39d534c5cf7f2aee7a424c55539d2.
-rw-r--r--share/common.nix9
-rw-r--r--share/home.nix61
-rw-r--r--share/users.nix4
3 files changed, 53 insertions, 21 deletions
diff --git a/share/common.nix b/share/common.nix
index 2a9d15e..9488e08 100644
--- a/share/common.nix
+++ b/share/common.nix
@@ -332,7 +332,6 @@ in
pkgs.kdePackages.neochat
nixos-install-tools
nmap
- nushell
nvme-cli
procmail
okteta
@@ -499,8 +498,12 @@ in
enableMail = false;
};
- # add nushell and zsh to allowed shells
- environment.shells = with pkgs; [ nushell zsh ];
+ # use ZSH per default
+ programs.zsh.enable = true;
+ environment.shells = with pkgs; [ zsh ];
+
+ # needed for the ZSH completion
+ environment.pathsToLink = [ "/share/zsh" ];
# use micro as default terminal editor
environment.variables.EDITOR = "micro";
diff --git a/share/home.nix b/share/home.nix
index 6435985..6a06ef4 100644
--- a/share/home.nix
+++ b/share/home.nix
@@ -2,19 +2,31 @@
# initial version
home.stateVersion = "22.11";
- # my nushell config
- programs.nushell = {
- # we use nushell
+ # ZSH with good config
+ programs.zsh = {
+ # ZSH on
enable = true;
- # shell config
- extraConfig = ''
- $env.config = {
- table: {
- mode: none
- }
- }
- '';
+ # 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;
+ };
# aliases
shellAliases = {
@@ -42,14 +54,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;
- enableNushellIntegration = true;
+ enableZshIntegration = true;
settings = {
command_timeout = 10000;
aws.style = "bold #ffb86c";
@@ -76,20 +88,37 @@
# nice cd
programs.zoxide = {
enable = true;
- enableNushellIntegration = true;
+ enableZshIntegration = true;
options = [ "--cmd" "cd" ];
};
+ # integrate fuzzy search
+ programs.fzf = {
+ enable = true;
+ enableZshIntegration = true;
+ };
+
# better completion
programs.carapace = {
enable = true;
- enableNushellIntegration = true;
+ enableZshIntegration = true;
};
# better ls, adds la and Co. aliases, too
programs.eza = {
enable = true;
- enableNushellIntegration = true;
+ enableZshIntegration = true;
+ };
+
+ # tmux replacement
+ programs.zellij = {
+ enable = true;
+ enableZshIntegration = true;
+ settings = {
+ theme = "catppuccin-mocha";
+ pane_frames = false;
+ on_force_close = "quit";
+ };
};
# better cat
diff --git a/share/users.nix b/share/users.nix
index 6c942d4..fde40bf 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 nushell
- defaultUserShell = pkgs.nushell;
+ # default shell is ZSH
+ defaultUserShell = pkgs.zsh;
#
# administrator