Configure nushell

This commit is contained in:
Alexander
2025-08-03 23:21:58 +02:00
parent 3608ae4fc3
commit b0c2bd1594
8 changed files with 77 additions and 7 deletions
+2
View File
@@ -3,5 +3,7 @@
{ {
imports = [ imports = [
./kanshi ./kanshi
./eza
./direnv
]; ];
} }
+10
View File
@@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }:
{
programs.direnv = {
enable = true;
enableNushellIntegration = config.dov.shell.nu.enable;
enableZshIntegration = config.dov.shell.zsh.enable;
};
}
+11
View File
@@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
programs.eza = {
enable = true;
git = true;
enableZshIntegration = config.dov.shell.zsh.enable;
enableNushellIntegration = config.dov.shell.nu.enable;
};
}
+13 -6
View File
@@ -4,6 +4,14 @@ with lib;
let let
cfg = config.dov.shell.addition.oxidise; cfg = config.dov.shell.addition.oxidise;
shellAliases = {
find = mkForce "fd";
cat = mkForce "bat";
ls = mkForce "eza";
cd = mkForce "z";
du = mkForce "dust";
};
in { in {
options.dov.shell.addition.oxidise = { options.dov.shell.addition.oxidise = {
enable = mkEnableOption "oxidise config"; enable = mkEnableOption "oxidise config";
@@ -21,16 +29,15 @@ in {
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
enableZshIntegration = config.dov.shell.zsh.enable; enableZshIntegration = config.dov.shell.zsh.enable;
enableNushellIntegration = config.dov.shell.nu.enable;
}; };
dov.shell.zsh = mkIf config.dov.shell.zsh.enable { dov.shell.zsh = mkIf config.dov.shell.zsh.enable {
shellAliases = { inherit shellAliases;
find = mkForce "fd";
cat = mkForce "bat";
ls = mkForce "eza";
cd = mkForce "z";
du = mkForce "dust";
}; };
dov.shell.nu = mkIf config.dov.shell.nu.enable {
inherit shellAliases;
}; };
}; };
@@ -10,6 +10,7 @@ in {
programs.starship = { programs.starship = {
enable = true; enable = true;
enableZshIntegration = config.dov.shell.zsh.enable; enableZshIntegration = config.dov.shell.zsh.enable;
enableNushellIntegration = config.dov.shell.nu.enable;
# TODO for now no bash - no integration # TODO for now no bash - no integration
#enableBashIntegration = config.dov.shell.bash.enable; #enableBashIntegration = config.dov.shell.bash.enable;
+1
View File
@@ -3,6 +3,7 @@
{ {
imports = [ imports = [
./zsh ./zsh
./nu
./addition ./addition
]; ];
} }
+26
View File
@@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.dov.shell.nu;
in {
options.dov.shell.nu = {
enable = mkEnableOption "nushell config";
shellAliases = mkOption {
type = types.attrs;
default = {};
};
};
config = mkIf cfg.enable {
programs.nushell = {
enable = true;
settings = {
};
} // (lib.optionalAttrs (cfg.shellAliases != null) {
shellAliases = cfg.shellAliases;
});
};
}
+12
View File
@@ -23,6 +23,18 @@
}; };
}; };
nu = {
enable = true;
shellAliases = {
ll = "eza -al";
cp = "rsync -ah --progress";
nixos-build = "nixos-rebuild build --flake ~/nixos/#${username}";
nixos-test = "sudo nixos-rebuild test --flake ~/nixos/#${username}";
nixos-switch = "sudo nixos-rebuild switch --flake ~/nixos/#${username}";
nixos-boot = "sudo nixos-rebuild boot --flake ~/nixos/#${username}";
};
};
addition.starship.enable = true; addition.starship.enable = true;
addition.oxidise.enable = true; addition.oxidise.enable = true;
}; };