Merge branch 'main' of codeberg.org:acscott/dotfiles

This commit is contained in:
Andrew Scott 2022-04-13 12:06:09 -04:00
commit baa807c445
Signed by: a
GPG key ID: 3EB62D0BBB8DB381
8 changed files with 249 additions and 78 deletions

View file

@ -22,11 +22,12 @@ in ~/dotfiles_backup. The script is simple enough that it should be
easily editable, but obviously feel free to copy or symlink the
files how you see fit.
The below screenshots are using a dark gruvbox theme, however I'm currently experimenting with zenburn. The gruvbox configs are still available, but they are not the default on all branches.
### laptop-hidpi configuration
#### Zenburn
![Desktop screenshot of the laptop-hidpi configuration](info/screenshots/screenshot.png)
#### Gruvbox
![Desktop screenshot of the laptop-hidpi configuration](info/screenshots/screenshot2.png)
[Wallpaper](https://www.reddit.com/r/wallpaper/comments/ll1gov/arch_gruvbox_wallpaper_v2_dark_light_3840x2160/ "Wallpaper")

View file

@ -0,0 +1,41 @@
# https://github.com/sainnhe/everforest
# https://gist.github.com/sophiabrandt/f013c5980b5f89cd068d8f7f47da2e1c
foreground #d8cacc
background #323d43
selection_foreground #3c474d
selection_background #525c62
url_color #415c6d
cursor #7fbbb3
# black
color0 #4a555b
color8 #525c62
# red
color1 #e68183
color9 #e68183
# green
color2 #a7c080
color10 #a7c080
# yellow
color3 #dbbc7f
color11 #dbbc7f
# blue
color4 #7fbbb3
color12 #7fbbb3
# magenta
color5 #d699b6
color13 #d699b6
# cyan
color6 #83c092
color14 #83c092
# white
color7 #d8caac
color15 #d8caac

View file

@ -1,8 +1,15 @@
" set leader key
let g:mapleader = "\<Space>"
" vim hardcodes background color erase even if the terminfo file does
" not contain bce (not to mention that libvte based terminals
" incorrectly contain bce in their terminfo files). This causes
" incorrect background rendering when using a color theme with a
" background color.
let &t_ut=''
syntax enable " Enables syntax highlighing
set hidden " Required to keep multiple buffers open multiple buffers
set hidden " Required to keep multiple buffers open
set nowrap " Display long lines as just one line
set encoding=utf-8 " The encoding displayed
set pumheight=10 " Makes popup menu smaller
@ -40,18 +47,49 @@ au! BufWritePost $MYVIMRC source % " auto source when writing to init.vim a
" You can't stop me
cmap w!! w !sudo tee %
" neovim-plug-git
"" Plugins
" Install neovim-plug-git from AUR
call plug#begin()
Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'Raimondi/delimitMate'
"Plug 'morhetz/gruvbox'
"Plug 'ryanoasis/vim-devicons'
"Plug 'neovim/nvim-lsp'
"Plug 'jackguo380/vim-lsp-cxx-highlight'
" A fuzzy file finder
Plug 'kien/ctrlp.vim'
" Comment/Uncomment tool
Plug 'scrooloose/nerdcommenter'
" Switch to the begining and the end of a block by pressing %
Plug 'tmhedberg/matchit'
" A Tree-like side bar for better navigation
Plug 'scrooloose/nerdtree'
" A cool status bar
Plug 'vim-airline/vim-airline'
" Airline themes
Plug 'vim-airline/vim-airline-themes'
" Better syntax-highlighting for filetypes in vim
Plug 'sheerun/vim-polyglot'
" Intellisense engine
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Git integration
Plug 'tpope/vim-fugitive'
" Auto-close braces and scopes
Plug 'jiangmiao/auto-pairs'
""Themes
" Everforest theme
Plug 'sainnhe/everforest'
" Nord
"Plug 'arcticicestudio/nord-vim'
call plug#end()
" Theme
"colorscheme gruvbox
" Important!!
if has('termguicolors')
set termguicolors
endif
" Set contrast.
" This configuration option should be placed before `colorscheme everforest`.
" Available values: 'hard', 'medium'(default), 'soft'
let g:everforest_background = 'medium'
" For better performance
let g:everforest_better_performance = 1
colorscheme everforest
" plug-in autostart
"augroup nerdtree_open

View file

@ -1,10 +1,13 @@
;; Disable package.el early so it won't start loading packages before init is loaded
(setq package-enable-at-startup nil)
;; No thanks
(setq inhibit-startup-message t) ; Disable startup message
(scroll-bar-mode -1) ; Disable visible scrollbar
(tool-bar-mode -1) ; Disable the toolbar
(tooltip-mode -1) ; Disable tooltips
(set-fringe-mode 10) ; Give some breathing room
(menu-bar-mode -1) ; Disable the menu bar
(setq inhibit-startup-message t) ; Disable startup message
(scroll-bar-mode -1) ; Disable visible scrollbar
(tool-bar-mode -1) ; Disable the toolbar
(tooltip-mode -1) ; Disable tooltips
(set-fringe-mode 10) ; Give some breathing room
(menu-bar-mode -1) ; Disable the menu bar
(setq-default custom-file null-device) ; Write customizations not in this file to the null device (AKA stop littering in my init.el)
;; Visible bell
@ -37,11 +40,11 @@
;; No annoying Windows errors
(set-default-coding-systems 'utf-8)
;; Improved scrolling
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1) ;; keyboard scroll one line at a time
;; Improve scrolling
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ; one line at a time
(setq mouse-wheel-progressive-speed nil) ; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ; scroll window under mouse
(setq scroll-step 1) ; keyboard scroll one line at a time
;; Tabs
(setq-default indent-tabs-mode nil)
@ -63,49 +66,65 @@
(dolist (mode '(org-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
;; Install and load straight.el
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
;;;;;;;;;;;;;; Not needed when using straight.el ;;;;;;;;;;;;;;
;; Initialize package sources
(require 'package)
;(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/")
("elpa" . "https://elpa.gnu.org/packages/")))
;(setq package-archives '(("melpa" . "https://melpa.org/packages/")
; ("org" . "https://orgmode.org/elpa/")
; ("elpa" . "https://elpa.gnu.org/packages/")))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
;(package-initialize)
;(unless package-archive-contents
; (package-refresh-contents))
;; Initialize use-package on non-Linux platforms
(unless (package-installed-p 'use-package)
(package-install 'use-package))
;(unless (package-installed-p 'use-package)
; (package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;(require 'use-package)
;(setq use-package-always-ensure t)
;;;;;;;;;;;;;;
;;; Packages
;; Install use-package
(straight-use-package 'use-package)
;; Make use-package use straight.el
(use-package straight
:custom (straight-use-package-by-default t))
;; Theme
(setq custom-safe-themes t)
;(use-package darktooth-theme
;(use-package zenburn-theme
; :config
; (load-theme `darktooth t))
; (load-theme `zenburn t))
(use-package zenburn-theme
(use-package everforest-hard-dark-theme
:straight (everforest-hard-dark-theme :type git :repo "https://git.sr.ht/~theorytoe/everforest-hard-dark-theme")
:config
(load-theme `zenburn t))
;; (use-package ample-theme
;; :config
;; (load-theme `ample-flat t))
(load-theme 'everforest-hard-dark t))
;; (use-package base16-theme
;; :ensure t
;; :config
;; (load-theme 'gruvbox-dark-soft t))
;; Help distinguish between work from others like sidebars and terminal
;; Help distinguish work buffers from others like sidebars and terminal
(use-package solaire-mode
:diminish
:init
(solaire-global-mode t))
@ -114,9 +133,6 @@
;; Modeline
;; (use-package simple-modeline
;; :hook (after-init . simple-modeline-mode))
(use-package minions
:hook (doom-modeline-mode . minions-mode)
(simple-modeline-mode . minions-mode))
@ -145,7 +161,6 @@
;; Automatically clean whitespace
(use-package ws-butler
:diminish
:hook ((text-mode . ws-butler-mode)
(prog-mode . ws-butler-mode)))
@ -182,7 +197,6 @@
:bind (("C-s" . swiper)))
(use-package treemacs
:defer t
:bind
(:map global-map
("M-0" . treemacs-select-window)
@ -193,17 +207,28 @@
("C-x t M-t" . treemacs-find-tag)))
(use-package lsp-treemacs
:defer t
:config
(lsp-treemacs-sync-mode 1))
;; Git
(use-package magit
:bind ("C-M-;" . magit-status)
:commands (magit-status magit-get-current-branch)
:custom
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
;; Project management
(use-package projectile
:init
(projectile-mode +1)
:bind-keymap
(("C-M-p" . projectile-find-file)
("C-c p" . projectile-command-map))
:bind (:map projectile-mode-map
("C-c p" . projectile-command-map)))
;; LSP & debugging
(use-package lsp-mode
@ -211,15 +236,18 @@
(setq lsp-keymap-prefix "C-c l")
:commands (lsp lsp-deferred)
:hook
((c-mode . lsp)
(c++-mode . lsp)
(java-mode . lsp)
(python-mode . lsp)
(rust-mode . lsp)
(tex-mode . lsp)
(latex-mode . lsp)
(zig-mode . lsp)
(lsp-mode . lsp-enable-which-key-integration))
((c-mode . lsp)
(c++-mode . lsp)
(java-mode . lsp)
(js-mode . lsp)
(latex-mode . lsp)
(python-mode . lsp)
(rust-mode . lsp)
(tex-mode . lsp)
(typescript-mode . lsp)
(web-mode . lsp)
(zig-mode . lsp)
(lsp-mode . lsp-enable-which-key-integration))
:config
(setq lsp-prefer-flymake nil)) ;prefer lsp-ui (flycheck) to flymake
; :bind
@ -246,9 +274,15 @@
(lsp-ui-doc-show))
(use-package dap-mode
:after lsp-mode
:commands dap-debug
:config
(dap-ui-mode 1)
(dap-tooltip-mode 1))
(dap-tooltip-mode 1)
(eval-when-compile
(require 'cl-lib))
(require 'dap-python)
(require 'dap-node))
(use-package company
:config
@ -266,17 +300,16 @@
("C-n" . company-select-next)
("C-p" . company-select-previous)))
;; Full terminal applications within Emacs
(use-package vterm
:commands vterm
:config
(setq vterm-max-scrollback 10000))
;;; Languages
(use-package apheleia
:init
(apheleia-global-mode +1))
;; C/C++
(setq-default c-default-style "k&r")
(setq-default c-basic-offset 2)
;(setq-default c-default-style "k&r")
;(setq-default c-basic-offset 2)
;(use-package ccls
; :hook ((c-mode c++-mode objc-mode cuda-mode) .
@ -290,6 +323,62 @@
;(use-package lsp-java)
;; JavaScript/TypeScript, HTML, CSS
(setq css-indent-level 2)
(setq css-indent-offset 2)
(setq js-indent-level 2)
(use-package js2-mode
:config
(add-to-list 'interpreter-mode-alist '("#!/usr/bin/env node" . js2-mode))
(setq js2-mode-show-strict-warnings nil)
:hook ('js-mode-hook 'js2-minor-mode))
(use-package typescript-mode
:config
(setq typescript-indent-level 2)
:mode ("\\.ts\\'" . typescript-mode))
(use-package restclient
:init
(use-package company-restclient))
(use-package rainbow-mode
:hook
((js-mode . rainbow-mode)
(typescript-mode . rainbow-mode)
(web-mode . rainbow-mode)))
(use-package skewer-mode
:init
(setq httpd-port 8123)
:hook
(('js-mode-hook 'skewer-mode)
('css-mode-hook 'skewer-css-mode)
('html-mode-hook 'skewer-html-mode)))
(use-package skewer-reload-stylesheets
:hook
(('css-mode-hook 'skewer-reload-stylesheets-start-editing)
('scss-mode-hook 'skewer-reload-stylesheets-start-editing)))
(use-package web-mode
:config
(setq web-mode-code-indent-offset 2)
(setq web-mode-markup-indent-offset 2)
(setq web-mode-attribute-indent-offset 2)
:mode
(("\\.phtml\\'" . web-mode)
("\\.tpl\\.php\\'" . web-mode)
("\\.jsp\\'" . web-mode)
("\\.as[cp]x\\'" . web-mode)
("\\.erb\\'" . web-mode)
("\\.mustache\\'" . web-mode)
("\\.djhtml\\'" . web-mode)
("\\.jst.ejs\\'" . web-mode)
("\\.html?\\'" . web-mode)))
;; LaTeX
(use-package lsp-latex)
@ -297,15 +386,20 @@
(setq lsp-tex-server 'digestif)
;; Python
(setq dap-python-debugger 'debugpy)
(use-package lsp-pyright
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp)))) ; or lsp-deferred
(use-package sphinx-doc
:hook (python-mode . sphinx-doc-mode)
(use-package numpydoc
:after python
:bind (:map python-mode-map
("C-c C-n" . numpydoc-generate))
:config
(setq sphinx-doc-include-types t))
(setq numpydoc-insert-examples-block nil))
;; Rust

View file

@ -46,6 +46,7 @@ spotify-adblock-git
polybar-spotify
rofi-power-menu
st
vimix-gtk-themes-git
# Laptop/Thinkpads (for xbacklight etc., your needs may vary)
acpi_call

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View file

@ -1,4 +0,0 @@
# make Java behave when not using a DE
export _JAVA_AWT_WM_NONREPARENTING=1
# add .local/bin to $PATH
export PATH="$HOME/.local/bin:$PATH"