summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2019-10-04 16:14:13 +0200
committerAlan Pearce2019-10-04 16:31:27 +0200
commit5d859b419e1e1a850cd160e05d98bda3fd9883ea (patch)
treedb18b88172fe344dcb84e07d158c2d7c61f6005a
parenta6008a0432b90faa49ffaa76267d3af98adac54a (diff)
downloadnixfiles-5d859b419e1e1a850cd160e05d98bda3fd9883ea.tar.lz
nixfiles-5d859b419e1e1a850cd160e05d98bda3fd9883ea.tar.zst
nixfiles-5d859b419e1e1a850cd160e05d98bda3fd9883ea.zip
Move Emacs to user configuration
-rw-r--r--system/modules/user-interface.nix40
-rw-r--r--system/satoshipad.nix2
-rw-r--r--system/trillian.nix13
-rwxr-xr-xuser/emacs/.local/share/applications/emacsclient.desktop12
-rw-r--r--user/modules/emacs.nix48
-rw-r--r--user/packages/emacs.nix (renamed from system/packages/emacs.nix)2
6 files changed, 48 insertions, 69 deletions
diff --git a/system/modules/user-interface.nix b/system/modules/user-interface.nix
index 4a1c0053..c913bc70 100644
--- a/system/modules/user-interface.nix
+++ b/system/modules/user-interface.nix
@@ -1,45 +1,8 @@
 { config, pkgs, lib, makeDesktopItem, ... }:
 
