diff --git a/hm-modules/random/default.nix b/hm-modules/random/default.nix index 9ca429c..0fd5698 100644 --- a/hm-modules/random/default.nix +++ b/hm-modules/random/default.nix @@ -3,5 +3,7 @@ { imports = [ ./kanshi + ./eza + ./direnv ]; } diff --git a/hm-modules/random/direnv/default.nix b/hm-modules/random/direnv/default.nix new file mode 100644 index 0000000..d9914d6 --- /dev/null +++ b/hm-modules/random/direnv/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + programs.direnv = { + enable = true; + + enableNushellIntegration = config.dov.shell.nu.enable; + enableZshIntegration = config.dov.shell.zsh.enable; + }; +} diff --git a/hm-modules/random/eza/default.nix b/hm-modules/random/eza/default.nix new file mode 100644 index 0000000..8b390b3 --- /dev/null +++ b/hm-modules/random/eza/default.nix @@ -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; + }; +} diff --git a/hm-modules/shell/addition/oxidise/default.nix b/hm-modules/shell/addition/oxidise/default.nix index 629972e..b791187 100644 --- a/hm-modules/shell/addition/oxidise/default.nix +++ b/hm-modules/shell/addition/oxidise/default.nix @@ -4,6 +4,14 @@ with lib; let cfg = config.dov.shell.addition.oxidise; + + shellAliases = { + find = mkForce "fd"; + cat = mkForce "bat"; + ls = mkForce "eza"; + cd = mkForce "z"; + du = mkForce "dust"; + }; in { options.dov.shell.addition.oxidise = { enable = mkEnableOption "oxidise config"; @@ -21,16 +29,15 @@ in { programs.zoxide = { enable = true; enableZshIntegration = config.dov.shell.zsh.enable; + enableNushellIntegration = config.dov.shell.nu.enable; }; dov.shell.zsh = mkIf config.dov.shell.zsh.enable { - shellAliases = { - find = mkForce "fd"; - cat = mkForce "bat"; - ls = mkForce "eza"; - cd = mkForce "z"; - du = mkForce "dust"; - }; + inherit shellAliases; + }; + + dov.shell.nu = mkIf config.dov.shell.nu.enable { + inherit shellAliases; }; }; diff --git a/hm-modules/shell/addition/starship/default.nix b/hm-modules/shell/addition/starship/default.nix index efe70db..eee39ec 100644 --- a/hm-modules/shell/addition/starship/default.nix +++ b/hm-modules/shell/addition/starship/default.nix @@ -10,6 +10,7 @@ in { programs.starship = { enable = true; enableZshIntegration = config.dov.shell.zsh.enable; + enableNushellIntegration = config.dov.shell.nu.enable; # TODO for now no bash - no integration #enableBashIntegration = config.dov.shell.bash.enable; diff --git a/hm-modules/shell/default.nix b/hm-modules/shell/default.nix index 3896065..6bc8486 100644 --- a/hm-modules/shell/default.nix +++ b/hm-modules/shell/default.nix @@ -3,6 +3,7 @@ { imports = [ ./zsh + ./nu ./addition ]; } diff --git a/hm-modules/shell/nu/default.nix b/hm-modules/shell/nu/default.nix new file mode 100644 index 0000000..3909450 --- /dev/null +++ b/hm-modules/shell/nu/default.nix @@ -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; + }); + }; +} diff --git a/machines/fujin/main/home.nix b/machines/fujin/main/home.nix index 7505cf0..39605b6 100644 --- a/machines/fujin/main/home.nix +++ b/machines/fujin/main/home.nix @@ -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.oxidise.enable = true; };