summary refs log tree commit diff stats
path: root/user/settings/darwin.nix
diff options
context:
space:
mode:
Diffstat (limited to 'user/settings/darwin.nix')
-rw-r--r--user/settings/darwin.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/user/settings/darwin.nix b/user/settings/darwin.nix
new file mode 100644
index 00000000..b3c4d7d7
--- /dev/null
+++ b/user/settings/darwin.nix
@@ -0,0 +1,49 @@
+{ config, pkgs, ... }:
+
+{
+  nixpkgs.overlays = [
+    (self: super: {
+      darwin-zsh-completions = super.runCommandNoCC "darwin-zsh-completions-0.0.0"
+        { preferLocalBuild = true; }
+        ''
+          mkdir -p $out/share/zsh/site-functions
+          cat <<-'EOF' > $out/share/zsh/site-functions/_darwin-rebuild
+          #compdef darwin-rebuild
+          #autoload
+          _nix-common-options
+          local -a _1st_arguments
+          _1st_arguments=(
+            'switch:Build, activate, and update the current generation'\
+            'build:Build without activating or updating the current generation'\
+            'check:Build and run the activation sanity checks'\
+            'changelog:Show most recent entries in the changelog'\
+          )
+          _arguments \
+            '--list-generations[Print a list of all generations in the active profile]'\
+            '--rollback[Roll back to the previous configuration]'\
+            {--switch-generation,-G}'[Activate specified generation]'\
+            '(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\
+            '1:: :->subcmds' && return 0
+          case $state in
+            subcmds)
+              _describe -t commands 'darwin-rebuild subcommands' _1st_arguments
+            ;;
+          esac
+          EOF
+        '';
+      })
+  ];
+  home.packages = with pkgs; [
+      aspell
+      aspellDicts.en
+      darwin-zsh-completions
+  ];
+
+  programs.zsh.shellAliases = {
+    da = "darwin-rebuild";
+    das = "darwin-rebuild switch";
+  };
+
+  # Use GPG from  GPGTools
+  programs.git.signing.gpgPath = "/usr/local/bin/gpg";
+}