Add zsh configuration.

This commit is contained in:
Gabriel Simmer 2021-09-26 23:43:29 +01:00
parent 92abcb770c
commit b044164476
8 changed files with 452 additions and 2 deletions

126
.config/.emacs.d/init.el Normal file
View file

@ -0,0 +1,126 @@
;; Mostly following along with System Crafter's videos.
;; So this will look pretty familiar.
(setq inhibit-startup-message t)
(scroll-bar-mode -1)
(tool-bar-mode -1)
(tooltip-mode -1)
(set-fringe-mode 10)
(menu-bar-mode -1)
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
(setq org-edit-src-content-indentation 0
org-src-tab-acts-natively t
org-src-preserve-indentation t)
;; Packages stuff.
(require 'package)
(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))
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;; I like Monokai Pro, sue me ;)
(use-package monokai-pro-theme
:ensure t
:config
(load-theme 'monokai-pro-spectrum t))
(use-package doom-modeline
:ensure t
:init (doom-modeline-mode 1)
:custom
(doom-mode-line-height 15))
(use-package all-the-icons :ensure t)
(use-package treemacs
:ensure t
:defer t
:init
:bind (:map global-map
("M-0" . treemacs-select-window)
("C-x t t" . treemacs)))
(use-package treemacs-projectile
:ensure t)
;; LSP config.
(use-package spinner :ensure t)
(use-package lsp-mode
:ensure t
:init
(setq lsp-keymap-prefix "C-c l")
:hook ((rust-mode . lsp)
(lsp-mode . lsp-enable-which-key-integration))
:commands lsp)
(use-package lsp-ui :commands lsp-ui-mode)
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
(use-package rust-mode)
;; Can't have lisps without paredit!
(use-package paredit
:ensure t
:config
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
;; enable in the *scratch* buffer
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
(add-hook 'ielm-mode-hook #'paredit-mode)
(add-hook 'lisp-mode-hook #'paredit-mode)
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
(use-package projectile
:ensure t
:init
(projectile-mode +1)
:bind (:map projectile-mode-map
("s-p" . projectile-command-map)
("C-c p" . projectile-command-map))
:config
(setq projectile-project-search-path '("~/Projects")))
;; Ivy/Swiper/Counsel config.
(use-package swiper)
(use-package counsel)
(use-package ivy
:diminish
:bind (("C-s" . swiper)
:map ivy-minibuffer-map
("TAB" . ivy-alt-done)
("C-l" . ivy-alt-done)
("C-j" . ivy-next-line)
("C-k" . ivy-previous-line)
:map ivy-switch-buffer-map
("C-k" . ivy-previous-line)
("C-l" . ivy-done)
("C-d" . ivy-switch-buffer-kill)
:map ivy-reverse-i-search-map
("C-k" . ivy-previous-line)
("C-d" . ivy-reverse-i-search-kill))
:config
(ivy-mode 1))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
'(treemacs-projectile projectile paredit all-the-fonts doom-modeline rust-mode swipe spinner lsp-treemacs lsp-ivy lsp-ui lsp-mode counsel swiper ivy treemacs use-package monokai-pro-theme)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

View file

@ -0,0 +1,14 @@
{
"auto_complete": false,
"ignored_packages": ["Vintage", "Emmet", "SublimeCodeIntel"],
"draw_centered": true,
"spell_check": true,
"tab_completion": false,
"auto_complete_triggers": [],
"word_wrap": true,
"line_numbers": false,
"gutter": false,
"wrap_width": 80,
"word_wrap": true,
"scroll_past_end": true
}

View file

@ -0,0 +1,32 @@
{
"bootstrapped": true,
"debug": true,
"in_process_packages":
[
],
"installed_packages":
[
"Dockerfile Syntax Highlighting",
"Emmet",
"GitGutter",
"Gofmt",
"Golang Build",
"HexViewer",
"LSP",
"LSP-bash",
"LSP-intelephense",
"LSP-pyright",
"LSP-SourceKit",
"LSP-typescript",
"LSP-yaml",
"Package Control",
"paredit",
"Rust Enhanced",
"SideBarEnhancements",
"SublimeLinter",
"Swift",
"Theme - Monokai Pro",
"TOML",
"TypeScript",
],
}

View file

@ -0,0 +1,25 @@
{
"auto_complete_delay": 20,
"color_scheme": "Monokai Pro (Filter Spectrum).sublime-color-scheme",
"font_face": "Iosevka Regular",
"font_size": 13,
"ignored_packages":
[
"Rust",
"Vintage"
],
"monokai_pro_file_icons": true,
"monokai_pro_highlight_open_folders": true,
"monokai_pro_minimal": true,
"monokai_pro_sidebar_headings": true,
"monokai_pro_style_title_bar": true,
"monokai_pro_ui_font_face": "IBM Plex Mono",
"rulers":
[
80
],
"theme": "Monokai Pro (Filter Spectrum).sublime-theme",
"mini_diff": "auto",
"hardware_acceleration": "opengl",
"themed_title_bar": true,
}

View file

@ -0,0 +1,44 @@
local wezterm = require 'wezterm';
return {
automatically_reload_config = true,
font = wezterm.font("IBM Plex Mono"),
window_close_confirmation = "NeverPrompt",
font_size = 12,
initial_cols = 120,
initial_rows = 35,
colors = {
foreground = "#f7f1ff",
background = "#222222",
cursor_bg = "#8b888f",
cursor_fg = "#f7f1ff",
cursor_border = "#8b888f",
selection_fg = "#363537",
selection_bg = "#69676c",
scrollbar_thumb = "#222222",
split = "#fce566",
tab_bar = {
background = "#222222",
active_tab = {
bg_color = "#f7f1ff",
fg_color = "#69676c",
intensity = "Normal",
underline = "None",
italic = false,
strikethrough = false,
},
inactive_tab = {
bg_color = "#69676c",
fg_color = "#f7f1ff",
},
inactive_tab_hover = {
bg_color = "#69676c",
fg_color = "#f7f1ff",
italic = true,
}
}
}
}

130
.emacs.d/init.el Normal file
View file

@ -0,0 +1,130 @@
;; Mostly following along with System Crafter's videos.
;; So this will look pretty familiar.
(setq inhibit-startup-message t)
(scroll-bar-mode -1)
(tool-bar-mode -1)
(tooltip-mode -1)
(set-fringe-mode 10)
(menu-bar-mode -1)
;; disable auto-save and auto-backup
(setq auto-save-default nil)
(setq make-backup-files nil)
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
(setq org-edit-src-content-indentation 0
org-src-tab-acts-natively t
org-src-preserve-indentation t)
;; Packages stuff.
(require 'package)
(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))
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;; I like Monokai Pro, sue me ;)
(use-package monokai-pro-theme
:ensure t
:config
(load-theme 'monokai-pro-spectrum t))
(use-package doom-modeline
:ensure t
:init (doom-modeline-mode 1)
:custom
(doom-mode-line-height 15))
(use-package all-the-icons :ensure t)
(use-package treemacs
:ensure t
:defer t
:init
:bind (:map global-map
("M-0" . treemacs-select-window)
("C-x t t" . treemacs)))
(use-package treemacs-projectile
:ensure t)
;; LSP config.
(use-package spinner :ensure t)
(use-package lsp-mode
:ensure t
:init
(setq lsp-keymap-prefix "C-c l")
:hook ((rust-mode . lsp)
(lsp-mode . lsp-enable-which-key-integration))
:commands lsp)
(use-package lsp-ui :commands lsp-ui-mode)
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
(use-package rust-mode)
;; Can't have lisps without paredit!
(use-package paredit
:ensure t
:config
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
;; enable in the *scratch* buffer
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
(add-hook 'ielm-mode-hook #'paredit-mode)
(add-hook 'lisp-mode-hook #'paredit-mode)
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
(use-package projectile
:ensure t
:init
(projectile-mode +1)
:bind (:map projectile-mode-map
("s-p" . projectile-command-map)
("C-c p" . projectile-command-map))
:config
(setq projectile-project-search-path '("~/Projects")))
;; Ivy/Swiper/Counsel config.
(use-package swiper)
(use-package counsel)
(use-package ivy
:diminish
:bind (("C-s" . swiper)
:map ivy-minibuffer-map
("TAB" . ivy-alt-done)
("C-l" . ivy-alt-done)
("C-j" . ivy-next-line)
("C-k" . ivy-previous-line)
:map ivy-switch-buffer-map
("C-k" . ivy-previous-line)
("C-l" . ivy-done)
("C-d" . ivy-switch-buffer-kill)
:map ivy-reverse-i-search-map
("C-k" . ivy-previous-line)
("C-d" . ivy-reverse-i-search-kill))
:config
(ivy-mode 1))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
'(treemacs-projectile projectile paredit all-the-fonts doom-modeline rust-mode swipe spinner lsp-treemacs lsp-ivy lsp-ui lsp-mode counsel swiper ivy treemacs use-package monokai-pro-theme)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

32
.zshrc Normal file
View file

@ -0,0 +1,32 @@
export ZSH="/home/gsimmer/.oh-my-zsh"
ZSH_THEME="frisk"
plugins=(git fzf zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
# User configuration
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export GOPATH="/home/gsimmer/Projects/go"
export CARGOPATH="/home/gsimmer/.cargo/bin"
export PATH="/home/gsimmer/.local/bin:$GOPATH/bin:$CARGOPATH:$PATH"
# Starship init.
#eval "$(starship init zsh)"
# aliases for various Rust-based utils.
if [ $(which exa) != 'exa not found' ]; then
alias ls=exa
fi
if [ $(which bat) != 'bat not found' ]; then
alias cat=bat
fi
if [ $(which rg) != 'rg not found' ]; then
alias grep=rg
fi
source /usr/share/nvm/init-nvm.sh
eval "$(pyenv init -)"

View file

@ -13,6 +13,7 @@ original old configs are in =archive/=.
:end: :end:
:contents: :contents:
- [[#my-setup][My Setup]] - [[#my-setup][My Setup]]
- [[#zsh][zsh]]
- [[#wezterm][WezTerm]] - [[#wezterm][WezTerm]]
- [[#systemd-units][Systemd Units]] - [[#systemd-units][Systemd Units]]
- [[#sublime-text][Sublime Text]] - [[#sublime-text][Sublime Text]]
@ -27,6 +28,48 @@ original old configs are in =archive/=.
Sublime in my workflow. As a part of this I've also considered using Guix (see: =seedfile.org=), Sublime in my workflow. As a part of this I've also considered using Guix (see: =seedfile.org=),
but am not quite there in my journey, so they aren't included here. but am not quite there in my journey, so they aren't included here.
*** zsh
zsh is my choice of shell, with some written-in-Rust replacements for
a few CLI tools.
=.zshrc=
#+begin_src shell :tangle .zshrc
export ZSH="/home/gsimmer/.oh-my-zsh"
ZSH_THEME="frisk"
plugins=(git fzf zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
# User configuration
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export GOPATH="/home/gsimmer/Projects/go"
export CARGOPATH="/home/gsimmer/.cargo/bin"
export PATH="/home/gsimmer/.local/bin:$GOPATH/bin:$CARGOPATH:$PATH"
# Starship init.
#eval "$(starship init zsh)"
# aliases for various Rust-based utils.
if [ $(which exa) != 'exa not found' ]; then
alias ls=exa
fi
if [ $(which bat) != 'bat not found' ]; then
alias cat=bat
fi
if [ $(which rg) != 'rg not found' ]; then
alias grep=rg
fi
source /usr/share/nvm/init-nvm.sh
eval "$(pyenv init -)"
#+end_src
*** wezterm *** wezterm
WezTerm is my terminal of choice these days, and is configured with Lua. WezTerm is my terminal of choice these days, and is configured with Lua.
@ -248,9 +291,9 @@ WantedBy=timers.target
and plan to split it into seperate files for each package. In the and plan to split it into seperate files for each package. In the
meantime, enjoy the monolith. meantime, enjoy the monolith.
=.config/.emacs.d/init.el= =..emacs.d/init.el=
#+begin_src elisp :tangle .config/.emacs.d/init.el #+begin_src elisp :tangle .emacs.d/init.el
;; Mostly following along with System Crafter's videos. ;; Mostly following along with System Crafter's videos.
;; So this will look pretty familiar. ;; So this will look pretty familiar.
(setq inhibit-startup-message t) (setq inhibit-startup-message t)
@ -262,6 +305,10 @@ WantedBy=timers.target
(menu-bar-mode -1) (menu-bar-mode -1)
;; disable auto-save and auto-backup
(setq auto-save-default nil)
(setq make-backup-files nil)
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120) (set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
(global-set-key (kbd "<escape>") 'keyboard-escape-quit) (global-set-key (kbd "<escape>") 'keyboard-escape-quit)
(setq org-edit-src-content-indentation 0 (setq org-edit-src-content-indentation 0