about summary refs log tree commit diff stats
path: root/nix-conf/home
diff options
context:
space:
mode:
Diffstat (limited to 'nix-conf/home')
-rw-r--r--nix-conf/home/includes/common.nix1
-rw-r--r--nix-conf/home/includes/darwin.nix13
-rw-r--r--nix-conf/home/includes/secrets.yaml8
-rw-r--r--nix-conf/home/includes/zsh.nix1
-rw-r--r--nix-conf/home/kevel.nix84
5 files changed, 100 insertions, 7 deletions
diff --git a/nix-conf/home/includes/common.nix b/nix-conf/home/includes/common.nix
index af1e484..cdbd064 100644
--- a/nix-conf/home/includes/common.nix
+++ b/nix-conf/home/includes/common.nix
@@ -369,6 +369,7 @@
     };
   };
 
+  # TODO: why does programs.nh.flake bring in so many dependencies?
   programs.nh.enable = true;
 }
 
diff --git a/nix-conf/home/includes/darwin.nix b/nix-conf/home/includes/darwin.nix
index 6a15642..a6b8cd2 100644
--- a/nix-conf/home/includes/darwin.nix
+++ b/nix-conf/home/includes/darwin.nix
@@ -33,8 +33,8 @@ let
           (old.patches or [])
           ++ [
             (pkgs.fetchpatch {
-              url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/fix-window-role.patch";
-              sha256 = "0c41rgpi19vr9ai740g09lka3nkjk48ppqyqdnncjrkfgvm2710z";
+              url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch";
+              sha256 = "+z/KfsBm1lvZTZNiMbxzXQGRTjkCFO4QPlEK35upjsE=";
             })
             (pkgs.fetchpatch {
               url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch";
@@ -67,7 +67,7 @@ in
     findutils
     gh
     gh-dash
-    #gnused
+    gnused
     #mopidy-with-extensions
     #mpdscribble
     #mpc-cli
@@ -107,6 +107,13 @@ in
     })
   ];
 
+  home.shellAliases = {
+    notify_success = ''( osascript -e 'display notification "The command finished" with title "Success"' && afplay /System/Library/Sounds/Ping.aiff && say done  )'';
+    notify_failure = ''( osascript -e 'display notification "The command failed" with title "Failure"' && afplay /System/Library/Sounds/Sosumi.aiff && say failed  )'';
+    notify = "notify_success || notify_failure";
+    ltn = "lein test && notify";
+  };
+
   # TODO is this a good idea?
   #programs.zsh.shellAliases = { emacs = "${emacs-plus-with-packages}/Applications/Emacs.app/Contents/MacOS/Emacs"; };
 }
diff --git a/nix-conf/home/includes/secrets.yaml b/nix-conf/home/includes/secrets.yaml
index 2fc9d8c..12c2bc0 100644
--- a/nix-conf/home/includes/secrets.yaml
+++ b/nix-conf/home/includes/secrets.yaml
@@ -1,9 +1,9 @@
 ssh_config:
     oci: ENC[AES256_GCM,data:l1GZ6mszgDhGztWmMdkNY2wRGfLIOGfHou7m0p8NkvaZZ3oKhblyu9C2Y2uEZArC8aCysxmU0QDfeIxDAzBdszUY,iv:HD8xdaiF9s0XZAuHNjAQfEtMgKaM0R12FCv5rTq19+Y=,tag:bfa48iOXhASXc+JhmYy/EQ==,type:str]
-    otm: ""
+    kevel: ""
 git_email_config:
     default: ENC[AES256_GCM,data:ADmbGuV+E5wvGdbdC12BDi2TvHeoIRWjerKxnvDV7dENCxFyy+3P01IyCA==,iv:Nik4YiC8WhWmAnM7g1ER5HU0pg88l9uFiHQNtou5jas=,tag:RtK0XKKcHHR39p3mSl5YRw==,type:str]
-    otm: ENC[AES256_GCM,data:dFrxmxFRU5MThUSdqWuL3ZmBCJfMUVYWQTnWQF25Cnn6lMflau5vHNEFZZDZxyFBk7A=,iv:EOv1xgxXuN3LuiO1eorazgQHBkWY9GKUjFBaYnfkLRI=,tag:Mg6SwdQSGjtlR5iiOU/q7g==,type:str]
+    kevel: ENC[AES256_GCM,data:rCo2e2mxxVJHsnq2kjQCusd6toXkFbhBUno4r5tntofcOaHMh7qw,iv:3GnYSdzCjvaxAVykRl9YV4NhyX7KcMrtEFn5wpMDghs=,tag:FCzQ/zaSCe+iUnEwV7N86w==,type:str]
 sops:
     age:
         - recipient: age1w7kjp0qdgfyg9cyj5w4qc4fc9qz3w65xw2veazesfgdenqrd3ucqsc5ejv
