GithubHelp home page GithubHelp logo

maskray / config Goto Github PK

View Code? Open in Web Editor NEW
232.0 232.0 32.0 1.71 MB

My config for gentoo linux, xmonad, vim, emacs, git, mutt, newsbeuter, tmux, pentadactyl, npm, idesk, xbindkeys, ...

Shell 20.38% Python 10.04% CSS 1.72% CoffeeScript 0.32% Assembly 0.05% Ruby 4.02% Scheme 0.48% Haskell 9.69% Tcl 22.05% OCaml 0.10% Perl 1.00% Makefile 0.06% Emacs Lisp 17.64% GDB 4.57% C++ 1.21% Sage 0.01% Lua 4.84% Vim Script 1.76% Nim 0.06%
dotfiles

config's Introduction

Config

Ray's comprehensive configuration archive.

Installation

pacman -S stack
stack install fast-tags ghc-mod hoogle hscope hledger pointfree pointful

Features

Default applications:

See home/.local/share/applications/mimeapps.list and related desktop entries.

Gentoo Portage:

  • collected many utilities to facilitate day-to-day shell usage (notable: GNU Parallel, ImageMagick, Unison, renameutils, TaskWarrior)
  • servers/clients/tools related to network (MongoDB, ProFTPd, Nginx, PostgreSQL, Redit, ...)
  • programming related application collections including compilers (GHC, OCaml, SBCL, Guile, Node.js, GNU Smalltalk, Erlang, Vala, etc) and many development tools

Zsh:

  • use fasd to navigate the filesystem hierarchy
  • numerous aliases
  • decent autocomplete settings

Vim:

  • Haskell, Ruby, Node.js, Python, C++ and Web development settings
  • lots of key bindings
  • Many goodies including Global, Ack, EasyMotion, CtrlP, Syntastic, UltiSnips, Tabular

XMonad:

  • organize applications on topic basic
  • a great many bindings (perhaps over one hundred) for window arrangement, x11 utilities and so on
  • scratchpads for ghci, ocaml, coffee, erl (Erlang), node (Node.js), R, pry (Ruby), ipython, lua, gst (GNU Smalltalk), task (taskwarrior), alsa-mixer, etc
  • direction-based navigation via XMonad.Actions.Navigation2D
  • website launcher for wikipedia, google, duckduckgo, github, developer.mozilla.org, etc

X resources:

  • XTerm
  • URxvt
  • XScreenSaver
  • ...

Systemd services:

Others:

  • Mutt
  • GDB
  • Tmux
  • Mailcap
  • Pentadactyl (for Firefox)
  • Udev
  • Xorg
  • ...

Have a look at my Linux desktop config (in Chinese) for my choice of desktop applications.

Acknowledgements

  • @pyx (Philip Xu) My config absorbs quite a few ideas from his well-organized config. He is also my abecedarian leading me to discover the mysterious FOSS world. Thank you, Philip!
  • @adam8157 (Adam Lee)
  • @roylez (Roy Zuo)
  • @laurentb (Laurent Bachelier)
  • @terlar (Terje Larsen)

config's People

Contributors

maskray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

config's Issues

`hydra/reg` for prev/next read/write heads not working with latest ccls

To begin with: thanks so much for your awesome work with ccls/emacs-ccls!

Subject

The hydra/reg of .config/doom/config.el:

(defhydra hydra/ref (evil-normal-state-map "x")
  "reference"
  ("d" lsp-ui-peek-find-definitions "next" :bind nil)
  ("n" (-let [(i . n) (lsp-ui-find-next-reference)]
             (if (> n 0) (message "%d/%d" i n))) "next")
  ("p" (-let [(i . n) (lsp-ui-find-prev-reference)]
             (if (> n 0) (message "%d/%d" i n))) "prev")
  ("R" (-let [(i . n) (lsp-ui-find-prev-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 8) 0)))]
                         (if (> n 0) (message "read %d/%d" i n))) "prev read" :bind nil)
  ("r" (-let [(i . n) (lsp-ui-find-next-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 8) 0)))]
                         (if (> n 0) (message "read %d/%d" i n))) "next read" :bind nil)
  ("W" (-let [(i . n) (lsp-ui-find-prev-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 16) 0)))]
                         (if (> n 0) (message "write %d/%d" i n))) "prev write" :bind nil)
  ("w" (-let [(i . n) (lsp-ui-find-next-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 16) 0)))]
                         (if (> n 0) (message "write %d/%d" i n))) "next write" :bind nil)
  )

Issue?

