refactor
22
.config/alacritty/alacritty.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
# Env
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
normal:
|
||||
family: Iosevka Term
|
||||
style: Regular
|
||||
bold:
|
||||
family: Iosevka Term
|
||||
style: Bold
|
||||
italic:
|
||||
family: Iosevka Term
|
||||
style: Italic
|
||||
bold_italic:
|
||||
family: Iosevka Term
|
||||
style: Bold Italic
|
||||
size: 14
|
||||
offset:
|
||||
x: 0
|
||||
y: 0
|
||||
52
.config/dunst/dunstrc
Normal file
@@ -0,0 +1,52 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "250x50-24+24"
|
||||
indicate_hidden = yes
|
||||
shrink = no
|
||||
separator_height = 0
|
||||
padding = 16
|
||||
horizontal_padding = 24
|
||||
frame_width = 2
|
||||
sort = no
|
||||
idle_threshold = 120
|
||||
font = Noto Sans 8
|
||||
line_height = 4
|
||||
markup = full
|
||||
format = "<b>%s</b>\n%b"
|
||||
alignment = left
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = false
|
||||
hide_duplicate_count = yes
|
||||
show_indicators = no
|
||||
icon_position = off
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
browser = /usr/bin/icecat -new-tab
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 2
|
||||
|
||||
[urgency_normal]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 4
|
||||
|
||||
[urgency_critical]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
frame_color = "#bf616a"
|
||||
timeout = 0
|
||||
707
.config/emacs/init.el
Normal file
@@ -0,0 +1,707 @@
|
||||
(setq package-enable-at-startup nil)
|
||||
|
||||
;; * Package Management with straight.el
|
||||
(unless (featurep 'straight)
|
||||
;; Bootstrap 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)))
|
||||
|
||||
;; Use straight.el for use-package expressions
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("org" . "https://orgmode.org/elpa/")
|
||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
||||
|
||||
(scroll-bar-mode -1) ;; Disable scroll bar
|
||||
(tool-bar-mode -1) ;; Disable tool bar menu
|
||||
(tooltip-mode -1) ;; Disable tooltips
|
||||
(set-fringe-mode 10) ;; Disable fringe mode
|
||||
(menu-bar-mode -1) ;; Disable menu bar
|
||||
(global-display-line-numbers-mode t) ;; Display line numbers
|
||||
(set-default 'truncate-lines nil) ;; Wrap lines at end of screen
|
||||
(setq visible-bell t) ;; Visible flash to represent a bell
|
||||
(setq x-select-enable-clipboard t) ;; Enable clipboard
|
||||
(global-tab-line-mode -1) ;; Disable tab mode
|
||||
(setq inhibit-startup-message t) ;; What it says
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
(global-auto-revert-mode 1) ;; Revert all buffers on change
|
||||
(setq custom-safe-themes t) ;; Treat themes as safe
|
||||
|
||||
;; Disable line mode for specific major/minor modes.
|
||||
(dolist (mode '(org-mode-hook
|
||||
vterm-mode-hook
|
||||
term-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
||||
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||
|
||||
(use-package doom-modeline
|
||||
:straight t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
||||
|
||||
;; install all-the-icons when first loading the emacs conf
|
||||
;; remember to run M-x all-the-icons-install-fonts
|
||||
(use-package all-the-icons
|
||||
:straight t
|
||||
:if (display-graphic-p))
|
||||
|
||||
(use-package which-key
|
||||
:straight t
|
||||
:defer 0
|
||||
:diminish which-key-mode
|
||||
:config
|
||||
(which-key-mode)
|
||||
(setq which-key-idle-delay 0.3))
|
||||
|
||||
(use-package alert
|
||||
:straight t
|
||||
:config
|
||||
(setq alert-default-style 'notification))
|
||||
|
||||
(setq large-file-warning-threshold nil) ;; Disables warnings for large files
|
||||
(setq vc-follow-symlinks t) ;; Disables warnings for symlinks
|
||||
|
||||
(use-package helpful
|
||||
:straight t
|
||||
:commands (helpful-callable helpful-variable helpful-command helpful-key))
|
||||
|
||||
(use-package super-save
|
||||
:straight t
|
||||
:config
|
||||
(super-save-mode +1))
|
||||
|
||||
;; Auto reverting Changed Files
|
||||
(setq global-auto-revert-non-file-buffers nil)
|
||||
(global-auto-revert-mode -1)
|
||||
|
||||
(use-package pinentry :straight t)
|
||||
(setq epa-pinentry-mode 'loopback)
|
||||
(pinentry-start)
|
||||
|
||||
(setq tramp-default-method "ssh")
|
||||
|
||||
(use-package no-littering
|
||||
:straight t)
|
||||
|
||||
;; (use-package modus-themes
|
||||
;; :straight t
|
||||
;; :init
|
||||
;; (setq modus-themes-italic-constructs t
|
||||
;; modus-themes-bold-constructs nil
|
||||
;; modus-themes-region '(accented bg-only no-extend)
|
||||
;; modus-themes-org-blocks 'greyscale
|
||||
;; modus-themes-paren-match 'intense
|
||||
;; modus-themes-mixed-fonts t)
|
||||
;; (modus-themes-load-themes)
|
||||
;; :config
|
||||
;; (modus-themes-load-vivendi)
|
||||
;; :bind
|
||||
;; ("<f5>" . modus-themes-toggle))
|
||||
|
||||
;; Doing some doom themes for a while.
|
||||
(use-package doom-themes
|
||||
:straight t
|
||||
:init
|
||||
(load-theme 'doom-Iosvkem))
|
||||
|
||||
(set-face-attribute 'default nil :font "Iosevka Term" :height 130 :weight 'medium)
|
||||
(set-face-attribute 'variable-pitch nil :font "Iosevka" :height 1.0 :weight 'medium)
|
||||
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term" :height 1.0 :weight 'medium)
|
||||
|
||||
(use-package mixed-pitch
|
||||
:straight t
|
||||
:config
|
||||
(add-hook 'org-mode-hook #'mixed-pitch-mode))
|
||||
(use-package unicode-fonts :straight t)
|
||||
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit) ;; Escape exits out of prompts
|
||||
|
||||
;; Define Leader Key
|
||||
(use-package general
|
||||
:straight t
|
||||
:config
|
||||
(general-evil-setup t)
|
||||
(general-create-definer opal/leader-keys
|
||||
:keymaps '(normal insert visual emacs)
|
||||
:prefix "SPC"
|
||||
:global-prefix "C-SPC")
|
||||
;; Define Keybindings (potentially move into own file)
|
||||
(opal/leader-keys
|
||||
;; Leader-map
|
||||
";" #'pp-eval-expression ;; Eval expression
|
||||
":" #'execute-extended-command ;; Eq to M-x
|
||||
"u" #'universal-argument ;; Universal argument
|
||||
"w" #'evil-window-map ;; Window functions
|
||||
"." #'find-file ;; Find file (opens in mini-buffer)
|
||||
"," #'consult-buffer ;; Switch to buffer
|
||||
"<" #'switch-to-buffer ;; Switch to non-perspective.el minibuffer
|
||||
"s" #'consult-line
|
||||
"p" #'projectile-command-map
|
||||
"l" #'lsp-map
|
||||
|
||||
;; Magit
|
||||
"gg" #'magit-status
|
||||
"gi" #'magit-init
|
||||
"gc" #'magit-clone
|
||||
|
||||
;; Workspaces
|
||||
"bi" #'persp-ibuffer
|
||||
"bl" #'persp-next
|
||||
"bh" #'persp-prev
|
||||
"br" #'persp-rename
|
||||
"bD" #'persp-remove-buffer
|
||||
"bd" #'kill-buffer
|
||||
|
||||
;; Terminal/Shell
|
||||
"tt" #'vterm
|
||||
"te" #'eshell
|
||||
|
||||
;; Org
|
||||
;; Babel
|
||||
"obt" #'org-babel-tangle
|
||||
;; Gen
|
||||
"ol" #'org-insert-link
|
||||
"or" #'org-reload
|
||||
;; Agenda
|
||||
"oa" #'org-agenda
|
||||
|
||||
;; Eval
|
||||
"eb" #'eval-buffer
|
||||
"er" #'eval-region
|
||||
"ef" #'eval-defun
|
||||
"el" #'eval-last-sexp
|
||||
|
||||
;; Describe
|
||||
"df" #'describe-function
|
||||
"dv" #'describe-variable
|
||||
"ds" #'describe-symbol
|
||||
"dk" #'describe-key
|
||||
"dp" #'describe-package))
|
||||
|
||||
(use-package evil
|
||||
:straight t
|
||||
:init
|
||||
(setq evil-want-integration t)
|
||||
(setq evil-want-keybinding nil)
|
||||
(setq evil-want-C-u-scroll t)
|
||||
(setq evil-want-C-i-jump nil)
|
||||
(setq evil-respect-visual-line-mode t)
|
||||
:config
|
||||
(evil-mode 1)
|
||||
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
|
||||
(define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join)
|
||||
|
||||
;; Use visual line motions even outside of visual-line-mode buffers
|
||||
(evil-global-set-key 'motion "j" 'evil-next-visual-line)
|
||||
(evil-global-set-key 'motion "k" 'evil-previous-visual-line)
|
||||
|
||||
(evil-set-initial-state 'messages-buffer-mode 'normal)
|
||||
(evil-set-initial-state 'dashboard-mode 'normal))
|
||||
|
||||
(use-package evil-collection
|
||||
:straight t
|
||||
:after evil
|
||||
:config
|
||||
(evil-collection-init))
|
||||
|
||||
;; Enable vertico
|
||||
(use-package vertico
|
||||
:straight t
|
||||
:bind
|
||||
(:map vertico-map
|
||||
("C-j" . vertico-next)
|
||||
("C-k" . vertico-previous))
|
||||
:init
|
||||
(vertico-mode)
|
||||
(setq vertico-scroll-margin 0) ;; Scroll margin
|
||||
(setq vertico-count 10) ;; Candidates
|
||||
(setq vertico-cycle t)) ;; Enable cycling
|
||||
|
||||
;; (use-package ivy
|
||||
;; :straight t
|
||||
;; :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-reverse-i-search-kill))
|
||||
;; :config
|
||||
;; (ivy-mode 1))
|
||||
|
||||
;; (use-package ivy-rich
|
||||
;; :straight t
|
||||
;; :after ivy
|
||||
;; :init (ivy-rich-mode 1))
|
||||
|
||||
(use-package orderless
|
||||
:straight t
|
||||
:init
|
||||
(setq completion-styles '(orderless)
|
||||
completion-category-defaults nil
|
||||
completion-category-overrides '((file (styles partial-completion)))))
|
||||
|
||||
(use-package savehist
|
||||
:straight t
|
||||
:init
|
||||
(savehist-mode))
|
||||
|
||||
(use-package consult
|
||||
:straight t
|
||||
:defer t
|
||||
:config
|
||||
(setq
|
||||
consult-narrow-key "<"
|
||||
consult-line-numbers-widen t
|
||||
consult-async-min-input 2
|
||||
consult-async-refresh-delay 0.15
|
||||
consult-async-input-throttle 0.2
|
||||
consult-async-input-debounce 0.1))
|
||||
;; (use-package counsel
|
||||
;; :straight t
|
||||
;; :bind
|
||||
;; (("C-M-j" . 'counsel-switch-buffer)
|
||||
;; :map minibuffer-local-map
|
||||
;; ("C-r" . 'counsel-minibuffer-history))
|
||||
|
||||
;; :custom
|
||||
;; (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
||||
;; :config
|
||||
;; (counsel-mode 1))
|
||||
|
||||
(use-package marginalia
|
||||
:straight t
|
||||
:bind (("M-A" . marginalia-cycle)
|
||||
:map minibuffer-local-map
|
||||
("M-A" . marginalia-cycle))
|
||||
:init
|
||||
(marginalia-mode))
|
||||
|
||||
(use-package company
|
||||
:straight t
|
||||
:commands (company-complete-common
|
||||
company-complete-common-or-cycle
|
||||
company-manual-begin
|
||||
company-grab-line)
|
||||
:init
|
||||
(setq company-minimum-prefix-length 2
|
||||
company-tooltip-limit 14
|
||||
company-tooltip-align-annotations t
|
||||
company-require-match 'never
|
||||
company-global-modes
|
||||
'(not erc-mode
|
||||
message-mode
|
||||
help-mode
|
||||
vterm-mode)
|
||||
company-frontends
|
||||
'(company-pseudo-tooltip-frontend ; always show candidates in overlay tooltip
|
||||
company-echo-metadata-frontend) ; show selected candidate docs in echo area
|
||||
company-backends '(company-capf)
|
||||
company-auto-commit nil
|
||||
company-dabbrev-other-buffers nil
|
||||
company-dabbrev-ignore-case nil
|
||||
company-dabbrev-downcase nil))
|
||||
|
||||
(use-package perspective
|
||||
:straight t
|
||||
:config
|
||||
(persp-mode))
|
||||
|
||||
(use-package bufler :straight t)
|
||||
|
||||
(use-package winner
|
||||
:straight t)
|
||||
|
||||
(use-package dired
|
||||
:init
|
||||
(setq dired-auto-revert-buffer t
|
||||
dired-dwim-target t
|
||||
dired-hide-details-hide-symlink-targets nil
|
||||
dired-recursive-copies 'always
|
||||
dired-recursive-deletes 'top
|
||||
dired-create-destination-dirs 'ask))
|
||||
|
||||
(use-package dired-rsync
|
||||
:straight t
|
||||
:general (dired-mode-map "C-c C-r" #'dired-rsync))
|
||||
(use-package all-the-icons-dired :straight t)
|
||||
(use-package dired-single :straight t)
|
||||
(use-package dired-collapse :straight t)
|
||||
|
||||
;; Make pretty colors!
|
||||
(use-package dired-rainbow
|
||||
:straight t
|
||||
:after dired
|
||||
:config
|
||||
(dired-rainbow-define-chmod directory "#6cb2eb" "d.*")
|
||||
(dired-rainbow-define html "#eb5286" ("css" "less" "sass" "scss" "htm" "html" "jhtm" "mht" "eml" "mustache" "xhtml"))
|
||||
(dired-rainbow-define xml "#f2d024" ("xml" "xsd" "xsl" "xslt" "wsdl" "bib" "json" "msg" "pgn" "rss" "yaml" "yml" "rdata"))
|
||||
(dired-rainbow-define document "#9561e2" ("docm" "doc" "docx" "odb" "odt" "pdb" "pdf" "ps" "rtf" "djvu" "epub" "odp" "ppt" "pptx"))
|
||||
(dired-rainbow-define markdown "#ffed4a" ("org" "etx" "info" "markdown" "md" "mkd" "nfo" "pod" "rst" "tex" "textfile" "txt"))
|
||||
(dired-rainbow-define database "#6574cd" ("xlsx" "xls" "csv" "accdb" "db" "mdb" "sqlite" "nc"))
|
||||
(dired-rainbow-define media "#de751f" ("mp3" "mp4" "mkv" "MP3" "MP4" "avi" "mpeg" "mpg" "flv" "ogg" "mov" "mid" "midi" "wav" "aiff" "flac"))
|
||||
(dired-rainbow-define image "#f66d9b" ("tiff" "tif" "cdr" "gif" "ico" "jpeg" "jpg" "png" "psd" "eps" "svg"))
|
||||
(dired-rainbow-define log "#c17d11" ("log"))
|
||||
(dired-rainbow-define shell "#f6993f" ("awk" "bash" "bat" "sed" "sh" "zsh" "vim"))
|
||||
(dired-rainbow-define interpreted "#38c172" ("py" "ipynb" "rb" "pl" "t" "msql" "mysql" "pgsql" "sql" "r" "clj" "cljs" "scala" "js"))
|
||||
(dired-rainbow-define compiled "#4dc0b5" ("asm" "cl" "lisp" "el" "c" "h" "c++" "h++" "hpp" "hxx" "m" "cc" "cs" "cp" "cpp" "go" "f" "for" "ftn" "f90" "f95" "f03" "f08" "s" "rs" "hi" "hs" "pyc" ".java"))
|
||||
(dired-rainbow-define executable "#8cc4ff" ("exe" "msi"))
|
||||
(dired-rainbow-define compressed "#51d88a" ("7z" "zip" "bz2" "tgz" "txz" "gz" "xz" "z" "Z" "jar" "war" "ear" "rar" "sar" "xpi" "apk" "xz" "tar"))
|
||||
(dired-rainbow-define packaged "#faad63" ("deb" "rpm" "apk" "jad" "jar" "cab" "pak" "pk3" "vdf" "vpk" "bsp"))
|
||||
(dired-rainbow-define encrypted "#ffed4a" ("gpg" "pgp" "asc" "bfe" "enc" "signature" "sig" "p12" "pem"))
|
||||
(dired-rainbow-define fonts "#6cb2eb" ("afm" "fon" "fnt" "pfb" "pfm" "ttf" "otf"))
|
||||
(dired-rainbow-define partition "#e3342f" ("dmg" "iso" "bin" "nrg" "qcow" "toast" "vcd" "vmdk" "bak"))
|
||||
(dired-rainbow-define vc "#0074d9" ("git" "gitignore" "gitattributes" "gitmodules"))
|
||||
(dired-rainbow-define-chmod executable-unix "#38c172" "-.*x.*"))
|
||||
|
||||
(defun opal/org-font-setup ()
|
||||
;; Replace list hyphen with dot
|
||||
(font-lock-add-keywords 'org-mode
|
||||
'(("^ *\\([-]\\) "
|
||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1)
|
||||
"•"))))))
|
||||
|
||||
;; Set faces for heading levels
|
||||
(dolist (face '((org-level-1 . 1.2)
|
||||
(org-level-2 . 1.1)
|
||||
(org-level-3 . 1.05)
|
||||
(org-level-4 . 1.0)
|
||||
(org-level-5 . 1.1)
|
||||
(org-level-6 . 1.1)
|
||||
(org-level-7 . 1.1)
|
||||
(org-level-8 . 1.1)))
|
||||
(set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face)))
|
||||
|
||||
;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch))
|
||||
|
||||
|
||||
(defun opal/org-mode-setup ()
|
||||
(org-indent-mode)
|
||||
(variable-pitch-mode 1)
|
||||
(visual-line-mode 1)
|
||||
(setq org-startup-folded t))
|
||||
|
||||
(use-package org
|
||||
:straight t
|
||||
:commands (org-capture org-agenda)
|
||||
:hook (org-mode . opal/org-mode-setup)
|
||||
:config
|
||||
(setq org-ellipsis " ▾")
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
|
||||
(setq org-agenda-files
|
||||
'("~/Org/projects/"
|
||||
"~/Org/tasks/"))
|
||||
|
||||
|
||||
(require 'org-habit)
|
||||
(add-to-list 'org-modules 'org-habit)
|
||||
(setq org-habit-graph-column 60)
|
||||
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||
|
||||
(setq org-refile-targets
|
||||
'(("archive.org" :maxlevel . 1)
|
||||
("planner.org" :maxlevel . 1)))
|
||||
|
||||
;; Save Org buffers after refiling!
|
||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||
|
||||
(setq org-tag-alist
|
||||
'((:startgroup)
|
||||
; Put mutually exclusive tags here
|
||||
(:endgroup)
|
||||
("@errand" . ?E)
|
||||
("@home" . ?H)
|
||||
("@work" . ?W)
|
||||
("agenda" . ?a)
|
||||
("planning" . ?p)
|
||||
("publish" . ?P)
|
||||
("batch" . ?b)
|
||||
("note" . ?n)
|
||||
("idea" . ?i)))
|
||||
|
||||
;; Configure custom agenda views
|
||||
(setq org-agenda-custom-commands
|
||||
'(("d" "Dashboard"
|
||||
((agenda "" ((org-deadline-warning-days 7)))
|
||||
(todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))
|
||||
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
||||
|
||||
("n" "Next Tasks"
|
||||
((todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))))
|
||||
|
||||
;; Low-effort next actions
|
||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||
((org-agenda-overriding-header "Low Effort Tasks")
|
||||
(org-agenda-max-todos 20)
|
||||
(org-agenda-files org-agenda-files)))))
|
||||
|
||||
;; Create capture templates
|
||||
(setq org-capture-templates
|
||||
`(("t" "Tasks")
|
||||
("tt" "Task" entry (file+olp "~/org/planner/tasks.org" "Inbox")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||
|
||||
("p" "Projects")
|
||||
("pp" "Project File" entry (file+olp "~/org/projects/auto-infra-overview.org" "Inbox")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)))
|
||||
|
||||
;; Tell Org to stop indenting inside of org source blocks.
|
||||
(setq org-edit-src-content-indentation 0)
|
||||
|
||||
;; Set org agenda dir
|
||||
(setq org-directory "~/Org/")
|
||||
|
||||
;; Open links in browser
|
||||
(setq browse-url-browser-function 'browse-url-generic
|
||||
browse-url-generic-program "firefox")
|
||||
|
||||
;; Init org font setup
|
||||
(opal/org-font-setup))
|
||||
|
||||
(use-package org-bullets
|
||||
:straight t
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||
|
||||
(use-package org-make-toc :straight t)
|
||||
|
||||
(defun opal/org-mode-visual-fill ()
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:straight t
|
||||
:hook (org-mode . opal/org-mode-visual-fill))
|
||||
|
||||
;; Load languages for babel code blocks.
|
||||
(with-eval-after-load 'org
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(lisp . t)))
|
||||
|
||||
(push '("conf-unix" . conf-unix) org-src-lang-modes))
|
||||
|
||||
;; Set geiser default language
|
||||
(setq geiser-default-implementation '(guile))
|
||||
|
||||
(with-eval-after-load 'org
|
||||
(require 'org-tempo)
|
||||
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("scm" . "src scheme"))
|
||||
(add-to-list 'org-structure-template-alist '("cl" . "src lisp")))
|
||||
|
||||
(use-package flycheck :straight t)
|
||||
|
||||
(setq-default tab-width 2) ;; Set tab indent to 2
|
||||
(setq-default evil-shift-width tab-width) ;; Ensure evil matches tab-width
|
||||
(setq-default indent-tabs-mode nil) ;; Use spaces instead of tabs
|
||||
|
||||
;; Clean up whitespace
|
||||
(use-package ws-butler :straight t)
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:straight t
|
||||
:init
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
(add-hook 'org-mode-hook #'rainbow-delimiters-mode))
|
||||
|
||||
(use-package rainbow-mode :straight t)
|
||||
|
||||
(use-package magit
|
||||
:straight t)
|
||||
|
||||
(use-package projectile
|
||||
:straight t
|
||||
:config
|
||||
(projectile-mode)
|
||||
:init
|
||||
(when (file-directory-p "~/Projects/Code")
|
||||
(setq projectile-project-search-path '("~/Projects/Code")))
|
||||
(setq projectile-switch-project-action #'projectile-dired))
|
||||
|
||||
(use-package lsp-mode
|
||||
:straight t
|
||||
:commands (lsp lsp-deferred)
|
||||
:config
|
||||
(lsp-enable-which-key-integration t))
|
||||
|
||||
(use-package lsp-ui
|
||||
:straight t
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:custom
|
||||
(lsp-ui-doc-position 'bottom))
|
||||
|
||||
(use-package python-mode
|
||||
:ensure t
|
||||
:hook (python-mode . lsp-deferred))
|
||||
|
||||
(use-package robe
|
||||
:straight t)
|
||||
|
||||
(use-package bundler
|
||||
:straight t)
|
||||
|
||||
(use-package parinfer
|
||||
:straight t
|
||||
:init
|
||||
(progn
|
||||
(setq parinfer-extensions
|
||||
'(defaults
|
||||
pretty-parens
|
||||
evil))
|
||||
(add-hook 'prog-mode-hook #'parinfer-mode)))
|
||||
|
||||
(use-package plisp-mode
|
||||
:straight t)
|
||||
|
||||
(defvar inferior-lisp-program "sbcl")
|
||||
(use-package sly :straight t)
|
||||
|
||||
(use-package geiser
|
||||
:straight t
|
||||
:ensure t)
|
||||
|
||||
(use-package geiser-guile
|
||||
:straight t)
|
||||
|
||||
(use-package yasnippet
|
||||
:straight t
|
||||
:hook (prog-mode . yas-minor-mode)
|
||||
:config
|
||||
(yas-reload-all))
|
||||
|
||||
(use-package eshell
|
||||
:straight t
|
||||
:config
|
||||
;; Save command history when commands are entered
|
||||
(add-hook 'eshell-pre-command-hook 'eshell-save-some-history)
|
||||
;; Truncate buffer for performance
|
||||
(add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer)
|
||||
(evil-normalize-keymaps)
|
||||
|
||||
(setq eshell-banner-message
|
||||
'(format "%s %s\n"
|
||||
(propertize (format " %s " (string-trim (buffer-name)))
|
||||
'face 'mode-line-highlight)
|
||||
(propertize (current-time-string)
|
||||
'face 'font-lock-keyword-face)))
|
||||
|
||||
(setq eshell-scroll-to-bottom-on-input 'all
|
||||
eshell-scroll-to-bottom-on-output 'all
|
||||
eshell-kill-processes-on-exit t
|
||||
eshell-hist-ignoredups t
|
||||
eshell-prompt-regexp "^.* λ "
|
||||
;; em-glob
|
||||
eshell-history-size 10000
|
||||
eshell-buffer-maximum-lines 10000
|
||||
eshell-scroll-to-bottom-on-input t)
|
||||
|
||||
(with-eval-after-load 'esh-opt
|
||||
(setq eshell-destroy-buffer-when-process-dies t)
|
||||
(setq eshell-visual-commands '("htop" "zsh" "vim"))))
|
||||
|
||||
(use-package vterm
|
||||
:straight t
|
||||
:commands vterm
|
||||
:config
|
||||
(setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *") ;; Terminal prompt
|
||||
(setq vterm-shell "zsh")
|
||||
(setq vterm-max-scrollback 10000))
|
||||
|
||||
(use-package pdf-tools
|
||||
:straight t
|
||||
:init
|
||||
(pdf-tools-install))
|
||||
|
||||
;; (use-package mu4e
|
||||
;; :straight t
|
||||
;; :config
|
||||
;; ;; This is set to 't' to avoid mail syncing issues when using mbsync
|
||||
;; (setq mu4e-change-filenames-when-moving t)
|
||||
|
||||
;; ;; Refresh mail using isync every 5 minutes
|
||||
;; (setq mu4e-update-interval (* 5 60))
|
||||
;; (setq mu4e-get-mail-command "mbsync -a -c ~/Dotfiles/.config/mbsync/mbsyncrc")
|
||||
;; (setq mu4e-maildir "~/Mail")
|
||||
|
||||
;; (setq mu4e-contexts
|
||||
;; (list
|
||||
;; ;; Opal.sh
|
||||
;; (make-mu4e-context
|
||||
;; :name "Ry P."
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (string-prefix-p "/opal.sh" (mu4e-message-field msg :maildir))))
|
||||
|
||||
;; :vars '((user-mail-address . "ry@opal.sh")
|
||||
;; (user-full-name . "Ry P.")
|
||||
;; (mu4e-drafts-folder . "/opal.sh/Drafts")
|
||||
;; (mu4e-sent-folder . "/opal.sh/Sent")
|
||||
;; (mu4e-trash-folder . "/opal.sh/Trash")))))
|
||||
|
||||
;; (setq mu4e-maildir-shortcuts
|
||||
;; '(("/opal.sh/Inbox" . ?i)
|
||||
;; ("/opal.sh/Sent" . ?s)
|
||||
;; ("/opal.sh/Trash" . ?t)
|
||||
;; ("/opal.sh/Drafts" . ?d))))
|
||||
|
||||
;; (use-package erc
|
||||
;; :straight t
|
||||
;; (setq erc-server "irc.libera.chat" ;sets default server
|
||||
;; erc-nick "opalvaults" ; Sets nick
|
||||
;; erc-user-full-name "opalvaults"
|
||||
;; erc-track-shorten-start 8
|
||||
;; erc-kill-buffer-on-part t
|
||||
;; erc-auto-query 'bury
|
||||
;; erc-fill-column 90
|
||||
;; erc-fill-function 'erc-fill-static
|
||||
;; erc-fill-static-center 20
|
||||
;; erc-track-visibility nil
|
||||
;; erc-interpret-mirc-color t
|
||||
;; erc-rename-buffers t
|
||||
;; erc-track-exclude-server-buffer t))
|
||||
15
.config/gtk-3.0/settings.ini
Normal file
@@ -0,0 +1,15 @@
|
||||
[Settings]
|
||||
gtk-cursor-theme-name=
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-font-name=Fira Sans Regular
|
||||
gtk-icon-theme-name=Papirus
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintfull
|
||||
2
.config/gtk-4.0/settings.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=0
|
||||
203
.config/i3/config
Normal file
@@ -0,0 +1,203 @@
|
||||
# Autostart
|
||||
# Background
|
||||
exec_always --no-startup-id feh --bg-scale ~/dotfiles/.config/wallpapers/fog-wallpaper.jpg
|
||||
|
||||
# Redshift
|
||||
exec_always --no-startup-id redshift
|
||||
|
||||
# Picom
|
||||
exec_always --no-startup-id picom &
|
||||
|
||||
# Turn Caps Lock into Escape because Caps Lock is useless unless you're a DB admin.
|
||||
exec_always --no-startup-id xmodmap ~/dotfiles/.config/xmodmap/xmodmap
|
||||
|
||||
# Set key repeat rate so text cursors move faster.
|
||||
exec_always --no-startup-id xset r rate 200 35
|
||||
|
||||
# Dunst
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# i3 config file (v4)
|
||||
set $mod Mod4
|
||||
|
||||
# Title Bars
|
||||
for_window [class="*"] border pixel 0
|
||||
|
||||
# Gaps
|
||||
smart_gaps on
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:Fira Code Regular 12
|
||||
|
||||
# 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
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# Lock
|
||||
bindsym Control+Shift+e exec loginctl lock-session
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec rofi -show drun -columns 3 -theme ~/dotfiles/.config/rofi/config.rasi
|
||||
# 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
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l 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+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space 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 number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# 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 j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# 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"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
# panel
|
||||
bar {
|
||||
colors {
|
||||
background #2f343f
|
||||
statusline #2f343f
|
||||
separator #4b5262
|
||||
|
||||
# colour of border, background, and text
|
||||
focused_workspace #2f343f #bf616a #d8dee8
|
||||
active_workspace #2f343f #2f343f #d8dee8
|
||||
inactive_workspace #2f343f #2f343f #d8dee8
|
||||
urgent_workspacei #2f343f #ebcb8b #2f343f
|
||||
}
|
||||
status_command i3status
|
||||
position top
|
||||
}
|
||||
71
.config/i3status/config
Normal file
@@ -0,0 +1,71 @@
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = false
|
||||
markup = pango
|
||||
interval = 5
|
||||
color_good = '#2f343f'
|
||||
color_degraded = '#ebcb8b'
|
||||
color_bad = '#ba5e57'
|
||||
}
|
||||
|
||||
order += "load"
|
||||
order += "cpu_temperature 0"
|
||||
order += "disk /"
|
||||
order += "disk /home"
|
||||
order += "ethernet enp0s13f0u2u1"
|
||||
order += "wireless wlp0s20f3"
|
||||
order += "volume master"
|
||||
order += "battery 0"
|
||||
order += "tztime local"
|
||||
|
||||
load {
|
||||
format = "<span background='#f59335'> %5min Load </span>"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "<span background='#bf616a'> %degrees °C </span>"
|
||||
path = "/sys/class/thermal/thermal_zone0/temp"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "<span background='#fec7cd'> %free Free </span>"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "<span background='#a1d569'> %free Free </span>"
|
||||
}
|
||||
|
||||
ethernet enp0s13f0u2u1 {
|
||||
format_up = "<span background='#88c0d0'> %ip </span>"
|
||||
format_down = "<span background='#88c0d0'> Disconnected </span>"
|
||||
}
|
||||
|
||||
wireless wlp0s20f3 {
|
||||
format_up = "<span background='#b48ead'> %essid </span>"
|
||||
format_down = "<span background='#b48ead'> Disconnected </span>"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "<span background='#ebcb8b'> %volume </span>"
|
||||
format_muted = "<span background='#ebcb8b'> Muted </span>"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
last_full_capacity = true
|
||||
format = "<span background='#a3be8c'> %status %percentage </span>"
|
||||
format_down = "No Battery"
|
||||
status_chr = "Charging"
|
||||
status_bat = "Battery"
|
||||
status_unk = "Unknown"
|
||||
status_full = "Charged"
|
||||
path = "/sys/class/power_supply/BAT0/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "<span background='#81a1c1'> %time </span>"
|
||||
format_time = " %a %-d %b %H:%M"
|
||||
}
|
||||
BIN
.config/mbsync/.mu4e.gpg
Normal file
26
.config/mbsync/mbsyncrc
Normal file
@@ -0,0 +1,26 @@
|
||||
IMAPAccount opal.sh
|
||||
Host imap.opal.sh
|
||||
Port 993
|
||||
User ry@opal.sh
|
||||
PassCmd "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/Dotfiles/.config/mbsync/.mu4e.gpg"
|
||||
SSLType IMAPS
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
IMAPStore opal-remote
|
||||
Account opal.sh
|
||||
|
||||
MaildirStore opal-local
|
||||
Path ~/Mail/opal.sh/
|
||||
Inbox ~/Mail/opal.sh/Inbox
|
||||
Trash ~/Mail/opal.sh/Trash
|
||||
SubFolders Verbatim
|
||||
|
||||
Channel opal.sh
|
||||
Master :opal-remote:
|
||||
Slave :opal-local:
|
||||
Patterns *
|
||||
Expunge None
|
||||
CopyArrivalDate yes
|
||||
Sync All
|
||||
Create Both
|
||||
SyncState *
|
||||
0
.config/nvim/autoload/plug.vim
Normal file
151
.config/nvim/init.vim
Normal file
@@ -0,0 +1,151 @@
|
||||
let mapleader =","
|
||||
|
||||
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
|
||||
echo "Downloading junegunn/vim-plug to manage plugins..."
|
||||
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
|
||||
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
|
||||
autocmd VimEnter * PlugInstall
|
||||
endif
|
||||
|
||||
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'jreybert/vimagit'
|
||||
Plug 'lukesmithxyz/vimling'
|
||||
Plug 'vimwiki/vimwiki'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'ap/vim-css-color'
|
||||
Plug 'fatih/vim-go'
|
||||
Plug 'vlime/vlime'
|
||||
call plug#end()
|
||||
|
||||
set title
|
||||
set bg=light
|
||||
set go=a
|
||||
set mouse=a
|
||||
set nohlsearch
|
||||
set clipboard+=unnamedplus
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
|
||||
" Some basics:
|
||||
nnoremap c "_c
|
||||
set nocompatible
|
||||
filetype plugin on
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set number relativenumber
|
||||
" Enable autocompletion:
|
||||
set wildmode=longest,list,full
|
||||
" Disables automatic commenting on newline:
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
" Perform dot commands over visual blocks:
|
||||
vnoremap . :normal .<CR>
|
||||
" Goyo plugin makes text more readable when writing prose:
|
||||
map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
|
||||
" Spell-check set to <leader>o, 'o' for 'orthography':
|
||||
map <leader>o :setlocal spell! spelllang=en_us<CR>
|
||||
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
set splitbelow splitright
|
||||
|
||||
" Nerd tree
|
||||
map <leader>n :NERDTreeToggle<CR>
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
if has('nvim')
|
||||
let NERDTreeBookmarksFile = stdpath('data') . '/NERDTreeBookmarks'
|
||||
else
|
||||
let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks'
|
||||
endif
|
||||
|
||||
" vimling:
|
||||
nm <leader><leader>d :call ToggleDeadKeys()<CR>
|
||||
imap <leader><leader>d <esc>:call ToggleDeadKeys()<CR>a
|
||||
nm <leader><leader>i :call ToggleIPA()<CR>
|
||||
imap <leader><leader>i <esc>:call ToggleIPA()<CR>a
|
||||
nm <leader><leader>q :call ToggleProse()<CR>
|
||||
|
||||
" Shortcutting split navigation, saving a keypress:
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
|
||||
" Replace ex mode with gq
|
||||
map Q gq
|
||||
|
||||
" Check file in shellcheck:
|
||||
map <leader>s :!clear && shellcheck -x %<CR>
|
||||
|
||||
" Open my bibliography file in split
|
||||
map <leader>b :vsp<space>$BIB<CR>
|
||||
map <leader>r :vsp<space>$REFER<CR>
|
||||
|
||||
" Replace all is aliased to S.
|
||||
nnoremap S :%s//g<Left><Left>
|
||||
|
||||
" Compile document, be it groff/LaTeX/markdown/etc.
|
||||
map <leader>c :w! \| !compiler "<c-r>%"<CR>
|
||||
|
||||
" Open corresponding .pdf/.html or preview
|
||||
map <leader>p :!opout <c-r>%<CR><CR>
|
||||
|
||||
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
|
||||
autocmd VimLeave *.tex !texclear %
|
||||
|
||||
" Ensure files are read as what I want:
|
||||
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
|
||||
map <leader>v :VimwikiIndex
|
||||
let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
|
||||
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
|
||||
autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
|
||||
autocmd BufRead,BufNewFile *.tex set filetype=tex
|
||||
|
||||
" Save file as sudo on files that require root permission
|
||||
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
||||
|
||||
" Enable Goyo by default for mutt writing
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
|
||||
|
||||
" Automatically deletes all trailing whitespace and newlines at end of file on save.
|
||||
autocmd BufWritePre * %s/\s\+$//e
|
||||
autocmd BufWritePre * %s/\n\+\%$//e
|
||||
autocmd BufWritePre *.[ch] %s/\%$/\r/e
|
||||
|
||||
" When shortcut files are updated, renew bash and rager configs with new material:
|
||||
autocmd BufWritePost bm-files,bm-dirs !shortcuts
|
||||
" Run xrdb whenever Xdefaults or Xresources are updated.
|
||||
autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
|
||||
autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
|
||||
" Recompile dwmblocks on config edit.
|
||||
autocmd BufWritePost ~/.local/src/dwmblocks/config.h !cd ~/.local/src/dwmblocks/; sudo make install && { killall -q dwmblocks;setsid -f dwmblocks }
|
||||
|
||||
" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable.
|
||||
if &diff
|
||||
highlight! link DiffText MatchParen
|
||||
endif
|
||||
|
||||
" Function for toggling the bottom statusbar:
|
||||
let s:hidden_all = 1
|
||||
function! ToggleHiddenAll()
|
||||
if s:hidden_all == 0
|
||||
let s:hidden_all = 1
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
else
|
||||
let s:hidden_all = 0
|
||||
set showmode
|
||||
set ruler
|
||||
set laststatus=2
|
||||
set showcmd
|
||||
endif
|
||||
endfunction
|
||||
nnoremap <leader>h :call ToggleHiddenAll()<CR>
|
||||
206
.config/nyxt/init.lisp
Normal file
@@ -0,0 +1,206 @@
|
||||
(in-package :nyxt)
|
||||
(load "~/quicklisp/setup.lisp")
|
||||
(ql:quickload 'slynk)
|
||||
;; (push #p"~/common-lisp/sly/" asdf:*central-registry*)
|
||||
;; (asdf:load-system :slynk)
|
||||
;; (slynk:create-server :port 4008)
|
||||
|
||||
(load-after-system :slynk (nyxt-init-file "my-slink.lisp"))
|
||||
;; (load-after-system :slynk "~/.config/nyxt/my-slynk.lisp")
|
||||
|
||||
;; Vim-normal mode by default
|
||||
(define-configuration buffer
|
||||
((default-modes (append '(vi-normal-mode) '(blocker-mode) %slot-default%))))
|
||||
|
||||
;; Vim-insert for prompt-buffer (minibuffer)
|
||||
(define-configuration prompt-buffer
|
||||
((default-modes (append '(vi-insert-mode) %slot-default%))))
|
||||
|
||||
;; Keybindings
|
||||
;; (Note: Override Map will override any other custom keybindings so use a prefix key.)
|
||||
(define-configuration buffer
|
||||
((override-map (define-key %slot-default%
|
||||
"C-x s" 'nyxt/web-mode:search-buffers
|
||||
"C-x u" 'copy-username
|
||||
"C-x p" 'copy-password))))
|
||||
|
||||
;;Message buffer color configuration
|
||||
(define-configuration window
|
||||
((message-buffer-style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "black"
|
||||
:color "white")))))))
|
||||
|
||||
;; Mini-buffer style
|
||||
(define-configuration prompt-buffer
|
||||
((style (str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "black"
|
||||
:color "white")
|
||||
("#prompt-area"
|
||||
:background-color "black")
|
||||
;; The area you input text in.
|
||||
("#input"
|
||||
:background-color "#EDDDAA")
|
||||
(".source-name"
|
||||
:color "black"
|
||||
:background-color "#125458")
|
||||
(".source-content"
|
||||
:background-color "black")
|
||||
(".source-content th"
|
||||
:border "1px solid #125458"
|
||||
:background-color "black")
|
||||
;; The currently highlighted option.
|
||||
("#selection"
|
||||
:background-color "#125458"
|
||||
:color "black")
|
||||
(.marked :background-color "#8B3A3A"
|
||||
:font-weight "bold"
|
||||
:color "white")
|
||||
(.selected :background-color "black"
|
||||
:color "white")))))))
|
||||
|
||||
;; Internal buffer (help, bookmarks, buffers panel)
|
||||
(define-configuration (internal-buffer panel-buffer)
|
||||
((style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((title
|
||||
:color "#CD5C5C")
|
||||
(body
|
||||
:background-color "black"
|
||||
:color "lightgray")
|
||||
(hr
|
||||
:color "lightgray")
|
||||
(a
|
||||
:color "#125458")
|
||||
(.button
|
||||
:color "white"
|
||||
:background-color "#125458")))))))
|
||||
|
||||
;; Link hints in web mode
|
||||
(define-configuration nyxt/web-mode:web-mode
|
||||
((nyxt/web-mode:highlighted-box-style
|
||||
(cl-css:css
|
||||
'((".nyxt-hint.nyxt-highlight-hint"
|
||||
:background "#125458"))))))
|
||||
|
||||
;; Modeline
|
||||
(define-configuration status-buffer
|
||||
((style (str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
;; Arrows on the left.
|
||||
'(("#controls"
|
||||
:border-top "1px solid white"
|
||||
:background-color "#125458")
|
||||
;; To the right of the arrows.
|
||||
("#url"
|
||||
:background-color "black"
|
||||
:color "white"
|
||||
:border-top "1px solid white")
|
||||
;; Far to the right.
|
||||
("#modes"
|
||||
:background-color "black"
|
||||
:border-top "1px solid white")
|
||||
;; The center segment.
|
||||
("#tabs"
|
||||
:background-color "#125458"
|
||||
:color "black"
|
||||
:border-top "1px solid white")))))))
|
||||
|
||||
;; Overriding dark theme colors
|
||||
(define-configuration nyxt/style-mode:dark-mode
|
||||
((style #.(cl-css:css
|
||||
'((*
|
||||
:background-color "black !important"
|
||||
:background-image "none !important"
|
||||
:color "white")
|
||||
(a
|
||||
:background-color "black !important"
|
||||
:background-image "none !important"
|
||||
:color "#556B2F !important"))))))
|
||||
|
||||
(define-configuration password:keepassxc-interface
|
||||
((password:password-file "/home/opal/.config/keepassxc/.kdbx-store/opal.kdbx")))
|
||||
|
||||
(define-configuration buffer
|
||||
((password-interface (make-instance 'password:user-keepassxc-interface))))
|
||||
|
||||
(define-command set-url (&key (prefill-current-url-p t))
|
||||
"Set the URL for the current buffer, completing with history."
|
||||
(let ((history (set-url-history *browser*))
|
||||
(actions (list (make-command buffer-load* (suggestion-values)
|
||||
"Load first selected URL in current buffer and the rest in new buffer(s)."
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion))) (rest suggestion-values))
|
||||
(buffer-load (url (first suggestion-values))))
|
||||
(make-command new-buffer-load (suggestion-values)
|
||||
"Load URL(s) in new buffer(s)."
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion))) (rest suggestion-values))
|
||||
(make-buffer-focus :url (url (first suggestion-values)))))))
|
||||
(pushnew-url-history history (url (current-buffer)))
|
||||
(prompt
|
||||
:prompt "Open URL"
|
||||
:input (if prefill-current-url-p
|
||||
(render-url (url (current-buffer))) "")
|
||||
:history history
|
||||
:sources (list (make-instance 'user-new-url-or-search-source :actions actions)
|
||||
(make-instance 'bookmark-source :actions actions)
|
||||
(make-instance 'user-global-history-source :actions actions)
|
||||
(make-instance 'search-engine-url-source :actions actions)))))
|
||||
|
||||
(define-command set-url-new-buffer (&key (prefill-current-url-p t))
|
||||
"Prompt for a URL and set it in a new focused buffer."
|
||||
(let ((history (set-url-history *browser*))
|
||||
(actions (list (make-command new-buffer-load (suggestion-values)
|
||||
"Load URL(s) in new buffer(s)"
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion)))
|
||||
(rest suggestion-values))
|
||||
(make-buffer-focus :url (url (first suggestion-values)))))))
|
||||
(pushnew-url-history history (url (current-buffer)))
|
||||
(prompt
|
||||
:prompt "Open URL in new buffer"
|
||||
:input (if prefill-current-url-p
|
||||
(render-url (url (current-buffer))) "")
|
||||
:history history
|
||||
:sources (list (make-instance 'user-new-url-or-search-source :actions actions)
|
||||
(make-instance 'bookmark-source :actions actions)
|
||||
(make-instance 'user-global-history-source :actions actions)
|
||||
(make-instance 'search-engine-url-source :actions actions)))))
|
||||
|
||||
;; I would like to implement redirection, or some extension to handle it for me.
|
||||
;; todo: Redirect reddit to teddit
|
||||
;; (defun old-reddit-handler (request-data)
|
||||
;; (let ((url (url request-data)))
|
||||
;; (setf (url request-data)
|
||||
;; (if (search "reddit.com" (quri:uri-host url))
|
||||
;; (progn
|
||||
;; (setf (quri:uri-host url) "old.reddit.com")
|
||||
;; (log:info "Switching to old Reddit: ~s" (render-url url))
|
||||
;; url)
|
||||
;; url)))
|
||||
;; request-data)
|
||||
|
||||
;; (define-configuration web-buffer
|
||||
;; ((request-resource-hook
|
||||
;; (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))
|
||||
;; (See url-dispatching-handler for a simpler way to achieve the same result.)
|
||||
|
||||
(defun nyxt-init-file (&optional subpath)
|
||||
"Return SUBPATH relative to `*init-file-path*'.
|
||||
Return nil if `*init-file-path*' is nil.
|
||||
|
||||
Example:
|
||||
If we want to load a define-command procedure that lives in ~/path/to/nyxt/config/dir/my-slink.lisp
|
||||
(load-after-system :slynk (nyxt-init-file \"my-slink.lisp\"))"
|
||||
(if subpath
|
||||
(uiop:subpathname* (uiop:pathname-directory-pathname
|
||||
(expand-path *init-file-path*))
|
||||
subpath)
|
||||
(expand-path *init-file-path*)))
|
||||
10
.config/nyxt/my-slink.lisp
Normal file
@@ -0,0 +1,10 @@
|
||||
(define-command-global start-slynk (&optional (slynk-port *swank-port*))
|
||||
"Start a Slynk server that can be connected to, for instance, in
|
||||
Emacs via SLY.
|
||||
|
||||
Warning: This allows Nyxt to be controlled remotely, that is, to execute
|
||||
arbitrary code with the privileges of the user running Nyxt. Make sure
|
||||
you understand the security risks associated with this before running
|
||||
this command."
|
||||
(slynk:create-server :port slynk-port :dont-close t)
|
||||
(echo "Slynk server started at port ~a" slynk-port))
|
||||
1
.config/oh-my-zsh
Submodule
8
.config/pavucontrol.ini
Normal file
@@ -0,0 +1,8 @@
|
||||
[window]
|
||||
width=1695
|
||||
height=1367
|
||||
sinkInputType=1
|
||||
sourceOutputType=1
|
||||
sinkType=0
|
||||
sourceType=1
|
||||
showVolumeMeters=1
|
||||
419
.config/picom/picom.conf
Normal file
@@ -0,0 +1,419 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# shadow = false
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
fading = true;
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
# fade-in-step = 0.028
|
||||
fade-in-step = 0.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
inactive-opacity = 0.8;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 0.7;
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
# backend = "glx"
|
||||
backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||
# try detecting this with X RandR extension.
|
||||
#
|
||||
# refresh-rate = 60
|
||||
refresh-rate = 0;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
# glx-no-stencil = false
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||
# in the source tree for examples.
|
||||
#
|
||||
# glx-fshader-win = ""
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
||||
92
.config/rofi/config.rasi
Normal file
@@ -0,0 +1,92 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
font: "Fira Code Regular 10";
|
||||
show-icons: true;
|
||||
icon-theme: "Reversal-dark";
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
sidebar-mode: false;
|
||||
}
|
||||
|
||||
@theme "/dev/null"
|
||||
|
||||
* {
|
||||
bg: #151515;
|
||||
fg: #e8e8d3;
|
||||
accent: #687363;
|
||||
button: #1c1c1c;
|
||||
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
}
|
||||
|
||||
window {
|
||||
border-radius: 7px;
|
||||
width: 50%;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @button;
|
||||
enabled: true;
|
||||
padding: 0.5% 32px 0% -0.5%;
|
||||
font: "Rubik 10";
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder: "Search";
|
||||
background-color: @button;
|
||||
placeholder-color: @fg;
|
||||
expand: true;
|
||||
padding: 0.15% 0% 0% 0%;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ prompt, entry ];
|
||||
background-color: @button;
|
||||
expand: false;
|
||||
border-radius: 6px;
|
||||
margin: 0%;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 4;
|
||||
lines: 3;
|
||||
cycle: false;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 2%;
|
||||
padding: 2% 1% 2% 1%;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
padding: 2% 0% 2% 0%;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 48px;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
expand: true;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
margin: 0.5% 0.5% -0.5% 0.5%;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @button;
|
||||
border-radius: 6px;
|
||||
}
|
||||
249
.config/sway/config
Normal file
@@ -0,0 +1,249 @@
|
||||
set $mod Mod4
|
||||
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Terminal
|
||||
set $term alacritty
|
||||
|
||||
# Application Launcher
|
||||
set $menu wofi --hide-scroll --show drun | xargs swaymsg exec
|
||||
|
||||
set $opacity 0.95
|
||||
for_window [class=".*"] opacity $opacity
|
||||
for_window [app_id=".*"] opacity $opacity
|
||||
|
||||
# Window Borders
|
||||
default_border none
|
||||
|
||||
# Gaps
|
||||
smart_gaps on
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
# Dismiss notifications
|
||||
bindsym --locked $mod+d exec sh -c "notify-send 'Do Not Disturb' 'Turning on Do Not Disturb Mode'; sleep 2; makoctl set-mode do-not-disturb"
|
||||
|
||||
# Hide mouse cursor after inactivity
|
||||
seat * hide_cursor 4000
|
||||
|
||||
# Notifications
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
# Wlsunset (Night Light)
|
||||
exec_always wlsunset -lsd 47.6, -122.3 -t 3200 -T 6500
|
||||
|
||||
# Monitors
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
# output eDP-1 pos 0 0 res 1920x1200
|
||||
# output DP-5 pos 3440 0 res 3440x1440
|
||||
output eDP-1 pos 0 0 res 1920x1200
|
||||
output HDMI-A-1 pos 1920 0 res 3440x1440
|
||||
|
||||
# Wallpaper
|
||||
output HDMI-A-1 bg /home/opal/dotfiles/.config/wallpapers/2.jpg fit #050402
|
||||
output eDP-1 bg /home/opal/dotfiles/.config/wallpapers/2.jpg fit #050402
|
||||
|
||||
### Idle configuration
|
||||
# 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.
|
||||
exec swayidle -w \
|
||||
timeout 600 'swaylock -f' \
|
||||
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f'
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t custom -m 'Do you wish to fully reload your Sway session?' -b 'Yes' 'swaymsg exit'
|
||||
# Turn the system off
|
||||
bindsym $mod+Shift+p exec swaynag -t custom -m 'What action would you like to perform?' -b 'Shutdown' 'poweroff' -b 'Restart' 'poweroff --reboot'
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
input type:keyboard {
|
||||
# Capslock key should work as escape key
|
||||
# See /usr/share/X11/xkb/rules/xorg.lst for options
|
||||
xkb_options caps:escape
|
||||
|
||||
repeat_delay 250
|
||||
repeat_rate 45
|
||||
}
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Lock SwayWM
|
||||
bindsym Control+Shift+l exec swaylock
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+x exec swaymsg -r exit
|
||||
|
||||
## Volume
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
# Media playerctl
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
|
||||
# Backlight
|
||||
bindsym XF86MonBrightnessUp exec light -A 10 && notify-send " Light" "Brightness: $(light)%" --hint="int:value:$(light)"
|
||||
bindsym XF86MonBrightnessDown exec light -U 10 && notify-send " Light" "Brightness: $(light)%" --hint="int:value:$(light)"
|
||||
|
||||
# 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
|
||||
# Or use $mod+[up|down|left|right]
|
||||
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
|
||||
# Ditto, with arrow 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
|
||||
|
||||
# Assign workspaces to variables
|
||||
set $ws1 number 1
|
||||
set $ws2 number 2
|
||||
set $ws3 number 3
|
||||
set $ws4 number 4
|
||||
set $ws5 number 5
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers 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
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
exec_always import-gsettings \
|
||||
gtk-theme:gtk-theme-name \
|
||||
icon-theme:gtk-icon-theme-name \
|
||||
cursor-theme:gtk-cursor-theme-name
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
# position top
|
||||
# gaps 5
|
||||
|
||||
# # When the status_command prints a new line to stdout, swaybar updates.
|
||||
# # The default just shows the current date and time.
|
||||
# status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
|
||||
|
||||
# colors {
|
||||
# statusline #ffffff
|
||||
# background #323232
|
||||
# inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
# }
|
||||
}
|
||||
218
.config/sway/config~
Normal file
@@ -0,0 +1,218 @@
|
||||
include /gnu/store/6d3q9f1bdfn4cchsziws33ixq2p4zjhw-sway-1.6.1/etc/sway/config.d/*
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Terminal
|
||||
set $term alacritty
|
||||
|
||||
# Application Launcher
|
||||
set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||
|
||||
set $opacity 0.92
|
||||
for_window [class=".*"] opacity $opacity
|
||||
for_window [app_id=".*"] opacity $opacity
|
||||
|
||||
# Window Borders
|
||||
default_border none
|
||||
|
||||
# Gaps
|
||||
gaps top 2
|
||||
gaps inner 3
|
||||
# gaps outer 3
|
||||
|
||||
# Hide mouse cursor after inactivity
|
||||
seat * hide_cursor 4000
|
||||
|
||||
# Notifications
|
||||
exec_always dunst
|
||||
|
||||
# Wlsunset (Night Light)
|
||||
exec_always wlsunset -l 47.6, -122.3 -t 3500 -T 6500
|
||||
|
||||
# Wallpaper
|
||||
output * bg /home/opal/Dotfiles/guix-wallpaper.jpg stretch
|
||||
|
||||
# Monitors
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
output eDP-1 resolution 1920x1080 position 0,0
|
||||
|
||||
### Idle configuration
|
||||
# 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.
|
||||
exec swayidle -w \
|
||||
timeout 300 'swaylock -f -c 000000' \
|
||||
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f -c 000000'
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
input type:keyboard {
|
||||
# Capslock key should work as escape key
|
||||
# See /usr/share/X11/xkb/rules/xorg.lst for options
|
||||
xkb_options caps:escape
|
||||
|
||||
repeat_delay 250
|
||||
repeat_rate 45
|
||||
}
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Lock SwayWM
|
||||
bindsym Control+Shift+l exec swaylock
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+x exec swaymsg -r exit
|
||||
|
||||
# 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
|
||||
# Or use $mod+[up|down|left|right]
|
||||
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
|
||||
# Ditto, with arrow 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
|
||||
|
||||
set $ws1 ۱
|
||||
set $ws2 ۲
|
||||
set $ws3 ۳
|
||||
set $ws4 ۴
|
||||
set $ws5 ۵
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers 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
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
gaps 5
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
|
||||
|
||||
colors {
|
||||
statusline #ffffff
|
||||
background #323232
|
||||
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
}
|
||||
}
|
||||
10
.config/swaylock/config
Normal file
@@ -0,0 +1,10 @@
|
||||
# Image
|
||||
image=/home/opal/dotfiles/.config/wallpapers/fog-wallpaper.jpg
|
||||
scaling=fill
|
||||
|
||||
# Indicator
|
||||
ignore-empty-password
|
||||
indicator-caps-lock
|
||||
|
||||
# Behavior
|
||||
show-failed-attempts
|
||||
16
.config/swaynag/config
Normal file
@@ -0,0 +1,16 @@
|
||||
[custom]
|
||||
font=Iosevka 10
|
||||
dismiss-button=Dismiss
|
||||
background=0f0f0f
|
||||
border=262626
|
||||
border-bottom=262626
|
||||
button-background=262626
|
||||
text=f0f0f0
|
||||
border-bottom-size=2
|
||||
message-padding=5
|
||||
details-border-size=2
|
||||
button-border-size=0
|
||||
button-gap=5
|
||||
button-dismiss-gap=5
|
||||
button-margin-right=5
|
||||
button-padding=5
|
||||
15
.config/user-dirs.dirs
Normal file
@@ -0,0 +1,15 @@
|
||||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
#
|
||||
XDG_DESKTOP_DIR="$HOME"
|
||||
XDG_DOWNLOAD_DIR="$HOME/downloads"
|
||||
XDG_TEMPLATES_DIR="$HOME"
|
||||
XDG_PUBLICSHARE_DIR="$HOME"
|
||||
XDG_DOCUMENTS_DIR="$HOME/documents"
|
||||
XDG_MUSIC_DIR="$HOME/music"
|
||||
XDG_PICTURES_DIR="$HOME/pictures"
|
||||
XDG_VIDEOS_DIR="$HOME/videos"
|
||||
BIN
.config/wallpapers/1.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
.config/wallpapers/2.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
.config/wallpapers/3.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
.config/wallpapers/fog-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 768 KiB |
BIN
.config/wallpapers/guix-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
.config/wallpapers/wallpaper-town.jpg
Normal file
|
After Width: | Height: | Size: 3.5 MiB |
83
.config/waybar/config
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"layer": "top", // Waybar at top layer
|
||||
"position": "top", // Waybar at the bottom of your screen
|
||||
"height": 25, // Waybar height
|
||||
"modules-left": ["sway/workspaces"],
|
||||
"modules-center": ["clock", "backlight"],
|
||||
"modules-right": ["pulseaudio", "network", "battery", "tray"],
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": false,
|
||||
// "format": "<span size='large'>{icon}</span>",
|
||||
// "format-icons": {
|
||||
// "1": " ",
|
||||
// "2": " ",
|
||||
// "3": " ",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// }
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style='italic'>{}</span>"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing": 8
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{: %I:%M %A %B %d}",
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"interval": 30,
|
||||
"on-scroll-up": "~/.scripts/ChangeBrightness 1%+",
|
||||
"on-scroll-down": "~/.scripts/ChangeBrightness 1%-",
|
||||
"on-click": "~/.scripts/ChangeBrightness 0%",
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"full-at": "99",
|
||||
"format": " {capacity}%",
|
||||
"format-good": " {capacity}%", // An empty format will hide the module
|
||||
"format-full": "<span size='large' rise='-1600'></span> Full",
|
||||
"format-charging": "<span size='large' rise='-1600'></span> {capacity}% "
|
||||
},
|
||||
|
||||
"network": {
|
||||
"interval": 5,
|
||||
"format-wifi": "<span size='large' rise='-1000'></span> {essid}",
|
||||
"format-ethernet": "<span size='large' rise='-1000'></span> {ifname}",
|
||||
"format-disconnected": "",
|
||||
"on-click": "nm-applet",
|
||||
"tooltip-format-wifi": "{essid}:{signalStrength}\nSpeed:{bandwidthDownBits} \n{ipaddr}"
|
||||
|
||||
},
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1,
|
||||
"on-scroll-up": "amixer set Master 3%+",
|
||||
"on-scroll-down": "amixer set Master 3%-",
|
||||
"format": "",
|
||||
"format": "<span size='large' rise='-1600'>{icon}</span> {volume}%",
|
||||
"format-source": "<span size='large' rise='-1600'>{icon}</span> {volume}%",
|
||||
"format-muted": "<span size='large' rise='-1600'></span> Muted",
|
||||
"format-icons": {
|
||||
"headset": "",
|
||||
"headphone": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "",
|
||||
"format": "<span size='large' rise='-1600'>{icon}</span>",
|
||||
"format-icons": ["", ""],
|
||||
// "on-scroll-up": "brightnessctl set 1%+",
|
||||
// "on-scroll-down": "brightnessctl set 1%-",
|
||||
"on-click": "wlsunset"
|
||||
}
|
||||
}
|
||||
109
.config/waybar/style.css
Normal file
@@ -0,0 +1,109 @@
|
||||
\* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "Iosevka", Regular;
|
||||
font-size: 15px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
color: #bebebe;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: #bebebe;
|
||||
background: transparent;
|
||||
padding: 0px 5px 0 5px;
|
||||
margin: 5px 10px 0 10px;
|
||||
}
|
||||
#workspaces button.focused {
|
||||
color: white;
|
||||
margin: 5px 10px 0 10px;
|
||||
}
|
||||
#workspaces button.urgent{
|
||||
margin: 5px 10px 0 10px;
|
||||
padding: 1px 8px 1px 8px;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
border-radius: 7px;
|
||||
}
|
||||
#mode {
|
||||
font-family: "Iosevka";
|
||||
margin: 0px 15px 0px 15px;
|
||||
padding: 0px 12px 0px 12px;
|
||||
color: black;
|
||||
background: white;
|
||||
}
|
||||
|
||||
#battery{
|
||||
margin:7px 4px 0 4px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px 0px 8px;
|
||||
}
|
||||
|
||||
#network {
|
||||
margin:7px 4px 0 4px;
|
||||
border-radius: 6px;
|
||||
padding: 3px 8px 0px 8px;
|
||||
}
|
||||
|
||||
@keyframes critical {
|
||||
to {
|
||||
background: rgba(187,56,0, 1);
|
||||
border-radius: 7px;
|
||||
margin:7px 4px 0 4px;
|
||||
padding: 3px 8px 0px 8px;
|
||||
}
|
||||
}
|
||||
@keyframes urgent {
|
||||
to {
|
||||
background: rgba(212,140,0, 1);
|
||||
color: black;
|
||||
border-radius: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
padding: 0px 6px 0px 6px;
|
||||
color: white;
|
||||
animation-name: critical;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin:7px 0 0 13px;
|
||||
font-family: Manjari;
|
||||
font-size: 16.5px;
|
||||
border-radius: 6px;
|
||||
padding: 4px 6px 0px 0px;
|
||||
}
|
||||
|
||||
#clock:hover {
|
||||
background: rgba(40,40,40, .95);
|
||||
}
|
||||
|
||||
|
||||
#backlight {
|
||||
margin:7px 4px 0 4px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px 0px 8px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
margin:7px 4px 0 4px;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px 0px 8px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin: 7px 15px 0 4px;
|
||||
background: rgba(40,40,40, .65);
|
||||
border-radius: 6px;
|
||||
padding: 1px 5px 1px 5px;
|
||||
}
|
||||
47
.config/wofi/config
Normal file
@@ -0,0 +1,47 @@
|
||||
style=/home/opal/dotfiles/.config/wofi/style.css
|
||||
show=drun
|
||||
width=500
|
||||
height=300
|
||||
always_parse_args=true
|
||||
show_all=true
|
||||
print_command=true
|
||||
layer=overlay
|
||||
insensitive=true
|
||||
prompt=Search...
|
||||
term=alacritty
|
||||
|
||||
window {
|
||||
margin: 5px;
|
||||
border: 2px solid red;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 5px;
|
||||
border: 2px solid blue;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 5px;
|
||||
border: 2px solid yellow;
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 5px;
|
||||
border: 2px solid green;
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 5px;
|
||||
border: 2px solid orange;
|
||||
background-color: orange;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: 2px solid cyan;
|
||||
background-color: cyan;
|
||||
}
|
||||
52
.config/wofi/style.css
Normal file
@@ -0,0 +1,52 @@
|
||||
window {
|
||||
margin: 0px;
|
||||
opacity: 0.95;
|
||||
#border: 2px solid #414868;
|
||||
border-radius: 5px;
|
||||
background-color: #24283b;
|
||||
font-family: Iosevka Regular;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 5px;
|
||||
color: #c0caf5;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#input image {
|
||||
color: #c0caf5;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: #c0caf5;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: #414868;
|
||||
font-weight: regular;
|
||||
}
|
||||
|
||||
#text:selected {
|
||||
background-color: #414868;
|
||||
font-weight: regular;
|
||||
}
|
||||
2
.config/xmodmap/xmodmap
Normal file
@@ -0,0 +1,2 @@
|
||||
clear Lock
|
||||
keycode 0x42 = Escape
|
||||
33
.config/zsh/.history
Normal file
@@ -0,0 +1,33 @@
|
||||
: 1641441313:0;ls
|
||||
: 1641441314:0;ls -la
|
||||
: 1641441325:0;cd .config
|
||||
: 1641441325:0;ls
|
||||
: 1641441326:0;cd zsh
|
||||
: 1641441327:0;ls
|
||||
: 1641441335:0;source zshrcv
|
||||
: 1641441336:0;source zshrc
|
||||
: 1641441345:0;source zprofile
|
||||
: 1641441361:0;cd ~/dotfiles/.config/zsh
|
||||
: 1641441361:0;ls
|
||||
: 1641441547:0;sudo pacman -S ttf-iosevka
|
||||
: 1641441568:0;sudo pacman -S ttc-iosevka
|
||||
: 1641441988:0;ls
|
||||
: 1641441990:0;cd
|
||||
: 1641441991:0;ls -la
|
||||
: 1641441994:0;cat .zshenv
|
||||
: 1641441999:0;zshrcsource
|
||||
: 1641442016:0;source ~/.config/zsh/zshrc
|
||||
: 1641442022:0;ls
|
||||
: 1641442312:0;sudo pacman -S grimshot
|
||||
: 1641442319:0;yay -S grimshot
|
||||
: 1641442335:0;ls
|
||||
: 1641442344:0;which wl-clipboard
|
||||
: 1641442372:0;sudo pacman -S wl-clipboard
|
||||
: 1641442376:0;ls
|
||||
: 1641442412:0;wofi
|
||||
: 1641442505:0;man wofi
|
||||
: 1641442542:0;cd ~/.config/wofi
|
||||
: 1641442542:0;ls
|
||||
: 1641442545:0;cat style.css
|
||||
: 1641442548:0;cd co
|
||||
: 1641442552:0;vim config
|
||||
15
.config/zsh/zprofile
Normal file
@@ -0,0 +1,15 @@
|
||||
# Each new shell auto-imports all environment variables.
|
||||
# Hence exporting needs to be done only once.
|
||||
# Also, all non-login shells are descendants of a login shell.
|
||||
# Ergo, exports need to be done in the login shell only.
|
||||
# Hence, we put exports in .zprofile
|
||||
|
||||
# Only vars needed by external commands should be exported.
|
||||
# Note that you can export vars w/out assigning a value to them.
|
||||
export XDG_CONFIG_HOME=~/.config
|
||||
export XDG_CACHE_HOME=~/.cache
|
||||
export XDG_DATA_HOME=~/.local/share
|
||||
export XDG_STATE_HOME=~/.config/zsh
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
xmodmap ~/.config/xmodmap/xmodmap
|
||||
20
.config/zsh/zsh_aliases
Normal file
@@ -0,0 +1,20 @@
|
||||
# ~ Guix #
|
||||
alias install="sudo pacman -S"
|
||||
alias remove="sudo pacman -R"
|
||||
alias search="pacman -Ss"
|
||||
alias upgrade="sudo pacman -Syyu"
|
||||
|
||||
# ~ Commands ~ #
|
||||
alias ip="ip -c"
|
||||
alias rm="rm -i"
|
||||
alias ols="ls-with-file-mode-bits.sh"
|
||||
|
||||
# ~ Derp ~ #
|
||||
alias unmount="umount"
|
||||
alias please="sudo"
|
||||
alias yeet="rm -rf"
|
||||
alias :q='echo This aint a file, dingus.'
|
||||
alias :wq='echo This aint a file, dingus.'
|
||||
|
||||
# ~ Source Zsh Configuration ~ #
|
||||
alias zshrcsource="source ~/dotfiles/.config/zsh/zshrc"
|
||||
5
.config/zsh/zsh_functions
Normal file
@@ -0,0 +1,5 @@
|
||||
# ~ Move files to trash folder instead ~ #
|
||||
del () { mv "$@" $HOME/.local/share/trash/files/.; }
|
||||
|
||||
# Make directory and CD into it.
|
||||
mk () { mkdir -p -- "$1" && cd -P -- "$1" }
|
||||
9
.config/zsh/zshenv
Normal file
@@ -0,0 +1,9 @@
|
||||
if [[ -z "$XDG_CONFIG_HOME" ]]
|
||||
then
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
fi
|
||||
|
||||
if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
|
||||
then
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
fi
|
||||
29
.config/zsh/zshrc
Normal file
@@ -0,0 +1,29 @@
|
||||
# Sometimes SSH'ing with Emacs is ungraceful.
|
||||
# To remedy this I disable the zsh line editor.
|
||||
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
|
||||
|
||||
|
||||
#### ~~~~ General ~~~~ #####
|
||||
export ZSH="$XDG_CONFIG_HOME/oh-my-zsh"
|
||||
HISTFILE=$XDG_CONFIG_HOME/zsh/.history
|
||||
ZSH_THEME="mrtazz"
|
||||
DISABLE_AUTO_UPDATE="true"
|
||||
ENABLE_CORRECTION="true"
|
||||
plugins=(git)
|
||||
source $ZSH/oh-my-zsh.sh # This has to stay below plugins.
|
||||
|
||||
#### ~~~~ Autostart ~~~~ #####
|
||||
pfetch
|
||||
|
||||
#### ~~~~ Path Additions ~~~~ #####
|
||||
export PATH=/home/opal/scripts:$PATH # Scripts
|
||||
|
||||
#### ~~~~ Locale ~~~~ #####
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
|
||||
#### ~~~~ Import ~~~~ #####
|
||||
ALIAS_LOCATION="$XDG_CONFIG_HOME/zsh/zsh_aliases"
|
||||
FUNCTION_LOCATION="$XDG_CONFIG_HOME/zsh/zsh_functions"
|
||||
source $ALIAS_LOCATION
|
||||
source $FUNCTION_LOCATION
|
||||
7
.stow-local-ignore
Normal file
@@ -0,0 +1,7 @@
|
||||
\.git
|
||||
^/.*\.org
|
||||
LICENSE
|
||||
README:
|
||||
.gitignore
|
||||
.gitmodules
|
||||
archive/
|
||||
16
archive/guix/channels.scm
Normal file
@@ -0,0 +1,16 @@
|
||||
(list (channel
|
||||
(name 'guix)
|
||||
(url "https://git.savannah.gnu.org/git/guix.git")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"9edb3f66fd807b096b48283debdcddccfea34bad"
|
||||
(openpgp-fingerprint
|
||||
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
|
||||
(channel
|
||||
(name 'nonguix)
|
||||
(url "https://gitlab.com/nonguix/nonguix")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
|
||||
19
archive/guix/home/files/alacritty/alacritty.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
# Env
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
normal:
|
||||
family: inconsolata
|
||||
style: Regular
|
||||
bold:
|
||||
family: inconsolata
|
||||
style: Bold
|
||||
italic:
|
||||
family: inconsolata
|
||||
style: Italic
|
||||
bold_italic:
|
||||
family: inconsolata
|
||||
style: Bold Italic
|
||||
size: 12
|
||||
52
archive/guix/home/files/dunst/dunstrc
Normal file
@@ -0,0 +1,52 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "250x50-24+24"
|
||||
indicate_hidden = yes
|
||||
shrink = no
|
||||
separator_height = 0
|
||||
padding = 16
|
||||
horizontal_padding = 24
|
||||
frame_width = 2
|
||||
sort = no
|
||||
idle_threshold = 120
|
||||
font = Noto Sans 8
|
||||
line_height = 4
|
||||
markup = full
|
||||
format = "<b>%s</b>\n%b"
|
||||
alignment = left
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = false
|
||||
hide_duplicate_count = yes
|
||||
show_indicators = no
|
||||
icon_position = off
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
browser = /usr/bin/icecat -new-tab
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 2
|
||||
|
||||
[urgency_normal]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
timeout = 4
|
||||
|
||||
[urgency_critical]
|
||||
background = "#2f343f"
|
||||
foreground = "#d8dee8"
|
||||
frame_color = "#bf616a"
|
||||
timeout = 0
|
||||
704
archive/guix/home/files/emacs/init.el
Normal file
@@ -0,0 +1,704 @@
|
||||
(setq package-enable-at-startup nil)
|
||||
|
||||
;; * Package Management with straight.el
|
||||
(unless (featurep 'straight)
|
||||
;; Bootstrap 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)))
|
||||
|
||||
;; Use straight.el for use-package expressions
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("org" . "https://orgmode.org/elpa/")
|
||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
||||
|
||||
(scroll-bar-mode -1) ;; Disable scroll bar
|
||||
(tool-bar-mode -1) ;; Disable tool bar menu
|
||||
(tooltip-mode -1) ;; Disable tooltips
|
||||
(set-fringe-mode 10) ;; Disable fringe mode
|
||||
(menu-bar-mode -1) ;; Disable menu bar
|
||||
(global-display-line-numbers-mode t) ;; Display line numbers
|
||||
(set-default 'truncate-lines nil) ;; Wrap lines at end of screen
|
||||
(setq visible-bell t) ;; Visible flash to represent a bell
|
||||
(setq x-select-enable-clipboard t) ;; Enable clipboard
|
||||
(global-tab-line-mode -1) ;; Disable tab mode
|
||||
(setq inhibit-startup-message t) ;; What it says
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
(global-auto-revert-mode 1) ;; Revert all buffers on change
|
||||
(setq custom-safe-themes t) ;; Treat themes as safe
|
||||
|
||||
;; Disable line mode for specific major/minor modes.
|
||||
(dolist (mode '(org-mode-hook
|
||||
vterm-mode-hook
|
||||
term-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
(set-frame-parameter (selected-frame) 'alpha '(90 . 90))
|
||||
(add-to-list 'default-frame-alist '(alpha . (90 . 90)))
|
||||
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||
|
||||
(use-package doom-modeline
|
||||
:straight t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
||||
|
||||
;; install all-the-icons when first loading the emacs conf
|
||||
;; remember to run M-x all-the-icons-install-fonts
|
||||
(use-package all-the-icons
|
||||
:straight t
|
||||
:if (display-graphic-p))
|
||||
|
||||
(use-package which-key
|
||||
:straight t
|
||||
:defer 0
|
||||
:diminish which-key-mode
|
||||
:config
|
||||
(which-key-mode)
|
||||
(setq which-key-idle-delay 0.3))
|
||||
|
||||
(use-package alert
|
||||
:straight t
|
||||
:config
|
||||
(setq alert-default-style 'notification))
|
||||
|
||||
(setq large-file-warning-threshold nil) ;; Disables warnings for large files
|
||||
(setq vc-follow-symlinks t) ;; Disables warnings for symlinks
|
||||
|
||||
(use-package helpful
|
||||
:straight t
|
||||
:commands (helpful-callable helpful-variable helpful-command helpful-key))
|
||||
|
||||
(use-package super-save
|
||||
:straight t
|
||||
:config
|
||||
(super-save-mode +1))
|
||||
|
||||
;; Auto reverting Changed Files
|
||||
(setq global-auto-revert-non-file-buffers nil)
|
||||
(global-auto-revert-mode -1)
|
||||
|
||||
(use-package pinentry :straight t)
|
||||
(setq epa-pinentry-mode 'loopback)
|
||||
(pinentry-start)
|
||||
|
||||
(setq tramp-default-method "ssh")
|
||||
|
||||
(use-package no-littering
|
||||
:straight t)
|
||||
|
||||
;; (use-package modus-themes
|
||||
;; :straight t
|
||||
;; :init
|
||||
;; (setq modus-themes-italic-constructs t
|
||||
;; modus-themes-bold-constructs nil
|
||||
;; modus-themes-region '(accented bg-only no-extend)
|
||||
;; modus-themes-org-blocks 'greyscale
|
||||
;; modus-themes-paren-match 'intense
|
||||
;; modus-themes-mixed-fonts t)
|
||||
;; (modus-themes-load-themes)
|
||||
;; :config
|
||||
;; (modus-themes-load-vivendi)
|
||||
;; :bind
|
||||
;; ("<f5>" . modus-themes-toggle))
|
||||
|
||||
;; Doing some doom themes for a while.
|
||||
(use-package doom-themes
|
||||
:straight t
|
||||
:init
|
||||
(load-theme 'doom-Iosvkem))
|
||||
|
||||
(set-face-attribute 'default nil :font "Fira Mono" :height 125 :weight 'medium)
|
||||
(set-face-attribute 'variable-pitch nil :font "Fira Sans" :height 1.0 :weight 'regular)
|
||||
(set-face-attribute 'fixed-pitch nil :font "Fira Code" :height 1.0 :weight 'medium)
|
||||
|
||||
(use-package mixed-pitch
|
||||
:straight t
|
||||
:config
|
||||
(add-hook 'org-mode-hook #'mixed-pitch-mode))
|
||||
(use-package unicode-fonts :straight t)
|
||||
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit) ;; Escape exits out of prompts
|
||||
|
||||
;; Define Leader Key
|
||||
(use-package general
|
||||
:straight t
|
||||
:config
|
||||
(general-evil-setup t)
|
||||
(general-create-definer opal/leader-keys
|
||||
:keymaps '(normal insert visual emacs)
|
||||
:prefix "SPC"
|
||||
:global-prefix "C-SPC")
|
||||
;; Define Keybindings (potentially move into own file)
|
||||
(opal/leader-keys
|
||||
;; Leader-map
|
||||
";" #'pp-eval-expression ;; Eval expression
|
||||
":" #'execute-extended-command ;; Eq to M-x
|
||||
"u" #'universal-argument ;; Universal argument
|
||||
"w" #'evil-window-map ;; Window functions
|
||||
"." #'find-file ;; Find file (opens in mini-buffer)
|
||||
"," #'consult-buffer ;; Switch to buffer
|
||||
"<" #'switch-to-buffer ;; Switch to non-perspective.el minibuffer
|
||||
"s" #'consult-line
|
||||
"p" #'projectile-command-map
|
||||
"l" #'lsp-map
|
||||
|
||||
;; Magit
|
||||
"gg" #'magit-status
|
||||
"gi" #'magit-init
|
||||
"gc" #'magit-clone
|
||||
|
||||
;; Workspaces
|
||||
"bi" #'persp-ibuffer
|
||||
"bl" #'persp-next
|
||||
"bh" #'persp-prev
|
||||
"br" #'persp-rename
|
||||
"bD" #'persp-remove-buffer
|
||||
"bd" #'kill-buffer
|
||||
|
||||
;; Terminal/Shell
|
||||
"tt" #'vterm
|
||||
"te" #'eshell
|
||||
|
||||
;; Org
|
||||
;; Babel
|
||||
"obt" #'org-babel-tangle
|
||||
;; Gen
|
||||
"ol" #'org-insert-link
|
||||
"or" #'org-reload
|
||||
;; Agenda
|
||||
"oa" #'org-agenda
|
||||
|
||||
;; Eval
|
||||
"eb" #'eval-buffer
|
||||
"er" #'eval-region
|
||||
"ef" #'eval-defun
|
||||
"el" #'eval-last-sexp
|
||||
|
||||
;; Describe
|
||||
"df" #'describe-function
|
||||
"dv" #'describe-variable
|
||||
"ds" #'describe-symbol
|
||||
"dk" #'describe-key
|
||||
"dp" #'describe-package))
|
||||
|
||||
(use-package evil
|
||||
:straight t
|
||||
:init
|
||||
(setq evil-want-integration t)
|
||||
(setq evil-want-keybinding nil)
|
||||
(setq evil-want-C-u-scroll t)
|
||||
(setq evil-want-C-i-jump nil)
|
||||
(setq evil-respect-visual-line-mode t)
|
||||
:config
|
||||
(evil-mode 1)
|
||||
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
|
||||
(define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join)
|
||||
|
||||
;; Use visual line motions even outside of visual-line-mode buffers
|
||||
(evil-global-set-key 'motion "j" 'evil-next-visual-line)
|
||||
(evil-global-set-key 'motion "k" 'evil-previous-visual-line)
|
||||
|
||||
(evil-set-initial-state 'messages-buffer-mode 'normal)
|
||||
(evil-set-initial-state 'dashboard-mode 'normal))
|
||||
|
||||
(use-package evil-collection
|
||||
:straight t
|
||||
:after evil
|
||||
:config
|
||||
(evil-collection-init))
|
||||
|
||||
;; Enable vertico
|
||||
(use-package vertico
|
||||
:straight t
|
||||
:bind
|
||||
(:map vertico-map
|
||||
("C-j" . vertico-next)
|
||||
("C-k" . vertico-previous))
|
||||
:init
|
||||
(vertico-mode)
|
||||
(setq vertico-scroll-margin 0) ;; Scroll margin
|
||||
(setq vertico-count 10) ;; Candidates
|
||||
(setq vertico-cycle t)) ;; Enable cycling
|
||||
|
||||
;; (use-package ivy
|
||||
;; :straight t
|
||||
;; :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-reverse-i-search-kill))
|
||||
;; :config
|
||||
;; (ivy-mode 1))
|
||||
|
||||
;; (use-package ivy-rich
|
||||
;; :straight t
|
||||
;; :after ivy
|
||||
;; :init (ivy-rich-mode 1))
|
||||
|
||||
(use-package orderless
|
||||
:straight t
|
||||
:init
|
||||
(setq completion-styles '(orderless)
|
||||
completion-category-defaults nil
|
||||
completion-category-overrides '((file (styles partial-completion)))))
|
||||
|
||||
(use-package savehist
|
||||
:straight t
|
||||
:init
|
||||
(savehist-mode))
|
||||
|
||||
(use-package consult
|
||||
:straight t
|
||||
:defer t
|
||||
:config
|
||||
(setq
|
||||
consult-narrow-key "<"
|
||||
consult-line-numbers-widen t
|
||||
consult-async-min-input 2
|
||||
consult-async-refresh-delay 0.15
|
||||
consult-async-input-throttle 0.2
|
||||
consult-async-input-debounce 0.1))
|
||||
;; (use-package counsel
|
||||
;; :straight t
|
||||
;; :bind
|
||||
;; (("C-M-j" . 'counsel-switch-buffer)
|
||||
;; :map minibuffer-local-map
|
||||
;; ("C-r" . 'counsel-minibuffer-history))
|
||||
|
||||
;; :custom
|
||||
;; (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
||||
;; :config
|
||||
;; (counsel-mode 1))
|
||||
|
||||
(use-package marginalia
|
||||
:straight t
|
||||
:bind (("M-A" . marginalia-cycle)
|
||||
:map minibuffer-local-map
|
||||
("M-A" . marginalia-cycle))
|
||||
:init
|
||||
(marginalia-mode))
|
||||
|
||||
(use-package company
|
||||
:straight t
|
||||
:commands (company-complete-common
|
||||
company-complete-common-or-cycle
|
||||
company-manual-begin
|
||||
company-grab-line)
|
||||
:init
|
||||
(setq company-minimum-prefix-length 2
|
||||
company-tooltip-limit 14
|
||||
company-tooltip-align-annotations t
|
||||
company-require-match 'never
|
||||
company-global-modes
|
||||
'(not erc-mode
|
||||
message-mode
|
||||
help-mode
|
||||
vterm-mode)
|
||||
company-frontends
|
||||
'(company-pseudo-tooltip-frontend ; always show candidates in overlay tooltip
|
||||
company-echo-metadata-frontend) ; show selected candidate docs in echo area
|
||||
company-backends '(company-capf)
|
||||
company-auto-commit nil
|
||||
company-dabbrev-other-buffers nil
|
||||
company-dabbrev-ignore-case nil
|
||||
company-dabbrev-downcase nil))
|
||||
|
||||
(use-package perspective
|
||||
:straight t
|
||||
:config
|
||||
(persp-mode))
|
||||
|
||||
(use-package bufler :straight t)
|
||||
|
||||
(use-package winner
|
||||
:straight t)
|
||||
|
||||
(use-package dired
|
||||
:init
|
||||
(setq dired-auto-revert-buffer t
|
||||
dired-dwim-target t
|
||||
dired-hide-details-hide-symlink-targets nil
|
||||
dired-recursive-copies 'always
|
||||
dired-recursive-deletes 'top
|
||||
dired-create-destination-dirs 'ask))
|
||||
|
||||
(use-package dired-rsync
|
||||
:straight t
|
||||
:general (dired-mode-map "C-c C-r" #'dired-rsync))
|
||||
(use-package all-the-icons-dired :straight t)
|
||||
(use-package dired-single :straight t)
|
||||
(use-package dired-collapse :straight t)
|
||||
|
||||
;; Make pretty colors!
|
||||
(use-package dired-rainbow
|
||||
:straight t
|
||||
:after dired
|
||||
:config
|
||||
(dired-rainbow-define-chmod directory "#6cb2eb" "d.*")
|
||||
(dired-rainbow-define html "#eb5286" ("css" "less" "sass" "scss" "htm" "html" "jhtm" "mht" "eml" "mustache" "xhtml"))
|
||||
(dired-rainbow-define xml "#f2d024" ("xml" "xsd" "xsl" "xslt" "wsdl" "bib" "json" "msg" "pgn" "rss" "yaml" "yml" "rdata"))
|
||||
(dired-rainbow-define document "#9561e2" ("docm" "doc" "docx" "odb" "odt" "pdb" "pdf" "ps" "rtf" "djvu" "epub" "odp" "ppt" "pptx"))
|
||||
(dired-rainbow-define markdown "#ffed4a" ("org" "etx" "info" "markdown" "md" "mkd" "nfo" "pod" "rst" "tex" "textfile" "txt"))
|
||||
(dired-rainbow-define database "#6574cd" ("xlsx" "xls" "csv" "accdb" "db" "mdb" "sqlite" "nc"))
|
||||
(dired-rainbow-define media "#de751f" ("mp3" "mp4" "mkv" "MP3" "MP4" "avi" "mpeg" "mpg" "flv" "ogg" "mov" "mid" "midi" "wav" "aiff" "flac"))
|
||||
(dired-rainbow-define image "#f66d9b" ("tiff" "tif" "cdr" "gif" "ico" "jpeg" "jpg" "png" "psd" "eps" "svg"))
|
||||
(dired-rainbow-define log "#c17d11" ("log"))
|
||||
(dired-rainbow-define shell "#f6993f" ("awk" "bash" "bat" "sed" "sh" "zsh" "vim"))
|
||||
(dired-rainbow-define interpreted "#38c172" ("py" "ipynb" "rb" "pl" "t" "msql" "mysql" "pgsql" "sql" "r" "clj" "cljs" "scala" "js"))
|
||||
(dired-rainbow-define compiled "#4dc0b5" ("asm" "cl" "lisp" "el" "c" "h" "c++" "h++" "hpp" "hxx" "m" "cc" "cs" "cp" "cpp" "go" "f" "for" "ftn" "f90" "f95" "f03" "f08" "s" "rs" "hi" "hs" "pyc" ".java"))
|
||||
(dired-rainbow-define executable "#8cc4ff" ("exe" "msi"))
|
||||
(dired-rainbow-define compressed "#51d88a" ("7z" "zip" "bz2" "tgz" "txz" "gz" "xz" "z" "Z" "jar" "war" "ear" "rar" "sar" "xpi" "apk" "xz" "tar"))
|
||||
(dired-rainbow-define packaged "#faad63" ("deb" "rpm" "apk" "jad" "jar" "cab" "pak" "pk3" "vdf" "vpk" "bsp"))
|
||||
(dired-rainbow-define encrypted "#ffed4a" ("gpg" "pgp" "asc" "bfe" "enc" "signature" "sig" "p12" "pem"))
|
||||
(dired-rainbow-define fonts "#6cb2eb" ("afm" "fon" "fnt" "pfb" "pfm" "ttf" "otf"))
|
||||
(dired-rainbow-define partition "#e3342f" ("dmg" "iso" "bin" "nrg" "qcow" "toast" "vcd" "vmdk" "bak"))
|
||||
(dired-rainbow-define vc "#0074d9" ("git" "gitignore" "gitattributes" "gitmodules"))
|
||||
(dired-rainbow-define-chmod executable-unix "#38c172" "-.*x.*"))
|
||||
|
||||
(defun opal/org-font-setup ()
|
||||
;; Replace list hyphen with dot
|
||||
(font-lock-add-keywords 'org-mode
|
||||
'(("^ *\\([-]\\) "
|
||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1)
|
||||
"•"))))))
|
||||
|
||||
;; Set faces for heading levels
|
||||
(dolist (face '((org-level-1 . 1.2)
|
||||
(org-level-2 . 1.1)
|
||||
(org-level-3 . 1.05)
|
||||
(org-level-4 . 1.0)
|
||||
(org-level-5 . 1.1)
|
||||
(org-level-6 . 1.1)
|
||||
(org-level-7 . 1.1)
|
||||
(org-level-8 . 1.1)))
|
||||
(set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face)))
|
||||
|
||||
;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch))
|
||||
|
||||
|
||||
(defun opal/org-mode-setup ()
|
||||
(org-indent-mode)
|
||||
(variable-pitch-mode 1)
|
||||
(visual-line-mode 1)
|
||||
(setq org-startup-folded t))
|
||||
|
||||
(use-package org
|
||||
:straight t
|
||||
:commands (org-capture org-agenda)
|
||||
:hook (org-mode . opal/org-mode-setup)
|
||||
:config
|
||||
(setq org-ellipsis " ▾")
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
|
||||
(setq org-agenda-files
|
||||
'("~/Org/projects/"
|
||||
"~/Org/tasks/"))
|
||||
|
||||
|
||||
(require 'org-habit)
|
||||
(add-to-list 'org-modules 'org-habit)
|
||||
(setq org-habit-graph-column 60)
|
||||
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||
|
||||
(setq org-refile-targets
|
||||
'(("archive.org" :maxlevel . 1)
|
||||
("planner.org" :maxlevel . 1)))
|
||||
|
||||
;; Save Org buffers after refiling!
|
||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||
|
||||
(setq org-tag-alist
|
||||
'((:startgroup)
|
||||
; Put mutually exclusive tags here
|
||||
(:endgroup)
|
||||
("@errand" . ?E)
|
||||
("@home" . ?H)
|
||||
("@work" . ?W)
|
||||
("agenda" . ?a)
|
||||
("planning" . ?p)
|
||||
("publish" . ?P)
|
||||
("batch" . ?b)
|
||||
("note" . ?n)
|
||||
("idea" . ?i)))
|
||||
|
||||
;; Configure custom agenda views
|
||||
(setq org-agenda-custom-commands
|
||||
'(("d" "Dashboard"
|
||||
((agenda "" ((org-deadline-warning-days 7)))
|
||||
(todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))
|
||||
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
||||
|
||||
("n" "Next Tasks"
|
||||
((todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))))
|
||||
|
||||
;; Low-effort next actions
|
||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||
((org-agenda-overriding-header "Low Effort Tasks")
|
||||
(org-agenda-max-todos 20)
|
||||
(org-agenda-files org-agenda-files)))))
|
||||
|
||||
;; Create capture templates
|
||||
(setq org-capture-templates
|
||||
`(("t" "Tasks")
|
||||
("tt" "Task" entry (file+olp "~/org/planner/tasks.org" "Inbox")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||
|
||||
("p" "Projects")
|
||||
("pp" "Project File" entry (file+olp "~/org/projects/auto-infra-overview.org" "Inbox")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)))
|
||||
|
||||
;; Tell Org to stop indenting inside of org source blocks.
|
||||
(setq org-edit-src-content-indentation 0)
|
||||
|
||||
;; Set org agenda dir
|
||||
(setq org-directory "~/Org/")
|
||||
|
||||
;; Open links in browser
|
||||
(setq browse-url-browser-function 'browse-url-generic
|
||||
browse-url-generic-program "firefox")
|
||||
|
||||
;; Init org font setup
|
||||
(opal/org-font-setup))
|
||||
|
||||
(use-package org-bullets
|
||||
:straight t
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||
|
||||
(use-package org-make-toc :straight t)
|
||||
|
||||
(defun opal/org-mode-visual-fill ()
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:straight t
|
||||
:hook (org-mode . opal/org-mode-visual-fill))
|
||||
|
||||
;; Load languages for babel code blocks.
|
||||
(with-eval-after-load 'org
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(lisp . t)))
|
||||
|
||||
(push '("conf-unix" . conf-unix) org-src-lang-modes))
|
||||
|
||||
;; Set geiser default language
|
||||
(setq geiser-default-implementation '(guile))
|
||||
|
||||
(with-eval-after-load 'org
|
||||
(require 'org-tempo)
|
||||
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("scm" . "src scheme"))
|
||||
(add-to-list 'org-structure-template-alist '("cl" . "src lisp")))
|
||||
|
||||
(use-package flycheck :straight t)
|
||||
|
||||
(setq-default tab-width 2) ;; Set tab indent to 2
|
||||
(setq-default evil-shift-width tab-width) ;; Ensure evil matches tab-width
|
||||
(setq-default indent-tabs-mode nil) ;; Use spaces instead of tabs
|
||||
|
||||
;; Clean up whitespace
|
||||
(use-package ws-butler :straight t)
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:straight t
|
||||
:init
|
||||
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||
(add-hook 'org-mode-hook #'rainbow-delimiters-mode))
|
||||
|
||||
(use-package rainbow-mode :straight t)
|
||||
|
||||
(use-package magit
|
||||
:straight t)
|
||||
|
||||
(use-package projectile
|
||||
:straight t
|
||||
:config
|
||||
(projectile-mode)
|
||||
:init
|
||||
(when (file-directory-p "~/Projects/Code")
|
||||
(setq projectile-project-search-path '("~/Projects/Code")))
|
||||
(setq projectile-switch-project-action #'projectile-dired))
|
||||
|
||||
(use-package lsp-mode
|
||||
:straight t
|
||||
:commands (lsp lsp-deferred)
|
||||
:config
|
||||
(lsp-enable-which-key-integration t))
|
||||
|
||||
(use-package lsp-ui
|
||||
:straight t
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:custom
|
||||
(lsp-ui-doc-position 'bottom))
|
||||
|
||||
(use-package python-mode
|
||||
:ensure t
|
||||
:hook (python-mode . lsp-deferred))
|
||||
|
||||
(use-package robe
|
||||
:straight t)
|
||||
|
||||
(use-package bundler
|
||||
:straight t)
|
||||
|
||||
(use-package parinfer
|
||||
:straight t
|
||||
:init
|
||||
(progn
|
||||
(setq parinfer-extensions
|
||||
'(defaults
|
||||
pretty-parens
|
||||
evil))
|
||||
(add-hook 'prog-mode-hook #'parinfer-mode)))
|
||||
|
||||
(defvar inferior-lisp-program "sbcl")
|
||||
(use-package sly :straight t)
|
||||
|
||||
(use-package geiser
|
||||
:straight t
|
||||
:ensure t)
|
||||
|
||||
(use-package geiser-guile
|
||||
:straight t)
|
||||
|
||||
(use-package yasnippet
|
||||
:straight t
|
||||
:hook (prog-mode . yas-minor-mode)
|
||||
:config
|
||||
(yas-reload-all))
|
||||
|
||||
(use-package eshell
|
||||
:straight t
|
||||
:config
|
||||
;; Save command history when commands are entered
|
||||
(add-hook 'eshell-pre-command-hook 'eshell-save-some-history)
|
||||
;; Truncate buffer for performance
|
||||
(add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer)
|
||||
(evil-normalize-keymaps)
|
||||
|
||||
(setq eshell-banner-message
|
||||
'(format "%s %s\n"
|
||||
(propertize (format " %s " (string-trim (buffer-name)))
|
||||
'face 'mode-line-highlight)
|
||||
(propertize (current-time-string)
|
||||
'face 'font-lock-keyword-face)))
|
||||
|
||||
(setq eshell-scroll-to-bottom-on-input 'all
|
||||
eshell-scroll-to-bottom-on-output 'all
|
||||
eshell-kill-processes-on-exit t
|
||||
eshell-hist-ignoredups t
|
||||
eshell-prompt-regexp "^.* λ "
|
||||
;; em-glob
|
||||
eshell-history-size 10000
|
||||
eshell-buffer-maximum-lines 10000
|
||||
eshell-scroll-to-bottom-on-input t)
|
||||
|
||||
(with-eval-after-load 'esh-opt
|
||||
(setq eshell-destroy-buffer-when-process-dies t)
|
||||
(setq eshell-visual-commands '("htop" "zsh" "vim"))))
|
||||
|
||||
(use-package vterm
|
||||
:straight t
|
||||
:commands vterm
|
||||
:config
|
||||
(setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *") ;; Terminal prompt
|
||||
(setq vterm-shell "zsh")
|
||||
(setq vterm-max-scrollback 10000))
|
||||
|
||||
(use-package pdf-tools
|
||||
:straight t
|
||||
:init
|
||||
(pdf-tools-install))
|
||||
|
||||
;; (use-package mu4e
|
||||
;; :straight t
|
||||
;; :config
|
||||
;; ;; This is set to 't' to avoid mail syncing issues when using mbsync
|
||||
;; (setq mu4e-change-filenames-when-moving t)
|
||||
|
||||
;; ;; Refresh mail using isync every 5 minutes
|
||||
;; (setq mu4e-update-interval (* 5 60))
|
||||
;; (setq mu4e-get-mail-command "mbsync -a -c ~/Dotfiles/.config/mbsync/mbsyncrc")
|
||||
;; (setq mu4e-maildir "~/Mail")
|
||||
|
||||
;; (setq mu4e-contexts
|
||||
;; (list
|
||||
;; ;; Opal.sh
|
||||
;; (make-mu4e-context
|
||||
;; :name "Ry P."
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (string-prefix-p "/opal.sh" (mu4e-message-field msg :maildir))))
|
||||
|
||||
;; :vars '((user-mail-address . "ry@opal.sh")
|
||||
;; (user-full-name . "Ry P.")
|
||||
;; (mu4e-drafts-folder . "/opal.sh/Drafts")
|
||||
;; (mu4e-sent-folder . "/opal.sh/Sent")
|
||||
;; (mu4e-trash-folder . "/opal.sh/Trash")))))
|
||||
|
||||
;; (setq mu4e-maildir-shortcuts
|
||||
;; '(("/opal.sh/Inbox" . ?i)
|
||||
;; ("/opal.sh/Sent" . ?s)
|
||||
;; ("/opal.sh/Trash" . ?t)
|
||||
;; ("/opal.sh/Drafts" . ?d))))
|
||||
|
||||
;; (use-package erc
|
||||
;; :straight t
|
||||
;; (setq erc-server "irc.libera.chat" ;sets default server
|
||||
;; erc-nick "opalvaults" ; Sets nick
|
||||
;; erc-user-full-name "opalvaults"
|
||||
;; erc-track-shorten-start 8
|
||||
;; erc-kill-buffer-on-part t
|
||||
;; erc-auto-query 'bury
|
||||
;; erc-fill-column 90
|
||||
;; erc-fill-function 'erc-fill-static
|
||||
;; erc-fill-static-center 20
|
||||
;; erc-track-visibility nil
|
||||
;; erc-interpret-mirc-color t
|
||||
;; erc-rename-buffers t
|
||||
;; erc-track-exclude-server-buffer t))
|
||||
15
archive/guix/home/files/gtk-3.0/settings.ini
Normal file
@@ -0,0 +1,15 @@
|
||||
[Settings]
|
||||
gtk-cursor-theme-name=
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-font-name=Fira Sans Regular
|
||||
gtk-icon-theme-name=Papirus
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintfull
|
||||
203
archive/guix/home/files/i3/config
Normal file
@@ -0,0 +1,203 @@
|
||||
# Autostart
|
||||
# Background
|
||||
exec_always --no-startup-id feh --bg-scale ~/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg
|
||||
|
||||
# Redshift
|
||||
exec_always --no-startup-id redshift
|
||||
|
||||
# Picom
|
||||
exec_always --no-startup-id picom &
|
||||
|
||||
# Turn Caps Lock into Escape because Caps Lock is useless unless you're a DB admin.
|
||||
exec_always --no-startup-id xmodmap ~/dotfiles/guix/home/files/xmodmap/xmodmap
|
||||
|
||||
# Set key repeat rate so text cursors move faster.
|
||||
exec_always --no-startup-id xset r rate 200 35
|
||||
|
||||
# Dunst
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# i3 config file (v4)
|
||||
set $mod Mod4
|
||||
|
||||
# Title Bars
|
||||
for_window [class=".*"] border pixel 0
|
||||
|
||||
# Gaps
|
||||
smart_gaps on
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:Fira Code Regular 12
|
||||
|
||||
# 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
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# Lock
|
||||
bindsym Control+Shift+e exec loginctl lock-session
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec rofi -show drun -columns 3 -theme ~/dotfiles/guix/home/files/rofi/config.rasi
|
||||
# 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
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l 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+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space 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 number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# 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 j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# 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"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
# panel
|
||||
bar {
|
||||
colors {
|
||||
background #2f343f
|
||||
statusline #2f343f
|
||||
separator #4b5262
|
||||
|
||||
# colour of border, background, and text
|
||||
focused_workspace #2f343f #bf616a #d8dee8
|
||||
active_workspace #2f343f #2f343f #d8dee8
|
||||
inactive_workspace #2f343f #2f343f #d8dee8
|
||||
urgent_workspacei #2f343f #ebcb8b #2f343f
|
||||
}
|
||||
status_command i3status
|
||||
position top
|
||||
}
|
||||
71
archive/guix/home/files/i3status/config
Normal file
@@ -0,0 +1,71 @@
|
||||
general {
|
||||
output_format = "i3bar"
|
||||
colors = false
|
||||
markup = pango
|
||||
interval = 5
|
||||
color_good = '#2f343f'
|
||||
color_degraded = '#ebcb8b'
|
||||
color_bad = '#ba5e57'
|
||||
}
|
||||
|
||||
order += "load"
|
||||
order += "cpu_temperature 0"
|
||||
order += "disk /"
|
||||
order += "disk /home"
|
||||
order += "ethernet enp0s13f0u2u1"
|
||||
order += "wireless wlp0s20f3"
|
||||
order += "volume master"
|
||||
order += "battery 0"
|
||||
order += "tztime local"
|
||||
|
||||
load {
|
||||
format = "<span background='#f59335'> %5min Load </span>"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "<span background='#bf616a'> %degrees °C </span>"
|
||||
path = "/sys/class/thermal/thermal_zone0/temp"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "<span background='#fec7cd'> %free Free </span>"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "<span background='#a1d569'> %free Free </span>"
|
||||
}
|
||||
|
||||
ethernet enp0s13f0u2u1 {
|
||||
format_up = "<span background='#88c0d0'> %ip </span>"
|
||||
format_down = "<span background='#88c0d0'> Disconnected </span>"
|
||||
}
|
||||
|
||||
wireless wlp0s20f3 {
|
||||
format_up = "<span background='#b48ead'> %essid </span>"
|
||||
format_down = "<span background='#b48ead'> Disconnected </span>"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "<span background='#ebcb8b'> %volume </span>"
|
||||
format_muted = "<span background='#ebcb8b'> Muted </span>"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
last_full_capacity = true
|
||||
format = "<span background='#a3be8c'> %status %percentage </span>"
|
||||
format_down = "No Battery"
|
||||
status_chr = "Charging"
|
||||
status_bat = "Battery"
|
||||
status_unk = "Unknown"
|
||||
status_full = "Charged"
|
||||
path = "/sys/class/power_supply/BAT0/uevent"
|
||||
low_threshold = 10
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "<span background='#81a1c1'> %time </span>"
|
||||
format_time = " %a %-d %b %H:%M"
|
||||
}
|
||||
BIN
archive/guix/home/files/mbsync/.mu4e.gpg
Normal file
26
archive/guix/home/files/mbsync/mbsyncrc
Normal file
@@ -0,0 +1,26 @@
|
||||
IMAPAccount opal.sh
|
||||
Host imap.opal.sh
|
||||
Port 993
|
||||
User ry@opal.sh
|
||||
PassCmd "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/Dotfiles/.config/mbsync/.mu4e.gpg"
|
||||
SSLType IMAPS
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
IMAPStore opal-remote
|
||||
Account opal.sh
|
||||
|
||||
MaildirStore opal-local
|
||||
Path ~/Mail/opal.sh/
|
||||
Inbox ~/Mail/opal.sh/Inbox
|
||||
Trash ~/Mail/opal.sh/Trash
|
||||
SubFolders Verbatim
|
||||
|
||||
Channel opal.sh
|
||||
Master :opal-remote:
|
||||
Slave :opal-local:
|
||||
Patterns *
|
||||
Expunge None
|
||||
CopyArrivalDate yes
|
||||
Sync All
|
||||
Create Both
|
||||
SyncState *
|
||||
0
archive/guix/home/files/nvim/autoload/plug.vim
Normal file
151
archive/guix/home/files/nvim/init.vim
Normal file
@@ -0,0 +1,151 @@
|
||||
let mapleader =","
|
||||
|
||||
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
|
||||
echo "Downloading junegunn/vim-plug to manage plugins..."
|
||||
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
|
||||
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
|
||||
autocmd VimEnter * PlugInstall
|
||||
endif
|
||||
|
||||
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'jreybert/vimagit'
|
||||
Plug 'lukesmithxyz/vimling'
|
||||
Plug 'vimwiki/vimwiki'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'ap/vim-css-color'
|
||||
Plug 'fatih/vim-go'
|
||||
Plug 'vlime/vlime'
|
||||
call plug#end()
|
||||
|
||||
set title
|
||||
set bg=light
|
||||
set go=a
|
||||
set mouse=a
|
||||
set nohlsearch
|
||||
set clipboard+=unnamedplus
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
|
||||
" Some basics:
|
||||
nnoremap c "_c
|
||||
set nocompatible
|
||||
filetype plugin on
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set number relativenumber
|
||||
" Enable autocompletion:
|
||||
set wildmode=longest,list,full
|
||||
" Disables automatic commenting on newline:
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
" Perform dot commands over visual blocks:
|
||||
vnoremap . :normal .<CR>
|
||||
" Goyo plugin makes text more readable when writing prose:
|
||||
map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
|
||||
" Spell-check set to <leader>o, 'o' for 'orthography':
|
||||
map <leader>o :setlocal spell! spelllang=en_us<CR>
|
||||
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
set splitbelow splitright
|
||||
|
||||
" Nerd tree
|
||||
map <leader>n :NERDTreeToggle<CR>
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
if has('nvim')
|
||||
let NERDTreeBookmarksFile = stdpath('data') . '/NERDTreeBookmarks'
|
||||
else
|
||||
let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks'
|
||||
endif
|
||||
|
||||
" vimling:
|
||||
nm <leader><leader>d :call ToggleDeadKeys()<CR>
|
||||
imap <leader><leader>d <esc>:call ToggleDeadKeys()<CR>a
|
||||
nm <leader><leader>i :call ToggleIPA()<CR>
|
||||
imap <leader><leader>i <esc>:call ToggleIPA()<CR>a
|
||||
nm <leader><leader>q :call ToggleProse()<CR>
|
||||
|
||||
" Shortcutting split navigation, saving a keypress:
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
|
||||
" Replace ex mode with gq
|
||||
map Q gq
|
||||
|
||||
" Check file in shellcheck:
|
||||
map <leader>s :!clear && shellcheck -x %<CR>
|
||||
|
||||
" Open my bibliography file in split
|
||||
map <leader>b :vsp<space>$BIB<CR>
|
||||
map <leader>r :vsp<space>$REFER<CR>
|
||||
|
||||
" Replace all is aliased to S.
|
||||
nnoremap S :%s//g<Left><Left>
|
||||
|
||||
" Compile document, be it groff/LaTeX/markdown/etc.
|
||||
map <leader>c :w! \| !compiler "<c-r>%"<CR>
|
||||
|
||||
" Open corresponding .pdf/.html or preview
|
||||
map <leader>p :!opout <c-r>%<CR><CR>
|
||||
|
||||
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
|
||||
autocmd VimLeave *.tex !texclear %
|
||||
|
||||
" Ensure files are read as what I want:
|
||||
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
|
||||
map <leader>v :VimwikiIndex
|
||||
let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
|
||||
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
|
||||
autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
|
||||
autocmd BufRead,BufNewFile *.tex set filetype=tex
|
||||
|
||||
" Save file as sudo on files that require root permission
|
||||
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
||||
|
||||
" Enable Goyo by default for mutt writing
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
|
||||
|
||||
" Automatically deletes all trailing whitespace and newlines at end of file on save.
|
||||
autocmd BufWritePre * %s/\s\+$//e
|
||||
autocmd BufWritePre * %s/\n\+\%$//e
|
||||
autocmd BufWritePre *.[ch] %s/\%$/\r/e
|
||||
|
||||
" When shortcut files are updated, renew bash and rager configs with new material:
|
||||
autocmd BufWritePost bm-files,bm-dirs !shortcuts
|
||||
" Run xrdb whenever Xdefaults or Xresources are updated.
|
||||
autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
|
||||
autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
|
||||
" Recompile dwmblocks on config edit.
|
||||
autocmd BufWritePost ~/.local/src/dwmblocks/config.h !cd ~/.local/src/dwmblocks/; sudo make install && { killall -q dwmblocks;setsid -f dwmblocks }
|
||||
|
||||
" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable.
|
||||
if &diff
|
||||
highlight! link DiffText MatchParen
|
||||
endif
|
||||
|
||||
" Function for toggling the bottom statusbar:
|
||||
let s:hidden_all = 1
|
||||
function! ToggleHiddenAll()
|
||||
if s:hidden_all == 0
|
||||
let s:hidden_all = 1
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
else
|
||||
let s:hidden_all = 0
|
||||
set showmode
|
||||
set ruler
|
||||
set laststatus=2
|
||||
set showcmd
|
||||
endif
|
||||
endfunction
|
||||
nnoremap <leader>h :call ToggleHiddenAll()<CR>
|
||||
206
archive/guix/home/files/nyxt/init.lisp
Normal file
@@ -0,0 +1,206 @@
|
||||
(in-package :nyxt)
|
||||
(load "~/quicklisp/setup.lisp")
|
||||
(ql:quickload 'slynk)
|
||||
;; (push #p"~/common-lisp/sly/" asdf:*central-registry*)
|
||||
;; (asdf:load-system :slynk)
|
||||
;; (slynk:create-server :port 4008)
|
||||
|
||||
(load-after-system :slynk (nyxt-init-file "my-slink.lisp"))
|
||||
;; (load-after-system :slynk "~/.config/nyxt/my-slynk.lisp")
|
||||
|
||||
;; Vim-normal mode by default
|
||||
(define-configuration buffer
|
||||
((default-modes (append '(vi-normal-mode) '(blocker-mode) %slot-default%))))
|
||||
|
||||
;; Vim-insert for prompt-buffer (minibuffer)
|
||||
(define-configuration prompt-buffer
|
||||
((default-modes (append '(vi-insert-mode) %slot-default%))))
|
||||
|
||||
;; Keybindings
|
||||
;; (Note: Override Map will override any other custom keybindings so use a prefix key.)
|
||||
(define-configuration buffer
|
||||
((override-map (define-key %slot-default%
|
||||
"C-x s" 'nyxt/web-mode:search-buffers
|
||||
"C-x u" 'copy-username
|
||||
"C-x p" 'copy-password))))
|
||||
|
||||
;;Message buffer color configuration
|
||||
(define-configuration window
|
||||
((message-buffer-style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "black"
|
||||
:color "white")))))))
|
||||
|
||||
;; Mini-buffer style
|
||||
(define-configuration prompt-buffer
|
||||
((style (str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "black"
|
||||
:color "white")
|
||||
("#prompt-area"
|
||||
:background-color "black")
|
||||
;; The area you input text in.
|
||||
("#input"
|
||||
:background-color "#EDDDAA")
|
||||
(".source-name"
|
||||
:color "black"
|
||||
:background-color "#125458")
|
||||
(".source-content"
|
||||
:background-color "black")
|
||||
(".source-content th"
|
||||
:border "1px solid #125458"
|
||||
:background-color "black")
|
||||
;; The currently highlighted option.
|
||||
("#selection"
|
||||
:background-color "#125458"
|
||||
:color "black")
|
||||
(.marked :background-color "#8B3A3A"
|
||||
:font-weight "bold"
|
||||
:color "white")
|
||||
(.selected :background-color "black"
|
||||
:color "white")))))))
|
||||
|
||||
;; Internal buffer (help, bookmarks, buffers panel)
|
||||
(define-configuration (internal-buffer panel-buffer)
|
||||
((style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((title
|
||||
:color "#CD5C5C")
|
||||
(body
|
||||
:background-color "black"
|
||||
:color "lightgray")
|
||||
(hr
|
||||
:color "lightgray")
|
||||
(a
|
||||
:color "#125458")
|
||||
(.button
|
||||
:color "white"
|
||||
:background-color "#125458")))))))
|
||||
|
||||
;; Link hints in web mode
|
||||
(define-configuration nyxt/web-mode:web-mode
|
||||
((nyxt/web-mode:highlighted-box-style
|
||||
(cl-css:css
|
||||
'((".nyxt-hint.nyxt-highlight-hint"
|
||||
:background "#125458"))))))
|
||||
|
||||
;; Modeline
|
||||
(define-configuration status-buffer
|
||||
((style (str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
;; Arrows on the left.
|
||||
'(("#controls"
|
||||
:border-top "1px solid white"
|
||||
:background-color "#125458")
|
||||
;; To the right of the arrows.
|
||||
("#url"
|
||||
:background-color "black"
|
||||
:color "white"
|
||||
:border-top "1px solid white")
|
||||
;; Far to the right.
|
||||
("#modes"
|
||||
:background-color "black"
|
||||
:border-top "1px solid white")
|
||||
;; The center segment.
|
||||
("#tabs"
|
||||
:background-color "#125458"
|
||||
:color "black"
|
||||
:border-top "1px solid white")))))))
|
||||
|
||||
;; Overriding dark theme colors
|
||||
(define-configuration nyxt/style-mode:dark-mode
|
||||
((style #.(cl-css:css
|
||||
'((*
|
||||
:background-color "black !important"
|
||||
:background-image "none !important"
|
||||
:color "white")
|
||||
(a
|
||||
:background-color "black !important"
|
||||
:background-image "none !important"
|
||||
:color "#556B2F !important"))))))
|
||||
|
||||
(define-configuration password:keepassxc-interface
|
||||
((password:password-file "/home/opal/.config/keepassxc/.kdbx-store/opal.kdbx")))
|
||||
|
||||
(define-configuration buffer
|
||||
((password-interface (make-instance 'password:user-keepassxc-interface))))
|
||||
|
||||
(define-command set-url (&key (prefill-current-url-p t))
|
||||
"Set the URL for the current buffer, completing with history."
|
||||
(let ((history (set-url-history *browser*))
|
||||
(actions (list (make-command buffer-load* (suggestion-values)
|
||||
"Load first selected URL in current buffer and the rest in new buffer(s)."
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion))) (rest suggestion-values))
|
||||
(buffer-load (url (first suggestion-values))))
|
||||
(make-command new-buffer-load (suggestion-values)
|
||||
"Load URL(s) in new buffer(s)."
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion))) (rest suggestion-values))
|
||||
(make-buffer-focus :url (url (first suggestion-values)))))))
|
||||
(pushnew-url-history history (url (current-buffer)))
|
||||
(prompt
|
||||
:prompt "Open URL"
|
||||
:input (if prefill-current-url-p
|
||||
(render-url (url (current-buffer))) "")
|
||||
:history history
|
||||
:sources (list (make-instance 'user-new-url-or-search-source :actions actions)
|
||||
(make-instance 'bookmark-source :actions actions)
|
||||
(make-instance 'user-global-history-source :actions actions)
|
||||
(make-instance 'search-engine-url-source :actions actions)))))
|
||||
|
||||
(define-command set-url-new-buffer (&key (prefill-current-url-p t))
|
||||
"Prompt for a URL and set it in a new focused buffer."
|
||||
(let ((history (set-url-history *browser*))
|
||||
(actions (list (make-command new-buffer-load (suggestion-values)
|
||||
"Load URL(s) in new buffer(s)"
|
||||
(mapc (lambda (suggestion) (make-buffer :url (url suggestion)))
|
||||
(rest suggestion-values))
|
||||
(make-buffer-focus :url (url (first suggestion-values)))))))
|
||||
(pushnew-url-history history (url (current-buffer)))
|
||||
(prompt
|
||||
:prompt "Open URL in new buffer"
|
||||
:input (if prefill-current-url-p
|
||||
(render-url (url (current-buffer))) "")
|
||||
:history history
|
||||
:sources (list (make-instance 'user-new-url-or-search-source :actions actions)
|
||||
(make-instance 'bookmark-source :actions actions)
|
||||
(make-instance 'user-global-history-source :actions actions)
|
||||
(make-instance 'search-engine-url-source :actions actions)))))
|
||||
|
||||
;; I would like to implement redirection, or some extension to handle it for me.
|
||||
;; todo: Redirect reddit to teddit
|
||||
;; (defun old-reddit-handler (request-data)
|
||||
;; (let ((url (url request-data)))
|
||||
;; (setf (url request-data)
|
||||
;; (if (search "reddit.com" (quri:uri-host url))
|
||||
;; (progn
|
||||
;; (setf (quri:uri-host url) "old.reddit.com")
|
||||
;; (log:info "Switching to old Reddit: ~s" (render-url url))
|
||||
;; url)
|
||||
;; url)))
|
||||
;; request-data)
|
||||
|
||||
;; (define-configuration web-buffer
|
||||
;; ((request-resource-hook
|
||||
;; (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))
|
||||
;; (See url-dispatching-handler for a simpler way to achieve the same result.)
|
||||
|
||||
(defun nyxt-init-file (&optional subpath)
|
||||
"Return SUBPATH relative to `*init-file-path*'.
|
||||
Return nil if `*init-file-path*' is nil.
|
||||
|
||||
Example:
|
||||
If we want to load a define-command procedure that lives in ~/path/to/nyxt/config/dir/my-slink.lisp
|
||||
(load-after-system :slynk (nyxt-init-file \"my-slink.lisp\"))"
|
||||
(if subpath
|
||||
(uiop:subpathname* (uiop:pathname-directory-pathname
|
||||
(expand-path *init-file-path*))
|
||||
subpath)
|
||||
(expand-path *init-file-path*)))
|
||||
10
archive/guix/home/files/nyxt/my-slink.lisp
Normal file
@@ -0,0 +1,10 @@
|
||||
(define-command-global start-slynk (&optional (slynk-port *swank-port*))
|
||||
"Start a Slynk server that can be connected to, for instance, in
|
||||
Emacs via SLY.
|
||||
|
||||
Warning: This allows Nyxt to be controlled remotely, that is, to execute
|
||||
arbitrary code with the privileges of the user running Nyxt. Make sure
|
||||
you understand the security risks associated with this before running
|
||||
this command."
|
||||
(slynk:create-server :port slynk-port :dont-close t)
|
||||
(echo "Slynk server started at port ~a" slynk-port))
|
||||
419
archive/guix/home/files/picom/picom.conf
Normal file
@@ -0,0 +1,419 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# shadow = false
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
fading = true;
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
# fade-in-step = 0.028
|
||||
fade-in-step = 0.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
inactive-opacity = 0.8;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 0.7;
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
# backend = "glx"
|
||||
backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||
# try detecting this with X RandR extension.
|
||||
#
|
||||
# refresh-rate = 60
|
||||
refresh-rate = 0;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
# glx-no-stencil = false
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||
# in the source tree for examples.
|
||||
#
|
||||
# glx-fshader-win = ""
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
||||
1
archive/guix/home/files/rofi/config
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
92
archive/guix/home/files/rofi/config.rasi
Normal file
@@ -0,0 +1,92 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
font: "Fira Code Regular 10";
|
||||
show-icons: true;
|
||||
icon-theme: "Reversal-dark";
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
sidebar-mode: false;
|
||||
}
|
||||
|
||||
@theme "/dev/null"
|
||||
|
||||
* {
|
||||
bg: #151515;
|
||||
fg: #e8e8d3;
|
||||
accent: #687363;
|
||||
button: #1c1c1c;
|
||||
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
}
|
||||
|
||||
window {
|
||||
border-radius: 7px;
|
||||
width: 50%;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @button;
|
||||
enabled: true;
|
||||
padding: 0.5% 32px 0% -0.5%;
|
||||
font: "Rubik 10";
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder: "Search";
|
||||
background-color: @button;
|
||||
placeholder-color: @fg;
|
||||
expand: true;
|
||||
padding: 0.15% 0% 0% 0%;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ prompt, entry ];
|
||||
background-color: @button;
|
||||
expand: false;
|
||||
border-radius: 6px;
|
||||
margin: 0%;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 4;
|
||||
lines: 3;
|
||||
cycle: false;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 2%;
|
||||
padding: 2% 1% 2% 1%;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
padding: 2% 0% 2% 0%;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 48px;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
expand: true;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
margin: 0.5% 0.5% -0.5% 0.5%;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @button;
|
||||
border-radius: 6px;
|
||||
}
|
||||
122
archive/guix/home/files/rofi/config.rasi~
Normal file
@@ -0,0 +1,122 @@
|
||||
\ast {
|
||||
base00: #263238;
|
||||
base01: #2E3C43;
|
||||
base02: #314549;
|
||||
base03: #546E7A;
|
||||
base04: #B2CCD6;
|
||||
base05: #EEFFFF;
|
||||
base06: #EEFFFF;
|
||||
base07: #FFFFFF;
|
||||
base08: #F07178;
|
||||
base09: #F78C6C;
|
||||
base0A: #FFCB6B;
|
||||
base0B: #C3E88D;
|
||||
base0C: #89DDFF;
|
||||
base0D: #82AAFF;
|
||||
base0E: #C792EA;
|
||||
base0F: #FF5370;
|
||||
|
||||
/*base0D: #00BCD4;*/
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Fira Code Regular 12";
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
/*fullscreen: true;*/
|
||||
background-color: #263238CC; /*base00 + CC (80% opacity)*/
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, message, mode-switcher, listview];
|
||||
spacing: 30px;
|
||||
/*margin: 20%;*/
|
||||
padding: 30px 0;
|
||||
border: 1px;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding: 0 30px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0 1ch 0 0;
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
entry {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
mode-switcher, message {
|
||||
border: 1px 0;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
button, textbox {
|
||||
background-color: @base03;
|
||||
text-color: @base07;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
listview {
|
||||
scrollbar: true;
|
||||
margin: 0 10px 0 30px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @base03;
|
||||
handle-color: @base0D;
|
||||
handle-width: 10px;
|
||||
border: 0 1px;
|
||||
border-color: @base0D;
|
||||
margin: 0 0 0 20px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
highlight: bold underline;
|
||||
}
|
||||
|
||||
element normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
element alternate {
|
||||
/*background-color: @base03;*/
|
||||
}
|
||||
|
||||
element normal normal, element selected normal, element alternate normal {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
element normal urgent, element selected urgent, element alternate urgent {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
element normal active, element selected active, element alternate active {
|
||||
text-color: @base0B;
|
||||
}
|
||||
131
archive/guix/home/files/rofi/material.rasi
Normal file
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* ROFI color theme
|
||||
*
|
||||
* Based on Base16 Material Color Scheme (https://github.com/ntpeters/base16-materialtheme-scheme)
|
||||
*
|
||||
* User: Tomaszal
|
||||
* Copyright: Tomas Zaluckij
|
||||
*/
|
||||
|
||||
\* {
|
||||
base00: #263238;
|
||||
base01: #2E3C43;
|
||||
base02: #314549;
|
||||
base03: #546E7A;
|
||||
base04: #B2CCD6;
|
||||
base05: #EEFFFF;
|
||||
base06: #EEFFFF;
|
||||
base07: #FFFFFF;
|
||||
base08: #F07178;
|
||||
base09: #F78C6C;
|
||||
base0A: #FFCB6B;
|
||||
base0B: #C3E88D;
|
||||
base0C: #89DDFF;
|
||||
base0D: #82AAFF;
|
||||
base0E: #C792EA;
|
||||
base0F: #FF5370;
|
||||
|
||||
/*base0D: #00BCD4;*/
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Fira Code Regular 12";
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
/*fullscreen: true;*/
|
||||
background-color: #263238CC; /*base00 + CC (80% opacity)*/
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, message, mode-switcher, listview];
|
||||
spacing: 30px;
|
||||
/*margin: 20%;*/
|
||||
padding: 30px 0;
|
||||
border: 1px;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding: 0 30px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0 1ch 0 0;
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
entry {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
mode-switcher, message {
|
||||
border: 1px 0;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
button, textbox {
|
||||
background-color: @base03;
|
||||
text-color: @base07;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
listview {
|
||||
scrollbar: true;
|
||||
margin: 0 10px 0 30px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @base03;
|
||||
handle-color: @base0D;
|
||||
handle-width: 10px;
|
||||
border: 0 1px;
|
||||
border-color: @base0D;
|
||||
margin: 0 0 0 20px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
highlight: bold underline;
|
||||
}
|
||||
|
||||
element normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
element alternate {
|
||||
/*background-color: @base03;*/
|
||||
}
|
||||
|
||||
element normal normal, element selected normal, element alternate normal {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
element normal urgent, element selected urgent, element alternate urgent {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
element normal active, element selected active, element alternate active {
|
||||
text-color: @base0B;
|
||||
}
|
||||
125
archive/guix/home/files/stumpwm/config
Normal file
@@ -0,0 +1,125 @@
|
||||
;;; -*- mode: lisp; -*-
|
||||
(in-package :stumpwm)
|
||||
;; (defvar *sbcl-path* "~/.guix-home/profile/share/common-lisp/sbcl/")
|
||||
|
||||
;; StumpWM Modules
|
||||
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-swm-gaps")
|
||||
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-ttf-fonts")
|
||||
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-stumptray")
|
||||
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-kbd-layouts")
|
||||
|
||||
(run-commands
|
||||
"gnewbg I"
|
||||
"gnew II"
|
||||
"gnewbg III"
|
||||
"gnewbg IV"
|
||||
"gnewbg V"
|
||||
"gnewbg-float F")
|
||||
|
||||
(set-prefix-key (kbd "s-ESC"))
|
||||
|
||||
(setf *mouse-focus-policy* :click)
|
||||
|
||||
(setf *message-window-gravity* :center
|
||||
*input-window-gravity* :center
|
||||
*window-border-style* :thin
|
||||
*message-window-padding* 3
|
||||
*maxsize-border-width* 2
|
||||
*normal-border-width* 2
|
||||
*transient-border-width* 2
|
||||
stumpwm::*float-window-border* 1
|
||||
stumpwm::*float-window-title-height* 1)
|
||||
|
||||
(setq *input-window-gravity* :center)
|
||||
|
||||
;; (load-module "kbd-layouts")
|
||||
|
||||
;; (run-shell-command "xmodmap ~/Dotfiles/.config/Xmodmap")
|
||||
|
||||
;; Set some super key bindings
|
||||
(define-key *top-map* (kbd "s-h") "move-focus left")
|
||||
(define-key *top-map* (kbd "s-l") "move-focus right")
|
||||
(define-key *top-map* (kbd "s-j") "move-focus down")
|
||||
(define-key *top-map* (kbd "s-k") "move-focus up")
|
||||
|
||||
(define-key *top-map* (kbd "s-H") "move-window left")
|
||||
(define-key *top-map* (kbd "s-L") "move-window right")
|
||||
(define-key *top-map* (kbd "s-J") "move-window down")
|
||||
(define-key *top-map* (kbd "s-K") "move-window up")
|
||||
|
||||
(define-key *top-map* (kbd "s-f") "fullscreen")
|
||||
(define-key *top-map* (kbd "s-r") "iresize")
|
||||
(define-key *top-map* (kbd "s-Q") "delete")
|
||||
(define-key *top-map* (kbd "s-SPC") "run-shell-command emacsclient -e \"(call-interactively #'app-launcher-run-app)\"")
|
||||
(define-key *top-map* (kbd "s-L") "run-shell-command slock")
|
||||
(define-key *top-map* (kbd "s-E") "run-shell-command emacs")
|
||||
(define-key *top-map* (kbd "s-W") "run-shell-command firefox")
|
||||
|
||||
(define-key *top-map* (kbd "s-TAB") "next-in-frame")
|
||||
(define-key *top-map* (kbd "s-S-TAB") "prev-in-frame")
|
||||
|
||||
(define-key *top-map* (kbd "s-1") "gselect I")
|
||||
(define-key *top-map* (kbd "s-2") "gselect II")
|
||||
(define-key *top-map* (kbd "s-3") "gselect III")
|
||||
(define-key *top-map* (kbd "s-4") "gselect IV")
|
||||
(define-key *top-map* (kbd "s-5") "gselect V")
|
||||
|
||||
(define-key *top-map* (kbd "s-!") "gmove I")
|
||||
(define-key *top-map* (kbd "s-@") "gmove II")
|
||||
(define-key *top-map* (kbd "s-#") "gmove III")
|
||||
(define-key *top-map* (kbd "s-$") "gmove IV")
|
||||
(define-key *top-map* (kbd "s-%") "gmove V")
|
||||
|
||||
;; Brightness and volume
|
||||
;; (define-key *top-map* (kbd "XF86MonBrightnessDown") "run-shell-command brightnessctl set 5%-")
|
||||
;; (define-key *top-map* (kbd "XF86MonBrightnessUp") "run-shell-command brightnessctl set +5%")
|
||||
;; (define-key *top-map* (kbd "XF86AudioLowerVolume") "run-shell-command amixer set Master 3%- unmute")
|
||||
;; (define-key *top-map* (kbd "XF86AudioRaiseVolume") "run-shell-command amixer set Master 3%+ unmute")
|
||||
;; (define-key *top-map* (kbd "XF86AudioMute") "run-shell-command amixer set Master toggle")
|
||||
|
||||
;; Set UI colors
|
||||
(setf *colors*
|
||||
'("#000000" ;black
|
||||
"#BF6262" ;red
|
||||
"#a1bf78" ;green
|
||||
"#dbb774" ;yellow
|
||||
"#7D8FA3" ;blue
|
||||
"#ff99ff" ;magenta
|
||||
"#53cdbd" ;cyan
|
||||
"#b7bec9")) ;white
|
||||
|
||||
(setf *default-bg-color* "#e699cc")
|
||||
|
||||
(update-color-map (current-screen))
|
||||
|
||||
(setf *window-format* "%m%s%50t")
|
||||
|
||||
;; (load-module "swm-gaps")
|
||||
;; (setf swm-gaps:*inner-gaps-size* 3)
|
||||
;; (run-commands "toggle-gaps-on")
|
||||
|
||||
;; Enable TTF fonts
|
||||
;; (load-module "ttf-fonts")
|
||||
;; (setf xft:*font-dirs* '("/home/opal/.guix-home/profile/share/fonts/"))
|
||||
;; (setf clx-truetype:+font-cache-filename+ "/home/daviwil/.local/share/fonts/font-cache.sexp")
|
||||
;; (xft:cache-fonts)
|
||||
|
||||
;; (set-font (make-instance 'xft:font :family "Fira Mono" :subfamily "Regular" :size 16))
|
||||
|
||||
(setf *mode-line-background-color* (car *colors*)
|
||||
*mode-line-foreground-color* (car (last *colors*))
|
||||
*mode-line-timeout* 1)
|
||||
|
||||
;; ;; Add the system tray module
|
||||
;; (load-module "stumptray")
|
||||
;; (stumptray:stumptray)
|
||||
|
||||
;; (run-shell-command "feh --bg-scale ~/.dotfiles/backgrounds/samuel-ferrara-uOi3lg8fGl4-unsplash.jpg")
|
||||
;; (run-shell-command "dunst")
|
||||
;; (run-shell-command "nm-applet")
|
||||
;; (run-shell-command "syncthing-gtk --minimized")
|
||||
;; (run-shell-command "redshift -l 37.983810:23.727539 -t 6500:3500")
|
||||
(run-shell-command "emacs")
|
||||
|
||||
;; (require :slynk)
|
||||
;; (slynk:create-server :dont-close t)
|
||||
252
archive/guix/home/files/sway/config
Normal file
@@ -0,0 +1,252 @@
|
||||
include /gnu/store/6d3q9f1bdfn4cchsziws33ixq2p4zjhw-sway-1.6.1/etc/sway/config.d/*
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Terminal
|
||||
set $term alacritty
|
||||
|
||||
# Application Launcher
|
||||
set $menu wofi --hide-scroll --show drun | xargs swaymsg exec
|
||||
|
||||
set $opacity 0.92
|
||||
for_window [class=".*"] opacity $opacity
|
||||
for_window [app_id=".*"] opacity $opacity
|
||||
|
||||
# Window Borders
|
||||
default_border none
|
||||
|
||||
# Gaps
|
||||
gaps top 0
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
# Dismiss notifications
|
||||
bindsym Control+space exec makoctl dismiss
|
||||
bindsym --locked $mod+d exec sh -c "notify-send 'Do Not Disturb' 'Turning on Do Not Disturb Mode'; sleep 2; makoctl set-mode do-not-disturb"
|
||||
|
||||
# Hide mouse cursor after inactivity
|
||||
seat * hide_cursor 4000
|
||||
|
||||
# Notifications
|
||||
exec_always dunst
|
||||
|
||||
# Wlsunset (Night Light)
|
||||
exec_always wlsunset -l 47.6, -122.3 -t 3500 -T 6500
|
||||
|
||||
# Monitors
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
# output eDP-1 pos 0 0 res 1920x1200
|
||||
# output DP-5 pos 3440 0 res 3440x1440
|
||||
output eDP-1 pos 0 0 res 1920x1200
|
||||
output DP-5 pos 1920 0 res 3440x1440
|
||||
|
||||
# Wallpaper
|
||||
output DP-5 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
|
||||
output eDP-1 bg /home/opal/dotfiles/guix/home/files/wallpapers/fog-wallpaper.jpg fill
|
||||
|
||||
### Idle configuration
|
||||
# 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.
|
||||
exec swayidle -w \
|
||||
timeout 600 'swaylock -f' \
|
||||
timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f'
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t custom -m 'Do you wish to fully reload your Sway session?' -b 'Yes' 'swaymsg exit'
|
||||
# Turn the system off
|
||||
bindsym $mod+Shift+p exec swaynag -t custom -m 'What action would you like to perform?' -b 'Shutdown' 'poweroff' -b 'Restart' 'poweroff --reboot'
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
input type:keyboard {
|
||||
# Capslock key should work as escape key
|
||||
# See /usr/share/X11/xkb/rules/xorg.lst for options
|
||||
xkb_options caps:escape
|
||||
|
||||
repeat_delay 250
|
||||
repeat_rate 45
|
||||
}
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Lock SwayWM
|
||||
bindsym Control+Shift+l exec swaylock
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+x exec swaymsg -r exit
|
||||
|
||||
## Volume
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
# Media playerctl
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
|
||||
# Backlight
|
||||
bindsym XF86MonBrightnessUp exec light -A 10 && notify-send " Light" "Brightness: $(light)%" --hint="int:value:$(light)"
|
||||
bindsym XF86MonBrightnessDown exec light -U 10 && notify-send " Light" "Brightness: $(light)%" --hint="int:value:$(light)"
|
||||
|
||||
# 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
|
||||
# Or use $mod+[up|down|left|right]
|
||||
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
|
||||
# Ditto, with arrow 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
|
||||
|
||||
# Assign workspaces to variables
|
||||
set $ws1 number 1
|
||||
set $ws2 number 2
|
||||
set $ws3 number 3
|
||||
set $ws4 number 4
|
||||
set $ws5 number 5
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers 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
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
exec_always import-gsettings \
|
||||
gtk-theme:gtk-theme-name \
|
||||
icon-theme:gtk-icon-theme-name \
|
||||
cursor-theme:gtk-cursor-theme-name
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
# position top
|
||||
# gaps 5
|
||||
|
||||
# # When the status_command prints a new line to stdout, swaybar updates.
|
||||
# # The default just shows the current date and time.
|
||||
# status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
|
||||
|
||||
# colors {
|
||||
# statusline #ffffff
|
||||
# background #323232
|
||||
# inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
# }
|
||||
}
|
||||
218
archive/guix/home/files/sway/config~
Normal file
@@ -0,0 +1,218 @@
|
||||
include /gnu/store/6d3q9f1bdfn4cchsziws33ixq2p4zjhw-sway-1.6.1/etc/sway/config.d/*
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Terminal
|
||||
set $term alacritty
|
||||
|
||||
# Application Launcher
|
||||
set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||
|
||||
set $opacity 0.92
|
||||
for_window [class=".*"] opacity $opacity
|
||||
for_window [app_id=".*"] opacity $opacity
|
||||
|
||||
# Window Borders
|
||||
default_border none
|
||||
|
||||
# Gaps
|
||||
gaps top 2
|
||||
gaps inner 3
|
||||
# gaps outer 3
|
||||
|
||||
# Hide mouse cursor after inactivity
|
||||
seat * hide_cursor 4000
|
||||
|
||||
# Notifications
|
||||
exec_always dunst
|
||||
|
||||
# Wlsunset (Night Light)
|
||||
exec_always wlsunset -l 47.6, -122.3 -t 3500 -T 6500
|
||||
|
||||
# Wallpaper
|
||||
output * bg /home/opal/Dotfiles/guix-wallpaper.jpg stretch
|
||||
|
||||
# Monitors
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
output eDP-1 resolution 1920x1080 position 0,0
|
||||
|
||||
### Idle configuration
|
||||
# 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.
|
||||
exec swayidle -w \
|
||||
timeout 300 'swaylock -f -c 000000' \
|
||||
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f -c 000000'
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
input type:keyboard {
|
||||
# Capslock key should work as escape key
|
||||
# See /usr/share/X11/xkb/rules/xorg.lst for options
|
||||
xkb_options caps:escape
|
||||
|
||||
repeat_delay 250
|
||||
repeat_rate 45
|
||||
}
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Lock SwayWM
|
||||
bindsym Control+Shift+l exec swaylock
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+x exec swaymsg -r exit
|
||||
|
||||
# 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
|
||||
# Or use $mod+[up|down|left|right]
|
||||
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
|
||||
# Ditto, with arrow 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
|
||||
|
||||
set $ws1 ۱
|
||||
set $ws2 ۲
|
||||
set $ws3 ۳
|
||||
set $ws4 ۴
|
||||
set $ws5 ۵
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers 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
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
gaps 5
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
|
||||
|
||||
colors {
|
||||
statusline #ffffff
|
||||
background #323232
|
||||
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
}
|
||||
}
|
||||
10
archive/guix/home/files/swaylock/config
Normal file
@@ -0,0 +1,10 @@
|
||||
# Image
|
||||
image=/home/opal/guix/home/files/wallpapers/fog-wallpaper.jpg
|
||||
scaling=fill
|
||||
|
||||
# Indicator
|
||||
ignore-empty-password
|
||||
indicator-caps-lock
|
||||
|
||||
# Behavior
|
||||
show-failed-attempts
|
||||
16
archive/guix/home/files/swaynag/config
Normal file
@@ -0,0 +1,16 @@
|
||||
[custom]
|
||||
font=mononoki Nerd Font 10
|
||||
dismiss-button=Dismiss
|
||||
background=0f0f0f
|
||||
border=262626
|
||||
border-bottom=262626
|
||||
button-background=262626
|
||||
text=f0f0f0
|
||||
border-bottom-size=2
|
||||
message-padding=5
|
||||
details-border-size=2
|
||||
button-border-size=0
|
||||
button-gap=5
|
||||
button-dismiss-gap=5
|
||||
button-margin-right=5
|
||||
button-padding=5
|
||||
15
archive/guix/home/files/user-dirs.dirs
Normal file
@@ -0,0 +1,15 @@
|
||||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
#
|
||||
XDG_DESKTOP_DIR="$HOME"
|
||||
XDG_DOWNLOAD_DIR="$HOME/downloads"
|
||||
XDG_TEMPLATES_DIR="$HOME"
|
||||
XDG_PUBLICSHARE_DIR="$HOME"
|
||||
XDG_DOCUMENTS_DIR="$HOME/documents"
|
||||
XDG_MUSIC_DIR="$HOME/music"
|
||||
XDG_PICTURES_DIR="$HOME/pictures"
|
||||
XDG_VIDEOS_DIR="$HOME/videos"
|
||||
BIN
archive/guix/home/files/wallpapers/fog-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 768 KiB |
BIN
archive/guix/home/files/wallpapers/guix-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
archive/guix/home/files/wallpapers/wallpaper-town.jpg
Normal file
|
After Width: | Height: | Size: 3.5 MiB |
84
archive/guix/home/files/waybar/config
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"layer": "top", // Waybar at top layer
|
||||
"position": "top", // Waybar at the bottom of your screen
|
||||
"height": 24, // Waybar height
|
||||
// "width": 1366, // Waybar width
|
||||
// Choose the order of the modules
|
||||
"modules-left": ["sway/workspaces", "sway/mode", "custom/spotify"],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "tray", "clock"],
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
// "1:web": "",
|
||||
// "2:code": "",
|
||||
// "3:term": "",
|
||||
// "4:work": "",
|
||||
// "5:music": "",
|
||||
// "6:docs": "",
|
||||
"urgent": "",
|
||||
"focused": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% "
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"battery": {
|
||||
"bat": "BAT0",
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2s0", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
|
||||
"format-disconnected": "Disconnected ⚠"
|
||||
"on-click": "alacritty -e nmtui"
|
||||
},
|
||||
"pulseaudio": {
|
||||
//"scroll-step": 1,
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/spotify": {
|
||||
"format": " {}",
|
||||
"max-length": 40,
|
||||
"interval": 30, // Remove this if your script is endless and write in loop
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
|
||||
"exec-if": "pgrep spotify"
|
||||
}
|
||||
}
|
||||
100
archive/guix/home/files/waybar/style.css
Normal file
@@ -0,0 +1,100 @@
|
||||
\* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "Fira Sans, normal";
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
font-family: "Fira Sans, normal";
|
||||
}
|
||||
/*
|
||||
#workspaces {
|
||||
padding: 0 5px;
|
||||
}
|
||||
*/
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background: transparent;
|
||||
color: white;
|
||||
border-top: 2px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: white;
|
||||
border-top: 2px solid white;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: #64727D;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode {
|
||||
padding: 0 3px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#battery {
|
||||
}
|
||||
|
||||
#battery icon {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
color: white;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
}
|
||||
|
||||
#memory {
|
||||
}
|
||||
|
||||
#network {
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background: #f53c3c;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
color: rgb(102, 220, 105);
|
||||
}
|
||||
|
||||
#tray {
|
||||
}
|
||||
12
archive/guix/home/files/wofi/config
Normal file
@@ -0,0 +1,12 @@
|
||||
style=/home/opal/guix/home/files/wofi/style.css
|
||||
xoffset=710
|
||||
yoffset=275
|
||||
show=drun
|
||||
width=500
|
||||
height=500
|
||||
always_parse_args=true
|
||||
show_all=true
|
||||
print_command=true
|
||||
layer=overlay
|
||||
insensitive=true
|
||||
prompt=
|
||||
52
archive/guix/home/files/wofi/style.css
Normal file
@@ -0,0 +1,52 @@
|
||||
window {
|
||||
margin: 0px;
|
||||
border: 2px solid #414868;
|
||||
border-radius: 5px;
|
||||
background-color: #24283b;
|
||||
font-family: monospace;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 5px;
|
||||
border: 1px solid #24283b;
|
||||
color: #c0caf5;
|
||||
background-color: #24283b;
|
||||
}
|
||||
|
||||
#input image {
|
||||
color: #c0caf5;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #24283b;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #24283b;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: #c0caf5;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: #414868;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#text:selected {
|
||||
background-color: #414868;
|
||||
font-weight: normal;
|
||||
}
|
||||
2
archive/guix/home/files/xmodmap/xmodmap
Normal file
@@ -0,0 +1,2 @@
|
||||
clear Lock
|
||||
keycode 0x42 = Escape
|
||||
19
archive/guix/home/files/zsh/zprofile
Normal file
@@ -0,0 +1,19 @@
|
||||
HOME_ENVIRONMENT=$HOME/.guix-home
|
||||
. $HOME_ENVIRONMENT/setup-environment
|
||||
$HOME_ENVIRONMENT/on-first-login
|
||||
# Each new shell auto-imports all environment variables.
|
||||
# Hence exporting needs to be done only once.
|
||||
# Also, all non-login shells are descendants of a login shell.
|
||||
# Ergo, exports need to be done in the login shell only.
|
||||
# Hence, we put exports in .zprofile
|
||||
|
||||
# Only vars needed by external commands should be exported.
|
||||
# Note that you can export vars w/out assigning a value to them.
|
||||
export XDG_CONFIG_HOME=~/.config
|
||||
export XDG_CACHE_HOME=~/.cache
|
||||
export XDG_DATA_HOME=~/.local/share
|
||||
export XDG_STATE_HOME=~/.config/zsh
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
GUIX_PROFILE="$HOME/.config/guix/current" . "$GUIX_PROFILE/etc/profile"
|
||||
xmodmap ~/.config/xmodmap/xmodmap
|
||||
22
archive/guix/home/files/zsh/zsh_aliases
Normal file
@@ -0,0 +1,22 @@
|
||||
# ~ Guix #
|
||||
alias install="guix install"
|
||||
alias remove="guix remove"
|
||||
alias search="guix search"
|
||||
alias pull="guix pull"
|
||||
alias upgrade="guix package -u"
|
||||
alias hreconfig="guix home reconfigure ~/dotfiles/guix/home/guix-home.scm"
|
||||
|
||||
# ~ Commands ~ #
|
||||
alias ip="ip -c"
|
||||
alias rm="rm -i"
|
||||
alias ols="ls-with-file-mode-bits.sh"
|
||||
|
||||
# ~ Derp ~ #
|
||||
alias unmount="umount"
|
||||
alias please="sudo"
|
||||
alias yeet="rm -rf"
|
||||
alias :q='echo This aint a file, dingus.'
|
||||
alias :wq='echo This aint a file, dingus.'
|
||||
|
||||
# ~ Source Zsh Configuration ~ #
|
||||
alias zshrcsource="source ~/dotfiles/guix/home/files/zsh/zshrc"
|
||||
5
archive/guix/home/files/zsh/zsh_functions
Normal file
@@ -0,0 +1,5 @@
|
||||
# ~ Move files to trash folder instead ~ #
|
||||
del () { mv "$@" $HOME/.local/share/trash/files/.; }
|
||||
|
||||
# Make directory and CD into it.
|
||||
mk () { mkdir -p -- "$1" && cd -P -- "$1" }
|
||||
9
archive/guix/home/files/zsh/zshenv
Normal file
@@ -0,0 +1,9 @@
|
||||
if [[ -z "$XDG_CONFIG_HOME" ]]
|
||||
then
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
fi
|
||||
|
||||
if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
|
||||
then
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
fi
|
||||
29
archive/guix/home/files/zsh/zshrc
Normal file
@@ -0,0 +1,29 @@
|
||||
# Sometimes SSH'ing with Emacs is ungraceful.
|
||||
# To remedy this I disable the zsh line editor.
|
||||
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
|
||||
|
||||
|
||||
#### ~~~~ General ~~~~ #####
|
||||
export ZSH="$XDG_CONFIG_HOME/oh-my-zsh"
|
||||
HISTFILE=$XDG_CONFIG_HOME/zsh/.history
|
||||
ZSH_THEME="mrtazz"
|
||||
DISABLE_AUTO_UPDATE="true"
|
||||
ENABLE_CORRECTION="true"
|
||||
plugins=(git)
|
||||
source $ZSH/oh-my-zsh.sh # This has to stay below plugins.
|
||||
|
||||
#### ~~~~ Autostart ~~~~ #####
|
||||
pfetch
|
||||
|
||||
#### ~~~~ Path Additions ~~~~ #####
|
||||
export PATH=/home/opal/scripts:$PATH # Scripts
|
||||
|
||||
#### ~~~~ Locale ~~~~ #####
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
|
||||
#### ~~~~ Import ~~~~ #####
|
||||
ALIAS_LOCATION="$XDG_CONFIG_HOME/zsh/zsh_aliases"
|
||||
FUNCTION_LOCATION="$XDG_CONFIG_HOME/zsh/zsh_functions"
|
||||
source $ALIAS_LOCATION
|
||||
source $FUNCTION_LOCATION
|
||||
299
archive/guix/home/guix-home.scm
Normal file
@@ -0,0 +1,299 @@
|
||||
(use-modules
|
||||
(gnu)
|
||||
(gnu home)
|
||||
(gnu home services)
|
||||
(gnu home services shells)
|
||||
(gnu home services shepherd)
|
||||
(gnu packages)
|
||||
(gnu packages linux)
|
||||
(gnu packages admin)
|
||||
(gnu packages shells)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages web-browsers)
|
||||
(gnu packages guile)
|
||||
(gnu packages wget)
|
||||
(gnu packages curl)
|
||||
(gnu packages pdf)
|
||||
(gnu packages ebook)
|
||||
(gnu packages compton)
|
||||
(gnu packages dunst)
|
||||
(gnu packages image-viewers)
|
||||
(gnu packages gnome)
|
||||
(gnu packages gnome-xyz)
|
||||
(gnu packages compression)
|
||||
(gnu packages cmake)
|
||||
(gnu packages autotools)
|
||||
(gnu packages gstreamer)
|
||||
(gnu packages video)
|
||||
(gnu packages mpd)
|
||||
(gnu packages terminals)
|
||||
(gnu packages xdisorg)
|
||||
(gnu packages gnupg)
|
||||
(gnu packages password-utils)
|
||||
(gnu packages emacs)
|
||||
(gnu packages emacs-xyz)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages ruby)
|
||||
(gnu packages python)
|
||||
(gnu packages lisp)
|
||||
(gnu packages python-xyz)
|
||||
(gnu packages fonts)
|
||||
(gnu packages wm)
|
||||
(gnu packages music)
|
||||
(gnu packages base)
|
||||
(gnu packages xorg)
|
||||
(gnu packages dns)
|
||||
(gnu packages kde-frameworks)
|
||||
(gnu services)
|
||||
(guix gexp))
|
||||
|
||||
(home-environment
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
;; Interfacing
|
||||
xclip
|
||||
xset
|
||||
xss-lock
|
||||
polybar
|
||||
playerctl
|
||||
xbacklight
|
||||
xmodmap
|
||||
rofi
|
||||
dunst
|
||||
arandr
|
||||
feh
|
||||
picom)
|
||||
;; Admin
|
||||
(list
|
||||
inetutils
|
||||
wget
|
||||
curl
|
||||
zip
|
||||
seahorse
|
||||
network-manager
|
||||
networkmanager-qt
|
||||
network-manager-applet)
|
||||
;; Tools/Libraries
|
||||
(list
|
||||
unzip
|
||||
zip
|
||||
cmake
|
||||
libtool
|
||||
gst-plugins-bad
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
playerctl
|
||||
gnu-make)
|
||||
;; Applications
|
||||
(list
|
||||
alacritty
|
||||
nyxt
|
||||
zathura-pdf-mupdf
|
||||
mpv
|
||||
mpd
|
||||
ncmpcpp
|
||||
icedove
|
||||
keepassxc
|
||||
nautilus
|
||||
pavucontrol)
|
||||
;; Emacs
|
||||
(list
|
||||
emacs-vterm
|
||||
emacs-geiser
|
||||
emacs-geiser-guile
|
||||
emacs-doom-modeline
|
||||
emacs-all-the-icons
|
||||
emacs-all-the-icons-dired
|
||||
emacs-general
|
||||
emacs-which-key
|
||||
emacs-alert
|
||||
emacs-helpful
|
||||
emacs-pinentry
|
||||
emacs-doom-themes
|
||||
emacs-evil
|
||||
emacs-evil-collection
|
||||
emacs-vertico
|
||||
emacs-orderless
|
||||
emacs-consult
|
||||
emacs-company
|
||||
emacs-marginalia
|
||||
emacs-perspective
|
||||
emacs-dired-rsync
|
||||
emacs-dired-hacks
|
||||
emacs-org-bullets
|
||||
emacs-org-make-toc
|
||||
emacs-visual-fill-column
|
||||
emacs-flycheck
|
||||
emacs-rainbow-mode
|
||||
emacs-rainbow-delimiters
|
||||
emacs-magit
|
||||
emacs-projectile
|
||||
emacs-lsp-mode
|
||||
emacs-lsp-ui
|
||||
emacs-treemacs
|
||||
emacs-lsp-treemacs
|
||||
emacs-parinfer-mode
|
||||
emacs-yasnippet
|
||||
emacs-pdf-tools)
|
||||
;; Languages
|
||||
(list
|
||||
ruby
|
||||
picolisp
|
||||
python
|
||||
guile-3.0
|
||||
sbcl
|
||||
python-lsp-server
|
||||
ruby-solargraph)
|
||||
;; Aesthetics/Fonts
|
||||
(list
|
||||
gnome-tweaks
|
||||
papirus-icon-theme
|
||||
arc-theme
|
||||
font-fira-mono
|
||||
font-fira-code
|
||||
font-fira-sans
|
||||
font-abattis-cantarell
|
||||
font-google-noto
|
||||
font-awesome
|
||||
pfetch)))
|
||||
(services
|
||||
(append
|
||||
;; Shell
|
||||
(list
|
||||
(service home-zsh-service-type
|
||||
(home-zsh-configuration
|
||||
;; Place all configs to $XDG_CONFIG_HOME/zsh. Makes
|
||||
;; ~/.zshenv set ZDOTDIR to $XDG_CONFIG_HOME/zsh
|
||||
;; and shell process starts with ~/.config/zsh/.zshenv
|
||||
(xdg-flavor? #t)
|
||||
;; .zshenv
|
||||
(zshenv
|
||||
(list
|
||||
(local-file "files/zsh/zshenv")))
|
||||
;; .zprofile
|
||||
(zprofile
|
||||
(list
|
||||
(local-file "files/zsh/zprofile")))
|
||||
;; .zshrc
|
||||
(zshrc
|
||||
(list
|
||||
(local-file "files/zsh/zshrc"))))))
|
||||
|
||||
;; Files
|
||||
(list
|
||||
(simple-service 'i3-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/i3/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/i3/config")))))
|
||||
(simple-service 'i3status-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/i3status/config"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/i3status/config")))))
|
||||
(simple-service 'picom-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/picom/picom.conf"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/picom/picom.conf")))))
|
||||
(simple-service 'dunst-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/dunst/dunstrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/dunst/dunstrc")))))
|
||||
(simple-service 'rofi-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/rofi/config.rasi"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/rofi/config.rasi")))))
|
||||
(simple-service 'zsh-aliases
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/zsh/zsh_aliases"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/zsh/zsh_aliases")))))
|
||||
(simple-service 'zsh-functions
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/zsh/zsh_functions"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/zsh/zsh_functions")))))
|
||||
(simple-service 'redshift-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/redshift/redshift.conf"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/redshift/redshift.conf")))))
|
||||
(simple-service 'xmodmap-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/xmodmap/xmodmap"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/xmodmap/xmodmap")))))
|
||||
(simple-service 'user-dirs-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/user-dirs.dirs"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/user-dirs.dirs")))))
|
||||
(simple-service 'emacs-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/emacs/init.el"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/emacs/init.el")))))
|
||||
(simple-service 'nyxt-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/nyxt/init.lisp"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/nyxt/init.lisp")))))
|
||||
(simple-service 'mbsync-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/mbsync/mbsyncrc"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/mbsync/mbsyncrc")))))
|
||||
|
||||
(simple-service 'alacritty-config
|
||||
home-files-service-type
|
||||
(list
|
||||
`("config/alacritty/alacritty.yml"
|
||||
,(local-file
|
||||
(string-append (getenv "HOME")
|
||||
"/dotfiles/guix/home/files/alacritty/alacritty.yml"))))))
|
||||
;; Daemons
|
||||
(list
|
||||
(service home-shepherd-service-type
|
||||
(home-shepherd-configuration
|
||||
(services
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(emacs))
|
||||
(start #~(make-system-constructor "emacs --daemon"))
|
||||
(stop #~(make-system-constructor "emacsclient -e '(kill-emacs)'")))
|
||||
(shepherd-service
|
||||
(provision '(gnome-keyring-daemon))
|
||||
(start #~(make-system-contructor "gnome-keyring-daemon --daemonize "))
|
||||
(stop #~(make-system-contructor "pkill gnome-keyring-daemon")))))))))))
|
||||
91
archive/guix/system/apollyon-laptop.scm
Normal file
@@ -0,0 +1,91 @@
|
||||
(use-modules (gnu)
|
||||
(gnu packages wm)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages audio)
|
||||
(gnu packages linux)
|
||||
(gnu packages suckless)
|
||||
(gnu packages terminals)
|
||||
(gnu packages gnome)
|
||||
(gnu packages shells)
|
||||
(gnu packages emacs)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware sof-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "apollyon")
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel" "netdev" "audio" "video")))
|
||||
%base-user-accounts))
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
zsh
|
||||
emacs
|
||||
i3-wm
|
||||
i3status
|
||||
git
|
||||
network-manager
|
||||
icecat
|
||||
emacs
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
dmenu
|
||||
alacritty
|
||||
nss-certs)
|
||||
%base-packages))
|
||||
(services
|
||||
(append
|
||||
(list (service gnome-desktop-service-type)
|
||||
(service openssh-service-type)
|
||||
(service tor-service-type)
|
||||
(service cups-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "ceb0c15f-30b6-4d02-a7e9-96ddcd73c763"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "739C-796C" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
109
archive/guix/system/apollyon-laptop.scm~
Normal file
@@ -0,0 +1,109 @@
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu packages shells)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages file-systems)
|
||||
(gnu packages suckless)
|
||||
(gnu packages admin)
|
||||
(gnu packages linux)
|
||||
(gnu packages audio)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages gnome)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
;; sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(let ((from (lambda (package file)
|
||||
(setuid-program (program (file-append package file))))))
|
||||
(cons* (from light "/bin/light")
|
||||
(from network-manager "/bin/nmtui")
|
||||
(from sway "/bin/sway")
|
||||
(from swaylock "/bin/swaylock")
|
||||
%setuid-programs)))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
gnome
|
||||
network-manager
|
||||
icecat
|
||||
vim
|
||||
nss-certs
|
||||
exfat-utils
|
||||
emacs
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio)
|
||||
%base-packages))
|
||||
|
||||
|
||||
;; (services
|
||||
;; (append (modify-services %desktop-services
|
||||
;; (delete gdm-service-type))
|
||||
;; (list (service sddm-service-type
|
||||
;; (sddm-configuration
|
||||
;; (display-server "wayland"))))))
|
||||
(services
|
||||
(append (modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
=> (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t))))))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "0eb58e93-c463-4d40-a819-4c9d594ed230"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "2AFC-9172" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
103
archive/guix/system/apollyon.scm
Normal file
@@ -0,0 +1,103 @@
|
||||
(use-modules (gnu)
|
||||
(gnu packages wm)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu packages audio)
|
||||
(gnu packages linux)
|
||||
(gnu packages suckless)
|
||||
(gnu packages terminals)
|
||||
(gnu packages gnome)
|
||||
(gnu packages shells)
|
||||
(gnu packages emacs)
|
||||
(gnu packages kde-frameworks)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware sof-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "apollyon")
|
||||
(setuid-programs
|
||||
(let ((from (lambda (package file)
|
||||
(setuid-program (program (file-append package file))))))
|
||||
(cons* (from i3lock "/bin/i3lock")
|
||||
(from network-manager "/bin/nmtui")
|
||||
(from networkmanager-qt "/bin/nm-connection-editor")
|
||||
(from network-manager-applet "/bin/nm-applet")
|
||||
%setuid-programs)))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel" "netdev" "audio" "video")))
|
||||
%base-user-accounts))
|
||||
(packages
|
||||
(append
|
||||
(list
|
||||
zsh
|
||||
emacs
|
||||
i3-gaps
|
||||
i3status
|
||||
git
|
||||
network-manager
|
||||
networkmanager-qt
|
||||
network-manager-applet
|
||||
icecat
|
||||
emacs
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
dmenu
|
||||
alacritty
|
||||
nss-certs)
|
||||
%base-packages))
|
||||
(services
|
||||
(append
|
||||
(list (service gnome-desktop-service-type)
|
||||
(service gnome-keyring-service-type)
|
||||
(service openssh-service-type)
|
||||
(service tor-service-type)
|
||||
(service cups-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "ceb0c15f-30b6-4d02-a7e9-96ddcd73c763"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "739C-796C" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
17
archive/guix/system/channels.scm
Normal file
@@ -0,0 +1,17 @@
|
||||
(list (channel
|
||||
(name 'guix)
|
||||
(url "https://git.savannah.gnu.org/git/guix.git")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"9edb3f66fd807b096b48283debdcddccfea34bad"
|
||||
(openpgp-fingerprint
|
||||
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
|
||||
|
||||
(channel
|
||||
(name 'nonguix)
|
||||
(url "https://gitlab.com/nonguix/nonguix")
|
||||
(introduction
|
||||
(make-channel-introduction
|
||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
||||
(openpgp-fingerprint
|
||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
|
||||
96
archive/guix/system/home-desktop.scm
Normal file
@@ -0,0 +1,96 @@
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu packages shells)
|
||||
(gnu packages version-control)
|
||||
(gnu packages emacs)
|
||||
(gnu packages gnuzilla)
|
||||
(gnu packages vim)
|
||||
(gnu packages certs)
|
||||
(gnu packages file-systems)
|
||||
(gnu packages suckless)
|
||||
(gnu packages admin)
|
||||
(gnu packages linux)
|
||||
(gnu packages audio)
|
||||
(gnu packages pulseaudio)
|
||||
(gnu system setuid)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(cons (setuid-program
|
||||
(program (file-append swaylock "/bin/swaylock")))
|
||||
%setuid-programs))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(shell (file-append zsh "/bin/zsh"))
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
icecat
|
||||
vim
|
||||
nss-certs
|
||||
exfat-utils
|
||||
emacs
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio)
|
||||
%base-packages))
|
||||
|
||||
|
||||
;; (services (cons* ...
|
||||
;; (modify-services %desktop-services
|
||||
;; (gdm-service-type config
|
||||
;; =;;putabrackethere (gdm-configuration
|
||||
;; (inherit config)
|
||||
;; (wayland? #t)
|
||||
;; (debug? #t))))))
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "40aa6387-e935-4f70-8e7d-1975678a5a32"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "1C3B-10F5" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems)))
|
||||
107
archive/guix/system/work-laptop.scm
Normal file
@@ -0,0 +1,107 @@
|
||||
(use-modules (gnu)
|
||||
(gnu services desktop)
|
||||
(gnu packages wm)
|
||||
(gnu system setuid)
|
||||
(gnu packages admin)
|
||||
(nongnu packages linux))
|
||||
|
||||
(use-service-modules
|
||||
cups
|
||||
desktop
|
||||
networking
|
||||
ssh
|
||||
sddm
|
||||
xorg)
|
||||
|
||||
(operating-system
|
||||
(kernel linux)
|
||||
(firmware (list linux-firmware))
|
||||
(locale "en_US.utf8")
|
||||
(timezone "America/Los_Angeles")
|
||||
(keyboard-layout (keyboard-layout "us"))
|
||||
(host-name "borges")
|
||||
(setuid-programs
|
||||
(cons (setuid-program
|
||||
(program (file-append swaylock "/bin/swaylock")))
|
||||
%setuid-programs))
|
||||
(users (cons* (user-account
|
||||
(name "opal")
|
||||
(comment "opal")
|
||||
(group "users")
|
||||
(home-directory "/home/opal")
|
||||
(supplementary-groups
|
||||
'("wheel"
|
||||
"netdev"
|
||||
"audio"
|
||||
"video")))
|
||||
%base-user-accounts))
|
||||
|
||||
(packages (append (list git
|
||||
wl-clipboard
|
||||
vim
|
||||
nss-certs
|
||||
stow
|
||||
exfat-utils
|
||||
emacs
|
||||
emacs-exwm
|
||||
sway
|
||||
swaybg
|
||||
swaylock
|
||||
swayidle
|
||||
polybar
|
||||
nyxt
|
||||
dmenu
|
||||
bluez
|
||||
bluez-alsa
|
||||
pulseaudio
|
||||
keepassxc
|
||||
font-fira-mono
|
||||
font-fira-sans
|
||||
font-fira-code
|
||||
gcc-toolchain))
|
||||
%base-packages)
|
||||
|
||||
(services
|
||||
(append (modify-services %desktop-services
|
||||
(gdm-service-type config
|
||||
= (gdm-configuration
|
||||
(inherit config)
|
||||
(wayland? #t)
|
||||
(debug? #t))))))
|
||||
;; (append (modify-services %desktop-services
|
||||
;; (delete gdm-service-type))
|
||||
;; (list (service sddm-service-type
|
||||
;; (sddm-configuration
|
||||
;; (display-server "wayland"))))))
|
||||
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(targets (list "/boot/efi"))
|
||||
(keyboard-layout keyboard-layout)))
|
||||
(mapped-devices
|
||||
(list (mapped-device
|
||||
(source
|
||||
(uuid "abe760e2-4ba5-4f43-81a2-1c3f16eb62a8"))
|
||||
(target "cryptroot")
|
||||
(type luks-device-mapping))))
|
||||
(file-systems
|
||||
(cons* (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/mapper/cryptroot")
|
||||
(type "btrfs")
|
||||
(dependencies mapped-devices))
|
||||
(file-system
|
||||
(mount-point "/boot/efi")
|
||||
(device (uuid "15B3-5DE5" 'fat32))
|
||||
(type "vfat"))
|
||||
%base-file-systems))
|
||||
|
||||
|
||||
;; (services (cons* ...
|
||||
;; (modify-services %desktop-services
|
||||
;; (gdm-service-type config
|
||||
;; =;;putabrackethere (gdm-configuration
|
||||
;; (inherit config)
|
||||
;; (wayland? #t)
|
||||
;; (debug? #t))))))
|
||||