Changeset c53d99e in dotfiles
- Timestamp:
- Jul 3, 2022, 8:18:15 PM (2 years ago)
- Branches:
- master
- Children:
- dc74d32
- Parents:
- b6142c1
- git-author:
- Mikhail Kirillov <w96k@…> (06/22/22 09:57:17)
- git-committer:
- Mikhail Kirillov <w96k@…> (07/03/22 20:18:15)
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
cvs/.gitconfig
rb6142c1 rc53d99e 13 13 smtpUser = w96k@riseup.net 14 14 smtpServerPort = 587 15 [init] 16 defaultBranch = master 17 [http] 18 sslVerify = true -
guix/.guix-packages/emacs.scm
rb6142c1 rc53d99e 9 9 #:use-module (guix memoization) 10 10 #:use-module (guix build-system emacs) 11 #:use-module (guix build-system glib-or-gtk) 11 12 #:use-module (gnu packages) 12 13 #:use-module (gnu packages imagemagick) … … 24 25 #:use-module (srfi srfi-1) 25 26 #:use-module (ice-9 match)) 27 28 (define-public emacs 29 (package 30 (name "emacs") 31 (version "28.1") 32 (source (origin 33 (method url-fetch) 34 (uri (string-append "mirror://gnu/emacs/emacs-" 35 version ".tar.xz")) 36 (sha256 37 (base32 38 "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98")) 39 (patches (search-patches "emacs-exec-path.patch" 40 "emacs-fix-scheme-indent-function.patch" 41 "emacs-source-date-epoch.patch")) 42 (modules '((guix build utils))) 43 (snippet 44 '(with-directory-excursion "lisp" 45 ;; Delete the bundled byte-compiled elisp files and generated 46 ;; autoloads. 47 (for-each delete-file 48 (append (find-files "." "\\.elc$") 49 (find-files "." "loaddefs\\.el$") 50 (find-files "eshell" "^esh-groups\\.el$"))) 51 52 ;; Make sure Tramp looks for binaries in the right places on 53 ;; remote Guix System machines, where 'getconf PATH' returns 54 ;; something bogus. 55 (substitute* "net/tramp-sh.el" 56 ;; Patch the line after "(defcustom tramp-remote-path". 57 (("\\(tramp-default-remote-path") 58 (format #f "(tramp-default-remote-path ~s ~s ~s ~s " 59 "~/.guix-profile/bin" "~/.guix-profile/sbin" 60 "/run/current-system/profile/bin" 61 "/run/current-system/profile/sbin"))) 62 63 ;; Make sure Man looks for C header files in the right 64 ;; places. 65 (substitute* "man.el" 66 (("\"/usr/local/include\"" line) 67 (string-join 68 (list line 69 "\"~/.guix-profile/include\"" 70 "\"/var/guix/profiles/system/profile/include\"") 71 " "))) 72 #t)))) 73 (build-system glib-or-gtk-build-system) 74 (arguments 75 `(#:tests? #f ; no check target 76 #:configure-flags (list "--with-modules" 77 "--with-cairo" 78 "--disable-build-details") 79 #:phases 80 (modify-phases %standard-phases 81 (add-after 'unpack 'patch-program-file-names 82 (lambda* (#:key inputs #:allow-other-keys) 83 (substitute* '("src/callproc.c" 84 "lisp/term.el" 85 "lisp/htmlfontify.el" 86 "lisp/textmodes/artist.el" 87 "lisp/progmodes/sh-script.el") 88 (("\"/bin/sh\"") 89 (format #f "~s" (which "sh")))) 90 (substitute* "lisp/doc-view.el" 91 (("\"(gs|dvipdf|ps2pdf)\"" all what) 92 (let ((ghostscript (assoc-ref inputs "ghostscript"))) 93 (if ghostscript 94 (string-append "\"" ghostscript "/bin/" what "\"") 95 all))) 96 (("\"(pdftotext)\"" all what) 97 (let ((poppler (assoc-ref inputs "poppler"))) 98 (if poppler 99 (string-append "\"" poppler "/bin/" what "\"") 100 all)))) 101 ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real" 102 ;; respectively when looking for GVFS processes. 103 (substitute* "lisp/net/tramp-gvfs.el" 104 (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process) 105 (format #f "(or ~a (tramp-compat-process-running-p ~s))" 106 all (string-append "." process "-real")))) 107 #t)) 108 (add-before 'configure 'fix-/bin/pwd 109 (lambda _ 110 ;; Use `pwd', not `/bin/pwd'. 111 (substitute* (find-files "." "^Makefile\\.in$") 112 (("/bin/pwd") 113 "pwd")) 114 #t)) 115 (add-after 'install 'install-site-start 116 ;; Use 'guix-emacs' in "site-start.el", which is used autoload the 117 ;; Elisp packages found in EMACSLOADPATH. 118 (lambda* (#:key inputs outputs #:allow-other-keys) 119 (let* ((out (assoc-ref outputs "out")) 120 (lisp-dir (string-append out "/share/emacs/site-lisp")) 121 (emacs (string-append out "/bin/emacs"))) 122 123 ;; This is duplicated from emacs-utils to prevent coupling. 124 (define* (emacs-byte-compile-directory dir) 125 (let ((expr `(progn 126 (setq byte-compile-debug t) 127 (byte-recompile-directory 128 (file-name-as-directory ,dir) 0 1)))) 129 (invoke emacs "--quick" "--batch" 130 (format #f "--eval=~s" expr)))) 131 132 (copy-file (assoc-ref inputs "guix-emacs.el") 133 (string-append lisp-dir "/guix-emacs.el")) 134 (with-output-to-file (string-append lisp-dir "/site-start.el") 135 (lambda () 136 (display 137 (string-append 138 "(when (require 'guix-emacs nil t)\n" 139 " (guix-emacs-autoload-packages)\n" 140 " (advice-add 'package-load-all-descriptors" 141 " :after #'guix-emacs-load-package-descriptors))")))) 142 ;; Remove the extraneous subdirs.el file, as it causes Emacs to 143 ;; add recursively all the the sub-directories of a profile's 144 ;; share/emacs/site-lisp union when added to EMACSLOADPATH, 145 ;; which leads to conflicts. 146 (delete-file (string-append lisp-dir "/subdirs.el")) 147 ;; Byte compile the site-start files. 148 (emacs-byte-compile-directory lisp-dir)) 149 #t)) 150 (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp 151 ;; restore the dump file that Emacs installs somewhere in 152 ;; libexec/ to its original state 153 (lambda* (#:key outputs target #:allow-other-keys) 154 (let* ((libexec (string-append (assoc-ref outputs "out") 155 "/libexec")) 156 ;; each of these ought to only match a single file, 157 ;; but even if not (find-files) sorts by string<, 158 ;; so the Nth element in one maps to the Nth element of 159 ;; the other 160 (pdmp (find-files libexec "\\.pdmp$")) 161 (pdmp-real (find-files libexec "\\.pdmp-real$"))) 162 (for-each rename-file pdmp-real pdmp)))) 163 (add-after 'glib-or-gtk-wrap 'strip-double-wrap 164 (lambda* (#:key outputs #:allow-other-keys) 165 ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped 166 ;; twice. This also fixes a minor issue, where WMs would not be 167 ;; able to track emacs back to emacs.desktop. 168 (with-directory-excursion (assoc-ref outputs "out") 169 (copy-file 170 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) 171 "bin/emacs") 172 #t))) 173 (add-after 'strip-double-wrap 'wrap-emacs-paths 174 (lambda* (#:key inputs outputs #:allow-other-keys) 175 (let* ((out (assoc-ref outputs "out")) 176 (lisp-dirs (find-files (string-append out "/share/emacs") 177 "^lisp$" 178 #:directories? #t))) 179 (for-each 180 (lambda (prog) 181 (wrap-program prog 182 ;; emacs-next and variants rely on uname being in PATH for 183 ;; Tramp. Tramp paths can't be hardcoded, because they 184 ;; need to be portable. 185 `("PATH" suffix 186 ,(map (lambda (in) (string-append in "/bin")) 187 (list (assoc-ref inputs "gzip") 188 (assoc-ref inputs "coreutils")))) 189 `("EMACSLOADPATH" suffix ,lisp-dirs))) 190 (find-files (string-append out "/bin") 191 ;; Matches versioned and unversioned emacs binaries. 192 ;; We don't patch emacsclient, because it takes its 193 ;; environment variables from emacs. 194 ;; Likewise, we don't need to patch helper binaries 195 ;; like etags, ctags or ebrowse. 196 "^emacs(-[0-9]+(\\.[0-9]+)*)?$")))))))) 197 (inputs 198 `(("gnutls" ,gnutls) 199 ("ncurses" ,ncurses) 200 201 ;; Required for "core" functionality, such as dired and compression. 202 ("coreutils" ,coreutils) 203 ("gzip" ,gzip) 204 205 ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email 206 ;; only via insecure channels. This is not needed for (modern) IMAP. 207 ("mailutils" ,mailutils) 208 209 ;; TODO: Add the optional dependencies. 210 ("gpm" ,gpm) 211 ("libx11" ,libx11) 212 ("gtk+" ,gtk+) 213 ("cairo" ,cairo) 214 ("pango" ,pango) 215 ("harfbuzz" ,harfbuzz) 216 ("libxft" ,libxft) 217 ("libtiff" ,libtiff) 218 ("giflib" ,giflib) 219 ("libjpeg" ,libjpeg-turbo) 220 ("acl" ,acl) 221 ("jansson" ,jansson) 222 ("gmp" ,gmp) 223 ("ghostscript" ,ghostscript) 224 ("poppler" ,poppler) 225 226 ;; When looking for libpng `configure' links with `-lpng -lz', so we 227 ;; must also provide zlib as an input. 228 ("libpng" ,libpng) 229 ("zlib" ,zlib) 230 ("librsvg" ,@(if (target-x86-64?) 231 (list librsvg-bootstrap) 232 (list librsvg-2.40))) 233 ("libxpm" ,libxpm) 234 ("libxml2" ,libxml2) 235 ("libice" ,libice) 236 ("libsm" ,libsm) 237 ("alsa-lib" ,alsa-lib) 238 ("dbus" ,dbus) 239 240 ;; multilingualization support 241 ("libotf" ,libotf) 242 ("m17n-lib" ,m17n-lib))) 243 (native-inputs 244 `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) 245 ("pkg-config" ,pkg-config) 246 ("texinfo" ,texinfo))) 247 248 (native-search-paths 249 (list (search-path-specification 250 (variable "EMACSLOADPATH") 251 (files '("share/emacs/site-lisp"))) 252 (search-path-specification 253 (variable "INFOPATH") 254 (files '("share/info"))))) 255 256 (home-page "https://www.gnu.org/software/emacs/") 257 (synopsis "The extensible, customizable, self-documenting text editor") 258 (description 259 "GNU Emacs is an extensible and highly customizable text editor. It is 260 based on an Emacs Lisp interpreter with extensions for text editing. Emacs 261 has been extended in essentially all areas of computing, giving rise to a 262 vast array of packages supporting, e.g., email, IRC and XMPP messaging, 263 spreadsheets, remote server editing, and much more. Emacs includes extensive 264 documentation on all aspects of the system, from basic editing to writing 265 large Lisp programs. It has full Unicode support for nearly all human 266 languages.") 267 (license license:gpl3+))) 26 268 27 269 (define-public libgccjit-for-gcc … … 71 313 (libgccjit-for-gcc gcc-11)) 72 314 73 (define-public emacs -2874 (package 75 (inherit emacs -next)315 (define-public emacs 316 (package 317 (inherit emacs) 76 318 (name "emacs") 77 319 (version "28.1") … … 119 361 (let ((libgccjit (libgccjit-for-gcc gcc-11))) 120 362 (package 121 (inherit emacs -28)363 (inherit emacs) 122 364 (name "emacs-with-native-compilation") 123 365 (version "28.1") … … 309 551 310 552 (define-public emacs-realgud-xdebug 311 (let ((commit "4e0886e6952d697c4ef19dc220bafa764c36d9ce") 312 (revision "0")) 313 (package 314 (name "emacs-realgud-xdebug") 315 (version (git-version "0.1" revision commit)) 316 (source 317 (origin 318 (uri (git-reference 319 (url "https://github.com/realgud/realgud-xdebug") 320 (commit commit))) 321 (method git-fetch) 322 (sha256 323 (base32 "133smyrd4xryj9z9ggfg7zvp8s33991sa44ll8s2p2s9y30i6il2")) 324 (file-name (git-file-name name version)))) 325 (build-system emacs-build-system) 326 (propagated-inputs 327 (list emacs-realgud emacs-load-relative)) 328 (home-page "https://github.com/realgud/realgud-xdebug/") 329 (synopsis 330 "Modular front-end for interacting with external debuggers") 331 (description 332 "RealGUD is a modular, extensible GNU Emacs front-end for interacting 553 (package 554 (name "emacs-realgud-xdebug") 555 (version "0.1.0") 556 (source 557 (origin 558 (uri (git-reference 559 (url "https://github.com/realgud/realgud-xdebug") 560 (commit version))) 561 (method git-fetch) 562 (sha256 563 (base32 "0iyxm4yfjwpc322md8iz38xs1y6whqjgsbbs7vdjw1k5029q8nc0")) 564 (file-name (git-file-name name version)))) 565 (build-system emacs-build-system) 566 (inputs 567 (list emacs-realgud)) 568 (home-page "https://github.com/realgud/realgud-xdebug/") 569 (synopsis 570 "Modular front-end for interacting with external debuggers") 571 (description 572 "RealGUD is a modular, extensible GNU Emacs front-end for interacting 333 573 with external debuggers. It integrates various debuggers such as gdb, pdb, 334 574 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the 335 575 sources. Unlike GUD, it also supports running multiple debug sessions in 336 576 parallel.") 337 (license license:gpl3+))))577 (license license:gpl3+))) 338 578 339 579 (define-public emacs-xcscope -
guix/config.scm
rb6142c1 rc53d99e 5 5 (use-service-modules 6 6 desktop 7 databases 7 8 networking 8 9 ssh … … 39 40 'cpupower activation-service-type 40 41 #~(zero? (system* #$(file-append cpupower "/bin/cpupower") 41 "frequency-set" 42 "--governor" 43 "schedutil")))) 42 "frequency-set" "--governor" "schedutil")))) 44 43 45 44 (define %x86-energy-perf-policy-service … … 47 46 'x86-energy-perf-policy-service activation-service-type 48 47 #~(zero? (system* #$(file-append x86-energy-perf-policy "/bin/x86_energy_perf_policy") 49 "--turbo-enable" 50 "0" 51 "--hwp-desired" 52 "16")))) 48 "--turbo-enable" "0" 49 "--hwp-desired" "16")))) 53 50 54 51 (define %thinkfan-service … … 164 161 "mesa-utils" 165 162 "ratpoison" 163 "wmname" 166 164 "fvwm" 167 165 "cagebreak" ;; ratpoison for wayland that works very poorly … … 250 248 ,drm-kms-config))) 251 249 252 (service openvpn-client-service-type253 (openvpn-client-configuration254 (persist-tun? #t)255 (remote256 (list257 (openvpn-remote-configuration258 (name "nyc.vpn.riseup.net")259 (port 1196))))))250 ;; (service openvpn-client-service-type 251 ;; (openvpn-client-configuration 252 ;; (persist-tun? #t) 253 ;; (remote 254 ;; (list 255 ;; (openvpn-remote-configuration 256 ;; (name "nyc.vpn.riseup.net") 257 ;; (port 1196)))))) 260 258 261 259 (service special-files-service-type … … 269 267 "/lib/ld-linux-x86-64.so.2")))) 270 268 271 ;; (service nix-service-type) 269 (service nix-service-type 270 (nix-configuration 271 (extra-config '("trusted-users = root w96k")))) 272 273 (service postgresql-service-type) 272 274 273 275 %cpupower-service … … 303 305 (inherit config) 304 306 (substitute-urls 305 (append (list "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion" 307 (append (list "http://ci.guix.trop.in" 308 ;; "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion" 306 309 "https://bordeaux.guix.gnu.org" 307 310 "https://substitutes.nonguix.org") … … 324 327 )")) 325 328 %default-authorized-guix-keys)) 326 (http-proxy "http://localhost:9250")))))) 329 ;; (http-proxy "http://localhost:9250") 330 ))))) 327 331 328 332 (bootloader -
guix/user.scm
rb6142c1 rc53d99e 11 11 12 12 (packages->manifest 13 (list (specification->package "emacs-flycheck") 13 (list 14 (transform1 (specification->package "emacs")) 15 (specification->package "emacs-flycheck") 14 16 (specification->package "emacs-pdf-tools") 15 17 (specification->package "emacs-debbugs") … … 38 40 (specification->package "emacs-all-the-icons") 39 41 (specification->package "erlang") 40 (transform1 (specification->package "emacs"))41 42 (specification->package "gcc-toolchain") 42 43 (specification->package "kicad") -
python/.pythonrc
rb6142c1 rc53d99e 1 1 # -*- mode: python -*- 2 import atexit3 import rlcompleter4 import code5 import os6 import readline2 # import atexit 3 # import rlcompleter 4 # import code 5 # import os 6 # import readline 7 7 8 readline.parse_and_bind('tab:complete') 9 readline.parse_and_bind('bind ^I rl_complete') 10 11 class HistoryConsole(code.InteractiveConsole): 12 def __init__(self, locals=None, filename="<console>", 13 histfile=os.path.expanduser("~/.console-history")): 14 code.InteractiveConsole.__init__(self, locals, filename) 15 self.init_history(histfile) 16 17 def init_history(self, histfile): 18 readline.parse_and_bind("tab: complete") 19 if hasattr(readline, "read_history_file"): 20 try: 21 readline.read_history_file(histfile) 22 except FileNotFoundError: 23 pass 24 atexit.register(self.save_history, histfile) 25 26 def save_history(self, histfile): 27 readline.set_history_length(1000) 28 readline.write_history_file(histfile) 29 30 8 # readline.parse_and_bind('tab:complete') 9 # readline.parse_and_bind('bind ^I rl_complete') -
wm/.ratpoisonrc
rb6142c1 rc53d99e 20 20 alias emacs exec ratpoison -c "select emacs" || exec emacs 21 21 alias xterm exec ratpoison -c "select xterm" || exec xterm 22 alias firefox exec ratpoison -c "select firefox" || exec x11docker -c --pulseaudio --alsa -I --share $HOME/Downloads -- --tmpfs /dev/shm -- jess/firefox22 alias firefox exec ratpoison -c "select firefox" || exec flatpak run org.mozilla.firefox 23 23 24 24 # Run or raise Emacs
Note:
See TracChangeset
for help on using the changeset viewer.