Possibly I am doing something wrong in my config, but after I updated to the latest ccls my non-evil version of the hydra/reg (see below) no longer works for the heads R, r, W and w (the lambda filters out all matches), possibly due to some changes in ccls regarding the "role" hash?

  • Are you able to reproduce this issue?

Minor issue

The messages that display "i out of n match" are off by one. The segments

(message "%d/%d" i n)

should (probably) be replaced by

(message "%d/%d" (+ i 1) n)

I was planning to submit a pull request for this, but as I have no idea regarding how to correct (if even broken) the issue above, I waited with this.

Details: my nearly identical non-evil hydra

(defhydra +mr/hydra-lsp-traverse (:hint nil)
  "Traverse references"
  ("d" lsp-ui-peek-find-definitions "next" :bind nil)
  ("n" (-let [(i . n) (lsp-ui-find-next-reference)]
             (if (> n 0) (message "%d/%d" (+ i 1) n))) "next")
  ("p" (-let [(i . n) (lsp-ui-find-prev-reference)]
             (if (> n 0) (message "%d/%d" (+ i 1) n))) "prev")
  ("R" (-let [(i . n) (lsp-ui-find-prev-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 8) 0)))]
                         (if (> n 0) (message "read %d/%d" (+ i 1) n))) "prev read" :bind nil)
  ("r" (-let [(i . n) (lsp-ui-find-next-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 8) 0)))]
                         (if (> n 0) (message "read %d/%d" (+ i 1) n))) "next read" :bind nil)
  ("W" (-let [(i . n) (lsp-ui-find-prev-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 16) 0)))]
                         (if (> n 0) (message "write %d/%d" (+ i 1) n))) "prev write" :bind nil)
  ("w" (-let [(i . n) (lsp-ui-find-next-reference
                       (lambda (x)
                         (/= (logand (gethash "role" x 0) 16) 0)))]
                         (if (> n 0) (message "write %d/%d" (+ i 1) n))) "next write" :bind nil)
  ("q" nil "stop")
  )

File lsp-mode is a symbolic link

I start using Emacs today because LanguageClient-neovim does not autocomplete when cquery and deoplete properly configured and started. Luckily, I googled Emacs cquery and found your article with your github link on it.

I downloaded your Emacs config directory .emacs.d together with Spacemacs config file .spacemacs. After installing all the packages with command emacs --insecure, I restarted emacs with command emacs --debug-init and emacs shows error:

Debugger entered--Lisp error: (void-variable c-c++modes)

I checked the Lisp code in file .emacs.d/private/+my/my-code/packages.el and I think the error may be related to the missing file lsp-mode under directory .emacs.d/private/+my/my-code/local(I know nothing about the Lisp programming language... ). Besides, I found other symbolic files using the command below:

giant@test:Config$ find . -type l -print0 | xargs -0 ls -al |grep Emacs
lrwxrwxrwx 1 giant giant 43 Jan 25 22:10 ./home/.emacs.d/private/+my/cquery/local/cquery -> ../../../../../../../Dev/Emacs/emacs-cquery
lrwxrwxrwx 1 giant giant 39 Jan 25 22:10 ./home/.emacs.d/private/+my/cquery/local/lsp-mode -> ../../../../../../../Dev/Emacs/lsp-mode
lrwxrwxrwx 1 giant giant 39 Jan 25 22:10 ./home/.emacs.d/private/+my/lsp/local/lsp-mode -> ../../../../../../../Dev/Emacs/lsp-mode
lrwxrwxrwx 1 giant giant 37 Jan 25 22:10 ./home/.emacs.d/private/+my/lsp/local/lsp-ui -> ../../../../../../../Dev/Emacs/lsp-ui
lrwxrwxrwx 1 giant giant 39 Jan 25 22:10 ./home/.emacs.d/private/+my/my-code/local/lsp-mode -> ../../../../../../../Dev/Emacs/lsp-mode
lrwxrwxrwx 1 giant giant 37 Jan 25 22:10 ./home/.emacs.d/private/+my/my-code/local/lsp-ui -> ../../../../../../../Dev/Emacs/lsp-ui

Could you please replace these symbolic files with their target files ? I'd like to check if Emacs still encounters errors with the right lsp-mode file.

Thank you for sharing such an amazing repo~
Best regards~

After apply Config for doom emacs, I meet error like lsp--on-idle’: (error "The connected server(s) does not support method textDocument/documentHighlight

I applied your config under home/.config/doom and checkout some necessary modules under ~/Dev/Emacs, i still meet lsp--on-idle’: (error "The connected server(s) does not support method textDocument/documentHighlight error, and it seems the emacs ide is very slow when i move cursor inside a big c++ files compare to navigate inside a neovim coc-ccls ide.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.