nu.nix
1 { 2 pkgs, 3 lib, 4 config, 5 ... 6 }: let 7 cfg = config.programs.nu; 8 inherit (lib) mkEnableOption mkIf; 9 in { 10 options.programs.nu.enable = mkEnableOption "nu"; 11 config = mkIf cfg.enable { 12 os.users.defaultUserShell = pkgs.nushell; 13 14 hm = { 15 programs.starship.enableNushellIntegration = true; 16 17 programs = { 18 zoxide.enable = true; 19 atuin.enable = true; 20 broot.enable = true; 21 carapace.enable = true; 22 }; 23 24 programs.atuin.enableNushellIntegration = true; 25 programs.broot.enableNushellIntegration = true; 26 programs.zoxide.enableNushellIntegration = true; 27 28 programs.zellij = { 29 enable = false; 30 31 settings = { 32 default_shell = "nu"; 33 simplified_ui = true; 34 pane_frames = false; 35 default_layout = "compact"; 36 }; 37 }; 38 home.packages = [ 39 pkgs.fish 40 ]; 41 42 programs.nushell = { 43 enable = true; 44 configFile.source = ./nushell/config.nu; 45 envFile.source = ./nushell/env.nu; 46 47 shellAliases = { 48 sysupdate = "sudo nixos-rebuild switch --flake ~/.nixConfig/#Aethyr"; 49 }; 50 }; 51 }; 52 }; 53 }