diff --git a/bash/.bash_aliases b/bash/.bash_aliases index bc94d9a..e69de29 100644 --- a/bash/.bash_aliases +++ b/bash/.bash_aliases @@ -1 +0,0 @@ -alias mpv='mpv --gpu-context=wayland --hwdec=vaapi' diff --git a/bash/.bashrc b/bash/.bashrc index b5f36e1..eaf1355 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -25,8 +25,20 @@ export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus -export VDPAU_DRIVER=va_gl - export GPG_TYY=$(tty) +alias rm='rm -i' +alias nnn='nnn -e' +alias magit='emacs -nw --eval "(magit-status)"' +alias emac='emacsclient -nw' + +gpgconf --launch gpg-agent + +export EDITOR=/home/minhradz/.local/bin/lvim +export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket +export MANPAGER="lvim +Man!" +export LC_ALL=en_US.UTF-8 + +eval "$(direnv hook bash)" eval "$(starship init bash)" +export PATH="/home/minhradz/.cargo/bin;/home/minhradz/.local/bin;/home/minhradz/go/bin;/home/minhradz/.cabal/bin:$PATH" diff --git a/cava/.config/cava/config b/cava/.config/cava/config new file mode 100644 index 0000000..801316e --- /dev/null +++ b/cava/.config/cava/config @@ -0,0 +1,161 @@ +## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting. + + +[general] + +# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0 +; mode = normal + +# Accepts only non-negative values. +; framerate = 60 + +# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off +# new as of 0.6.0 autosens of low values (dynamic range) +# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0 +; autosens = 1 +; overshoot = 20 + +# Manual sensitivity in %. If autosens is enabled, this will only be the initial value. +# 200 means double height. Accepts only non-negative values. +; sensitivity = 100 + +# The number of bars (0-200). 0 sets it to auto (fill up console). +# Bars' width and space between bars in number of characters. +; bars = 0 +bar_width = 1 +bar_spacing = 1 + + +# Lower and higher cutoff frequencies for lowest and highest bars +# the bandwidth of the visualizer. +# Note: there is a minimum total bandwidth of 43Mhz x number of bars. +# Cava will automatically increase the higher cutoff if a too low band is specified. +; lower_cutoff_freq = 50 +higher_cutoff_freq = 5000 + + +# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and +# only check for input once per second. Cava will wake up once input is detected. 0 = disable. +; sleep_timer = 0 + + +[input] + +# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem' +# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with. +# +# All input methods uses the same config variable 'source' +# to define where it should get the audio. +# +# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink +# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). +# +# For alsa 'source' will be the capture device. +# For fifo 'source' will be the path to fifo-file. +# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address +method = pulse +source = auto + +; method = alsa +; source = hw:Loopback,1 + +; method = fifo +; source = /tmp/mpd.fifo +; sample_rate = 44100 +; sample_bits = 16 + +; method = shmem +; source = /squeezelite-AA:BB:CC:DD:EE:FF + +; method = portaudio +; source = auto + + +[output] + +# Output method. Can be 'ncurses', 'noncurses' or 'raw'. +# 'noncurses' uses a custom framebuffer technique and draws only changes +# from frame to frame. 'ncurses' is default if supported +# +# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data +# stream of the bar heights that can be used to send to other applications. +# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above. +; method = ncurses + +# Visual channels. Can be 'stereo' or 'mono'. +# 'stereo' mirrors both channels with low frequencies in center. +# 'mono' outputs left to right lowest to highest frequencies. +# 'mono_option' set mono to either take input from 'left', 'right' or 'average'. +; channels = stereo +; mono_option = average + +# Raw output target. A fifo will be created if target does not exist. +; raw_target = /dev/stdout + +# Raw data format. Can be 'binary' or 'ascii'. +; data_format = binary + +# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). +; bit_format = 16bit + +# Ascii max value. In 'ascii' mode range will run from 0 to value specified here +; ascii_max_range = 1000 + +# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters. +# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)). +; bar_delimiter = 59 +; frame_delimiter = 10 + + + +[color] + +# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. +# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires +# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt. +# if supported, ncurses mode will be forced on if user defined colors are used. +# default is to keep current terminal color + background = default +foreground = green + +# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported, +# background must also be defined in hex or remain commented out. 1 = on, 0 = off. +# You can define as many as 8 different colors. They range from bottom to top of screen +gradient = 1 +gradient_count = 4 +gradient_color_4 = '#a9b665' +gradient_color_3 = '#d8a657' +gradient_color_2 = '#e78a4e' +gradient_color_1 = '#ea6962' + + + +[smoothing] + +# Percentage value for integral smoothing. Takes values from 0 - 100. +# Higher values means smoother, but less precise. 0 to disable. +integral = 60 + +# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. +monstercat = 1 +waves = 0 + +# Set gravity percentage for "drop off". Higher values means bars will drop faster. +# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". +; gravity = 100 + + +# In bar height, bars that would have been lower that this will not be drawn. +; ignore = 0 + + +[eq] + +# This one is tricky. You can have as much keys as you want. +# Remember to uncomment more then one key! More keys = more precision. +# Look at readme.md on github for further explanations and examples. +; 1 = 1 # bass +; 2 = 1 +; 3 = 1 # midtone +; 4 = 1 +; 5 = 1 # treble diff --git a/doom-emacs/.doom.d/config.el b/doom-emacs/.doom.d/config.el index 21332d3..855186b 100644 --- a/doom-emacs/.doom.d/config.el +++ b/doom-emacs/.doom.d/config.el @@ -5,213 +5,72 @@ ;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. -(setq user-full-name "minhtrannhat" - user-mail-address "minhtrannhat@tutanota.com") +;; clients, file templates and snippets. It is optional. +(setq user-full-name "John Doe" + user-mail-address "john@doe.com") -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: +;; Doom exposes five (optional) variables for controlling fonts in Doom: ;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for +;; - `doom-font' -- the primary font to use +;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable) +;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for ;; presentations or streaming. -(setq doom-font (font-spec :family "JetBrainsMono Nerd Font" :size 18) - doom-big-font (font-spec :family "JetBrainsMono Nerd Font" :size 26) - doom-variable-pitch-font (font-spec :family "Overpass" :size 16) - doom-unicode-font (font-spec :family "JuliaMono") - doom-serif-font (font-spec :family "IBM Plex Mono" :weight 'light)) +;; - `doom-unicode-font' -- for unicode glyphs +;; - `doom-serif-font' -- for the `fixed-pitch-serif' face +;; +;; See 'C-h v doom-font' for documentation and more examples of what they +;; accept. For example: +;; +;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light) +;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) +;; +;; If you or Emacs can't find your font, use 'M-x describe-font' to look them +;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to +;; refresh your font settings. If Emacs still can't find your font, it likely +;; wasn't installed correctly. Font issues are rarely Doom issues! -(setq doom-emoji-fallback-font-families nil) -(setq doom-symbol-fallback-font-families nil) +;; There are two ways to load a theme. Both assume the theme is installed and +;; available. You can either set `doom-theme' or manually load a theme with the +;; `load-theme' function. This is the default: +(setq doom-theme 'doom-one) -(setq fancy-splash-image "/home/minhradz/.doom.d/marivector.png") - -(defun synchronize-theme () -(let* ((light-theme 'doom-gruvbox-light) - (dark-theme 'doom-gruvbox) - (start-time-light-theme 6) - (end-time-light-theme 16) - (hour (string-to-number (substring (current-time-string) 11 13))) - (next-theme (if (member hour (number-sequence start-time-light-theme end-time-light-theme)) - light-theme dark-theme))) - (when (not (equal doom-theme next-theme)) - (setq doom-theme next-theme) - (load-theme next-theme t)))) - -(setq doom-nord-light-region-highlight 't) - -(run-with-timer 0 900 'synchronize-theme) - -(setq doom-themes-enable-bold t ; if nil, bold is universally disabled - doom-themes-enable-italic t) ; if nil, italics is universally disabled - -(with-eval-after-load 'doom-themes - (doom-themes-treemacs-config)) -(setq doom-themes-treemacs-theme "doom-colors") +;; This determines the style of line numbers in effect. If set to `nil', line +;; numbers are disabled. For relative line numbers, set this to `relative'. +(setq display-line-numbers-type t) +;; If you use `org' and don't want your org files in the default location below, +;; change `org-directory'. It must be set before org loads! (setq org-directory "~/org/") -(setq display-line-numbers-type 'relative) -(add-hook 'spell-fu-mode-hook - (lambda () - (spell-fu-dictionary-add (spell-fu-get-ispell-dictionary "en")) - (spell-fu-dictionary-add - (spell-fu-get-personal-dictionary "en-personal" "/home/minhradz/.aspell.en.pws")))) - -;; Clangd lsp for C/C++ dev -(setq lsp-clients-clangd-args '("-j=3" - "--background-index" - "--clang-tidy" - "--completion-style=detailed" - "--header-insertion=never" - "--header-insertion-decorators=0")) -(after! lsp-clangd (set-lsp-priority! 'clangd 2)) - -;; I mindlessly press ESC, so stop me from wreaking havoc -(global-set-key (kbd "") 'keyboard-escape-quit) - -;; update the git gutter -(custom-set-variables - '(git-gutter:update-interval 0.02)) - -;; ;; tree-sitter syntax highlighting -;; (use-package! tree-sitter -;; :config -;; (require 'tree-sitter-langs) -;; (global-tree-sitter-mode) -;; (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)) - -;; gpg -(setq epg-pinentry-mode 'loopback) - -;; both jk and kj now works -(setq evil-escape-unordered-key-sequence 't) - -;; org org -(setq +latex-viewers '(zathura)) - -;; fish fish -(setq vterm-shell 'fish) - -(defun doom-modeline-conditional-buffer-encoding () - "We expect the encoding to be LF UTF-8, so only show the modeline when this is not the case" - (setq-local doom-modeline-buffer-encoding - (unless (and (memq (plist-get (coding-system-plist buffer-file-coding-system) :category) - '(coding-category-undecided coding-category-utf-8)) - (not (memq (coding-system-eol-type buffer-file-coding-system) '(1 2)))) - t))) - -(add-hook 'after-change-major-mode-hook #'doom-modeline-conditional-buffer-encoding) - -(after! company - (setq company-idle-delay 1) - (add-hook 'evil-normal-state-entry-hook #'company-abort)) ;; make aborting less annoying. - -(use-package all-the-icons-ivy-rich - :init (all-the-icons-ivy-rich-mode 1)) - -(use-package ivy-rich - :init (ivy-rich-mode 1)) - -(setq-default history-length 1000) -(setq-default prescient-history-length 1000) - -;; Whether display the icon for `major-mode'. It respects `doom-modeline-icon'. -(setq doom-modeline-major-mode-icon t) - -;; Whether display the colorful icon for `major-mode'. -;; It respects `all-the-icons-color-icons'. -(setq doom-modeline-major-mode-color-icon t) - -;; Whether display the icon for the buffer state. It respects `doom-modeline-icon'. -(setq doom-modeline-buffer-state-icon t) - -;; Whether display the modification icon for the buffer. -;; It respects `doom-modeline-icon' and `doom-modeline-buffer-state-icon'. -(setq doom-modeline-buffer-modification-icon t) - -;; Whether to use unicode as a fallback (instead of ASCII) when not using icons. -(setq doom-modeline-unicode-fallback nil) - -;; Whether display the minor modes in the mode-line. -(setq doom-modeline-minor-modes nil) - -(use-package! websocket - :after org-roam) - -(use-package! org-roam-ui - :after org-roam - :config - (setq org-roam-ui-sync-theme t - org-roam-ui-follow t - org-roam-ui-update-on-save t - org-roam-ui-open-on-start t)) - -(setq org-roam-dailies-directory "daily/") - -(setq org-roam-dailies-capture-templates - '(("d" "default" entry - "* %?" - :target (file+head "%<%Y-%m-%d>.org" - "#+title: %<%Y-%m-%d>\n* What I did today\n* What was on my mind")))) - -(defun org-roam-rg-search () - "Search org-roam directory using consult-ripgrep. With live-preview." - (interactive) - (let ((consult-ripgrep-command "rg --null --ignore-case --type org --line-buffered --color=always --max-columns=500 --no-heading --line-number . -e ARG OPTS")) - (consult-ripgrep org-roam-directory))) - -(map! :leader - :desc "Search org-roam with consult-ripgrep" - "n r F" #'org-roam-rg-search) - -;; Function for inserting node into Org Roam -(defun org-roam-node-insert-immediate (arg &rest args) - (interactive "P") - (let ((args (cons arg args)) - (org-roam-capture-templates (list (append (car org-roam-capture-templates) - '(:immediate-finish t))))) - (apply #'org-roam-node-insert args))) - -(map! :leader - :desc "Insert node immediately" - "n r I" #'org-roam-node-insert-immediate) - -(setq avy-all-windows 't) - -;; Disables lsp-signature-auto-activate -;; Looking at you, rustic mode -(after! lsp-mode - (setq lsp-signature-auto-activate nil)) - -;; this never worked lol -(lsp-treemacs-sync-mode 1) - -;; bitmap very funni -(setq highlight-indent-guides-method 'bitmap) - -;; magit delta looks so good -(add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) - -;; keybind to disable search highlighting (like :set noh) -(map! :leader - :desc "Clear search highlight" - "s c" - #'evil-ex-nohighlight) - -;; We do a little bit of finger pointing -(use-package blamer - :bind (("s-i" . blamer-show-commit-info)) - :defer 20 - :custom - (blamer-idle-time 0.3) - (blamer-min-offset 40) - :custom-face - (blamer-face ((t :foreground "#7a88cf" - :background nil - :height 110 - :italic t))) - :config - (global-blamer-mode 1)) +;; Whenever you reconfigure a package, make sure to wrap your config in an +;; `after!' block, otherwise Doom's defaults may override your settings. E.g. +;; +;; (after! PACKAGE +;; (setq x y)) +;; +;; The exceptions to this rule: +;; +;; - Setting file/directory variables (like `org-directory') +;; - Setting variables which explicitly tell you to set them before their +;; package is loaded (see 'C-h v VARIABLE' to look up their documentation). +;; - Setting doom variables (which start with 'doom-' or '+'). +;; +;; Here are some additional functions/macros that will help you configure Doom. +;; +;; - `load!' for loading external *.el files relative to this one +;; - `use-package!' for configuring packages +;; - `after!' for running code after a package has loaded +;; - `add-load-path!' for adding directories to the `load-path', relative to +;; this file. Emacs searches the `load-path' when you load packages with +;; `require' or `use-package'. +;; - `map!' for binding new keys +;; +;; To get information about any of these functions/macros, move the cursor over +;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). +;; This will open documentation for it, including demos of how they are used. +;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, +;; etc). +;; +;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how +;; they are implemented. diff --git a/doom-emacs/.doom.d/custom.el b/doom-emacs/.doom.d/custom.el deleted file mode 100644 index e98d1cf..0000000 --- a/doom-emacs/.doom.d/custom.el +++ /dev/null @@ -1,29 +0,0 @@ -(put 'customize-group 'disabled nil) -(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. - '(TeX-command-BibTeX "Biber") - '(custom-safe-themes - '("7eea50883f10e5c6ad6f81e153c640b3a288cd8dc1d26e4696f7d40f754cc703" "5784d048e5a985627520beb8a101561b502a191b52fa401139f4dd20acb07607" "e3b2bad7b781a968692759ad12cb6552bc39d7057762eefaf168dbe604ce3a4b" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" default)) - '(git-gutter:update-interval 1) - '(smtpmail-smtp-server "smtp.gmail.com") - '(smtpmail-smtp-service 25) - '(warning-suppress-log-types '((iedit) (iedit) (iedit) (iedit) (iedit) (iedit) (iedit))) - '(warning-suppress-types - '((org-element-cache) - (org-load-hook) - (org-load-hook) - (iedit) - (iedit) - (iedit) - (iedit) - (iedit) - (iedit)))) -(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. - ) diff --git a/doom-emacs/.doom.d/init.el b/doom-emacs/.doom.d/init.el index 2f7babb..bc5b623 100644 --- a/doom-emacs/.doom.d/init.el +++ b/doom-emacs/.doom.d/init.el @@ -1,9 +1,11 @@ ;;; init.el -*- lexical-binding: t; -*- + ;; 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 a "Module Index" link where you'll find -;; a comprehensive list of Doom's modules and what flags they support. +;; documentation. There you'll find a link to Doom's Module Index where all +;; of our modules are listed, including what flags they support. ;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or ;; 'C-c c k' for non-vim users) to view its documentation. This works on @@ -21,42 +23,42 @@ company ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... - ivy ; a search engine for love and life - ;;vertico ; the search engine of the future + ;;ivy ; a search engine for love and life + vertico ; the search engine of the future :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 - (emoji +unicode) ; 🙂 + ;;(emoji +unicode) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra - indent-guides ; highlighted indent columns - ligatures ; ligatures and symbols to make your code pretty again + ;;indent-guides ; highlighted indent columns + ;;ligatures ; ligatures and symbols to make your code pretty again ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API + modeline ; snazzy, Atom-inspired modeline, plus API ;;nav-flash ; blink cursor line after big motions ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows ;;tabs ; a tab bar for Emacs - (treemacs +lsp) ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages + ;;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 +numbers) ; visually switch windows + ;;window-select ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces - zen ; distraction-free coding or writing + ;;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 + ;;(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 + ;;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 @@ -64,114 +66,115 @@ ;;word-wrap ; soft wrapping with language-aware indent :emacs - (dired +icons +ranger) ; making dired pretty [functional] + dired ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent - ibuffer ; interactive buffer management + ;;ibuffer ; interactive buffer management undo ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree :term - eshell ; the elisp shell that works everywhere + ;;eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs + ;;vterm ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget - (spell +everywhere +aspell); tasing you for misspelling mispelling + ;;(spell +flyspell) ; tasing you for misspelling mispelling ;;grammar ; tasing grammar mistake every you make :tools ;;ansible + ;;biblio ; Writes a PhD for you (citation needed) ;;debugger ; FIXME stepping through code, to help you add bugs - direnv - (docker +lsp) + ;;direnv + ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces - ein ; tame Jupyter notebooks with emacs + ;;ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) - gist ; interacting with github gists - (lookup +dictionary + docsets +offline) ; navigate your code and its documentation - lsp ; M-x vscode - (magit +forge) ; a git porcelain for Emacs - make ; run make tasks from Emacs - (pass +auth) ; password manager for nerds - pdf ; pdf enhancements + ;;gist ; interacting with github gists + lookup ; navigate your code and its documentation + ;;lsp ; M-x vscode + 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 - taskrunner ; taskrunner for all your projects + ;;taskrunner ; taskrunner for all your projects ;;terraform ; infrastructure as code - tmux ; an API for interacting with tmux + ;;tmux ; an API for interacting with tmux ;;upload ; map local to remote projects via ssh/ftp :os - ;;(:if IS-MAC macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience + (:if IS-MAC macos) ; improve compatibility with macOS + ;;tty ; improve the terminal Emacs experience :lang ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 - clojure ; java with a lisp - common-lisp ; if you've seen one lisp, you've seen them all + ;;(cc +lsp) ; C > C++ == 1 + ;;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 + ;;csharp ; unity, .NET, and mono shenanigans ;;data ; config/data formats ;;(dart +flutter) ; paint ui and not much else ;;dhall - elixir ; erlang done right + ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses - (erlang +lsp) ; an elegant language for a more civilized age + ;;erlang ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;factor ;;faust ; dsp, but you get to keep your soul + ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) ;;fsharp ; ML stands for Microsoft's Language ;;fstar ; (dependent) types and (monadic) effects and Z3 ;;gdscript ; the language you waited for - (go +lsp) ; the hipster dialect - (haskell +lsp) ; a language that's lazier than I am + ;;(go +lsp) ; the hipster dialect + ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on - (json +lsp) ; At least it ain't XML - (java +lsp) ; the poster child for carpal tunnel syndrome - javascript ; all(hope(abandon(ye(who(enter(here)))))) - (julia +lsp) ; a better, faster MATLAB + ;;json ; At least it ain't XML + ;;(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 + ;;latex ; writing papers in Emacs has never been so fun ;;lean ; for folks with too much to prove ;;ledger ; be audit you can be - lua ; one-based indices? one-based indices + ;;lua ; one-based indices? one-based indices markdown ; 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 +roam2 +pretty) ; organize your plain life in plain text - (org +roam2) ; organize your plain life in plain text + org ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - (python +lsp +pyright +pyenv +poetry) + ;;python ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 - rest ; Emacs as a REST client + ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - scala ; java, but good - (scheme +guile +mit +racket) ; a fully conniving family of lisps + ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + ;;scala ; java, but good + ;;(scheme +guile) ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;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 - yaml ; JSON, but readable + ;;web ; the tubes + ;;yaml ; JSON, but readable ;;zig ; C, but simpler :email - ;;(mu4e +gmail +org) + ;;(mu4e +org +gmail) ;;notmuch ;;(wanderlust +gmail) diff --git a/doom-emacs/.doom.d/marivector.png b/doom-emacs/.doom.d/marivector.png deleted file mode 100644 index b8f1426..0000000 Binary files a/doom-emacs/.doom.d/marivector.png and /dev/null differ diff --git a/doom-emacs/.doom.d/packages.el b/doom-emacs/.doom.d/packages.el index a282400..b80e9cc 100644 --- a/doom-emacs/.doom.d/packages.el +++ b/doom-emacs/.doom.d/packages.el @@ -48,13 +48,3 @@ ;(unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;(unpin! t) -;;(package! elcord) -(package! tree-sitter) -(package! tree-sitter-langs) -(unpin! org-roam) -(package! websocket) -(package! org-roam-ui :recipe (:host github :repo "org-roam/org-roam-ui" :files ("*.el" "out"))) -(package! magit-delta) -(package! blamer :recipe (:host github :repo "artawower/blamer.el")) -(package! all-the-icons-ivy-rich) -(package! ivy-rich) diff --git a/fish/.config/fish/completions/fisher.fish b/fish/.config/fish/completions/fisher.fish deleted file mode 100644 index 6d23ce4..0000000 --- a/fish/.config/fish/completions/fisher.fish +++ /dev/null @@ -1,7 +0,0 @@ -complete --command fisher --exclusive --long help --description "Print help" -complete --command fisher --exclusive --long version --description "Print version" -complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins" -complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins" -complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins" -complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex" -complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)" diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish index 2b1966c..913c02c 100644 --- a/fish/.config/fish/config.fish +++ b/fish/.config/fish/config.fish @@ -1,5 +1,8 @@ set fish_greeting -theme_gruvbox dark medium +fish_vi_key_bindings +set fish_bind_mode insert + +theme_gruvbox dark hard alias rm 'rm -i' alias nnn 'nnn -e' @@ -24,8 +27,6 @@ set -gx XDG_CURRENT_DESKTOP sway set -gx MOZ_ENABLE_WAYLAND 1 set -gx QT_AUTO_SCREEN_SCALE_FACTOR 1 -set -gx VDPAU_DRIVER va_gl - set -Ux GTK_IM_MODULE ibus set -Ux QT_IM_MODULE ibus set -Ux XMODIFIERS @im=ibus diff --git a/fish/.config/fish/fish_plugins b/fish/.config/fish/fish_plugins deleted file mode 100644 index 54f49bf..0000000 --- a/fish/.config/fish/fish_plugins +++ /dev/null @@ -1,2 +0,0 @@ -jorgebucaran/fisher -jomik/fish-gruvbox diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables index 3d8b508..524f093 100644 --- a/fish/.config/fish/fish_variables +++ b/fish/.config/fish/fish_variables @@ -2,37 +2,35 @@ # VERSION: 3.0 SETUVAR --export GTK_IM_MODULE:ibus SETUVAR --export QT_IM_MODULE:ibus -SETUVAR --export SSH_AGENT_PID:946 -SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXX6HJbdl/agent\x2e945 +SETUVAR --export SSH_AGENT_PID:1235 +SETUVAR --export SSH_AUTH_SOCK:/tmp/ssh\x2dXXXXXXRu0Qxq/agent\x2e1234 SETUVAR --export XMODIFIERS:\x40im\x3dibus SETUVAR __fish_initialized:3100 -SETUVAR _fisher_jomik_2F_fish_2D_gruvbox_files:/home/minhradz/\x2econfig/fish/functions/theme_gruvbox\x2efish -SETUVAR _fisher_jorgebucaran_2F_fisher_files:/home/minhradz/\x2econfig/fish/functions/fisher\x2efish\x1e/home/minhradz/\x2econfig/fish/completions/fisher\x2efish -SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejomik/fish\x2dgruvbox -SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_autosuggestion:93a1a1 SETUVAR fish_color_cancel:\x2dr -SETUVAR fish_color_command:005fd7 -SETUVAR fish_color_comment:990000 +SETUVAR fish_color_command:586e75 +SETUVAR fish_color_comment:93a1a1 SETUVAR fish_color_cwd:green SETUVAR fish_color_cwd_root:red -SETUVAR fish_color_end:009900 -SETUVAR fish_color_error:ff0000 +SETUVAR fish_color_end:268bd2 +SETUVAR fish_color_error:dc322f SETUVAR fish_color_escape:00a6b2 SETUVAR fish_color_history_current:\x2d\x2dbold SETUVAR fish_color_host:normal SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue SETUVAR fish_color_normal:normal SETUVAR fish_color_operator:00a6b2 -SETUVAR fish_color_param:00afff -SETUVAR fish_color_quote:999900 -SETUVAR fish_color_redirection:00afff -SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_param:657b83 +SETUVAR fish_color_quote:839496 +SETUVAR fish_color_redirection:6c71c4 +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dwhite SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack SETUVAR fish_color_status:red SETUVAR fish_color_user:brgreen SETUVAR fish_color_valid_path:\x2d\x2dunderline -SETUVAR fish_key_bindings:fish_default_key_bindings -SETUVAR fish_pager_color_completion:\x1d -SETUVAR fish_pager_color_description:B3A06D\x1eyellow -SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_vi_key_bindings +SETUVAR fish_pager_color_completion:green +SETUVAR fish_pager_color_description:B3A06D +SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dunderline SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan diff --git a/fish/.config/fish/functions/fisher.fish b/fish/.config/fish/functions/fisher.fish deleted file mode 100644 index 72203a2..0000000 --- a/fish/.config/fish/functions/fisher.fish +++ /dev/null @@ -1,211 +0,0 @@ -function fisher --argument-names cmd --description "A plugin manager for Fish" - set --query fisher_path || set --local fisher_path $__fish_config_dir - set --local fisher_version 4.3.1 - set --local fish_plugins $__fish_config_dir/fish_plugins - - switch "$cmd" - case -v --version - echo "fisher, version $fisher_version" - case "" -h --help - echo "Usage: fisher install Install plugins" - echo " fisher remove Remove installed plugins" - echo " fisher update Update installed plugins" - echo " fisher update Update all installed plugins" - echo " fisher list [] List installed plugins matching regex" - echo "Options:" - echo " -v or --version Print version" - echo " -h or --help Print this help message" - echo "Variables:" - echo " \$fisher_path Plugin installation path. Default: ~/.config/fish" - case ls list - string match --entire --regex -- "$argv[2]" $_fisher_plugins - case install update remove - isatty || read --local --null --array stdin && set --append argv $stdin - - set --local install_plugins - set --local update_plugins - set --local remove_plugins - set --local arg_plugins $argv[2..-1] - set --local old_plugins $_fisher_plugins - set --local new_plugins - - if ! set --query argv[2] - if test "$cmd" != update - echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1 - else if test ! -e $fish_plugins - echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1 - end - set arg_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins) - end - - for plugin in $arg_plugins - test -e "$plugin" && set plugin (realpath $plugin) - contains -- "$plugin" $new_plugins || set --append new_plugins $plugin - end - - if set --query argv[2] - for plugin in $new_plugins - if contains -- "$plugin" $old_plugins - test "$cmd" = remove && - set --append remove_plugins $plugin || - set --append update_plugins $plugin - else if test "$cmd" = install - set --append install_plugins $plugin - else - echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1 - end - end - else - for plugin in $new_plugins - contains -- "$plugin" $old_plugins && - set --append update_plugins $plugin || - set --append install_plugins $plugin - end - - for plugin in $old_plugins - contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin - end - end - - set --local pid_list - set --local source_plugins - set --local fetch_plugins $update_plugins $install_plugins - echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal) - - for plugin in $fetch_plugins - set --local source (command mktemp -d) - set --append source_plugins $source - - command mkdir -p $source/{completions,conf.d,functions} - - fish --command " - if test -e $plugin - command cp -Rf $plugin/* $source - else - set temp (command mktemp -d) - set name (string split \@ $plugin) || set name[2] HEAD - set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2] - - echo Fetching (set_color --underline)\$url(set_color normal) - - if curl --silent \$url | tar -xzC \$temp -f - 2>/dev/null - command cp -Rf \$temp/*/* $source - else - echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2 - command rm -rf $source - end - command rm -rf \$temp - end - - set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files - " & - - set --append pid_list (jobs --last --pid) - end - - wait $pid_list 2>/dev/null - - for plugin in $fetch_plugins - if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source - if set --local index (contains --index -- "$plugin" $install_plugins) - set --erase install_plugins[$index] - else - set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)] - end - end - end - - for plugin in $update_plugins $remove_plugins - if set --local index (contains --index -- "$plugin" $_fisher_plugins) - set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files - - if contains -- "$plugin" $remove_plugins - for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var) - emit {$name}_uninstall - end - printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var - end - - command rm -rf $$plugin_files_var - functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var) - - for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var) - complete --erase --command $name - end - - set --erase _fisher_plugins[$index] - set --erase $plugin_files_var - end - end - - if set --query update_plugins[1] || set --query install_plugins[1] - command mkdir -p $fisher_path/{functions,conf.d,completions} - end - - for plugin in $update_plugins $install_plugins - set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] - set --local files $source/{functions,conf.d,completions}/* - - if set --local index (contains --index -- $plugin $install_plugins) - set --local user_files $fisher_path/{functions,conf.d,completions}/* - set --local conflict_files - - for file in (string replace -- $source/ $fisher_path/ $files) - contains -- $file $user_files && set --append conflict_files $file - end - - if set --query conflict_files[1] && set --erase install_plugins[$index] - echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2 - continue - end - end - - for file in (string replace -- $source/ "" $files) - command cp -Rf $source/$file $fisher_path/$file - end - - set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files - set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files) - - contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin - contains -- $plugin $install_plugins && set --local event install || set --local event update - - printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var - - for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var) - source $file - if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file) - emit {$name}_$event - end - end - end - - command rm -rf $source_plugins - - set --query _fisher_plugins[1] || set --erase _fisher_plugins - set --query _fisher_plugins && - printf "%s\n" $_fisher_plugins >$fish_plugins || - command rm -f $fish_plugins - - set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins) - test "$total" != "0 0 0" && echo (string join ", " ( - test $total[1] = 0 || echo "Installed $total[1]") ( - test $total[2] = 0 || echo "Updated $total[2]") ( - test $total[3] = 0 || echo "Removed $total[3]") - ) plugin/s - case \* - echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1 - end -end - -## Migrations ## -function _fisher_fish_postexec --on-event fish_postexec - if functions --query _fisher_list - fisher update >/dev/null 2>/dev/null - set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share - test -e $XDG_DATA_HOME/fisher && command rm -rf $XDG_DATA_HOME/fisher - functions --erase _fisher_list _fisher_plugin_parse - set --erase fisher_data - end - functions --erase _fisher_fish_postexec -end diff --git a/git/.gitconfig b/git/.gitconfig index ba6b3ae..77381f4 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -19,8 +19,6 @@ [delta] side-by-side = true line-numbers = true - plus-style = "syntax #012800" - minus-style = "syntax #340001" syntax-theme = gruvbox-dark navigate = true diff --git a/kitty/.config/kitty/gruvbox_dark.conf b/kitty/.config/kitty/gruvbox_dark.conf deleted file mode 100644 index afd0147..0000000 --- a/kitty/.config/kitty/gruvbox_dark.conf +++ /dev/null @@ -1,55 +0,0 @@ -# Based on https://github.com/morhetz/gruvbox by morhetz -# Adapted to kitty by wdomitrz - -cursor #928374 -cursor_text_color background - -url_color #83a598 - -visual_bell_color #8ec07c -bell_border_color #8ec07c - -active_border_color #d3869b -inactive_border_color #665c54 - -background #282828 -foreground #fbf1c7 -selection_foreground #928374 -selection_background #ebdbb2 - -active_tab_foreground #fbf1c7 -active_tab_background #665c54 -inactive_tab_foreground #a89984 -inactive_tab_background #3c3836 - -# black -color0 #282828 -color8 #7c6f64 - -# red -color1 #cc241d -color9 #fb4934 - -#: green -color2 #98971a -color10 #b8bb26 - -# yellow -color3 #d79921 -color11 #fabd2f - -# blue -color4 #458588 -color12 #83a598 - -# purple -color5 #b16286 -color13 #d3869b - -# aqua -color6 #689d6a -color14 #8ec07c - -# white -color7 #a89984 -color15 #fbf1c7 diff --git a/kitty/.config/kitty/gruvbox_light.conf b/kitty/.config/kitty/gruvbox_light.conf new file mode 100644 index 0000000..506df77 --- /dev/null +++ b/kitty/.config/kitty/gruvbox_light.conf @@ -0,0 +1,55 @@ +# Based on https://github.com/morhetz/gruvbox by morhetz +# Adapted to kitty by wdomitrz + +cursor #928374 +cursor_text_color background + +url_color #458588 + +visual_bell_color #689d6a +bell_border_color #689d6a + +active_border_color #b16286 +inactive_border_color #1d2021 + +background #fbf1c7 +foreground #282828 +selection_foreground #928374 +selection_background #3c3836 + +active_tab_foreground #282828 +active_tab_background #928374 +inactive_tab_foreground #7c6f64 +inactive_tab_background #ebdbb2 + +# white +color0 #fbf1c7 +color8 #282828 + +# red +color1 #cc241d +color9 #9d0006 + +# green +color2 #98971a +color10 #79740e + +# yellow +color3 #d79921 +color11 #b57614 + +# blue +color4 #458588 +color12 #076678 + +# purple +color5 #b16286 +color13 #8f3f71 + +# aqua +color6 #689d6a +color14 #427b58 + +# black +color7 #7c6f64 +color15 #282828 diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index 45729dc..66afd5e 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -2,7 +2,7 @@ term xterm-kitty shell fish -font_family JetBrainsMono Nerd Font Mono +font_family JetBrainsMono Nerd Font bold_font auto italic_font auto bold_italic_font auto @@ -46,4 +46,4 @@ map ctrl+right neighboring_window right map ctrl+up neighboring_window up map ctrl+down neighboring_window down -include gruvbox_dark.conf +include gruvbox_light.conf diff --git a/lvim/.config/lvim/config.lua b/lvim/.config/lvim/config.lua index 8343f6e..4815a9c 100644 --- a/lvim/.config/lvim/config.lua +++ b/lvim/.config/lvim/config.lua @@ -3,18 +3,20 @@ lvim.format_on_save = true lvim.lint_on_save = true lvim.shell = "/bin/fish" lvim.leader = "space" -lvim.builtin.dashboard.active = true +vim.opt.relativenumber = true + +lvim.builtin.alpha.active = true lvim.builtin.terminal.active = true lvim.builtin.autopairs.active = true lvim.builtin.gitsigns.active = true lvim.builtin.dap.active = true -vim.opt.relativenumber = true + lvim.builtin.nvimtree.side = "left" lvim.builtin.nvimtree.show_icons.git = 1 lvim.builtin.terminal.shell = "/bin/fish" vim.termguicolors = true -vim.background = "dark" +vim.background = "light" lvim.colorscheme = "gruvbox" lvim.builtin.treesitter.ensure_installed = {} @@ -68,6 +70,7 @@ lvim.plugins = { end, }, { "ggandor/lightspeed.nvim", requires = { "tpope/vim-repeat" }, event = "InsertEnter" }, + { "ellisonleao/glow.nvim" }, } -- Changes to clangd diff --git a/newsboat/.newsboat/cache.db.lock b/newsboat/.newsboat/cache.db.lock new file mode 100644 index 0000000..979cf83 --- /dev/null +++ b/newsboat/.newsboat/cache.db.lock @@ -0,0 +1 @@ +114070 \ No newline at end of file diff --git a/newsboat/.newsboat/urls b/newsboat/.newsboat/urls index 088e3ee..f2da4b0 100644 --- a/newsboat/.newsboat/urls +++ b/newsboat/.newsboat/urls @@ -1,6 +1,7 @@ http://lukesmith.xyz/rss.xml "Technology" http://www.vox.com/rss/policy-and-politics/index.xml "Politics" https://based.cooking/rss.xml "Cooking" -http://cyberciti.biz/feed "Technology" https://medium.com/feed/better-programming "Technology" https://protesilaos.com/codelog.xml "Technology" +https:///notrelated.xyz/rss.xml "Politics" +https://hnrss.org/frontpage "Technology" diff --git a/nwg-launchers/.config/nwg-launchers/nwgbar/bar.json b/nwg-launchers/.config/nwg-launchers/nwgbar/bar.json new file mode 100644 index 0000000..bc9479f --- /dev/null +++ b/nwg-launchers/.config/nwg-launchers/nwgbar/bar.json @@ -0,0 +1,22 @@ +[ + { + "name": "Lock screen", + "exec": "swaylock -f -c 000000", + "icon": "system-lock-screen" + }, + { + "name": "Logout", + "exec": "swaymsg exit", + "icon": "system-log-out" + }, + { + "name": "Reboot", + "exec": "systemctl reboot", + "icon": "system-reboot" + }, + { + "name": "Shutdown", + "exec": "systemctl -i poweroff", + "icon": "system-shutdown" + } +] diff --git a/nwg-launchers/.config/nwg-launchers/nwgbar/style.css b/nwg-launchers/.config/nwg-launchers/nwgbar/style.css new file mode 100644 index 0000000..871ec03 --- /dev/null +++ b/nwg-launchers/.config/nwg-launchers/nwgbar/style.css @@ -0,0 +1,28 @@ +#bar { + margin: 30px /* affects top/bottom & left/right alignment */ +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding-left: 10px; + padding-right: 10px; + margin: 5px +} + +button:hover { + background-color: rgba (255, 255, 255, 0.1) +} + +button:focus { + box-shadow: 0 0 2px; +} + +grid { + /* e.g. for common background to all buttons */ +} diff --git a/sway/.config/sway/config b/sway/.config/sway/config index 494b1da..35c0baa 100644 --- a/sway/.config/sway/config +++ b/sway/.config/sway/config @@ -85,9 +85,6 @@ for_window [app_id="soffice.bin"] inhibit_idle visible; border none; max_render_ for_window [class="firefox"] inhibit_idle fullscreen; max_render_time off for_window [app_id="firefox"] inhibit_idle fullscreen; max_render_time off for_window [app_id="jellyfinmediaplayer"] inhibit_idle fullscreen; max_render_time off -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. ### Input configuration # @@ -122,10 +119,12 @@ for_window [app_id="jellyfinmediaplayer"] inhibit_idle fullscreen; max_render_ti bindsym $mod+Shift+c reload # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec exec nwgbar + bindsym $mod+Shift+e exec exec wlogout # clipboard manager bindsym $mod+p exec clipman pick -t wofi + + bindsym $mod+t exec firefox # # Moving around: # @@ -186,7 +185,6 @@ for_window [app_id="jellyfinmediaplayer"] inhibit_idle fullscreen; max_render_ti # Switch the current container between different layout styles bindsym $mod+s layout stacking - bindsym $mod+t layout toggle split bindsym $mod+Shift+space floating toggle # Make the current focus fullscreen diff --git a/wlogout/.config/wlogout/layout b/wlogout/.config/wlogout/layout index d364253..0797655 100644 --- a/wlogout/.config/wlogout/layout +++ b/wlogout/.config/wlogout/layout @@ -1,23 +1,24 @@ { "label" : "lock", - "action" : "swaylock -i ~/Downloads/william-moreland-W61Rp5RouCA-unsplash.png .s fill", + "action" : "swaylock -c ~/.config/swaylock/config", "text" : "Lock", "keybind" : "l" } { "label" : "hibernate", - "action" : "systemctl suspend", + "action" : "systemctl hibernate", "text" : "Hibernate", + "keybind" : "h" } { "label" : "logout", - "action" : "swaymsg exit", + "action" : "loginctl terminate-user $USER", "text" : "Logout", "keybind" : "e" } { "label" : "shutdown", - "action" : "shutdown now", + "action" : "systemctl poweroff", "text" : "Shutdown", "keybind" : "s" } diff --git a/wlogout/.config/wlogout/style.css b/wlogout/.config/wlogout/style.css index c9b7798..65c103a 100644 --- a/wlogout/.config/wlogout/style.css +++ b/wlogout/.config/wlogout/style.css @@ -1,52 +1,51 @@ * { - background-image: none; -} -@keyframes fadeIn { - from {opacity: 0;} - to {opacity: 1;} + background-image: none; } window { - background-color: rgba(46,52,64, 0.9); - font-size: 26px; - font-family: Product Sans; - animation: fadeIn; - animation-duration: 0.5s; + background-image: image(url("/home/minhradz/Downloads/lantern.jpg"), url("/home/minhradz/Downloads/lantern.jpg")); } button { - color: #eceff4; - background-color: #4c566a; - border-style: solid; - margin: 20px; - border: 3px solid #3b4252; - background-repeat: no-repeat; - background-position: center; + background-color: #2e3440; + border-width: 0px; + border-radius: 0; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + color: #5e81ac; } -button:focus, button:active, button:hover { - background-color: #5e81ac; - outline-style: none; +button:active, button:hover { + background-color: #4c566a; + color: #81a1c1; + outline-style: none; } #lock { - background-image: image(url("/home/minhradz/.config/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/share/wlogout/icons/logout.png")); } #logout { - background-image: image(url("/home/minhradz/.config/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png")); } #suspend { - background-image: image(url("/home/minhradz/.config/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png")); } #hibernate { - background-image: image(url("/home/minhradz/.config/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png")); } #shutdown { - background-image: image(url("/home/minhradz/.config/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png")); } #reboot { - background-image: image(url("/home/minhradz/.config/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png")); + opacity: 0.9; + background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png")); }