Full Refactor and history reset
This commit is contained in:
169
terminal.nix
Normal file
169
terminal.nix
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
util-linux
|
||||
rclone
|
||||
neovim
|
||||
fd
|
||||
jq
|
||||
btop
|
||||
lshw
|
||||
gnupg
|
||||
git
|
||||
git-lfs
|
||||
ranger
|
||||
nixfmt
|
||||
aspell
|
||||
aspellDicts.en
|
||||
aspellDicts.en-computers
|
||||
aspellDicts.en-science
|
||||
fishPlugins.done
|
||||
fishPlugins.fzf-fish
|
||||
fishPlugins.forgit
|
||||
killall
|
||||
nodejs
|
||||
libtool
|
||||
grc
|
||||
fzf
|
||||
ispell
|
||||
fishPlugins.grc
|
||||
unzip
|
||||
ripgrep
|
||||
usbutils
|
||||
sqlite
|
||||
silver-searcher
|
||||
bat
|
||||
exfatprogs
|
||||
eza
|
||||
screen
|
||||
libsecret
|
||||
cmake
|
||||
gnumake
|
||||
gcc
|
||||
lazygit
|
||||
];
|
||||
|
||||
programs.git = {
|
||||
package = pkgs.gitFull;
|
||||
enable = true;
|
||||
config = {
|
||||
user = {
|
||||
email = "joe@5sigma.io";
|
||||
};
|
||||
# credential.helper = "libsecret";
|
||||
};
|
||||
# aliases = {
|
||||
# aa = "add --all";
|
||||
# c = "commit";
|
||||
# co = "checkout";
|
||||
# st = "status";
|
||||
# };
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.partition-manager.enable = true;
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
ERL_AFLAGS = "-kernel shell_history enabled";
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
users.users.joe.shell = pkgs.nushell;
|
||||
|
||||
home-manager.users.joe = {
|
||||
programs = {
|
||||
starship = {
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
character = {
|
||||
success_symbol = "[➜](bold green)";
|
||||
error_symbol = "[➜](bold red)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
nushell = {
|
||||
enable = true;
|
||||
# The config.nu can be anywhere you want if you like to edit your Nushell with Nu
|
||||
configFile.source = ./dotfiles/config.nu;
|
||||
# for editing directly to config.nu
|
||||
extraConfig = ''
|
||||
let carapace_completer = {|spans|
|
||||
carapace $spans.0 nushell ...$spans | from json
|
||||
}
|
||||
$env.config = {
|
||||
show_banner: false,
|
||||
completions: {
|
||||
case_sensitive: false #
|
||||
quick: true
|
||||
partial: true
|
||||
algorithm: "fuzzy"
|
||||
external: {
|
||||
enable: true
|
||||
max_results: 100
|
||||
completer: $carapace_completer # check 'carapace_completer'
|
||||
}
|
||||
}
|
||||
}
|
||||
$env.PATH = ($env.PATH |
|
||||
split row (char esep) |
|
||||
prepend /home/myuser/.apps |
|
||||
append /usr/bin/env
|
||||
)
|
||||
'';
|
||||
shellAliases = {
|
||||
cat = "bat --theme ansi";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
ls = "eza";
|
||||
cat = "bat --theme ansi";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# programs.bash = {
|
||||
# interactiveShellInit = ''
|
||||
# if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
# then
|
||||
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
# exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
# fi
|
||||
# '';
|
||||
# };
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user