From 3bf29c686274e19576aeb4f19510fa0702d2cb0c Mon Sep 17 00:00:00 2001 From: Linnnus Date: Sun, 22 Dec 2024 10:58:36 +0000 Subject: Move shared nix{os,-darwin} config to shared/nixos-and-darwin --- .../common-shell-settings/default.nix | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 shared/nixos-and-darwin/common-shell-settings/default.nix (limited to 'shared/nixos-and-darwin/common-shell-settings/default.nix') diff --git a/shared/nixos-and-darwin/common-shell-settings/default.nix b/shared/nixos-and-darwin/common-shell-settings/default.nix new file mode 100644 index 0000000..982296d --- /dev/null +++ b/shared/nixos-and-darwin/common-shell-settings/default.nix @@ -0,0 +1,44 @@ +# This module sets options to ensure a consistent Baseline Shell Experince™ +# across the entire fleet. This includes e.g. common utilities and aliases. +# +# NOTE: This lives under `shared/nixos-and-darwin`. The configuration in here +# should be compatible with both nixos and nix-darwin!! +{pkgs, ...}: { + # Set ZSH as the shell. + # https://nixos.wiki/wiki/Command_Shell#Changing_default_shelltrue + programs.zsh.enable = true; + environment.shells = [pkgs.zsh]; + + # Very basic system administration tools. + environment.systemPackages = with pkgs; [ + curl + jq + moreutils + neovim + tree + ]; + + # Aliases that are burned into my muscle memory. + environment.shellAliases = { + "mv" = "mv -i"; + "rm" = "rm -i"; + "cp" = "cp -i"; + "ls" = "ls -F -G -A --color=auto"; + "grep" = "grep --color=auto"; + "file" = "file --no-dereference"; + "tree" = "tree --dirsfirst --gitignore"; + + # See: https://github.com/NixOS/nix/issues/5858 + "nix" = "nix --print-build-logs"; + + ".." = "cd ../"; + "..." = "cd ../../"; + "...." = "cd ../../../"; + "....." = "cd ../../../../"; + "......" = "cd ../../../../../"; + "......." = "cd ../../../../../../"; + "........" = "cd ../../../../../../../"; + "........." = "cd ../../../../../../../../"; + ".........." = "cd ../../../../../../../../../"; + }; +} -- cgit v1.2.3