From 8353554315564b89dfe27d5130080ed04a0a65ad Mon Sep 17 00:00:00 2001 From: Linnnus Date: Sat, 21 Dec 2024 15:47:33 +0100 Subject: Move to a profile-based configuration where common This patch makes it so common configuration is now located in shared/ and each host basically just becomes a bunch of import statements. The exception here is host-specific configuration like the `*.linus.onl` that live inside `hosts/ahmed/`. Specifically I have: - moved common configuration `shared/{nixos,home-manager,nix-darwin}`. - moved `hosts/common.nix` to `shared/nixos/common-{nix,shell}-settings.nix`. - split `hosts/muhammed/{dev-utils,neovim}` into per-language configuration. This patch was done in preparation for the arrival of a new host, which will need to share a lot of configuration with Muhammed. --- shared/home-manager/shell-utils/default.nix | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 shared/home-manager/shell-utils/default.nix (limited to 'shared/home-manager/shell-utils') diff --git a/shared/home-manager/shell-utils/default.nix b/shared/home-manager/shell-utils/default.nix new file mode 100644 index 0000000..8635ceb --- /dev/null +++ b/shared/home-manager/shell-utils/default.nix @@ -0,0 +1,34 @@ +# This module adds some common shell utilities to my home managed environment. +{pkgs, ...}: let + isLinux = pkgs.stdenv.isLinux; + isDarwin = pkgs.stdenv.isDarwin; +in { + home.packages = with pkgs; + [ + human-sleep + ripgrep + jc + jq + nowrap + echoargs + ] + ++ lib.optionals isLinux [ + file # File is not included in NixOS, but *is* included in Darwin. + ] + ++ lib.optionals isDarwin [ + pbv + trash + disable-sleep + + # Unlike the `stat` command on Linux (from coreutils or whatever), OSX's + # `stat` does not automatically use the nicer format when stdout is a + # sterminal. + (pkgs.writeShellScriptBin "stat" '' + if [ -t 1 ]; then + /usr/bin/stat -x "$@" + else + /usr/bin/stat "$@" + fi + '') + ]; +} -- cgit v1.2.3