home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b487787a1c784cdca3f6bc45a6dff2f6cc22e55f
parent bae3c03f8e497eabb7de8317db8c56ac9a737bf2
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Thu,  1 Nov 2018 17:46:14 +0100

profiles.desktop: enable gpg-agent…

… and allow-emacs-pinentry if emacs is enabled

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
Mdesktop.nix | 10----------
Mmodules/profiles/desktop.nix | 19+++++++++++++------
Mmodules/profiles/emacs.nix | 451++++++++++++++++++++++++++++++++++++++++---------------------------------------
3 files changed, 242 insertions(+), 238 deletions(-)

diff --git a/desktop.nix b/desktop.nix @@ -2,16 +2,6 @@ { imports = [ ./base.nix ]; - services = { - gpg-agent = { - enable = true; - enableSshSupport = true; - defaultCacheTtlSsh = 7200; - extraConfig = '' - allow-emacs-pinentry - ''; - }; - }; home.packages = with pkgs; [ aspell aspellDicts.en diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix @@ -54,12 +54,19 @@ in package = pkgs.arc-theme; }; }; - services.redshift = { - enable = true; - brightness = { day = "1"; night = "0.9"; }; - latitude = "48.3"; - longitude = "7.5"; - tray = true; + services = { + redshift = { + enable = true; + brightness = { day = "1"; night = "0.9"; }; + latitude = "48.3"; + longitude = "7.5"; + tray = true; + }; + gpg-agent = { + enable = true; + enableSshSupport = true; + defaultCacheTtlSsh = 7200; + }; }; home.file.".XCompose".source = ./assets/xorg/XCompose; home.file.".Xmodmap".source = ./assets/xorg/Xmodmap; diff --git a/modules/profiles/emacs.nix b/modules/profiles/emacs.nix @@ -14,229 +14,236 @@ in }; }; }; - config = mkIf cfg.enable { - home.file.".local/share/applications/org-protocol.desktop".source = ./assets/xorg/org-protocol.desktop; - systemd.user.services.emacs = { - Unit = { - Description = "Emacs: the extensible, self-documenting text editor"; + config = mkIf cfg.enable (mkMerge [ + { + home.file.".local/share/applications/org-protocol.desktop".source = ./assets/xorg/org-protocol.desktop; + systemd.user.services.emacs = { + Unit = { + Description = "Emacs: the extensible, self-documenting text editor"; + }; + Service = { + Environment = '' + PATH=/home/vincent/bin:/home/vincent/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin GOPATH=/home/vincent ASPELL_CONF=dict-dir=/home/vincent/.nix-profile/lib/aspell + ''; + Type = "forking"; + ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec /home/vincent/.nix-profile/bin/emacs --daemon'"; + ExecStop = "/home/vincent/.nix-profile/bin/emacsclient --eval (kill-emacs)"; + Restart = "always"; + }; + Install = { + WantedBy = [ "default.target" ]; + }; }; - Service = { - Environment = '' - PATH=/home/vincent/bin:/home/vincent/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin GOPATH=/home/vincent ASPELL_CONF=dict-dir=/home/vincent/.nix-profile/lib/aspell - ''; - Type = "forking"; - ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec /home/vincent/.nix-profile/bin/emacs --daemon'"; - ExecStop = "/home/vincent/.nix-profile/bin/emacsclient --eval (kill-emacs)"; - Restart = "always"; + systemd.user.services.emacs-org = { + Unit = { + Description = "Emacs: the extensible, self-documenting text editor"; + }; + Service = { + Environment = '' + PATH=/home/vincent/bin:/home/vincent/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin GOPATH=/home/vincent ASPELL_CONF=dict-dir=/home/vincent/.nix-profile/lib/aspell + ''; + Type = "forking"; + ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec /home/vincent/.nix-profile/bin/emacs --daemon=org'"; + ExecStop = "/home/vincent/.nix-profile/bin/emacsclient --socket-name=org --eval (kill-emacs)"; + Restart = "always"; + }; + Install = { + WantedBy = [ "default.target" ]; + }; }; - Install = { - WantedBy = [ "default.target" ]; + programs.emacs = { + enable = true; + # package = pkgs.myEmacs; + extraPackages = epkgs: with epkgs; [ + ace-window + aggressive-indent + # alert + async + # auto-yasnippet + avy + bm + command-log-mode + company + company-emoji + company-ghc + company-go + company-lsp + (with melpaPackages; [ company-nixos-options ]) + #company-restclient + #company-shell + counsel + #counsel-gtags + counsel-projectile + # counsel-spotify + #counsel-tramp + #crux + dash + delight + diff-hl + diffview + dired-collapse + dired-sidebar + direnv + docker + docker-compose-mode + dockerfile-mode + doom-themes + #dumb-jump + #elpy + eshell-bookmark + (with melpaPackages; [ + eshell-prompt-extras + esh-autosuggest + ]) + exec-path-from-shell + expand-region + eyebrowse + (with melpaPackages; [ ez-query-replace ]) + fancy-narrow + fish-mode + (with melpaPackages; [ fish-completion ]) + flycheck + #flycheck-clojure + #flycheck-haskell + #flycheck-inline + #flycheck-gometalinter + flycheck-popup-tip + focus + fullframe + #ggtags + #ghub + #ghub-plus + git-commit + #git-timemachine + gitattributes-mode + gitconfig-mode + gitignore-mode + (with melpaPackages; [ + go-add-tags + # go-dlv + go-eldoc + go-errcheck + go-fill-struct + go-guru + # go-impl + go-mode + #gorepl-mode + go-tag + gotest + ]) + groovy-mode + hardhat + #haskell-mode + helpful + highlight + #highlight-escape-sequences + #highlight-leading-spaces + highlight-numbers + highlight-symbol + hydra + #ialign + ibuffer-vc + iedit + (with melpaPackages; [ imenu-list ]) + ivy + ivy-hydra + ivy-pass + ivy-rich + #jedi + #jq-mode + js-import + js2-mode + js2-refactor + json-mode + json-reformat + json-snatcher + (with melpaPackages; [ + key-chord + lsp-haskell + lsp-javascript-typescript + lsp-go + lsp-mode + lsp-python + lsp-rust + lsp-ui + ]) + magit + magit-gitflow + magit-popup + magit-todos + markdown-mode + (with melpaPackages; [ minions moody ]) + multiple-cursors + (with melpaPackages; [ + nix-buffer + nix-mode + nix-sandbox + nixos-options + ]) + no-littering + ob-async + ob-go + #ob-restclient + ob-rust + ob-typescript + org-plus-contrib + org-ref + #org-super-agenda + #org-web-tools + (with melpaPackages; [ org-projectile ]) + ox-epub + ox-hugo + ox-ioslide + ox-pandoc + ox-tufte + ox-twbs + pandoc-mode + pass + password-store + password-store-otp + # persistent-scratch + pinentry + popup + projectile + projectile-ripgrep + (with melpaPackages; [ pulseaudio-control ]) + python-mode + rainbow-delimiters + rainbow-mode + ripgrep + (with melpaPackages; [ rjsx-mode ]) + shift-number + shackle + shx + smart-jump + (with melpaPackages; [ smartparens ]) + solaire-mode + string-edit + #tide + toml-mode + typescript-mode + (with melpaPackages; [ undo-tree ]) + # (with melpaPackages; [ use-package use-package-chords use-package-ensure-system-package ]) + (with melpaPackages; [ use-package ]) + # vdiff + visual-fill-column + visual-regexp + #visual-regexp-steroids + #vlf + web-mode + wgrep + which-key + # window-purpose + with-editor + yasnippet + yaml-mode + ]; }; - }; - systemd.user.services.emacs-org = { - Unit = { - Description = "Emacs: the extensible, self-documenting text editor"; - }; - Service = { - Environment = '' - PATH=/home/vincent/bin:/home/vincent/.local/npm/bin:/run/wrappers/bin:/etc/profiles/per-user/vincent/bin:${config.home.profileDirectory}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin GOPATH=/home/vincent ASPELL_CONF=dict-dir=/home/vincent/.nix-profile/lib/aspell - ''; - Type = "forking"; - ExecStart = "${pkgs.bash}/bin/bash -c 'source /etc/profile; exec /home/vincent/.nix-profile/bin/emacs --daemon=org'"; - ExecStop = "/home/vincent/.nix-profile/bin/emacsclient --socket-name=org --eval (kill-emacs)"; - Restart = "always"; - }; - Install = { - WantedBy = [ "default.target" ]; - }; - }; - programs.emacs = { - enable = true; - # package = pkgs.myEmacs; - extraPackages = epkgs: with epkgs; [ - ace-window - aggressive-indent - # alert - async - # auto-yasnippet - avy - bm - command-log-mode - company - company-emoji - company-ghc - company-go - company-lsp - (with melpaPackages; [ company-nixos-options ]) - #company-restclient - #company-shell - counsel - #counsel-gtags - counsel-projectile - # counsel-spotify - #counsel-tramp - #crux - dash - delight - diff-hl - diffview - dired-collapse - dired-sidebar - direnv - docker - docker-compose-mode - dockerfile-mode - doom-themes - #dumb-jump - #elpy - eshell-bookmark - (with melpaPackages; [ - eshell-prompt-extras - esh-autosuggest - ]) - exec-path-from-shell - expand-region - eyebrowse - (with melpaPackages; [ ez-query-replace ]) - fancy-narrow - fish-mode - (with melpaPackages; [ fish-completion ]) - flycheck - #flycheck-clojure - #flycheck-haskell - #flycheck-inline - #flycheck-gometalinter - flycheck-popup-tip - focus - fullframe - #ggtags - #ghub - #ghub-plus - git-commit - #git-timemachine - gitattributes-mode - gitconfig-mode - gitignore-mode - (with melpaPackages; [ - go-add-tags - # go-dlv - go-eldoc - go-errcheck - go-fill-struct - go-guru - # go-impl - go-mode - #gorepl-mode - go-tag - gotest - ]) - groovy-mode - hardhat - #haskell-mode - helpful - highlight - #highlight-escape-sequences - #highlight-leading-spaces - highlight-numbers - highlight-symbol - hydra - #ialign - ibuffer-vc - iedit - (with melpaPackages; [ imenu-list ]) - ivy - ivy-hydra - ivy-pass - ivy-rich - #jedi - #jq-mode - js-import - js2-mode - js2-refactor - json-mode - json-reformat - json-snatcher - (with melpaPackages; [ - key-chord - lsp-haskell - lsp-javascript-typescript - lsp-go - lsp-mode - lsp-python - lsp-rust - lsp-ui - ]) - magit - magit-gitflow - magit-popup - magit-todos - markdown-mode - (with melpaPackages; [ minions moody ]) - multiple-cursors - (with melpaPackages; [ - nix-buffer - nix-mode - nix-sandbox - nixos-options - ]) - no-littering - ob-async - ob-go - #ob-restclient - ob-rust - ob-typescript - org-plus-contrib - org-ref - #org-super-agenda - #org-web-tools - (with melpaPackages; [ org-projectile ]) - ox-epub - ox-hugo - ox-ioslide - ox-pandoc - ox-tufte - ox-twbs - pandoc-mode - pass - password-store - password-store-otp - # persistent-scratch - pinentry - popup - projectile - projectile-ripgrep - (with melpaPackages; [ pulseaudio-control ]) - python-mode - rainbow-delimiters - rainbow-mode - ripgrep - (with melpaPackages; [ rjsx-mode ]) - shift-number - shackle - shx - smart-jump - (with melpaPackages; [ smartparens ]) - solaire-mode - string-edit - #tide - toml-mode - typescript-mode - (with melpaPackages; [ undo-tree ]) - # (with melpaPackages; [ use-package use-package-chords use-package-ensure-system-package ]) - (with melpaPackages; [ use-package ]) - # vdiff - visual-fill-column - visual-regexp - #visual-regexp-steroids - #vlf - web-mode - wgrep - which-key - # window-purpose - with-editor - yasnippet - yaml-mode - ]; - }; - }; + } + (mkIf config.services.gpg-agent.enable { + services.gpg-agent.extraConfig = '' + allow-emacs-pinentry + ''; + }) + ]); }