aboutsummaryrefslogtreecommitdiff
path: root/nix/users/fcuny/shell.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2024-12-16 09:25:23 -0800
committerFranck Cuny <franck@fcuny.net>2024-12-16 09:25:23 -0800
commit1bbd4e19c5595e6a6c310bd36fac5b4bd97ff39f (patch)
treee5ec852d0aa9378a5fae766f70d4c133acd5f8d1 /nix/users/fcuny/shell.nix
parentmove gitotlite to vm-synology (diff)
downloadinfra-1bbd4e19c5595e6a6c310bd36fac5b4bd97ff39f.tar.gz
refactor home-manager
Only install what's needed for specific OSes.
Diffstat (limited to 'nix/users/fcuny/shell.nix')
-rw-r--r--nix/users/fcuny/shell.nix90
1 files changed, 90 insertions, 0 deletions
diff --git a/nix/users/fcuny/shell.nix b/nix/users/fcuny/shell.nix
new file mode 100644
index 0000000..09fbc40
--- /dev/null
+++ b/nix/users/fcuny/shell.nix
@@ -0,0 +1,90 @@
+{ config, pkgs, ... }: {
+ home.packages = with pkgs; [
+ # shell
+ shellcheck
+
+ # shell utils
+ coreutils
+ direnv
+ dust
+ procs
+ ripgrep
+ tree
+ wget
+
+ # network
+ bandwhich
+
+ # data manipulation
+ jless
+ jq
+ yq
+ ];
+
+ programs.fish = {
+ enable = true;
+ interactiveShellInit = ''
+ # Configure classic prompt
+ set fish_color_user --bold blue
+ set fish_color_cwd --bold white
+
+ # Enable colour hints in VCS prompt:
+ set __fish_git_prompt_showcolorhints yes
+ set __fish_git_prompt_color_prefix purple
+ set __fish_git_prompt_color_suffix purple
+
+ set fish_greeting ""
+ '';
+ shellAbbrs = { ncg = "nix-collect-garbage -d"; };
+ shellAliases = {
+ c = "clear";
+ ls = "eza -l -L=1 --git --color=always --group-directories-first";
+ la = "eza -la --git --color=always --group-directories-first";
+ ll = "eza -la -L=1 --git --color=always --group-directories-first";
+ lt = "eza -aT -L=2 --git --color=always --group-directories-first";
+ k = "kubectl";
+ kctx = "kubie ctx";
+ };
+ };
+
+ # an alternative to ls
+ programs.eza = {
+ enable = true;
+ icons = "never";
+ enableFishIntegration = false;
+ extraOptions = [
+ "--group-directories-first"
+ "--no-quotes"
+ "--git-ignore"
+ "--icons=never"
+ ];
+ };
+
+ # an alternative to find
+ programs.fd = {
+ enable = true;
+ hidden = true;
+ ignores = [ ".git/" ".direnv/" ];
+ };
+
+ programs.direnv = {
+ enable = true;
+ nix-direnv.enable = true;
+ enableZshIntegration = true;
+ config = {
+ global.disable_stdin = true;
+ global.strict_env = true;
+ };
+ };
+
+ home.sessionVariables = {
+ ASPELL_CONF = "conf ${config.xdg.configHome}/aspell/config;";
+ EDITOR = "emacsclient -a=";
+ HOMEBREW_NO_AUTO_UPDATE = 1;
+ LESS = "-FRSXM";
+ LESSCHARSET = "utf-8";
+ PAGER = "less";
+ SHELL = "${pkgs.fish}/bin/fish";
+ VISUAL = "emacsclient -a=";
+ };
+}