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 "$@" +