@@ -15,7 +15,7 @@ sops:
             cjlWWTNQR3lLLzBqTHhld05VblFJdHcKihceil9ge+IKG2GZcLpGWUncvRvmyJ7w
             YiWtb/ApF4T27wsmmFyLSnG8OWkLCKzaeU4QOVIGYQcfzzcQD5nUGg==
             -----END AGE ENCRYPTED FILE-----
-    lastmodified: "2025-04-29T13:45:42Z"
-    mac: ENC[AES256_GCM,data:Z4jJujUvl8jmJQbquV9NeczVZF17HI01sDpUoSSS7cM89WUOZzAOcT3zxR4hzyCfq4je++YkBPPFl4hcqbuVyBu8zCxY4z9673sFSLYrUA8THVeLYjMOTo0Hu0tIy8vy+uZZcAuRFaXyS+GrQHAdSSm4zVkwLG9R1nod+ys6LvQ=,iv:WfubcgFSY94cyfrlAlND6CQudoISuGL5fBhm9E3O4Q4=,tag:IeKYzou3EDwGyA23FGHtdA==,type:str]
+    lastmodified: "2025-08-08T14:56:52Z"
+    mac: ENC[AES256_GCM,data:480PFn+KvEVj+LnI5GL8GNIn3LN4M9HAL6HVAPNlaA/pO6esBs47BgRi9IsIZ9NA5lDHmZF58Fq4aiUBNQQo3DsHh+XTD6U+zrn6M2oPYW9mkaXKqSVRd7Ejq44MQ8fZ4qdFdtt/NxGyLlJ9ruPWJh4j6YjGuMaJ4mVfS17aW+U=,iv:1qpDVk+Bv/m6DvXUeNvbptT0sUVRVDlU6XpUCAl0Xd8=,tag:Xl/pMO85AT+LW4CVb+noFA==,type:str]
     unencrypted_suffix: _unencrypted
     version: 3.10.2
diff --git a/nix-conf/home/includes/zsh.nix b/nix-conf/home/includes/zsh.nix
index 650f559..37c0cd4 100644
--- a/nix-conf/home/includes/zsh.nix
+++ b/nix-conf/home/includes/zsh.nix
@@ -144,6 +144,7 @@ in
       PER_DIRECTORY_HISTORY_TOGGLE = "^\\\\"; # ^\\ is ^#
       HISTORY_START_WITH_GLOBAL = true;
       LESS = "-iRXF";
+      NH_FLAKE = "$HOME/dotfiles/nix-conf";
     };
     initContent = lib.mkMerge [
       (lib.mkBefore ''
diff --git a/nix-conf/home/kevel.nix b/nix-conf/home/kevel.nix
new file mode 100644
index 0000000..ff46a2a
--- /dev/null
+++ b/nix-conf/home/kevel.nix
@@ -0,0 +1,84 @@
+{
+  config,
+  lib,
+  pkgs,
+  inputs,
+  ...
+}:
+{
+  imports = [ ./includes/darwin.nix ];
+
+  programs.home-manager.enable = true;
+
+  home.username = "djm";
+  home.homeDirectory = "/Users/djm";
+
+  # TODO move to darwin.nix
+  home.shellAliases = {
+    notify_success = ''( osascript -e 'display notification "The command finished" with title "Success"' && afplay /System/Library/Sounds/Ping.aiff && say done  )'';
+    notify_failure = ''( osascript -e 'display notification "The command failed" with title "Failure"' && afplay /System/Library/Sounds/Sosumi.aiff && say failed  )'';
+    notify = "notify_success || notify_failure";
+    ltn = "lein test && notify";
+  };
+
+  home.packages = with pkgs; [
+    granted
+  ];
+
+  # TODO
+  #home.file = {
+  #};
+
+  sops.secrets = {
+    "git_email_config/kevel" = { };
+    "ssh_config/kevel" = { };
+  };
+
+  programs.java = {
+    enable = true;
+  };
+
+  # TODO
+  programs.git = {
+    signing.signByDefault = lib.mkForce false;
+    includes = lib.mkForce [
+      { path = config.sops.secrets."git_email_config/kevel".path; }
+      {
+        path = config.sops.secrets."git_email_config/default".path;
+        condition = "gitdir:~/src/ext/";
+      }
+      {
+        path = config.sops.secrets."git_email_config/default".path;
+        condition = "gitdir:~/dotfiles/";
+      }
+      {
+        contents = {
+          commit.gpgSign = true;
+          tag.gpgSign = true;
+        };
+        condition = "gitdir:~/src/ext/";
+      }
+      {
+        contents = {
+          commit.gpgSign = true;
+          tag.gpgSign = true;
+        };
+        condition = "gitdir:~/dotfiles/";
+      }
+    ];
+    ignores = [
+      ".envrc"
+      ".clj-kondo"
+      "shell.nix"
+      "default.nix"
+      ".direnv"
+      ".dir-locals.el"
+    ];
+  };
+  # TODO don't need different accounts, just different emails
+  programs.ssh = {
+    includes = [ config.sops.secrets."ssh_config/kevel".path ];
+  };
+
+  home.stateVersion = "25.05";
+}