Changeset c53d99e in dotfiles


Ignore:
Timestamp:
Jul 3, 2022, 8:18:15 PM (2 years ago)
Author:
Mikhail Kirillov <w96k@…>
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)
Message:

Update dotfiles

Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • cvs/.gitconfig

    rb6142c1 rc53d99e  
    1313        smtpUser = w96k@riseup.net
    1414        smtpServerPort = 587
     15[init]
     16        defaultBranch = master
     17[http]
     18        sslVerify = true
  • guix/.guix-packages/emacs.scm

    rb6142c1 rc53d99e  
    99  #:use-module (guix memoization)
    1010  #:use-module (guix build-system emacs)
     11  #:use-module (guix build-system glib-or-gtk)
    1112  #:use-module (gnu packages)
    1213  #:use-module (gnu packages imagemagick)
     
    2425  #:use-module (srfi srfi-1)
    2526  #: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
     260based on an Emacs Lisp interpreter with extensions for text editing.  Emacs
     261has been extended in essentially all areas of computing, giving rise to a
     262vast array of packages supporting, e.g., email, IRC and XMPP messaging,
     263spreadsheets, remote server editing, and much more.  Emacs includes extensive
     264documentation on all aspects of the system, from basic editing to writing
     265large Lisp programs.  It has full Unicode support for nearly all human
     266languages.")
     267    (license license:gpl3+)))
    26268
    27269(define-public libgccjit-for-gcc
     
    71313  (libgccjit-for-gcc gcc-11))
    72314
    73 (define-public emacs-28
    74   (package
    75    (inherit emacs-next)
     315(define-public emacs
     316  (package
     317   (inherit emacs)
    76318   (name "emacs")
    77319   (version "28.1")
     
    119361  (let ((libgccjit (libgccjit-for-gcc gcc-11)))
    120362    (package
    121       (inherit emacs-28)
     363      (inherit emacs)
    122364      (name "emacs-with-native-compilation")
    123365      (version "28.1")
     
    309551
    310552(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
    333573with external debuggers.  It integrates various debuggers such as gdb, pdb,
    334574ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
    335575sources.  Unlike GUD, it also supports running multiple debug sessions in
    336576parallel.")
    337      (license license:gpl3+))))
     577   (license license:gpl3+)))
    338578
    339579(define-public emacs-xcscope
  • guix/config.scm

    rb6142c1 rc53d99e  
    55(use-service-modules
    66 desktop
     7 databases
    78 networking
    89 ssh
     
    3940   'cpupower activation-service-type
    4041   #~(zero? (system* #$(file-append cpupower "/bin/cpupower")
    41                      "frequency-set"
    42                      "--governor"
    43                      "schedutil"))))
     42                     "frequency-set" "--governor" "schedutil"))))
    4443
    4544(define %x86-energy-perf-policy-service
     
    4746   'x86-energy-perf-policy-service activation-service-type
    4847   #~(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"))))
    5350
    5451(define %thinkfan-service
     
    164161      "mesa-utils"
    165162      "ratpoison"
     163      "wmname"
    166164      "fvwm"
    167165      "cagebreak" ;; ratpoison for wayland that works very poorly
     
    250248                           ,drm-kms-config)))
    251249
    252    (service openvpn-client-service-type
    253             (openvpn-client-configuration
    254              (persist-tun? #t)
    255              (remote
    256               (list
    257                (openvpn-remote-configuration
    258                 (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))))))
    260258   
    261259   (service special-files-service-type
     
    269267                             "/lib/ld-linux-x86-64.so.2"))))
    270268
    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)
    272274
    273275   %cpupower-service
     
    303305                      (inherit config)
    304306                      (substitute-urls
    305                        (append (list "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion"
     307                       (append (list "http://ci.guix.trop.in"
     308                                     ;; "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion"
    306309                                     "https://bordeaux.guix.gnu.org"
    307310                                     "https://substitutes.nonguix.org")
     
    324327 )"))
    325328                               %default-authorized-guix-keys))
    326                        (http-proxy "http://localhost:9250"))))))
     329                      ;; (http-proxy "http://localhost:9250")
     330                      )))))
    327331
    328332 (bootloader
  • guix/user.scm

    rb6142c1 rc53d99e  
    1111
    1212(packages->manifest
    13   (list (specification->package "emacs-flycheck")
     13 (list
     14  (transform1 (specification->package "emacs"))
     15  (specification->package "emacs-flycheck")
    1416        (specification->package "emacs-pdf-tools")
    1517        (specification->package "emacs-debbugs")
     
    3840        (specification->package "emacs-all-the-icons")
    3941        (specification->package "erlang")
    40         (transform1 (specification->package "emacs"))
    4142        (specification->package "gcc-toolchain")
    4243        (specification->package "kicad")
  • python/.pythonrc

    rb6142c1 rc53d99e  
    11# -*- mode: python -*-
    2 import atexit
    3 import rlcompleter
    4 import code
    5 import os
    6 import readline
     2# import atexit
     3# import rlcompleter
     4# import code
     5# import os
     6# import readline
    77
    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  
    2020alias emacs exec ratpoison -c "select emacs" || exec emacs
    2121alias 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/firefox
     22alias firefox exec ratpoison -c "select firefox" || exec flatpak run org.mozilla.firefox
    2323
    2424# Run or raise Emacs
Note: See TracChangeset for help on using the changeset viewer.