# Shared configuraion regardless of hosts. { pkgs, options, self, flakeInputs, ... }: { # Enable de facto stable features. nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Use overlays from this repo for building system configuration as well as # system-wide. # # See: https://nixos.wiki/wiki/Overlays#Using_nixpkgs.overlays_from_configuration.nix_as_.3Cnixpkgs-overlays.3E_in_your_NIX_PATH nixpkgs.overlays = (import ../pkgs/overlays.nix); nix.nixPath = options.nix.nixPath.default ++ [ "nixpkgs-overlays=${self}/pkgs/overlays.nix" ]; # Set ZSH as the shell. # https://nixos.wiki/wiki/Command_Shell#Changing_default_shelltrue programs.zsh.enable = true; environment.shells = [ pkgs.zsh ]; users.users.linus.shell = pkgs.zsh; # Very basic system administration tools. environment.systemPackages = with pkgs; [ tree jc jq vim comma curl moreutils flakeInputs.agenix.packages.${system}.default ]; # 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"; ".." = "cd ../"; "..." = "cd ../../"; "...." = "cd ../../../"; "....." = "cd ../../../../"; "......" = "cd ../../../../../"; "......." = "cd ../../../../../../"; "........" = "cd ../../../../../../../"; "........." = "cd ../../../../../../../../"; ".........." = "cd ../../../../../../../../../"; }; }