-let
-  emacsPackage = import ../packages/emacs.nix {
-    pkgs = pkgs.unstable;
-    emacs = pkgs.unstable.emacs.override {
-      withGTK3 = false;
-    };
-  };
-  editorScript = pkgs.writeScriptBin "edit" ''
-    #!${pkgs.runtimeShell}
-    if [ -z "$1" ]; then
-      exec ${emacsPackage}/bin/emacsclient --create-frame --alternate-editor ${emacsPackage}/bin/emacs
-    else
-      exec ${emacsPackage}/bin/emacsclient --alternate-editor ${emacsPackage}/bin/emacs "$@"
-    fi
-  '';
-  desktopApplicationFile = makeDesktopItem {
-    name = "emacsclient.desktop";
-    destination = "/share/applications/emacsclient.desktop";
-    text = ''
-      [Desktop Entry]
-      Name=Emacsclient
-      GenericName=Text Editor
-      Comment=Edit text
-      MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-      Exec=${editorScript}/bin/edit %F
-      Icon=emacs
-      Type=Application
-      Terminal=false
-      Categories=Development;TextEditor;
-      StartupWMClass=Emacs
-      Keywords=Text;Editor;
-    '';
-  };
-in
 { documentation.info.enable = true;
   nixpkgs.config.firefox.enableOfficialBranding = true;
 
-  nixpkgs.config.packageOverrides = pkgs: {
-    myEmacs = emacsPackage;
-  };
   environment.systemPackages = with pkgs; [
     aria2
     firefox
@@ -51,8 +14,6 @@ in
     cmus
 
     fish # for emacs-fish-completion
-    myEmacs
-    editorScript
 
     unstable.xst # st, but with support for XResources
 
@@ -120,7 +81,6 @@ in
     # This is required so that GTK applications launched from Emacs
     # get properly themed:
     GTK_DATA_PREFIX = "${config.system.path}";
-    EDITOR = lib.mkOverride 900 "${editorScript}/bin/edit";
   };
 
   services.redshift = {
diff --git a/system/satoshipad.nix b/system/satoshipad.nix
index 86123e1e..d473eb33 100644
--- a/system/satoshipad.nix
+++ b/system/satoshipad.nix
@@ -54,7 +54,7 @@
     serviceConfig = {
       Type = "oneshot";
       ExecStart = "${pkgs.isync}/bin/mbsync -Va";
-      ExecStartPost = "${pkgs.myEmacs}/bin/emacsclient -e (mu4e-update-index)";
+      # ExecStartPost = "${pkgs.myEmacs}/bin/emacsclient -e (mu4e-update-index)";
     };
   };
 
diff --git a/system/trillian.nix b/system/trillian.nix
index 1f4ce67e..8c1f0deb 100644
--- a/system/trillian.nix
+++ b/system/trillian.nix
@@ -1,10 +1,5 @@
 { config, pkgs, ... }:
 
-let emacsPackage = import ./packages/emacs.nix {
-  pkgs = pkgs.unstable;
-  emacs = pkgs.unstable.emacs;
-};
-in
 {
   imports = [
     ./private/default.nix
@@ -39,7 +34,6 @@ in
   environment.systemPackages = with pkgs;
     [
       mosh
-      emacsPackage
       aspell
       aspellDicts.en
       darwin-zsh-completions
@@ -75,13 +69,6 @@ in
     };
   };
 
-  # launchd.user.agents.emacs-daemon = {
-  #   command = "${emacsPackage}/bin/emacs --daemon";
-  #   serviceConfig = {
-  #     KeepAlive = true;
-  #   };
-  # };
-  #
   nix.gc = {
     automatic = true;
     options = "--max-freed $((25 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | awk '{ print $4 }')))";
diff --git a/user/emacs/.local/share/applications/emacsclient.desktop b/user/emacs/.local/share/applications/emacsclient.desktop
deleted file mode 100755
index 7cf42241..00000000
--- a/user/emacs/.local/share/applications/emacsclient.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env xdg-open
-[Desktop Entry]
-Name=Emacsclient
-Comment=Edit text
-MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=emacsclient -c %F -a ""
-Icon=emacs
-Type=Application
-Terminal=false
-Categories=Development;TextEditor;
-StartupWMClass=Emacs
-Keywords=Text;Editor;
diff --git a/user/modules/emacs.nix b/user/modules/emacs.nix
index 82a22b52..6860627e 100644
--- a/user/modules/emacs.nix
+++ b/user/modules/emacs.nix
@@ -1,9 +1,53 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
+let
+  pkgsUnstable = if pkgs.stdenv.isDarwin then import <nixpkgs-unstable> {} else import <nixos-unstable> {};
+  emacsPackage = import ../packages/emacs.nix {
+    pkgs = pkgs.unstable;
+    emacs = pkgs.unstable.emacs;
+  };
+
+  editorScript = pkgs.writeScriptBin "edit" ''
+    #!${pkgs.runtimeShell}
+    if [ -z "$1" ]; then
+      exec ${emacsPackage}/bin/emacsclient --create-frame --alternate-editor ${emacsPackage}/bin/emacs
+    else
+      exec ${emacsPackage}/bin/emacsclient --alternate-editor ${emacsPackage}/bin/emacs "$@"
+    fi
+  '';
+  desktopApplicationFile = pkgs.writeTextFile {
+    name = "emacsclient.desktop";
+    destination = "/share/applications/emacsclient.desktop";
+    text = ''
+      [Desktop Entry]
+      Name=Emacsclient
+      GenericName=Text Editor
+      Comment=Edit text
+      MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+      Exec=${editorScript}/bin/edit %F
+      Icon=emacs
+      Type=Application
+      Terminal=false
+      Categories=Development;TextEditor;
+      StartupWMClass=Emacs
+      Keywords=Text;Editor;
+    '';
+  };
+in
 {
+  home.packages = [
+    emacsPackage
+    editorScript
+  ];
+  nixpkgs.config.packageOverrides = {
+    myEmacs = emacsPackage;
+  };
+  systemd.user.sessionVariables = {
+    EDITOR = lib.mkOverride 900 "${editorScript}/bin/edit";
+  };
   home.file.".emacs.d" = {
     recursive = true;
     source = ../emacs/.emacs.d;
   };
-  home.file.".local/share/applications/emacsclient.desktop".source = ../emacs/.local/share/applications/emacsclient.desktop;
+  home.file.".local/share/applications/emacsclient.desktop".source = desktopApplicationFile;
 }
diff --git a/system/packages/emacs.nix b/user/packages/emacs.nix
index e0df78b0..3644f520 100644
--- a/system/packages/emacs.nix
+++ b/user/packages/emacs.nix
@@ -123,5 +123,5 @@ in
   ]) ++ (if !stdenv.isDarwin then [
     # From main packages set
 
-    pkgs.unstable.mu
+    pkgs.mu
   ] else []))