diff --git a/emacs/doom.d/init.el b/emacs/doom.d/init.el index 5b4aa31..25bb0cd 100644 --- a/emacs/doom.d/init.el +++ b/emacs/doom.d/init.el @@ -1,183 +1,194 @@ ;;; init.el -*- lexical-binding: t; -*- -;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom install' -;; will do this for you). The `doom!' block below controls what modules are -;; enabled and in what order they will be loaded. Remember to run 'doom refresh' -;; after modifying it. +;; This file controls what Doom modules are enabled and what order they load in. +;; Remember to run 'doom sync' after modifying it! + +;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's +;; documentation. There you'll find information about all of Doom's modules +;; and what flags they support. + +;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or +;; 'C-c g k' for non-vim users) to view its documentation. This works on +;; flags as well (those symbols that start with a plus). ;; -;; More information about these modules (and what flags they support) can be -;; found in modules/README.org. +;; Alternatively, press 'gd' (or 'C-c g d') on a module to browse its +;; directory (for easy access to its source code). (doom! :input ;;chinese ;;japanese :completion - (company ; the ultimate code completion backend. - +childframe) ; Use company-box. - (helm ; because sometimes I prefer what I know. - +fuzzy) ; woh typse aynthing write teh first time. - ;;ido ; the other *other* search engine... - ;;(ivy ; a search engine for love and life - ;; +fuzzy) + (company ; the ultimate code completion backend. + +childframe) ; Use company-box. + ;;(helm ; because sometimes I prefer what I know. + ;; +fuzzy) ; woh typse aynthing write teh first time. + ;;ido ; the other *other* search engine... + (ivy +fuzzy) ; a search engine for love and life :ui - deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - doom-quit ; DOOM quit-message prompts when you quit Emacs - fill-column ; a `fill-column' indicator - hl-todo ; highlight TODO/FIXME/NOTE tags - ;;indent-guides ; highlighted indent columns - modeline ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink the current line after jumping - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup ; tame sudden yet inevitable temporary windows - +all ; catch all popups that start with an asterix - +defaults) ; default popup rules - (pretty-code ; replace bits of code with pretty symbols - +fira) ; I use firaCode or FiraCode derivatives everywhere, all the time. - ;;tabbar ; FIXME an (incomplete) tab bar for Emacs - treemacs ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces + deft ; notational velocity for Emacs + doom ; what makes DOOM look the way it does + doom-dashboard ; a nifty splash screen for Emaclints + doom-quit ; DOOM quit-message prompts when you quit Emacs + fill-column ; a `fill-column' indicator + hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW + ;;hydra + ;;indent-guides ; highlighted indent columns + modeline ; snazzy, Atom-inspired modeline, plus API + nav-flash ; blink the current line after jumping + ;;neotree ; a project drawer, like NERDTree for vim + ophints ; highlight the region an operation acts on + (popup ; tame sudden yet inevitable temporary windows + +all ; catch all popups that start with an asterix + +defaults) ; default popup rules + (pretty-code ; replace bits of code with pretty symbols + +fira) + ;;tabs ; an tab bar for Emacs + treemacs ; a project drawer, like neotree but cooler + unicode ; extended unicode support for various languages + vc-gutter ; vcs diff in the fringe + vi-tilde-fringe ; fringe tildes to mark beyond EOB + window-select ; visually switch windows + workspaces ; tab emulation, persistence & separate workspaces + ;;zen ; distraction-free coding or writing :editor - (evil +everywhere) ; come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - (format +onsave) ; automated prettiness - ;;lispy ; vim for lisp, for people who dont like vim - multiple-cursors ; editing in many places at once - ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of - rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to + (evil +everywhere); come to the dark side, we have cookies + file-templates ; auto-snippets for empty files + fold ; (nigh) universal code folding + (format +onsave) ; automated prettiness + ;;god ; run Emacs commands without modifier keys + ;;lispy ; vim for lisp, for people who don't like vim + multiple-cursors ; editing in many places at once + ;;objed ; text object editing for the innocent + ;;parinfer ; turn lisp into python, sort of + rotate-text ; cycle region at point between text candidates + snippets ; my elves. They type so I don't have to + word-wrap ; soft wrapping with language-aware indent :emacs - (dired ; making dired pretty [functional] - +ranger ; bringing the goodness of ranger to dired - +icons) ; colorful icons for dired-mode - electric ; smarter, keyword-based electric-indent - vc ; version-control and Emacs, sitting in a tree + (dired ; making dired pretty [functional] + +ranger ; bringing the goodness of ranger to dired + +icons) ; colorful icons for dired-mode + electric ; smarter, keyword-based electric-indent + ibuffer ; interactive buffer management + vc ; version-control and Emacs, sitting in a tree :term - ;;eshell ; a consistent, cross-platform shell (WIP) - ;;shell ; a terminal REPL for Emacs - ;;term ; terminals in Emacs - vterm ; another terminals in Emacs - + ;;eshell ; a consistent, cross-platform shell (WIP) + ;;shell ; a terminal REPL for Emacs + ;;term ; terminals in Emacs + vterm ; another terminals in Emacs + + :checkers + syntax ; tasing you for every semicolon you forget + spell ; tasing you for misspelling mispelling + grammar ; tasing grammar mistake every you make + :tools ;;ansible - ;;debugger ; FIXME stepping through code, to help you add bugs + ;;debugger ; FIXME stepping through code, to help you add bugs ;;direnv ;;docker - editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs - eval ; run code, run (also, repls) - flycheck ; tasing you for every semicolon you forget - flyspell ; tasing you for misspelling mispelling - ;;gist ; interacting with github gists - (lookup ; helps you navigate your code and documentation - +docsets) ; ...or in Dash docsets locally + editorconfig ; let someone else argue about tabs vs spaces + ;;ein ; tame Jupyter notebooks with emacs + (eval +overlay) ; run code, run (also, repls) + ;;gist ; interacting with github gists + (lookup ; helps you navigate your code and documentation + +docsets) ; ...or in Dash docsets locally lsp - ;;macos ; MacOS-specific commands - magit ; a git porcelain for Emacs - make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;rgb ; creating color strings - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - ;;upload ; map local to remote projects via ssh/ftp - ;;wakatime + ;;macos ; MacOS-specific commands + magit ; a git porcelain for Emacs + make ; run make tasks from Emacs + ;;pass ; password manager for nerds + ;;pdf ; pdf enhancements + ;;prodigy ; FIXME managing external services & code builders + ;;rgb ; creating color strings + ;;terraform ; infrastructure as code + ;;tmux ; an API for interacting with tmux + ;;upload ; map local to remote projects via ssh/ftp :lang - ;;agda ; types of types of types of types... - ;;assembly ; assembly for fun or debugging - ;;cc ; C/C++/Obj-C madness - ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans - data ; config/data formats - ;;erlang ; an elegant language for a more civilized age - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;ess ; emacs speaks statistics - ;;fsharp ; ML stands for Microsoft's Language - go ; the hipster dialect - ;;(haskell +intero) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; - (java +lsp) ; the poster child for carpal tunnel syndrome - javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - ;;latex ; writing papers in Emacs has never been so fun - ;;ledger ; an accounting system in Emacs - ;;lua ; one-based indices? one-based indices - (markdown +grip) ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - (org ; organize your plain life in plain text - +dragndrop ; file drag & drop support - +ipython ; ipython support for babel - +gnuplot ; plot suff - +pandoc ; pandoc integration into org's exporter - +pomodoro) ; Because timers are helpful. - ;;perl ; write code no one else can comprehend - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - ;;python ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - rest ; Emacs as a REST client - ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - (sh ; she sells {ba,z,fi}sh shells on the C xor - +lsp) ; this is somehow a thing? - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - (web +lsp) ; the tubes - ;;vala ; GObjective-C + ;;agda ; types of types of types of types... + ;;assembly ; assembly for fun or debugging + ;;cc ; C/C++/Obj-C madness + ;;clojure ; java with a lisp + ;;common-lisp ; if you've seen one lisp, you've seen them all + ;;coq ; proofs-as-programs + ;;crystal ; ruby at the speed of c + ;;csharp ; unity, .NET, and mono shenanigans + data ; config/data formats + ;;elixir ; erlang done right + ;;elm ; care for a cup of TEA? + emacs-lisp ; drown in parentheses + ;;erlang ; an elegant language for a more civilized age + ;;ess ; emacs speaks statistics + ;;faust ; dsp, but you get to keep your soul + ;;fsharp ; ML stands for Microsoft's Language + go ; the hipster dialect + ;;(haskell +dante) ; a language that's lazier than I am + ;;hy ; readability of scheme w/ speed of python + ;;idris ; + (java +lsp) ; the poster child for carpal tunnel syndrome + (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) + ;;julia ; a better, faster MATLAB + ;;kotlin ; a better, slicker Java(Script) + ;;latex ; writing papers in Emacs has never been so fun + ;;lean + ;;factor + ;;ledger ; an accounting system in Emacs + ;;lua ; one-based indices? one-based indices + (markdown +grip) ; writing docs for people to ignore + ;;nim ; python + lisp at the speed of c + ;;nix ; I hereby declare "nix geht mehr!" + ;;ocaml ; an objective camel + (org ; organize your plain life in plain text + +dragndrop ; drag & drop files/images into org buffers + ;;+hugo ; use Emacs for hugo blogging + ;;+jupyter ; ipython/jupyter support for babel + +pandoc ; export-with-pandoc support + +pomodoro ; be fruitful with the tomato technique + +present) ; using org-mode for presentations + ;;perl ; write code no one else can comprehend + ;;php ; perl's insecure younger brother + ;;plantuml ; diagrams for confusing people more + ;;purescript ; javascript, but functional + ;;python ; beautiful is better than ugly + ;;qt ; the 'cutest' gui framework ever + ;;racket ; a DSL for DSLs + ;;rest ; Emacs as a REST client + ;;rst ; ReST in peace + ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} + ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + ;;scala ; java, but good + ;;scheme ; a fully conniving family of lisps + (sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor + ;;solidity ; do you need a blockchain? No. + ;;swift ; who asked for emoji variables? + ;;terra ; Earth and Moon in alignment for performance. + (web +lsp) ; the tubes :email ;;(mu4e +gmail) ;;notmuch ;;(wanderlust +gmail) - ;; Applications are complex and opinionated modules that transform Emacs - ;; toward a specific purpose. They may have additional dependencies and - ;; should be loaded late. :app calendar - ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https ://twitter.com/vnought - (write ; emacs as a word processor (latex + org + markdown) - +wordnut ; wordnet (wn) search - +langtool) ; a proofreader (grammar/style check) for Emacs + ;;irc ; how neckbeards socialize + ;;(rss +org) ; emacs as an RSS reader + ;;twitter ; twitter client https://twitter.com/vnought + :collab - ;;floobits ; peer programming for a price - ;;impatient-mode ; show off code over HTTP + ;;floobits ; peer programming for a price + ;;impatient-mode ; show off code over HTTP :config ;; For literate config users. This will tangle+compile a config.org ;; literate config in your `doom-private-dir' whenever it changes. - ;;literate + ;; literate ;; The default module sets reasonable defaults for Emacs. It also ;; provides a Spacemacs-inspired keybinding scheme and a smartparens diff --git a/i3/autostart b/i3/autostart deleted file mode 100644 index 9695158..0000000 --- a/i3/autostart +++ /dev/null @@ -1 +0,0 @@ -exec_always polybar example \ No newline at end of file diff --git a/i3/config.d/autostart b/i3/config.d/autostart deleted file mode 100644 index 991a3b4..0000000 --- a/i3/config.d/autostart +++ /dev/null @@ -1,6 +0,0 @@ -### Start Nextcloud. -exec nextcloud - -### Make things a little easier easier on the eyes. -exec redshift - diff --git a/i3/config.d/bar b/i3/config.d/bar deleted file mode 100644 index 692140d..0000000 --- a/i3/config.d/bar +++ /dev/null @@ -1,2 +0,0 @@ -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) diff --git a/i3/config.d/config b/i3/config.d/config deleted file mode 100644 index fa74fcf..0000000 --- a/i3/config.d/config +++ /dev/null @@ -1,180 +0,0 @@ - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l -# Your preferred terminal emulator -set $term kitty - -################################################################################ -# Your preferred application launcher -# Note: it's recommended that you pass the final command to sway -set $menu bash ~/.config/sway/scripts/menu -set $gopass_menu bash ~/.config/sway/scripts/menu_gopass -set $clipman_menu bash ~/.config/sway/scripts/menu_clipman -set $printscreen bash ~/.config/sway/scripts/printscreen -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# Before i3 v4.8, we used to recommend this one as the default: -# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, its unicode glyph coverage is limited, the old -# X core fonts rendering does not support right-to-left and this being a bitmap -# font, it doesn’t scale on retina/hidpi displays. - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec $term - -# kill focused window -bindsym $mod+q kill - -# start your launcher -bindsym $mod+space exec $menu -# gopass prompt -bindsym $mod+backslash exec $gopass_menu -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop - -# -# Moving around: -# -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# _move_ the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+b split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+- floating toggle - -# change focus between tiling / floating windows -bindsym $mod+d focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 -bindsym $mod+0 workspace $ws10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9 -bindsym $mod+Shift+0 move container to workspace $ws10 - -# reload the configuration file -bindsym $mod+Shift+c exec "make -C ~/.config/i3/ update" -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - diff --git a/i3/config.d/input b/i3/config.d/input deleted file mode 100644 index 495e906..0000000 --- a/i3/config.d/input +++ /dev/null @@ -1,3 +0,0 @@ -# Map ctrl to caps. -exec setxkbmap -option ctrl:swapcaps - diff --git a/i3/config.d/ui b/i3/config.d/ui deleted file mode 100644 index 6cdb32b..0000000 --- a/i3/config.d/ui +++ /dev/null @@ -1,13 +0,0 @@ -### Font -font pango:Fira Code 9 - -gaps inner 10 -gaps outer 0 - -### Colors -# class border backgr text indicator child_border -client.focused #12e689 #12e689 #1f212e #12e689 #12e689 -client.focused_inactive #1f212e #1f212e #aab5c6 #1f212e #1f212e -client.unfocused #161720 #161720 #aab5c6 #161720 #161720 -client.urgent #ff4551 #ff4551 #1f212e #ff4551 #ff4551 - diff --git a/i3/makefile b/i3/makefile deleted file mode 100644 index 5830a1a..0000000 --- a/i3/makefile +++ /dev/null @@ -1,30 +0,0 @@ -SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) - -include ../lib/shared.mk -TARGET := $(XDG_DIR)/i3 - -install: | init update - -init: -ifeq ($(call cmd_exist,i3), true) - $(info => Setting up i3) - $(mk_link) $(SRC) $(TARGET) -else - $(report) warn "i3 not installed." -endif - -update: -ifeq ($(call cmd_exist,i3-msg), true) - $(info => Reloading i3-msg) - $(MAKE) -C $(SRC) build_i3 - i3-msg reload ; $(report) "i3 reload" -else - $(report) warn "i3 not installed." -endif - -remove: - $(info => Remvoing sway) - $(rm_link) $(TARGET) - -build_i3: - cat $(SRC)/config.d/* > $(SRC)/config diff --git a/jrnl/makefile b/jrnl/makefile new file mode 100644 index 0000000..b107ad2 --- /dev/null +++ b/jrnl/makefile @@ -0,0 +1,20 @@ +SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + +include ../lib/shared.mk + +CONFIG_DIR := $(XDG_DIR)/jrnl + +install: | init update + +init: +ifeq ($(call cmd_exist,jrnl), true) + $(info => Setting up jrnl) + mkdir $(CONFIG_DIR) + $(mk_link) $(SRC)/jrnl.yml $(CONFIG_DIR)/jrnl.yml + +else + $(report) info "jrnl not installed. Skipping." +endif + +remove: + rm -rf $(CONFIG_DIR) diff --git a/zsh/environment/host/zuk/zprofile b/zsh/environment/host/zuk/zprofile new file mode 100644 index 0000000..eaa5b0d --- /dev/null +++ b/zsh/environment/host/zuk/zprofile @@ -0,0 +1 @@ +source /usr/share/chruby/chruby.sh