diff --git a/emacsterm b/emacsterm
deleted file mode 100755
index ec859ca..0000000
--- a/emacsterm
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-emacs -nw $@
diff --git a/gnu.emacs.daemon.plist b/gnu.emacs.daemon.plist
new file mode 100644
index 0000000..0d96245
--- /dev/null
+++ b/gnu.emacs.daemon.plist
@@ -0,0 +1,19 @@
+
+
+
+
+ Label
+ gnu.emacs.daemon
+ ProgramArguments
+
+ /Applications/Emacs.app/Contents/MacOS/Emacs
+ --daemon
+
+ RunAtLoad
+
+ UserName
+ salar
+
+
+
diff --git a/home.nix b/home.nix
index 0350ec1..a15c726 100644
--- a/home.nix
+++ b/home.nix
@@ -18,7 +18,9 @@
home.stateVersion = "20.09";
home.sessionVariables = {
- EDITOR = "nvim";
+ EDITOR = "$HOME/bin/run-emacsclient-cli";
+ VISUAL = "$EDITOR";
+ ALTERNATE_EDITOR = "nvim";
};
programs.git = {
@@ -171,6 +173,16 @@
let g:ackprg='rg --vimgrep --no-heading'
set grepprg=rg\ --vimgrep
let g:rg_command = 'rg --vimgrep -S'
+ let mapleader = "\"
+ map! jj
+ " FZF
+ set rtp+=/Users/salar/.nix-profile/bin/fzf
+ imap (fzf-complete-line)
+ map b :Buffers
+ map f :Files
+ map g :GFiles
+ map y :Tags
+ autocmd! FileType fzf tnoremap q
nnoremap :FZF
let g:rainbow_active = 1
let g:rainbow_conf = {
@@ -293,11 +305,14 @@
nixversion="nix eval nixpkgs.lib.version";
nixdaemon="sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && launchctl start org.nixos.nix-daemon";
v="nvim";
- vc="emacsclient -c -a ''";
+ e="$HOME/bin/run-emacsclient-cli";
+ ew="$HOME/bin/run-emacsclient";
tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml";
sshfre1="ssh salar@fre1.softinio.net";
moshfre1="mosh salar@fre1.softinio.net";
portsupdate="sudo port -v selfupdate";
+ emacsload="launchctl load -w ~/Library/LaunchAgents/gnu.emacs.daemon.plist";
+ emacsunload="launchctl unload ~/Library/LaunchAgents/gnu.emacs.daemon.plist";
};
};
@@ -335,6 +350,7 @@
pkgs.scalafmt
pkgs.coursier
pkgs.ammonite
+ pkgs.mill
pkgs.bloop
pkgs.yarn
pkgs.openssl
@@ -375,5 +391,6 @@
pkgs.tealdeer
pkgs.hyperfine
pkgs.graphviz
+ pkgs.metals
];
}
diff --git a/run-emacsclient b/run-emacsclient
new file mode 100755
index 0000000..f3c1088
--- /dev/null
+++ b/run-emacsclient
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+if [ -z "$EMACSCLIENT_OPTS" ]; then
+ EMACSCLIENT_OPTS="-nc"
+fi
+
+if [ $# -eq 0 ]; then
+ COMMAND='/Users/salar/.nix-profile/bin/emacsclient '$EMACSCLIENT_OPTS' -e "(if (display-graphic-p) (x-focus-frame nil))"'
+else
+ COMMAND='/Users/salar/.nix-profile/bin/emacsclient '$EMACSCLIENT_OPTS' "$@"'
+fi
+
+if [ -z "$(shopt | grep login_shell)" ]; then
+ echo "$COMMAND" | exec bash --login -s "$@"
+else
+ eval "exec $COMMAND"
+fi
+
diff --git a/run-emacsclient-cli b/run-emacsclient-cli
new file mode 100755
index 0000000..75c8fd3
--- /dev/null
+++ b/run-emacsclient-cli
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+export EMACSCLIENT_OPTS='-t'
+exec run-emacsclient "$@"
+