diff --git a/README.md b/README.md index 1466b28..d203bf4 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,11 @@ The `latex` docker contains tools for compiling `latex`. The `route` docker is used to setup a socks5 proxy server using `ssh`. -## Scripts +## Bin -The `scr/` folder contains dockerised scripts: -* `ipython.sh`: Dockerised IPython via `hub-jupyter` for syntax highlighting - and IDE support +The `bin/` folder contains dockerised scripts. They should be symlinked into +`/usr/local/bin` via `symlinks-bin.sh`, which has to be executed as root. + +## Spacemacs + +After setting up dependencies, execute `M-x pdf-tools-install`. diff --git a/bin/latex-runtime.sh b/bin/latex-runtime.sh new file mode 100755 index 0000000..8580aeb --- /dev/null +++ b/bin/latex-runtime.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +docker run --rm -it \ + --volume "$PWD:/data" \ + --volume "$HOME/.latexmkrc:/data/ro" \ + --volume "$HOME/texmf:/root/texmf" \ + --workdir "/data" \ + --entrypoint=$1 \ + latex \ + ${@:2} diff --git a/bin/latexmk b/bin/latexmk new file mode 100755 index 0000000..0db8aac --- /dev/null +++ b/bin/latexmk @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +latex-runtime.sh latexmk $@ diff --git a/bin/pdflatex b/bin/pdflatex new file mode 100755 index 0000000..179c092 --- /dev/null +++ b/bin/pdflatex @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +latex-runtime.sh pdflatex $@ diff --git a/scr/ipython.sh b/bin/python3 similarity index 54% rename from scr/ipython.sh rename to bin/python3 index 0ec1871..81d7694 100755 --- a/scr/ipython.sh +++ b/bin/python3 @@ -1,6 +1,8 @@ #!/usr/bin/env bash docker run --rm -it \ - --entrypoint=ipython \ + --entrypoint=python \ hub-jupyter \ - -i --simple-prompt + $@ + +# -i --simple-prompt diff --git a/home/spacemacs b/home/spacemacs index 784df5d..7415faf 100644 --- a/home/spacemacs +++ b/home/spacemacs @@ -2,563 +2,609 @@ ;; This file is loaded by Spacemacs at startup. ;; It must be stored in your home directory. + (defun dotspacemacs/layers () - "Layer configuration: + "Layer configuration: This function should only modify configuration layer settings." - (setq-default - ;; Base distribution to use. This is a layer contained in the directory - ;; `+distribution'. For now available distributions are `spacemacs-base' - ;; or `spacemacs'. (default 'spacemacs) - dotspacemacs-distribution 'spacemacs + (setq-default + ;; Base distribution to use. This is a layer contained in the directory + ;; `+distribution'. For now available distributions are `spacemacs-base' + ;; or `spacemacs'. (default 'spacemacs) + dotspacemacs-distribution 'spacemacs - ;; Lazy installation of layers (i.e. layers are installed only when a file - ;; with a supported type is opened). Possible values are `all', `unused' - ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers - ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will - ;; lazy install any layer that support lazy installation even the layers - ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy - ;; installation feature and you have to explicitly list a layer in the - ;; variable `dotspacemacs-configuration-layers' to install it. - ;; (default 'unused) - dotspacemacs-enable-lazy-installation 'unused + ;; Lazy installation of layers (i.e. layers are installed only when a file + ;; with a supported type is opened). Possible values are `all', `unused' + ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers + ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will + ;; lazy install any layer that support lazy installation even the layers + ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy + ;; installation feature and you have to explicitly list a layer in the + ;; variable `dotspacemacs-configuration-layers' to install it. + ;; (default 'unused) + dotspacemacs-enable-lazy-installation 'unused - ;; If non-nil then Spacemacs will ask for confirmation before installing - ;; a layer lazily. (default t) - dotspacemacs-ask-for-lazy-installation t + ;; If non-nil then Spacemacs will ask for confirmation before installing + ;; a layer lazily. (default t) + dotspacemacs-ask-for-lazy-installation t - ;; List of additional paths where to look for configuration layers. - ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') - dotspacemacs-configuration-layer-path '() + ;; List of additional paths where to look for configuration layers. + ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') + dotspacemacs-configuration-layer-path '() - ;; List of configuration layers to load. - dotspacemacs-configuration-layers - '(yaml - shell-scripts - ;; ---------------------------------------------------------------- - ;; Example of useful layers you may want to use right away. - ;; Uncomment some layer names and press `SPC f e R' (Vim style) or - ;; `M-m f e R' (Emacs style) to install them. - ;; ---------------------------------------------------------------- - ;; auto-completion - ;; better-defaults - emacs-lisp - ;; git - helm - ;; lsp - ;; markdown - multiple-cursors - ;; org - ;; (shell :variables - ;; shell-default-height 30 - ;; shell-default-position 'bottom) - ;; spell-checking - ;; syntax-checking - ;; version-control - treemacs - tabs - bibtex - git - latex - markdown - (ocaml :variables - ocaml-format-on-save t - ) - python - neotree + ;; List of configuration layers to load. + dotspacemacs-configuration-layers + '(;; ---------------------------------------------------------------- + ;; Example of useful layers you may want to use right away. + ;; Uncomment some layer names and press `SPC f e R' (Vim style) or + ;; `M-m f e R' (Emacs style) to install them. + ;; ---------------------------------------------------------------- + ;; auto-completion + ;; better-defaults + helm + lsp + multiple-cursors + ;; org + (shell :variables + shell-default-height 30 + shell-default-position 'bottom) + ;; spell-checking + syntax-checking + treemacs + neotree + tabs + pdf - (c-c++ :variables - c-c++-adopt-subprojects t - c-c++-backend 'lsp-clangd - c-c++-lsp-enable-semantic-highlight 'rainbow) - ) + ;; Systems and interfaces + docker + git + version-control + unicode-fonts + + ;; Language support + emacs-lisp + bibtex + (latex :variables + latex-enable-folding t + latex-enable-auto-fill t + latex-enable-magic t) + markdown + yaml + shell-scripts + (python :variables + python-shell-interpreter "/home/hsv/common/scr/python.sh" + python-shell-interpreter-args "-m IPython --simple-prompt -i") + (ocaml :variables + ocaml-format-on-save t) + + (c-c++ :variables + c-c++-adopt-subprojects t + c-c++-backend 'lsp-clangd + c-c++-lsp-enable-semantic-highlight 'rainbow) + javascript + typescript + html + ) - ;; List of additional packages that will be installed without being wrapped - ;; in a layer (generally the packages are installed only and should still be - ;; loaded using load/require/use-package in the user-config section below in - ;; this file). If you need some configuration for these packages, then - ;; consider creating a layer. You can also put the configuration in - ;; `dotspacemacs/user-config'. To use a local version of a package, use the - ;; `:location' property: '(your-package :location "~/path/to/your-package/") - ;; Also include the dependencies as they will not be resolved automatically. - dotspacemacs-additional-packages '() + ;; List of additional packages that will be installed without being wrapped + ;; in a layer (generally the packages are installed only and should still be + ;; loaded using load/require/use-package in the user-config section below in + ;; this file). If you need some configuration for these packages, then + ;; consider creating a layer. You can also put the configuration in + ;; `dotspacemacs/user-config'. To use a local version of a package, use the + ;; `:location' property: '(your-package :location "~/path/to/your-package/") + ;; Also include the dependencies as they will not be resolved automatically. + dotspacemacs-additional-packages + '( + smart-tabs-mode + tablist + ) - ;; A list of packages that cannot be updated. - dotspacemacs-frozen-packages '() + ;; A list of packages that cannot be updated. + dotspacemacs-frozen-packages '() - ;; A list of packages that will not be installed and loaded. - dotspacemacs-excluded-packages '() + ;; A list of packages that will not be installed and loaded. + dotspacemacs-excluded-packages '() - ;; Defines the behaviour of Spacemacs when installing packages. - ;; Possible values are `used-only', `used-but-keep-unused' and `all'. - ;; `used-only' installs only explicitly used packages and deletes any unused - ;; packages as well as their unused dependencies. `used-but-keep-unused' - ;; installs only the used packages but won't delete unused ones. `all' - ;; installs *all* packages supported by Spacemacs and never uninstalls them. - ;; (default is `used-only') - dotspacemacs-install-packages 'used-only)) + ;; Defines the behaviour of Spacemacs when installing packages. + ;; Possible values are `used-only', `used-but-keep-unused' and `all'. + ;; `used-only' installs only explicitly used packages and deletes any unused + ;; packages as well as their unused dependencies. `used-but-keep-unused' + ;; installs only the used packages but won't delete unused ones. `all' + ;; installs *all* packages supported by Spacemacs and never uninstalls them. + ;; (default is `used-only') + dotspacemacs-install-packages 'used-only)) (defun dotspacemacs/init () - "Initialization: + "Initialization: This function is called at the very beginning of Spacemacs startup, before layer configuration. It should only modify the values of Spacemacs settings." - ;; This setq-default sexp is an exhaustive list of all the supported - ;; spacemacs settings. - (setq-default - ;; If non-nil then enable support for the portable dumper. You'll need - ;; to compile Emacs 27 from source following the instructions in file - ;; EXPERIMENTAL.org at to root of the git repository. - ;; (default nil) - dotspacemacs-enable-emacs-pdumper nil - - ;; Name of executable file pointing to emacs 27+. This executable must be - ;; in your PATH. - ;; (default "emacs") - dotspacemacs-emacs-pdumper-executable-file "emacs" - - ;; Name of the Spacemacs dump file. This is the file will be created by the - ;; portable dumper in the cache directory under dumps sub-directory. - ;; To load it when starting Emacs add the parameter `--dump-file' - ;; when invoking Emacs 27.1 executable on the command line, for instance: - ;; ./emacs --dump-file=$HOME/.emacs.d/.cache/dumps/spacemacs-27.1.pdmp - ;; (default (format "spacemacs-%s.pdmp" emacs-version)) - dotspacemacs-emacs-dumper-dump-file (format "spacemacs-%s.pdmp" emacs-version) - - ;; If non-nil ELPA repositories are contacted via HTTPS whenever it's - ;; possible. Set it to nil if you have no way to use HTTPS in your - ;; environment, otherwise it is strongly recommended to let it set to t. - ;; This variable has no effect if Emacs is launched with the parameter - ;; `--insecure' which forces the value of this variable to nil. - ;; (default t) - dotspacemacs-elpa-https t - - ;; Maximum allowed time in seconds to contact an ELPA repository. - ;; (default 5) - dotspacemacs-elpa-timeout 5 - - ;; Set `gc-cons-threshold' and `gc-cons-percentage' when startup finishes. - ;; This is an advanced option and should not be changed unless you suspect - ;; performance issues due to garbage collection operations. - ;; (default '(100000000 0.1)) - dotspacemacs-gc-cons '(100000000 0.1) - - ;; Set `read-process-output-max' when startup finishes. - ;; This defines how much data is read from a foreign process. - ;; Setting this >= 1 MB should increase performance for lsp servers - ;; in emacs 27. - ;; (default (* 1024 1024)) - dotspacemacs-read-process-output-max (* 1024 1024) - - ;; If non-nil then Spacelpa repository is the primary source to install - ;; a locked version of packages. If nil then Spacemacs will install the - ;; latest version of packages from MELPA. Spacelpa is currently in - ;; experimental state please use only for testing purposes. - ;; (default nil) - dotspacemacs-use-spacelpa nil - - ;; If non-nil then verify the signature for downloaded Spacelpa archives. - ;; (default t) - dotspacemacs-verify-spacelpa-archives t - - ;; If non-nil then spacemacs will check for updates at startup - ;; when the current branch is not `develop'. Note that checking for - ;; new versions works via git commands, thus it calls GitHub services - ;; whenever you start Emacs. (default nil) - dotspacemacs-check-for-update nil - - ;; If non-nil, a form that evaluates to a package directory. For example, to - ;; use different package directories for different Emacs versions, set this - ;; to `emacs-version'. (default 'emacs-version) - dotspacemacs-elpa-subdirectory 'emacs-version - - ;; One of `vim', `emacs' or `hybrid'. - ;; `hybrid' is like `vim' except that `insert state' is replaced by the - ;; `hybrid state' with `emacs' key bindings. The value can also be a list - ;; with `:variables' keyword (similar to layers). Check the editing styles - ;; section of the documentation for details on available variables. - ;; (default 'vim) - dotspacemacs-editing-style 'vim - - ;; If non-nil show the version string in the Spacemacs buffer. It will - ;; appear as (spacemacs version)@(emacs version) - ;; (default t) - dotspacemacs-startup-buffer-show-version t - - ;; Specify the startup banner. Default value is `official', it displays - ;; the official spacemacs logo. An integer value is the index of text - ;; banner, `random' chooses a random text banner in `core/banners' - ;; directory. A string value must be a path to an image format supported - ;; by your Emacs build. - ;; If the value is nil then no banner is displayed. (default 'official) - dotspacemacs-startup-banner 'official - - ;; List of items to show in startup buffer or an association list of - ;; the form `(list-type . list-size)`. If nil then it is disabled. - ;; Possible values for list-type are: - ;; `recents' `recents-by-project' `bookmarks' `projects' `agenda' `todos'. - ;; List sizes may be nil, in which case - ;; `spacemacs-buffer-startup-lists-length' takes effect. - ;; The exceptional case is `recents-by-project', where list-type must be a - ;; pair of numbers, e.g. `(recents-by-project . (7 . 5))', where the first - ;; number is the project limit and the second the limit on the recent files - ;; within a project. - dotspacemacs-startup-lists '((recents . 5) - (projects . 7)) - - ;; True if the home buffer should respond to resize events. (default t) - dotspacemacs-startup-buffer-responsive t - - ;; Default major mode for a new empty buffer. Possible values are mode - ;; names such as `text-mode'; and `nil' to use Fundamental mode. - ;; (default `text-mode') - dotspacemacs-new-empty-buffer-major-mode 'text-mode - - ;; Default major mode of the scratch buffer (default `text-mode') - dotspacemacs-scratch-mode 'text-mode - - ;; If non-nil, *scratch* buffer will be persistent. Things you write down in - ;; *scratch* buffer will be saved and restored automatically. - dotspacemacs-scratch-buffer-persistent nil - - ;; If non-nil, `kill-buffer' on *scratch* buffer - ;; will bury it instead of killing. - dotspacemacs-scratch-buffer-unkillable nil - - ;; Initial message in the scratch buffer, such as "Welcome to Spacemacs!" - ;; (default nil) - dotspacemacs-initial-scratch-message nil - - ;; List of themes, the first of the list is loaded when spacemacs starts. - ;; Press `SPC T n' to cycle to the next theme in the list (works great - ;; with 2 themes variants, one dark and one light) - dotspacemacs-themes '(spacemacs-dark - spacemacs-light) - - ;; Set the theme for the Spaceline. Supported themes are `spacemacs', - ;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The - ;; first three are spaceline themes. `doom' is the doom-emacs mode-line. - ;; `vanilla' is default Emacs mode-line. `custom' is a user defined themes, - ;; refer to the DOCUMENTATION.org for more info on how to create your own - ;; spaceline theme. Value can be a symbol or list with additional properties. - ;; (default '(spacemacs :separator wave :separator-scale 1.5)) - dotspacemacs-mode-line-theme '(spacemacs :separator wave :separator-scale 1.5) - - ;; If non-nil the cursor color matches the state color in GUI Emacs. - ;; (default t) - dotspacemacs-colorize-cursor-according-to-state t - - ;; Default font or prioritized list of fonts. The `:size' can be specified as - ;; a non-negative integer (pixel size), or a floating-point (point size). - ;; Point size is recommended, because it's device independent. (default 10.0) - dotspacemacs-default-font '("Source Code Pro" - :size 14.0 - :weight normal - :width normal) - - ;; The leader key (default "SPC") - dotspacemacs-leader-key "SPC" - - ;; The key used for Emacs commands `M-x' (after pressing on the leader key). - ;; (default "SPC") - dotspacemacs-emacs-command-key "SPC" - - ;; The key used for Vim Ex commands (default ":") - dotspacemacs-ex-command-key ":" - - ;; The leader key accessible in `emacs state' and `insert state' - ;; (default "M-m") - dotspacemacs-emacs-leader-key "M-m" - - ;; Major mode leader key is a shortcut key which is the equivalent of - ;; pressing ` m`. Set it to `nil` to disable it. (default ",") - dotspacemacs-major-mode-leader-key "," - - ;; Major mode leader key accessible in `emacs state' and `insert state'. - ;; (default "C-M-m" for terminal mode, "" for GUI mode). - ;; Thus M-RET should work as leader key in both GUI and terminal modes. - ;; C-M-m also should work in terminal mode, but not in GUI mode. - dotspacemacs-major-mode-emacs-leader-key (if window-system "" "C-M-m") - - ;; These variables control whether separate commands are bound in the GUI to - ;; the key pairs `C-i', `TAB' and `C-m', `RET'. - ;; Setting it to a non-nil value, allows for separate commands under `C-i' - ;; and TAB or `C-m' and `RET'. - ;; In the terminal, these pairs are generally indistinguishable, so this only - ;; works in the GUI. (default nil) - dotspacemacs-distinguish-gui-tab nil - - ;; Name of the default layout (default "Default") - dotspacemacs-default-layout-name "Default" - - ;; If non-nil the default layout name is displayed in the mode-line. - ;; (default nil) - dotspacemacs-display-default-layout nil - - ;; If non-nil then the last auto saved layouts are resumed automatically upon - ;; start. (default nil) - dotspacemacs-auto-resume-layouts nil - - ;; If non-nil, auto-generate layout name when creating new layouts. Only has - ;; effect when using the "jump to layout by number" commands. (default nil) - dotspacemacs-auto-generate-layout-names nil - - ;; Size (in MB) above which spacemacs will prompt to open the large file - ;; literally to avoid performance issues. Opening a file literally means that - ;; no major mode or minor modes are active. (default is 1) - dotspacemacs-large-file-size 1 - - ;; Location where to auto-save files. Possible values are `original' to - ;; auto-save the file in-place, `cache' to auto-save the file to another - ;; file stored in the cache directory and `nil' to disable auto-saving. - ;; (default 'cache) - dotspacemacs-auto-save-file-location 'cache - - ;; Maximum number of rollback slots to keep in the cache. (default 5) - dotspacemacs-max-rollback-slots 5 - - ;; If non-nil, the paste transient-state is enabled. While enabled, after you - ;; paste something, pressing `C-j' and `C-k' several times cycles through the - ;; elements in the `kill-ring'. (default nil) - dotspacemacs-enable-paste-transient-state nil - - ;; Which-key delay in seconds. The which-key buffer is the popup listing - ;; the commands bound to the current keystroke sequence. (default 0.4) - dotspacemacs-which-key-delay 0.4 - - ;; Which-key frame position. Possible values are `right', `bottom' and - ;; `right-then-bottom'. right-then-bottom tries to display the frame to the - ;; right; if there is insufficient space it displays it at the bottom. - ;; (default 'bottom) - dotspacemacs-which-key-position 'bottom - - ;; Control where `switch-to-buffer' displays the buffer. If nil, - ;; `switch-to-buffer' displays the buffer in the current window even if - ;; another same-purpose window is available. If non-nil, `switch-to-buffer' - ;; displays the buffer in a same-purpose window even if the buffer can be - ;; displayed in the current window. (default nil) - dotspacemacs-switch-to-buffer-prefers-purpose nil - - ;; If non-nil a progress bar is displayed when spacemacs is loading. This - ;; may increase the boot time on some systems and emacs builds, set it to - ;; nil to boost the loading time. (default t) - dotspacemacs-loading-progress-bar t - - ;; If non-nil the frame is fullscreen when Emacs starts up. (default nil) - ;; (Emacs 24.4+ only) - dotspacemacs-fullscreen-at-startup nil - - ;; If non-nil `spacemacs/toggle-fullscreen' will not use native fullscreen. - ;; Use to disable fullscreen animations in OSX. (default nil) - dotspacemacs-fullscreen-use-non-native nil - - ;; If non-nil the frame is maximized when Emacs starts up. - ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. - ;; (default nil) (Emacs 24.4+ only) - dotspacemacs-maximized-at-startup nil - - ;; If non-nil the frame is undecorated when Emacs starts up. Combine this - ;; variable with `dotspacemacs-maximized-at-startup' in OSX to obtain - ;; borderless fullscreen. (default nil) - dotspacemacs-undecorated-at-startup nil - - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's active or selected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-active-transparency 90 - - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's inactive or deselected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-inactive-transparency 90 - - ;; If non-nil show the titles of transient states. (default t) - dotspacemacs-show-transient-state-title t - - ;; If non-nil show the color guide hint for transient state keys. (default t) - dotspacemacs-show-transient-state-color-guide t - - ;; If non-nil unicode symbols are displayed in the mode line. - ;; If you use Emacs as a daemon and wants unicode characters only in GUI set - ;; the value to quoted `display-graphic-p'. (default t) - dotspacemacs-mode-line-unicode-symbols t - - ;; If non-nil smooth scrolling (native-scrolling) is enabled. Smooth - ;; scrolling overrides the default behavior of Emacs which recenters point - ;; when it reaches the top or bottom of the screen. (default t) - dotspacemacs-smooth-scrolling t - - ;; Control line numbers activation. - ;; If set to `t', `relative' or `visual' then line numbers are enabled in all - ;; `prog-mode' and `text-mode' derivatives. If set to `relative', line - ;; numbers are relative. If set to `visual', line numbers are also relative, - ;; but lines are only visual lines are counted. For example, folded lines - ;; will not be counted and wrapped lines are counted as multiple lines. - ;; This variable can also be set to a property list for finer control: - ;; '(:relative nil - ;; :visual nil - ;; :disabled-for-modes dired-mode - ;; doc-view-mode - ;; markdown-mode - ;; org-mode - ;; pdf-view-mode - ;; text-mode - ;; :size-limit-kb 1000) - ;; When used in a plist, `visual' takes precedence over `relative'. - ;; (default nil) - dotspacemacs-line-numbers '(:visual t - :disabled-for-modes - pdf-view-mode - :size-limit-kb 1000) - - ;; Code folding method. Possible values are `evil', `origami' and `vimish'. - ;; (default 'evil) - dotspacemacs-folding-method 'evil - - ;; If non-nil `smartparens-strict-mode' will be enabled in programming modes. - ;; (default nil) - dotspacemacs-smartparens-strict-mode nil - - ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes - ;; over any automatically added closing parenthesis, bracket, quote, etc... - ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil) - dotspacemacs-smart-closing-parenthesis nil - - ;; Select a scope to highlight delimiters. Possible values are `any', - ;; `current', `all' or `nil'. Default is `all' (highlight any scope and - ;; emphasis the current one). (default 'all) - dotspacemacs-highlight-delimiters 'all - - ;; If non-nil, start an Emacs server if one is not already running. - ;; (default nil) - dotspacemacs-enable-server nil - - ;; Set the emacs server socket location. - ;; If nil, uses whatever the Emacs default is, otherwise a directory path - ;; like \"~/.emacs.d/server\". It has no effect if - ;; `dotspacemacs-enable-server' is nil. - ;; (default nil) - dotspacemacs-server-socket-dir nil - - ;; If non-nil, advise quit functions to keep server open when quitting. - ;; (default nil) - dotspacemacs-persistent-server nil - - ;; List of search tool executable names. Spacemacs uses the first installed - ;; tool of the list. Supported tools are `rg', `ag', `pt', `ack' and `grep'. - ;; (default '("rg" "ag" "pt" "ack" "grep")) - dotspacemacs-search-tools '("rg" "ag" "pt" "ack" "grep") - - ;; Format specification for setting the frame title. - ;; %a - the `abbreviated-file-name', or `buffer-name' - ;; %t - `projectile-project-name' - ;; %I - `invocation-name' - ;; %S - `system-name' - ;; %U - contents of $USER - ;; %b - buffer name - ;; %f - visited file name - ;; %F - frame name - ;; %s - process status - ;; %p - percent of buffer above top of window, or Top, Bot or All - ;; %P - percent of buffer above bottom of window, perhaps plus Top, or Bot or All - ;; %m - mode name - ;; %n - Narrow if appropriate - ;; %z - mnemonics of buffer, terminal, and keyboard coding systems - ;; %Z - like %z, but including the end-of-line format - ;; (default "%I@%S") - dotspacemacs-frame-title-format "%I@%S" - - ;; Format specification for setting the icon title format - ;; (default nil - same as frame-title-format) - dotspacemacs-icon-title-format nil - - ;; Delete whitespace while saving buffer. Possible values are `all' - ;; to aggressively delete empty line and long sequences of whitespace, - ;; `trailing' to delete only the whitespace at end of lines, `changed' to - ;; delete only whitespace for changed lines or `nil' to disable cleanup. - ;; (default nil) - dotspacemacs-whitespace-cleanup nil - - ;; If non nil activate `clean-aindent-mode' which tries to correct - ;; virtual indentation of simple modes. This can interfer with mode specific - ;; indent handling like has been reported for `go-mode'. - ;; If it does deactivate it here. - ;; (default t) - dotspacemacs-use-clean-aindent-mode t - - ;; If non-nil shift your number row to match the entered keyboard layout - ;; (only in insert state). Currently supported keyboard layouts are: - ;; `qwerty-us', `qwertz-de' and `querty-ca-fr'. - ;; New layouts can be added in `spacemacs-editing' layer. - ;; (default nil) - dotspacemacs-swap-number-row nil - - ;; Either nil or a number of seconds. If non-nil zone out after the specified - ;; number of seconds. (default nil) - dotspacemacs-zone-out-when-idle nil - - ;; Run `spacemacs/prettify-org-buffer' when - ;; visiting README.org files of Spacemacs. - ;; (default nil) - dotspacemacs-pretty-docs nil - - ;; If nil the home buffer shows the full path of agenda items - ;; and todos. If non nil only the file name is shown. - dotspacemacs-home-shorten-agenda-source nil)) + ;; This setq-default sexp is an exhaustive list of all the supported + ;; spacemacs settings. + (setq-default + ;; If non-nil then enable support for the portable dumper. You'll need + ;; to compile Emacs 27 from source following the instructions in file + ;; EXPERIMENTAL.org at to root of the git repository. + ;; (default nil) + dotspacemacs-enable-emacs-pdumper nil + + ;; Name of executable file pointing to emacs 27+. This executable must be + ;; in your PATH. + ;; (default "emacs") + dotspacemacs-emacs-pdumper-executable-file "emacs" + + ;; Name of the Spacemacs dump file. This is the file will be created by the + ;; portable dumper in the cache directory under dumps sub-directory. + ;; To load it when starting Emacs add the parameter `--dump-file' + ;; when invoking Emacs 27.1 executable on the command line, for instance: + ;; ./emacs --dump-file=$HOME/.emacs.d/.cache/dumps/spacemacs-27.1.pdmp + ;; (default (format "spacemacs-%s.pdmp" emacs-version)) + dotspacemacs-emacs-dumper-dump-file (format "spacemacs-%s.pdmp" emacs-version) + + ;; If non-nil ELPA repositories are contacted via HTTPS whenever it's + ;; possible. Set it to nil if you have no way to use HTTPS in your + ;; environment, otherwise it is strongly recommended to let it set to t. + ;; This variable has no effect if Emacs is launched with the parameter + ;; `--insecure' which forces the value of this variable to nil. + ;; (default t) + dotspacemacs-elpa-https t + + ;; Maximum allowed time in seconds to contact an ELPA repository. + ;; (default 5) + dotspacemacs-elpa-timeout 5 + + ;; Set `gc-cons-threshold' and `gc-cons-percentage' when startup finishes. + ;; This is an advanced option and should not be changed unless you suspect + ;; performance issues due to garbage collection operations. + ;; (default '(100000000 0.1)) + dotspacemacs-gc-cons '(100000000 0.1) + + ;; Set `read-process-output-max' when startup finishes. + ;; This defines how much data is read from a foreign process. + ;; Setting this >= 1 MB should increase performance for lsp servers + ;; in emacs 27. + ;; (default (* 1024 1024)) + dotspacemacs-read-process-output-max (* 1024 1024) + + ;; If non-nil then Spacelpa repository is the primary source to install + ;; a locked version of packages. If nil then Spacemacs will install the + ;; latest version of packages from MELPA. Spacelpa is currently in + ;; experimental state please use only for testing purposes. + ;; (default nil) + dotspacemacs-use-spacelpa nil + + ;; If non-nil then verify the signature for downloaded Spacelpa archives. + ;; (default t) + dotspacemacs-verify-spacelpa-archives t + + ;; If non-nil then spacemacs will check for updates at startup + ;; when the current branch is not `develop'. Note that checking for + ;; new versions works via git commands, thus it calls GitHub services + ;; whenever you start Emacs. (default nil) + dotspacemacs-check-for-update nil + + ;; If non-nil, a form that evaluates to a package directory. For example, to + ;; use different package directories for different Emacs versions, set this + ;; to `emacs-version'. (default 'emacs-version) + dotspacemacs-elpa-subdirectory 'emacs-version + + ;; One of `vim', `emacs' or `hybrid'. + ;; `hybrid' is like `vim' except that `insert state' is replaced by the + ;; `hybrid state' with `emacs' key bindings. The value can also be a list + ;; with `:variables' keyword (similar to layers). Check the editing styles + ;; section of the documentation for details on available variables. + ;; (default 'vim) + dotspacemacs-editing-style 'vim + + ;; If non-nil show the version string in the Spacemacs buffer. It will + ;; appear as (spacemacs version)@(emacs version) + ;; (default t) + dotspacemacs-startup-buffer-show-version t + + ;; Specify the startup banner. Default value is `official', it displays + ;; the official spacemacs logo. An integer value is the index of text + ;; banner, `random' chooses a random text banner in `core/banners' + ;; directory. A string value must be a path to an image format supported + ;; by your Emacs build. + ;; If the value is nil then no banner is displayed. (default 'official) + dotspacemacs-startup-banner 'official + + ;; List of items to show in startup buffer or an association list of + ;; the form `(list-type . list-size)`. If nil then it is disabled. + ;; Possible values for list-type are: + ;; `recents' `recents-by-project' `bookmarks' `projects' `agenda' `todos'. + ;; List sizes may be nil, in which case + ;; `spacemacs-buffer-startup-lists-length' takes effect. + ;; The exceptional case is `recents-by-project', where list-type must be a + ;; pair of numbers, e.g. `(recents-by-project . (7 . 5))', where the first + ;; number is the project limit and the second the limit on the recent files + ;; within a project. + dotspacemacs-startup-lists '((recents . 5) + (projects . 7)) + + ;; True if the home buffer should respond to resize events. (default t) + dotspacemacs-startup-buffer-responsive t + + ;; Default major mode for a new empty buffer. Possible values are mode + ;; names such as `text-mode'; and `nil' to use Fundamental mode. + ;; (default `text-mode') + dotspacemacs-new-empty-buffer-major-mode 'text-mode + + ;; Default major mode of the scratch buffer (default `text-mode') + dotspacemacs-scratch-mode 'text-mode + + ;; If non-nil, *scratch* buffer will be persistent. Things you write down in + ;; *scratch* buffer will be saved and restored automatically. + dotspacemacs-scratch-buffer-persistent nil + + ;; If non-nil, `kill-buffer' on *scratch* buffer + ;; will bury it instead of killing. + dotspacemacs-scratch-buffer-unkillable nil + + ;; Initial message in the scratch buffer, such as "Welcome to Spacemacs!" + ;; (default nil) + dotspacemacs-initial-scratch-message nil + + ;; List of themes, the first of the list is loaded when spacemacs starts. + ;; Press `SPC T n' to cycle to the next theme in the list (works great + ;; with 2 themes variants, one dark and one light) + dotspacemacs-themes '(spacemacs-dark + spacemacs-light) + + ;; Set the theme for the Spaceline. Supported themes are `spacemacs', + ;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The + ;; first three are spaceline themes. `doom' is the doom-emacs mode-line. + ;; `vanilla' is default Emacs mode-line. `custom' is a user defined themes, + ;; refer to the DOCUMENTATION.org for more info on how to create your own + ;; spaceline theme. Value can be a symbol or list with additional properties. + ;; (default '(spacemacs :separator wave :separator-scale 1.5)) + dotspacemacs-mode-line-theme '(spacemacs :separator wave :separator-scale 1.5) + + ;; If non-nil the cursor color matches the state color in GUI Emacs. + ;; (default t) + dotspacemacs-colorize-cursor-according-to-state t + + ;; Default font or prioritized list of fonts. The `:size' can be specified as + ;; a non-negative integer (pixel size), or a floating-point (point size). + ;; Point size is recommended, because it's device independent. (default 10.0) + dotspacemacs-default-font '("Source Code Pro" + :size 14.0 + :weight normal + :width normal) + + ;; The leader key (default "SPC") + dotspacemacs-leader-key "SPC" + + ;; The key used for Emacs commands `M-x' (after pressing on the leader key). + ;; (default "SPC") + dotspacemacs-emacs-command-key "SPC" + + ;; The key used for Vim Ex commands (default ":") + dotspacemacs-ex-command-key ":" + + ;; The leader key accessible in `emacs state' and `insert state' + ;; (default "M-m") + dotspacemacs-emacs-leader-key "M-m" + + ;; Major mode leader key is a shortcut key which is the equivalent of + ;; pressing ` m`. Set it to `nil` to disable it. (default ",") + dotspacemacs-major-mode-leader-key "," + + ;; Major mode leader key accessible in `emacs state' and `insert state'. + ;; (default "C-M-m" for terminal mode, "" for GUI mode). + ;; Thus M-RET should work as leader key in both GUI and terminal modes. + ;; C-M-m also should work in terminal mode, but not in GUI mode. + dotspacemacs-major-mode-emacs-leader-key (if window-system "" "C-M-m") + + ;; These variables control whether separate commands are bound in the GUI to + ;; the key pairs `C-i', `TAB' and `C-m', `RET'. + ;; Setting it to a non-nil value, allows for separate commands under `C-i' + ;; and TAB or `C-m' and `RET'. + ;; In the terminal, these pairs are generally indistinguishable, so this only + ;; works in the GUI. (default nil) + dotspacemacs-distinguish-gui-tab nil + + ;; Name of the default layout (default "Default") + dotspacemacs-default-layout-name "Default" + + ;; If non-nil the default layout name is displayed in the mode-line. + ;; (default nil) + dotspacemacs-display-default-layout nil + + ;; If non-nil then the last auto saved layouts are resumed automatically upon + ;; start. (default nil) + dotspacemacs-auto-resume-layouts nil + + ;; If non-nil, auto-generate layout name when creating new layouts. Only has + ;; effect when using the "jump to layout by number" commands. (default nil) + dotspacemacs-auto-generate-layout-names nil + + ;; Size (in MB) above which spacemacs will prompt to open the large file + ;; literally to avoid performance issues. Opening a file literally means that + ;; no major mode or minor modes are active. (default is 1) + dotspacemacs-large-file-size 1 + + ;; Location where to auto-save files. Possible values are `original' to + ;; auto-save the file in-place, `cache' to auto-save the file to another + ;; file stored in the cache directory and `nil' to disable auto-saving. + ;; (default 'cache) + dotspacemacs-auto-save-file-location 'cache + + ;; Maximum number of rollback slots to keep in the cache. (default 5) + dotspacemacs-max-rollback-slots 5 + + ;; If non-nil, the paste transient-state is enabled. While enabled, after you + ;; paste something, pressing `C-j' and `C-k' several times cycles through the + ;; elements in the `kill-ring'. (default nil) + dotspacemacs-enable-paste-transient-state nil + + ;; Which-key delay in seconds. The which-key buffer is the popup listing + ;; the commands bound to the current keystroke sequence. (default 0.4) + dotspacemacs-which-key-delay 0.4 + + ;; Which-key frame position. Possible values are `right', `bottom' and + ;; `right-then-bottom'. right-then-bottom tries to display the frame to the + ;; right; if there is insufficient space it displays it at the bottom. + ;; (default 'bottom) + dotspacemacs-which-key-position 'bottom + + ;; Control where `switch-to-buffer' displays the buffer. If nil, + ;; `switch-to-buffer' displays the buffer in the current window even if + ;; another same-purpose window is available. If non-nil, `switch-to-buffer' + ;; displays the buffer in a same-purpose window even if the buffer can be + ;; displayed in the current window. (default nil) + dotspacemacs-switch-to-buffer-prefers-purpose nil + + ;; If non-nil a progress bar is displayed when spacemacs is loading. This + ;; may increase the boot time on some systems and emacs builds, set it to + ;; nil to boost the loading time. (default t) + dotspacemacs-loading-progress-bar t + + ;; If non-nil the frame is fullscreen when Emacs starts up. (default nil) + ;; (Emacs 24.4+ only) + dotspacemacs-fullscreen-at-startup nil + + ;; If non-nil `spacemacs/toggle-fullscreen' will not use native fullscreen. + ;; Use to disable fullscreen animations in OSX. (default nil) + dotspacemacs-fullscreen-use-non-native nil + + ;; If non-nil the frame is maximized when Emacs starts up. + ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. + ;; (default nil) (Emacs 24.4+ only) + dotspacemacs-maximized-at-startup nil + + ;; If non-nil the frame is undecorated when Emacs starts up. Combine this + ;; variable with `dotspacemacs-maximized-at-startup' in OSX to obtain + ;; borderless fullscreen. (default nil) + dotspacemacs-undecorated-at-startup nil + + ;; A value from the range (0..100), in increasing opacity, which describes + ;; the transparency level of a frame when it's active or selected. + ;; Transparency can be toggled through `toggle-transparency'. (default 90) + dotspacemacs-active-transparency 90 + + ;; A value from the range (0..100), in increasing opacity, which describes + ;; the transparency level of a frame when it's inactive or deselected. + ;; Transparency can be toggled through `toggle-transparency'. (default 90) + dotspacemacs-inactive-transparency 90 + + ;; If non-nil show the titles of transient states. (default t) + dotspacemacs-show-transient-state-title t + + ;; If non-nil show the color guide hint for transient state keys. (default t) + dotspacemacs-show-transient-state-color-guide t + + ;; If non-nil unicode symbols are displayed in the mode line. + ;; If you use Emacs as a daemon and wants unicode characters only in GUI set + ;; the value to quoted `display-graphic-p'. (default t) + dotspacemacs-mode-line-unicode-symbols t + + ;; If non-nil smooth scrolling (native-scrolling) is enabled. Smooth + ;; scrolling overrides the default behavior of Emacs which recenters point + ;; when it reaches the top or bottom of the screen. (default t) + dotspacemacs-smooth-scrolling t + + ;; Control line numbers activation. + ;; If set to `t', `relative' or `visual' then line numbers are enabled in all + ;; `prog-mode' and `text-mode' derivatives. If set to `relative', line + ;; numbers are relative. If set to `visual', line numbers are also relative, + ;; but lines are only visual lines are counted. For example, folded lines + ;; will not be counted and wrapped lines are counted as multiple lines. + ;; This variable can also be set to a property list for finer control: + ;; '(:relative nil + ;; :visual nil + ;; :disabled-for-modes dired-mode + ;; doc-view-mode + ;; markdown-mode + ;; org-mode + ;; pdf-view-mode + ;; text-mode + ;; :size-limit-kb 1000) + ;; When used in a plist, `visual' takes precedence over `relative'. + ;; (default nil) + dotspacemacs-line-numbers '(:visual t + :disabled-for-modes + pdf-view-mode + :size-limit-kb 1000) + + ;; Code folding method. Possible values are `evil', `origami' and `vimish'. + ;; (default 'evil) + dotspacemacs-folding-method 'evil + + ;; If non-nil `smartparens-strict-mode' will be enabled in programming modes. + ;; (default nil) + dotspacemacs-smartparens-strict-mode nil + + ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes + ;; over any automatically added closing parenthesis, bracket, quote, etc... + ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil) + dotspacemacs-smart-closing-parenthesis nil + + ;; Select a scope to highlight delimiters. Possible values are `any', + ;; `current', `all' or `nil'. Default is `all' (highlight any scope and + ;; emphasis the current one). (default 'all) + dotspacemacs-highlight-delimiters 'all + + ;; If non-nil, start an Emacs server if one is not already running. + ;; (default nil) + dotspacemacs-enable-server nil + + ;; Set the emacs server socket location. + ;; If nil, uses whatever the Emacs default is, otherwise a directory path + ;; like \"~/.emacs.d/server\". It has no effect if + ;; `dotspacemacs-enable-server' is nil. + ;; (default nil) + dotspacemacs-server-socket-dir nil + + ;; If non-nil, advise quit functions to keep server open when quitting. + ;; (default nil) + dotspacemacs-persistent-server nil + + ;; List of search tool executable names. Spacemacs uses the first installed + ;; tool of the list. Supported tools are `rg', `ag', `pt', `ack' and `grep'. + ;; (default '("rg" "ag" "pt" "ack" "grep")) + dotspacemacs-search-tools '("rg" "ag" "pt" "ack" "grep") + + ;; Format specification for setting the frame title. + ;; %a - the `abbreviated-file-name', or `buffer-name' + ;; %t - `projectile-project-name' + ;; %I - `invocation-name' + ;; %S - `system-name' + ;; %U - contents of $USER + ;; %b - buffer name + ;; %f - visited file name + ;; %F - frame name + ;; %s - process status + ;; %p - percent of buffer above top of window, or Top, Bot or All + ;; %P - percent of buffer above bottom of window, perhaps plus Top, or Bot or All + ;; %m - mode name + ;; %n - Narrow if appropriate + ;; %z - mnemonics of buffer, terminal, and keyboard coding systems + ;; %Z - like %z, but including the end-of-line format + ;; (default "%I@%S") + dotspacemacs-frame-title-format "%I@%S" + + ;; Format specification for setting the icon title format + ;; (default nil - same as frame-title-format) + dotspacemacs-icon-title-format nil + + ;; Delete whitespace while saving buffer. Possible values are `all' + ;; to aggressively delete empty line and long sequences of whitespace, + ;; `trailing' to delete only the whitespace at end of lines, `changed' to + ;; delete only whitespace for changed lines or `nil' to disable cleanup. + ;; (default nil) + dotspacemacs-whitespace-cleanup nil + + ;; If non nil activate `clean-aindent-mode' which tries to correct + ;; virtual indentation of simple modes. This can interfer with mode specific + ;; indent handling like has been reported for `go-mode'. + ;; If it does deactivate it here. + ;; (default t) + dotspacemacs-use-clean-aindent-mode t + + ;; If non-nil shift your number row to match the entered keyboard layout + ;; (only in insert state). Currently supported keyboard layouts are: + ;; `qwerty-us', `qwertz-de' and `querty-ca-fr'. + ;; New layouts can be added in `spacemacs-editing' layer. + ;; (default nil) + dotspacemacs-swap-number-row nil + + ;; Either nil or a number of seconds. If non-nil zone out after the specified + ;; number of seconds. (default nil) + dotspacemacs-zone-out-when-idle nil + + ;; Run `spacemacs/prettify-org-buffer' when + ;; visiting README.org files of Spacemacs. + ;; (default nil) + dotspacemacs-pretty-docs nil + + ;; If nil the home buffer shows the full path of agenda items + ;; and todos. If non nil only the file name is shown. + dotspacemacs-home-shorten-agenda-source nil)) (defun dotspacemacs/user-env () - "Environment variables setup. + "Environment variables setup. This function defines the environment variables for your Emacs session. By default it calls `spacemacs/load-spacemacs-env' which loads the environment variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'. See the header of this file for more information." - (spacemacs/load-spacemacs-env)) + (spacemacs/load-spacemacs-env)) (defun dotspacemacs/user-init () - "Initialization for user code: + "Initialization for user code: This function is called immediately after `dotspacemacs/init', before layer configuration. It is mostly for variables that should be set before packages are loaded. If you are unsure, try setting them in `dotspacemacs/user-config' first." - (setq python-shell-interpreter "/home/hsv/common/scr/ipython.sh") - ) + (add-to-list 'TeX-view-program-selection '(output-pdf "Emacs")) + (add-to-list 'TeX-view-program-list '("Emacs" "emacsclient -n %o")) + ) (defun dotspacemacs/user-load () - "Library to load while dumping. + "Library to load while dumping. This function is called only while dumping Spacemacs configuration. You can `require' or `load' the libraries of your choice that will be included in the dump." - ) + (setq pdf-sync-backward-display-action t) + (setq pdf-sync-forward-display-action t) + ) (defun dotspacemacs/user-config () - "Configuration for user code: + "Configuration for user code: This function is called at the very end of Spacemacs startup, after layer configuration. Put your configuration code here, except for variables that should be set before packages are loaded." - (global-set-key (kbd "") 'centaur-tabs-forward) - (global-set-key (kbd "") 'centaur-tabs-backward) - (evil-ex-define-cmd "q" 'kill-this-buffer) - (evil-ex-define-cmd "quit" 'evil-quit) - (spacemacs/toggle-whitespace-globally-on) - (setq whitespace-display-mappings - ;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1) - '( - (space-mark 32 [183] [46]) ; 32 SPACE 「 」, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」 - (newline-mark 10 [182 10]) ; 10 LINE FEED - (tab-mark 9 [172 9] [92 9]) ; 9 TAB, 172 Not Sign「¬」 - )) - (set-face-attribute 'whitespace-space nil - :background nil - :foreground "gray30") - (set-face-attribute 'whitespace-tab nil - :background nil - :foreground "gray30") - (set-face-attribute 'whitespace-newline nil - :background nil - :foreground "gray30") - ) + + ;; Key Bindings + (global-set-key (kbd "") 'centaur-tabs-forward) + (global-set-key (kbd "") 'centaur-tabs-backward) + (evil-ex-define-cmd "q" 'kill-this-buffer) + (evil-ex-define-cmd "quit" 'evil-quit) + + ;; Displaying whitespaces + (spacemacs/toggle-whitespace-globally-on) + (setq whitespace-display-mappings + ;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1) + '( + (space-mark 32 [183] [46]) ; 32 SPACE 「 」, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」 + (newline-mark 10 [172 10]) ; 10 LINE FEED, 172 Not Sign「¬」 + (tab-mark 9 [10141 9] [92 9]) ; 9 TAB, 10141 Triangle-headed rightwards arrow 「➝」 + )) + + (set-face-attribute 'whitespace-space nil + :background nil + :foreground "gray30") + (set-face-attribute 'whitespace-space-after-tab nil + :background nil + :foreground "gray30") + (set-face-attribute 'whitespace-tab nil + :background nil + :foreground "gray30") + (set-face-attribute 'whitespace-newline nil + :background nil + :foreground "gray30") + (spacemacs/toggle-transparency) + + ;; Auto save upon defocus + (add-hook 'focus-out-hook + (defun save-current-buffer-if-needed () + (interactive) + (when (and (buffer-file-name) (buffer-modified-p)) + (save-buffer)))) + + ;; Mixed indent mode (in conjunction with smart-tabs-mode) + (setq evil-indent-convert-tabs nil) + (setq-default indent-tabs-mode t) + (setq-default tab-width 2) + (setq c-default-style "stroustrup") + (setq c-basic-offset 2) + (setq css-indent-offset 2) + (smart-tabs-insinuate 'c 'c++ 'java 'javascript) + (add-hook 'prog-mode-hook #'origami-mode) + ) ;; Do not write anything past this comment. This is where Emacs will ;; auto-generate custom variable definitions. @@ -575,7 +621,7 @@ This function is called at the very end of Spacemacs initialization." '(evil-want-Y-yank-to-eol nil) '(helm-completion-style 'emacs) '(package-selected-packages - '(centaur-tabs yaml-mode yasnippet-snippets lsp-ui lsp-python-ms lsp-pyright lsp-origami origami lsp-latex helm-lsp helm-company helm-c-yasnippet fuzzy flycheck-ycmd flycheck-rtags flycheck-pos-tip pos-tip flycheck-ocaml dap-mode lsp-treemacs bui treemacs cfrs pfuture posframe company-ycmd company-rtags company-reftex company-math company-c-headers company-auctex company-anaconda ccls lsp-mode ht dash-functional auto-yasnippet yasnippet ac-ispell auto-complete neotree insert-shebang helm-gtags ggtags flycheck-bashate fish-mode counsel-gtags counsel swiper company-shell company ycmd request-deferred yapfify sphinx-doc pytest pyenv-mode py-isort poetry pippel pipenv pyvenv pip-requirements org-ref pdf-tools key-chord ivy htmlize tablist mmm-mode math-symbol-lists markdown-toc live-py-mode importmagic epc ctable concurrent deferred helm-rtags rtags helm-pydoc helm-bibtex bibtex-completion biblio parsebib biblio-core google-c-style gh-md disaster cython-mode cpp-auto-include blacken auctex anaconda-mode pythonic utop tuareg caml treemacs-magit smeargle ocp-indent ocamlformat merlin-eldoc merlin magit-svn magit-section magit-gitflow magit-popup helm-gitignore helm-git-grep gitignore-templates gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link forge markdown-mode ghub closql emacsql-sqlite emacsql treepy evil-magit magit git-commit with-editor transient dune ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection spaceline-all-the-icons restart-emacs request rainbow-delimiters popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless move-text macrostep lorem-ipsum link-hint indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav editorconfig dumb-jump dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)) + '(unicode-fonts ucs-utils font-utils persistent-soft pcache git-gutter-fringe+ fringe-helper git-gutter+ dockerfile-mode docker docker-tramp browse-at-remote xterm-color vterm terminal-here smart-tabs-mode shell-pop multi-term eshell-z eshell-prompt-extras esh-help company-web web-completion-data centaur-tabs yaml-mode yasnippet-snippets lsp-ui lsp-python-ms lsp-pyright lsp-origami origami lsp-latex helm-lsp helm-company helm-c-yasnippet fuzzy flycheck-ycmd flycheck-rtags flycheck-pos-tip pos-tip flycheck-ocaml dap-mode lsp-treemacs bui treemacs cfrs pfuture posframe company-ycmd company-rtags company-reftex company-math company-c-headers company-auctex company-anaconda ccls lsp-mode ht dash-functional auto-yasnippet yasnippet ac-ispell auto-complete neotree insert-shebang helm-gtags ggtags flycheck-bashate fish-mode counsel-gtags counsel swiper company-shell company ycmd request-deferred yapfify sphinx-doc pytest pyenv-mode py-isort poetry pippel pipenv pyvenv pip-requirements org-ref pdf-tools key-chord ivy htmlize tablist mmm-mode math-symbol-lists markdown-toc live-py-mode importmagic epc ctable concurrent deferred helm-rtags rtags helm-pydoc helm-bibtex bibtex-completion biblio parsebib biblio-core google-c-style gh-md disaster cython-mode cpp-auto-include blacken auctex anaconda-mode pythonic utop tuareg caml treemacs-magit smeargle ocp-indent ocamlformat merlin-eldoc merlin magit-svn magit-section magit-gitflow magit-popup helm-gitignore helm-git-grep gitignore-templates gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link forge markdown-mode ghub closql emacsql-sqlite emacsql treepy evil-magit magit git-commit with-editor transient dune ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection spaceline-all-the-icons restart-emacs request rainbow-delimiters popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless move-text macrostep lorem-ipsum link-hint indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav editorconfig dumb-jump dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)) '(whitespace-style '(face trailing tabs spaces lines newline empty indentation space-after-tab space-before-tab space-mark tab-mark newline-mark))) (custom-set-faces diff --git a/symlinks-bin.sh b/symlinks-bin.sh new file mode 100755 index 0000000..86992b3 --- /dev/null +++ b/symlinks-bin.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Calculate directory relative to $HOME +COMMON_BIN=$PWD/bin +LOCAL_BIN=/usr/local/bin + +pushd $LOCAL_BIN >> /dev/null +ln -vs $COMMON_BIN/latex-runtime.sh . +ln -vs $COMMON_BIN/latexmk . +ln -vs $COMMON_BIN/pdflatex . +popd >> /dev/null