This commit is contained in:
Marat 2025-02-15 20:38:47 +06:00
parent 2dd069b177
commit 70043cec98
30 changed files with 1278 additions and 519 deletions

View File

@ -2,4 +2,4 @@
localhost
[local:vars]
display_server=wayland
display_server=xorg

View File

@ -12,7 +12,7 @@ allow_remote_control yes
enable_audio_bell no
url_style single
tab_bar_style powerline
hide_window_decorations yes
# hide_window_decorations yes
map ctrl+o copy_to_clipboard
map ctrl+m paste_from_clipboard
@ -22,7 +22,7 @@ map ctrl+m paste_from_clipboard
# BEGIN_KITTY_THEME
# Doom One
# include current-theme.conf
include gruvbox.conf
# include gruvbox.conf
# include space_grey.conf
# include doom-one.conf
# include nord.conf
@ -32,4 +32,8 @@ include gruvbox.conf
# include tokyo_night.conf
# include black-metal.conf
# include henna.conf
# include solarized_dark.conf
# include everforset-theme.conf
# include solarized_light.conf
# include gruvbox_light.conf
# END_KITTY_THEME

View File

@ -0,0 +1,37 @@
#!/bin/sh
# Example for $XDG_CONFIG_HOME/sxiv/exec/key-handler
# Called by sxiv(1) after the external prefix key (C-x by default) is pressed.
# The next key combo is passed as its first argument. Passed via stdin are the
# images to act upon, one path per line: all marked images, if in thumbnail
# mode and at least one image has been marked, otherwise the current image.
# sxiv(1) blocks until this script terminates. It then checks which images
# have been modified and reloads them.
# The key combo argument has the following form: "[C-][M-][S-]KEY",
# where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X
# keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix.
rotate() {
degree="$1"
tr '\n' '\0' | xargs -0 realpath | sort | uniq | while read file; do
case "$(file -b -i "$file")" in
image/jpeg*) jpegtran -rotate "$degree" -copy all -outfile "$file" "$file" ;;
*) mogrify -rotate "$degree" "$file" ;;
esac
done
}
case "$1" in
"C-x") xclip -in -filter | tr '\n' ' ' | xclip -in -selection clipboard ;;
"C-c") while read file; do xclip -selection clipboard -target image/png "$file"; done ;;
"C-e") while read file; do urxvt -bg "#444" -fg "#eee" -sl 0 -title "$file" -e sh -c "exiv2 pr -q -pa '$file' | less" & done ;;
"C-g") tr '\n' '\0' | xargs -0 gimp & ;;
"C-r") while read file; do rawtherapee "$file" & done ;;
"m") while read file; do echo "$file" >> /tmp/curr & done ;;
"w") while read file; do feh --bg-fill "$file" & done ;;
"b") while read file; do feh --bg-max "$file" & done ;;
"C-comma") rotate 270 ;;
"C-period") rotate 90 ;;
"C-slash") rotate 180 ;;
esac

View File

@ -14,7 +14,7 @@ set.clipboard = 'unnamed,unnamedplus'
set.list = true
set.lcs='space:·'
-- set.lcs='space:·'
g.mapleader='\\'
vim.o.termguicolors = true

View File

@ -1,17 +1,17 @@
-- vim.o.background = 'dark' -- 'dark' or 'light'
vim.o.background = 'dark' -- 'dark' or 'light'
vim.g.everforest_background = 'hard'
-- vim.g.everforest_background = 'hard'
-- vim.cmd('colorscheme everforest')
-- vim.cmd('colorscheme nord')
-- vim.cmd('colorscheme base16-black-metal')
-- vim.cmd('colorscheme doom-one')
-- vim.cmd('colorscheme dracula')
-- vim.cmd('colorscheme onedark')
-- vim.cmd('colorscheme nightfox')
-- vim.cmd('colorscheme Tomorrow-Night-Bright')
-- vim.cmd('colorscheme doom-one')
vim.cmd('colorscheme doom-one')
-- vim.cmd('colorscheme dracula-soft')
-- vim.cmd('colorscheme solarized')
vim.cmd('colorscheme gruvbox')
-- vim.cmd('colorscheme gruvbox')
-- vim.cmd('colorscheme iceberg')
-- vim.cmd('colorscheme lake')
-- vim.cmd('colorscheme tokyonight')
@ -21,6 +21,7 @@ vim.api.nvim_set_hl(0, 'CursorLine', { underline = true })
-- цвет номеров строк
vim.cmd('hi linenr guifg=white')
-- vim.cmd('hi linenr guifg=white')
-- vim.cmd('hi linenr guifg=#D3C6AA')
-- telescope
local builtin = require('telescope.builtin')

View File

@ -35,7 +35,7 @@ function rest()
local absolute_current_file = vim.api.nvim_buf_get_name(0)
local neovim_open_path = vim.fn.getcwd()
local pyhttp = 'python ~/bin/easy_http.py ' .. absolute_current_file .. ' ' .. neovim_open_path
local pyhttp = '~/bin/http ' .. absolute_current_file .. ' ' .. neovim_open_path
pyhttp_exec = io.popen(pyhttp)
close_window_with_response()

View File

@ -11,10 +11,9 @@ export PATH="$HOME/.local/bin:$PATH"
alias ls='ls --color=auto'
alias grep='grep --color=auto'
echo ""
# PS1="[\w] ($(git branch 2>/dev/null | grep '^*' | colrm 1 2)) \n-> "
# PS1='[\w]$(git rev-parse --is-inside-work-tree &>/dev/null && echo " ($(git branch 2>/dev/null | grep '\''^\*'\'' | colrm 1 2))") \n-> '
PS1='\w$(git rev-parse --is-inside-work-tree &>/dev/null && echo " ($(git branch 2>/dev/null | grep '\''^\*'\'' | colrm 1 2))") $ '
PS1='[\w]$(git rev-parse --is-inside-work-tree &>/dev/null && echo " ($(git branch 2>/dev/null | grep '\''^\*'\'' | colrm 1 2))") \n-> '
# PS1='\w$(git rev-parse --is-inside-work-tree &>/dev/null && echo " ($(git branch 2>/dev/null | grep '\''^\*'\'' | colrm 1 2))") $ '
export VISUAL=nvim
export MANPAGER='nvim +Man!'
@ -109,6 +108,8 @@ alias bg='feh --bg-fil'
alias em='emacsclient -t'
alias wifi='/home/fs/bin/wifi.py'
alias bgg='/home/fs/bin/gifwall.sh'
alias dff='echo -e "Filesystem\tSize\tUsed\tAvail\tUse%\tMounted on" && df -h | grep nvme'
alias sd='exa -al --color=always --group-directories-first -d */'
# git
alias gdel='f() { git branch -D $(git branch | grep "$1"); }; f'

View File

@ -9,6 +9,7 @@
- [[#ui][UI]]
- [[#main-packages][main packages]]
- [[#general-keybindings][General keybindings]]
- [[#window-move][Window move]]
- [[#evil-mode][Evil Mode]]
- [[#ivy][Ivy]]
- [[#counsel][Counsel]]
@ -33,10 +34,12 @@
- [[#org-babel-execute][org babel execute]]
- [[#org-agenda][org agenda]]
- [[#org-image][Org Image]]
- [[#org-level-size][org level size]]
- [[#programming][PROGRAMMING]]
- [[#snipets][snipets]]
- [[#python][python]]
- [[#go][go]]
- [[#emacs-lisp][Emacs-lisp]]
- [[#decorations][decorations]]
- [[#colorthemes][colorthemes]]
- [[#diff][diff]]
@ -51,14 +54,15 @@
- [[#programs][Programs]]
- [[#emms][emms]]
- [[#latex-pdf][Latex (pdf)]]
- [[#terminal][Terminal]]
- [[#exwm][EXWM]]
- [[#setup-windows-hotkey][setup windows hotkey]]
- [[#setup-wm][setup wm]]
- [[#text-processor][Text Processor]]
- [[#scripts][scripts]]
- [[#add-projectile-project][add projectile project]]
- [[#rest][REST]]
- [[#insert-some-text][insert some text]]
- [[#open-terminal][open terminal]]
* auto install packages
#+begin_src emacs-lisp
@ -211,6 +215,16 @@ https://github.com/noctuid/general.el
)
#+end_src
** Window move
#+begin_src emacs-lisp
(global-unset-key (kbd "C-j"))
(global-set-key (kbd "C-h") 'windmove-left) ;; Alt-h для перехода влево
(global-set-key (kbd "C-l") 'windmove-right) ;; Alt-l для перехода вправо
(global-set-key (kbd "C-k") 'windmove-up) ;; Alt-k для перехода вверх
(global-set-key (kbd "C-j") 'windmove-down) ;; Alt-j для перехода вниз
#+end_src
** Evil Mode
https://github.com/emacs-evil/evil
*** Setup
@ -354,6 +368,7 @@ https://github.com/emacs-evil/evil
(advice-remove 'process-exit-status #'filter-func))))))
#+end_src
** dired
*** setup
(setq dired-listing-switches "-alXGh --group-directories-first":
@ -428,10 +443,7 @@ https://github.com/emacs-evil/evil
"Open the current directory in Dired with PCManFM."
(interactive)
(let ((current-dir (dired-current-directory)))
(start-process "nautilus" nil "nautilus" current-dir)))
(define-key dired-mode-map (kbd "C-c o") 'dired-open-pcmanfm)
(start-process "pcmanfm" nil "pcmanfm" current-dir)))
#+end_src
*** функция для копирования текущего пути
@ -489,8 +501,8 @@ https://github.com/emacs-evil/evil
"atril" '(file))
;; (list (openwith-make-extension-regexp '("flac" "mp3" "wav"))
;; "vlc" '(file))
(list (openwith-make-extension-regexp '("bmp" "jpeg" "jpg" "png"))
"vimiv" '(file))
(list (openwith-make-extension-regexp '("bmp" "jpeg" "jpg" "png" "webp"))
"sxiv -t ." '(file))
(list (openwith-make-extension-regexp '("mpv" "mkv" "mp4"))
"mpv" '(file))
(list (openwith-make-extension-regexp '("doc" "docx" "odt"))
@ -647,6 +659,7 @@ https://github.com/emacs-evil/evil
#+end_src
** file (copy file, open file in dired)
*** Dired function
#+begin_src emacs-lisp
(defun open-current-directory-in-dired ()
"Open the current directory of the current file in Dired.
@ -656,13 +669,27 @@ If a Dired buffer is already opened, navigate to that buffer."
(if (get-buffer-window (dired-noselect dir))
(switch-to-buffer-other-window (dired-noselect dir))
(dired-jump nil dir))))
#+end_src
*** transpose-frame
#+begin_src emacs-lisp
(use-package transpose-frame
:ensure t
:bind (
("C-t" . transpose-frame)
))
#+end_src
#+begin_src emacs-lisp
(spc-leader
"f" '(:ignore t :wk "file")
"f" '(:ignore t :wk "file/frame")
"f t" '(transpose-frame :wk "transpose-frame")
"f c" '(copy-file :wk "copy file")
"f o" '(open-current-directory-in-dired :wk "open in dired"))
#+end_src
** bm-marks / org tangle
#+begin_src emacs-lisp
(spc-leader
@ -713,6 +740,15 @@ add and switch project
#+end_src
*** Search M-x commands with fzf
#+begin_src emacs-lisp
(use-package fzf
:ensure t
:init (setenv "FZF_DEFAULT_COMMAND" "fd --type f")
)
#+end_src
hot keys
#+begin_src emacs-lisp
(spc-leader
@ -819,7 +855,7 @@ hot keys
"g l g" '(magit-log-current :wk "log")
"g l l" '(magit-log-buffer-file :wk "log buffer")
"g c" '(magit-commit t :wk "commit")
"g c" '(magit-commit-create t :wk "commit")
"g b" '(:ignore t :wk "branch")
"g b b" '(magit-branch-checkout t :wk "checkout")
@ -834,6 +870,8 @@ hot keys
"g d d" '(magit-diff-buffer-file :wk "log buffer")
"g d g" '(magit-diff-unstaged :wk "diff unstaged buffer")
"g d s" '(magit-diff-staged :wk "diff staged buffer")
"g f" '(magit-fetch :wk "fetch")
)
#+end_src
@ -927,6 +965,16 @@ hot keys
(setq org-image-actual-width '(500))
#+end_src
** org level size
#+begin_src emacs-lisp
;; Установка стилей для заголовков
(custom-set-faces
'(org-level-1 ((t (:height 1.5 :weight bold))))
'(org-level-2 ((t (:height 1.3 :weight bold))))
'(org-level-3 ((t (:height 1.2))))
'(org-level-4 ((t (:height 1.1)))))
#+end_src
* PROGRAMMING
** snipets
@ -959,26 +1007,35 @@ hot keys
(add-hook 'go-mode-hook 'load-go-config)
#+end_src
** Emacs-lisp
#+begin_src emacs-lisp
(use-package highlight-function-calls
:ensure t
:config
(add-hook 'emacs-lisp-mode-hook 'highlight-function-calls-mode))
#+end_src
* decorations
** colorthemes
#+begin_src emacs-lisp
(custom-set-faces
'(line-number ((t (:foreground "white")))) ; Цвет отображения номера строки
'(line-number-current-line ((t (:foreground "white"))))) ; Цвет текущей строки
;; '(line-number ((t (:foreground "black")))) ; Цвет отображения номера строки
;; '(line-number-current-line ((t (:foreground "black"))))) ; Цвет текущей строки
'(org-block-background ((t (:background "#1b1b1b"))))
; '(line-number ((t (:foreground "black")))) ; Цвет отображения номера строки
; '(line-number-current-line ((t (:foreground "black"))))) ; Цвет текущей строки
;; (load-theme 'doom-1337 t)
;; (load-theme 'doom-nord t)
;; (load-theme 'doom-nord-aurora t)
;; (load-theme 'doom-nord-light t)
;; (load-theme 'doom-one-light t)
;; (load-theme 'doom-gruvbox-light t)
(load-theme 'doom-gruvbox t)
;; (load-theme 'doom-gruvbox t)
;; (load-theme 'doom-ayu-dark t)
;; (load-theme 'doom-dracula t)
;; (load-theme 'doom-tomorrow-night t)
;; (load-theme 'doom-henna t)
;; (load-theme 'doom-one t)
(load-theme 'doom-one t)
;; (load-theme 'doom-opera t)
;; (load-theme 'doom-monokai-pro t)
;; (load-theme 'doom-spacegrey t)
@ -986,6 +1043,8 @@ hot keys
;; (load-theme 'doom-xcode t)
;; (load-theme 'doom-solarized-light t)
;; (load-theme 'doom-solarized-dark t)
;; (load-theme 'solarized-gruvbox-light t)
;; (load-theme 'solarized-gruvbox-dark t)
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/everforest-theme")
;; (load-theme 'everforest-hard-dark t)
@ -1000,7 +1059,7 @@ hot keys
;; (set-frame-parameter nil 'alpha-background 100)
;; (set-frame-parameter nil 'alpha-background 92)
(let ((al 92)) ;; Прозрачность %
(let ((al 90)) ;; Прозрачность %
(set-frame-parameter (selected-frame) 'alpha `(,al . ,al)) ;; Прозрачность для текущего фрейма
(add-to-list 'default-frame-alist `(alpha . (,al . ,al)))) ;; Прозрачность для всех новых фреймов
@ -1042,7 +1101,7 @@ hot keys
(defun set-big-font ()
(interactive)
(set-face-attribute 'default nil
:font "JetBrainsMonoNL Nerd Font"
:font "Firacode Nerd Font"
:height 140
:weight 'medium))
@ -1240,6 +1299,24 @@ names, e.g. #0000ff is displayed in white with a blue background.
#+end_src
** Latex (pdf)
*** Warning
#+begin_quote
PLEASE READ THIS WARNING ***********************************
The following (inessential) packages failed to install properly:
yb-book
You can fix this by running this command:
tlmgr update --all --reinstall-forcibly-removed
to complete the installation.
However, if the problem was a failure to download (by far the
most common cause), check that you can connect to the chosen mirror
in a browser; you may need to specify a mirror explicitly.
******************************************************************
#+end_quote
*** Install
чтобы экспорт работал кректно надо установить pygments
=pip install pygments= но для arch linux =sudo pacman -S python-pygments=
@ -1298,6 +1375,97 @@ https://tug.org/texlive/quickinstall.html
a4paper — формат бумаги (можно поменять на letterpaper или другой, если требуется).
left=2cm, right=2cm, top=2.5cm, bottom=2.5cm — отступы от левой, правой, верхней и нижней границы страницы, соответственно. можно изменить эти значения на нужные размеры в сантиметрах (или дюймах, используя in).
** Terminal
*** Open terminal with random buffer name
#+begin_src emacs-lisp
(defun run-buffer-random (command)
"Open a shell and rename its buffer to shell-<randomname>."
(let ((random-name (format "shell-%s" (make-temp-name ""))) ; Генерируем случайное имя
(shell-buffer (funcall command))) ; Запускаем shell
(with-current-buffer shell-buffer
(rename-buffer random-name t)))) ; Переименовываем буфер
(defun open-eshell-on-right ()
"Open a terminal in a new right split window with a randomly named buffer."
(interactive)
(let ((term-buffer (generate-new-buffer (format "eshell-%s" (make-temp-name "")))))
(set-window-buffer (split-window-right) term-buffer)
(select-window (get-buffer-window term-buffer))
(eshell term-buffer)))
(defun rand-eshell ()
(interactive)
(run-buffer-random #'eshell)) ; Передаем функцию как объект
(defun rand-shell ()
(interactive)
(run-buffer-random #'vterm)) ; Передаем функцию как объект
(defun default-terminal ()
(interactive)
(run-buffer-random #'eshell))
#+end_src
*** scripts
**** fuzzy cd by main dirs
#+begin_src emacs-lisp
(defun counsel-find-dirs ()
"Search directories with `find` and display results in Ivy."
(interactive)
(let* ((paths '("/home/fs/Desktop/pet"
"/home/fs/Desktop/tmp"
"/home/fs/Desktop/work"))
(find-command (concat "find "
(mapconcat #'shell-quote-argument paths " ")
" -maxdepth 2 -type d ! -readable -prune -o -print"))
(results (split-string (shell-command-to-string find-command) "\n" t)))
(ivy-read "Select directory: " results
:action (lambda (dir)
(when (file-directory-p dir)
(dired dir))))))
#+end_src
**** цвета
#+begin_src emacs-lisp
(add-hook 'eshell-preoutput-filter-functions
'ansi-color-apply)
(setenv "TERM" "xterm-256color")
#+end_src
*** open terminal
#+begin_src emacs-lisp
(spc-leader
"t" '(:ignore t :wk "terminal")
"t e" '(rand-eshell :wk "run emacs shell")
"t s" '(rand-shell :wk "run standart shell")
"t t" '(open-eshell-on-right :wk "eshell on right")
)
#+end_src
*** Vterm
#+begin_src emacs-lisp
(use-package eshell-vterm
:load-path "site-lisp/eshell-vterm"
:demand t
:after eshell
:config
(eshell-vterm-mode))
#+end_src
**** Vterm paste
#+begin_src emacs-lisp
(with-eval-after-load 'evil
(add-hook 'vterm-mode-hook
(lambda ()
;; Назначение hjkl как стрелок в normal state
(evil-define-key 'normal vterm-mode-map
"p" 'vterm-yank
"h" (lambda () (interactive) (vterm-send-key "<left>"))
"j" (lambda () (interactive) (vterm-send-key "<down>"))
"k" (lambda () (interactive) (vterm-send-key "<up>"))
"l" (lambda () (interactive) (vterm-send-key "<right>"))))))
#+end_src
* EXWM
** setup windows hotkey
@ -1306,20 +1474,15 @@ left=2cm, right=2cm, top=2.5cm, bottom=2.5cm — отступы от левой,
(use-package ace-window
:ensure t
:bind (
("M-o" . ace-window)
("M-s" . ace-swap-window))
:config
(setq aw-swap-other-window t))
#+end_src
*** transpose-frame
#+begin_src emacs-lisp
(use-package transpose-frame
:ensure t
:bind (
("M-t" . transpose-frame)
))
#+end_src
#+RESULTS:
: ace-swap-window
** setup wm
#+begin_src emacs-lisp
@ -1327,9 +1490,15 @@ left=2cm, right=2cm, top=2.5cm, bottom=2.5cm — отступы от левой,
;; (expand-file-name
;; "lib/ex.org"
;; user-emacs-directory))
#+end_src
* Text Processor
#+begin_src emacs-lisp
(org-babel-load-file
(expand-file-name
"lib/text-processor.el"
user-emacs-directory))
#+end_src
* scripts
** add projectile project
@ -1411,19 +1580,3 @@ left=2cm, right=2cm, top=2.5cm, bottom=2.5cm — отступы от левой,
"i l " '(insert-latex-header :wk "latex header")
)
#+end_src
** open terminal
#+begin_src emacs-lisp
(defun open-term ()
"Open a terminal in a new right split window."
(interactive)
(let ((term-buffer (generate-new-buffer "*term*")))
(set-window-buffer (split-window-right) term-buffer)
(select-window (get-buffer-window term-buffer))
(vterm)))
(spc-leader
"t" '(:ignore t :wk "terminal")
"t t" '(open-term :wk "terminal")
)
#+end_src

View File

@ -0,0 +1,126 @@
;;; doom-tomorrow-night-theme.el --- One of the dark variants of Tomorrow -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Added: May 14, 2017 (4c981f2cccf3)
;; Author: Henrik Lissner <https://github.com/hlissner>
;; Maintainer:
;; Source: https://github.com/ChrisKempson/Tomorrow-Theme
;;
;;; Commentary:
;;; Code:
(require 'doom-themes)
;;
;;; Variables
(defgroup doom-tomorrow-night-theme nil
"Options for the `doom-tomorrow-night' theme."
:group 'doom-themes)
(defcustom doom-tomorrow-night-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to
determine the exact padding."
:group 'doom-tomorrow-night-theme
:type '(choice integer boolean))
;;
;;; Theme definition
(def-doom-theme doom-tomorrow-night
"A theme based off of Chris Kempson's Tomorrow Dark."
;; name gui 256 16
((bg '("#000000" nil nil ))
(bg-alt '("#000000" nil nil ))
(base0 '("#0d0d0d" "black" "black" ))
(base1 '("#1b1b1b" "#1b1b1b" ))
(base2 '("#212122" "#1e1e1e" ))
(base3 '("#0d0d0d" "#292929" "brightblack")) ;; bg org mode
(base4 '("#3f4040" "#3f3f3f" "brightblack"))
(base5 '("#5c5e5e" "#525252" "brightblack"))
(base6 '("#757878" "#6b6b6b" "brightblack"))
(base7 '("#969896" "#979797" "brightblack"))
(base8 '("#ffffff" "#ffffff" "white" ))
(fg '("#c5c8c6" "#c5c5c5" "white"))
(fg-alt (doom-darken fg 0.4))
(grey '("#5a5b5a" "#5a5a5a" "brightblack"))
(red '("#cc6666" "#cc6666" "red"))
(orange '("#de935f" "#dd9955" "brightred"))
(yellow '("#f0c674" "#f0c674" "yellow"))
(green '("#b5bd68" "#b5bd68" "green"))
(blue '("#81a2be" "#88aabb" "brightblue"))
(dark-blue '("#41728e" "#41728e" "blue"))
(teal blue) ; FIXME replace with real teal
(magenta '("#c9b4cf" "#c9b4cf" "magenta"))
(violet '("#b294bb" "#b294bb" "brightmagenta"))
(cyan '("#8abeb7" "#8abeb7" "cyan"))
(dark-cyan (doom-darken cyan 0.4))
;; face categories
(highlight blue)
(vertical-bar base0)
(selection `(,(car (doom-lighten bg 0.1)) ,@(cdr base4)))
(builtin blue)
(comments grey)
(doc-comments (doom-lighten grey 0.14))
(constants orange)
(functions blue)
(keywords violet)
(methods blue)
(operators fg)
(type yellow)
(strings green)
(variables red)
(numbers orange)
(region selection)
(error red)
(warning yellow)
(success green)
(vc-modified fg-alt)
(vc-added green)
(vc-deleted red)
;; custom categories
(modeline-bg `(,(doom-darken (car bg-alt) 0.3) ,@(cdr base3)))
(modeline-bg-alt `(,(car bg) ,@(cdr base1)))
(modeline-fg base8)
(modeline-fg-alt comments)
(-modeline-pad
(when doom-tomorrow-night-padded-modeline
(if (integerp doom-tomorrow-night-padded-modeline)
doom-tomorrow-night-padded-modeline
4))))
;; --- faces ------------------------------
(((line-number &override) :foreground base4)
((line-number-current-line &override) :foreground blue :bold bold)
(mode-line
:background modeline-bg :foreground modeline-fg
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-alt :foreground modeline-fg-alt
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
;;;; rainbow-delimiters
(rainbow-delimiters-depth-1-face :foreground violet)
(rainbow-delimiters-depth-2-face :foreground blue)
(rainbow-delimiters-depth-3-face :foreground orange)
(rainbow-delimiters-depth-4-face :foreground green)
(rainbow-delimiters-depth-5-face :foreground magenta)
(rainbow-delimiters-depth-6-face :foreground yellow)
(rainbow-delimiters-depth-7-face :foreground teal)
;;;; doom-modeline
(doom-modeline-buffer-path :foreground violet :bold bold)
(doom-modeline-buffer-major-mode :inherit 'doom-modeline-buffer-path))
;; --- variables --------------------------
;; ()
)
;;; doom-tomorrow-night-theme.el ends here

View File

@ -1,5 +1,161 @@
(defun volume-up ()
"Increase the volume by 5%."
(interactive)
(start-process-shell-command "volume-up" nil "pactl set-sink-volume 0 +5%"))
(defun volume-down ()
"Decrease the volume by 5%."
(interactive)
(start-process-shell-command "volume-down" nil "pactl set-sink-volume 0 -5%"))
(defun volume-mute-toggle ()
"Toggle mute."
(interactive)
(start-process-shell-command "volume-mute" nil "pactl set-sink-mute 0 toggle"))
(defun change-lan ()
"change language"
(interactive)
(start-process-shell-command "change-local" nil "bash /home/fs/bin/change_layout.sh"))
(defun make-screenshot ()
"change language"
(interactive)
(start-process-shell-command "make-screenshot" nil "flameshot gui"))
(defun my-hide-current-buffer ()
"Скрыть текущий буфер."
(interactive)
(scratch-buffer)
(delete-window))
(defun efs/exwm-update-class ()
(exwm-workspace-rename-buffer exwm-class-name))
(defun efs/exwm-init ()
(exwm-workspace-switch-create 1)
)
(use-package exwm
:config
(setq exwm-workspace-number 9)
;; Set the default number of workspaces
(setq exwm-workspace-number 10)
;; When window "class" updates, use it to set the buffer name
(add-hook 'exwm-update-class-hook #'efs/exwm-update-class)
(add-hook 'exwm-init-hook #'efs/exwm-init)
;; These keys should always pass through to Emacs
(setq exwm-input-prefix-keys
'(?\C-x
?\C-u
;; ?\C-h
?\M-x
?\M-`
?\M-&
?\M-:
?\M-r
?\M-j ; move
?\M-k ; move
?\M-h ; move
?\M-l ; move
?\M-J ; move swap
?\M-K ; move swap
?\M-H ; move swap
?\M-L ; move swap
?\M-n ; buffers
?\M-p ; buffers
?\M-\ ;
?\M-- ;
?\M-m ; hide buffer
?\M-1 ; workspace
?\M-2 ; workspace
?\M-3 ; workspace
?\M-4 ; workspace
?\M-5 ; workspace
?\M-6 ; workspace
?\M-7 ; workspace
?\M-8 ; workspace
?\M-9 ; workspace
?\s-\ ;
?\C-\M-j ;; Buffer list
?\C-\ )) ;; Ctrl+Space
;; Ctrl+Q will enable the next key to be sent directly
(define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
;; Set up global key bindings. These always work, no matter the input state!
;; Keep in mind that changing this list after EXWM initializes has no effect.
(global-set-key (kbd "s-SPC") 'change-lan)
(global-set-key (kbd "M-.") 'change-lan)
(global-set-key (kbd "M-ю") 'change-lan)
(global-set-key (kbd "M--") 'change-lan)
(global-set-key (kbd "M-r") 'counsel-linux-app)
(global-set-key (kbd "M-m") 'my-hide-current-buffer)
(global-set-key (kbd "M-n") 'next-buffer)
(global-set-key (kbd "M-p") 'previous-buffer)
(global-set-key (kbd "M-1") (lambda () (interactive) (exwm-workspace-switch-create 1)))
(global-set-key (kbd "M-2") (lambda () (interactive) (exwm-workspace-switch-create 2)))
(global-set-key (kbd "M-3") (lambda () (interactive) (exwm-workspace-switch-create 3)))
(global-set-key (kbd "M-4") (lambda () (interactive) (exwm-workspace-switch-create 4)))
(global-set-key (kbd "M-5") (lambda () (interactive) (exwm-workspace-switch-create 5)))
(global-set-key (kbd "M-6") (lambda () (interactive) (exwm-workspace-switch-create 6)))
(global-set-key (kbd "M-7") (lambda () (interactive) (exwm-workspace-switch-create 7)))
(global-set-key (kbd "M-8") (lambda () (interactive) (exwm-workspace-switch-create 8)))
(global-set-key (kbd "M-9") (lambda () (interactive) (exwm-workspace-switch-create 9)))
(global-set-key (kbd "M-h") (lambda () (interactive) (windmove-left)))
(global-set-key (kbd "M-l") (lambda () (interactive) (windmove-right)))
(global-set-key (kbd "M-j") (lambda () (interactive) (windmove-down)))
(global-set-key (kbd "M-k") (lambda () (interactive) (windmove-up)))
(global-set-key (kbd "M-H") (lambda () (interactive) (windmove-swap-states-left)))
(global-set-key (kbd "M-L") (lambda () (interactive) (windmove-swap-states-right)))
(global-set-key (kbd "M-J") (lambda () (interactive) (windmove-swap-states-down)))
(global-set-key (kbd "M-K") (lambda () (interactive) (windmove-swap-states-up)))
(global-set-key (kbd "C-c p") (lambda () (interactive) (make-screenshot)))
(setq exwm-input-global-keys
`(
;; Reset to line-mode (C-c C-k switches to char-mode via exwm-input-release-keyboard)
([?\s-r] . exwm-reset)
(,(kbd "s-h") . windmove-left) ;; Super + h: окно влево
(,(kbd "s-l") . windmove-right) ;; Super + l: окно вправо
(,(kbd "s-k") . windmove-up) ;; Super + k: окно вверх
(,(kbd "s-j") . windmove-down)
(,(kbd "<XF86AudioRaiseVolume>") . volume-up)
(,(kbd "<XF86AudioLowerVolume>") . volume-down)
(,(kbd "<XF86AudioMute>") . volume-mute-toggle)
;; Launch applications via shell command
([?\s-&] . (lambda (command)
(interactive (list (read-shell-command "$ ")))
(start-process-shell-command command nil command)))
;; Switch workspace
([?\s-w] . exwm-workspace-switch)
))
;; Show battery status in the mode line
(display-battery-mode 1)
;; Show the time and date in modeline
(setq display-time-day-and-date t)
(display-time-mode 1)
(exwm-enable))
(message "----- hi")
(require 'exwm-randr)
(exwm-randr-enable)
(start-process-shell-command "xrandr" nil "xrandr --output HDMI1 --mode 3840x2160 --panning 3840x2160 --rate 60 --output eDP1 --off")
(global-set-key (kbd "<XF86AudioRaiseVolume>") 'volume-up)
(global-set-key (kbd "<XF86AudioLowerVolume>") 'volume-down)
(global-set-key (kbd "<XF86AudioMute>") 'volume-mute-toggle)

View File

@ -0,0 +1,45 @@
(require 'json)
(require 'url-util)
(defun tx/add-to-end (start end user-input)
""
(interactive "r\nsEnter: ")
(let ((selected-text (buffer-substring start end)))
(message "Selected text: %s, User input: %s" selected-text user-input)
(delete-region start end)
(dolist (line (split-string selected-text "\n"))
(insert (concat line user-input "\n")))))
(defun tx/remove-line-separator (start end)
(interactive "r")
(let ((selected-text (buffer-substring start end)))
(delete-region start end)
(dolist (line (split-string selected-text "\n"))
(insert (string-replace " " "" (concat line " "))))
))
(defun tx/add-separator-by-symbol (start end user-input)
(interactive "r\nsEnter symbol: ")
(let ((selected-text (buffer-substring start end)))
(delete-region start end)
(dolist (line (split-string selected-text user-input))
(insert (concat line user-input "\n")))))
(defun tx/url-param-to-json (start end)
"Convert URL query parameters from the region (START END) into JSON format."
(interactive "r")
(let* ((url-string (buffer-substring-no-properties start end))
(query-part (if (string-match "\\?.*" url-string)
(substring url-string (+ (match-beginning 0) 1))
url-string))
(params (url-parse-query-string query-part))
(json-object (mapcar (lambda (pair)
(cons (car pair) (cadr pair)))
params)))
(kill-new (json-encode json-object))
(message "Converted URL parameters to JSON and copied to clipboard: %s"
(json-encode json-object))))

View File

@ -42,7 +42,6 @@ set -g status-left-length 60
# set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=black,fg=colour241,nobold,noitalics,nounderscore]"
# set-option -g status-right "#[bg=black,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
#
# set-window-option -g window-status-current-format "#[bg=green,fg=black,nobold,noitalics,nounderscore]#[bg=green,fg=black] #I #[bg=green,fg=black,bold] #W#{?window_zoomed_flag,*Z,} #[bg=black,fg=green,nobold,noitalics,nounderscore]"
# set-window-option -g window-status-format "#[bg=white,fg=black,noitalics]#[bg=white,fg=black] #I #[bg=white,fg=black,bold] #W #[bg=black,fg=white,noitalics]"
@ -50,4 +49,3 @@ set -g status-left-length 60
set -g base-index 1
setw -g pane-base-index 1
bind-key s choose-tree -ZsK '#{?#{e|<:#{line},9},#{e|+:1,#{line}},#{?#{e|<:#{line},35},M-#{a:#{e|+:97,#{e|-:#{line},9}}},}}'

View File

@ -3,12 +3,10 @@ xrandr --auto
xrandr -r 60.00
xrdb ~/.Xresources
slstatus &
# picom &
picom &
flameshot &
emacs --bg-daemon=main &
emacs --bg-daemon=fm &
emacs --bg-daemon=music &
emacs --bg-daemon=other &
dunst &
exec ~/bin/startdwm
# exec dwm
# exec dbus-launch --exit-with-session emacs
# while read -r line; do export "$line"; done < /home/fs/scale_vars && exec emacs

View File

@ -3,7 +3,9 @@
# Путь к файлу profiles.ini
PROFILES_INI="$HOME/.mozilla/firefox/profiles.ini"
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
while read -r line; do export "$line"; done < /home/fs/scale_vars
profiles_ini="$HOME/.mozilla/firefox/profiles.ini"
profiles=$(grep '\[Profile' -A 2 "$profiles_ini" | grep 'Name=' | cut -d '=' -f 2)
selected_profile=$(echo "$profiles" | wofi --dmenu --prompt "Choose Firefox Profile:")
@ -11,10 +13,10 @@ if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
firefox -P "$selected_profile";
fi
else
# Получение списка профилей
while read -r line; do export "$line"; done < /home/fs/scale_vars
dpi="125"
profile=$(grep '\[Profile' -A 2 "$PROFILES_INI" | grep "Name=" | sed 's/Name=//' | rofi -dmenu -dpi $dpi)
# profile=$(grep '\[Profile' -A 2 "$PROFILES_INI" | grep "Name=" | sed 's/Name=//' | rofi -dmenu -dpi $dpi)
profile=$(grep '\[Profile' -A 2 "$PROFILES_INI" | grep "Name=" | sed 's/Name=//' | dmenu -l 15)
if [ ! "$profile" = "" ]; then
firefox -P "$profile";
fi

Binary file not shown.

View File

@ -6,15 +6,17 @@ import time
import sys
path = '/home/fs/Pictures/pic/new_hidpi_wallpaper'
server = os.getenv('XDG_SESSION_TYPE')
# path = '/home/fs/Pictures/pic/mafu_wallpaper/'
minute = 10
server = os.getenv('XDG_SESSION_TYPE')
if server == 'wayland':
command = 'killall swaybg; swaybg -i "{}" -m fill &'
else:
command = 'feh --randomize --bg-fill "{}"'
minute = 10
if len(sys.argv) > 1:

View File

@ -1,5 +1,10 @@
#!/bin/sh
while read -r line; do export "$line"; done < /home/fs/scale_vars
dpi="125"
rofi -modi drun -show drun Papirus -dpi $dpi -sorting-method fzf -sort -matching fuzzy -show-icons -icon-theme Papirus
# rofi -modi drun -show drun -show-icons -icon-theme Papirus -dpi $dpi -sorting-method fzf -sort -matching fuzzy
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
wofi --show run
else
# rofi -modi drun -show drun Papirus -dpi $dpi -sorting-method fzf -sort -matching fuzzy -show-icons -icon-theme Papirus
dmenu_run -l 15
fi

Binary file not shown.

View File

@ -8,7 +8,7 @@ Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ILoveCandy
#ILoveCandy
ParallelDownloads = 5
SigLevel = Required DatabaseOptional

View File

@ -24,6 +24,7 @@
loop:
- { src: "files/config/kitty" }
- { src: "files/config/nvim" }
- { src: "files/config/nsxiv" }
- name: Copy pacman.conf
copy:

View File

@ -16,7 +16,7 @@
- name: drivers & demons & low level tools
pacman:
name:
- openresolv # resolv.conf management framework (resolvconf) Optional For: dhcpcd networkmanager wireguard-tools
- openresolv # resolv.conf management framework (resolvconf) Optional For: dhcpcd networkmanager wireguard-tools
- android-file-transfer
- openssh
- ntfs-3g
@ -35,7 +35,7 @@
- drawing
- gnome-sound-recorder
- cherrytree
- chromium
- brave
- firefox
- libreoffice-still
- virt-manager
@ -87,3 +87,4 @@
- ttf-liberation
- ttf-opensans
- ttf-ubuntu-mono-nerd
- ttf-cascadia-code-nerd

View File

@ -3,7 +3,5 @@
name: "{{ item }}"
user: "{{ main_user.name }}"
loop:
- moc-pulse
- vimiv-qt
# - vimiv-qt
- ttf-devicons
- snapd

View File

@ -1,14 +1,14 @@
- name: install packages from main repository
ansible.builtin.include_tasks:
file: "apps.yml"
# - name: install packages from main repository
# ansible.builtin.include_tasks:
# file: "apps.yml"
- name: install aur packages
ansible.builtin.include_tasks:
file: "aur.yml"
# - name: install aur packages
# ansible.builtin.include_tasks:
# file: "aur.yml"
- name: include tasks install docker file
ansible.builtin.include_tasks:
file: "docker.yml"
# - name: include tasks install docker file
# ansible.builtin.include_tasks:
# file: "docker.yml"
- name: include tasks install xorg
when: display_server == 'xorg'

View File

@ -9,7 +9,8 @@
# titlebar_padding 1
# titlebar_border_thickness 0
set $menu wofi --show run
# set $menu wofi --show run
set $menu ~/bin/rofi
### Variables
#
@ -28,7 +29,7 @@ set $term kitty
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
# output * bg /home/fs/Pictures/nord.png fill
output * bg /home/fs/Pictures/pic/new_hidpi_wallpaper/wallpaper_upscayl_2x_realesrgan-x4plus-anime.png fill
output * bg /home/fs/Downloads/wp4330820-distro-wallpapers.png fill
#
# Example configuration:
#
@ -83,23 +84,23 @@ output * bg /home/fs/Pictures/pic/new_hidpi_wallpaper/wallpaper_upscayl_2x_reale
bindsym $mod+e mode $emacs_map
mode "$emacs_map" {
bindsym e exec "emacsclient -n -q -c --socket-name=main" ; mode "default"
# bindsym o exec "emacsclient -n -q -c --socket-name=other" ; mode "default"
# bindsym h exec "emacsclient -n -q -c --socket-name=http /home/fs/Desktop/work/http/"; mode "default"
# bindsym d exec "emacsclient -n -q -c --socket-name=documents /home/fs/Documents/" ; mode "default"
# bindsym f exec "emacsclient -n -q -c --socket-name=fm /home/fs/" ; mode "default"
# bindsym p exec "emacsclient -n -q -c --socket-name=fm /home/fs/Pictures/ " ; mode "default"
# bindsym v exec "emacsclient -n -q -c --socket-name=fm /home/fs/Videos/ " ; mode "default"
# bindsym m exec "emacsclient -n -q -c --socket-name=music /home/fs/Music/8/ " ; mode "default"
# bindsym t exec "emacsclient -n -q -c --socket-name=terminal" ; mode "default"
bindsym o exec "emacsclient -n -q -c --socket-name=other" ; mode "default"
bindsym h exec "emacsclient -n -q -c --socket-name=http /home/fs/Desktop/work/http/"; mode "default"
bindsym d exec "emacsclient -n -q -c --socket-name=documents /home/fs/Documents/" ; mode "default"
bindsym f exec "emacsclient -n -q -c --socket-name=fm /home/fs/" ; mode "default"
bindsym p exec "emacsclient -n -q -c --socket-name=fm /home/fs/Pictures/ " ; mode "default"
bindsym v exec "emacsclient -n -q -c --socket-name=fm /home/fs/Videos/ " ; mode "default"
bindsym m exec "emacsclient -n -q -c --socket-name=music /home/fs/Music/8/ " ; mode "default"
bindsym t exec "emacsclient -n -q -c --socket-name=terminal" ; mode "default"
bindsym o exec "emacsclient -n -q -c" ; mode "default"
bindsym h exec "emacsclient -n -q -c /home/fs/Desktop/work/http/"; mode "default"
bindsym d exec "emacsclient -n -q -c /home/fs/Documents/" ; mode "default"
bindsym f exec "emacsclient -n -q -c /home/fs/" ; mode "default"
bindsym p exec "emacsclient -n -q -c /home/fs/Pictures/ " ; mode "default"
bindsym v exec "emacsclient -n -q -c /home/fs/Videos/ " ; mode "default"
bindsym m exec "emacsclient -n -q -c /home/fs/Music/8/ " ; mode "default"
bindsym t exec "emacsclient -n -q -c" ; mode "default"
# bindsym o exec "emacsclient -n -q -c" ; mode "default"
# bindsym h exec "emacsclient -n -q -c /home/fs/Desktop/work/http/"; mode "default"
# bindsym d exec "emacsclient -n -q -c /home/fs/Documents/" ; mode "default"
# bindsym f exec "emacsclient -n -q -c /home/fs/" ; mode "default"
# bindsym p exec "emacsclient -n -q -c /home/fs/Pictures/ " ; mode "default"
# bindsym v exec "emacsclient -n -q -c /home/fs/Videos/ " ; mode "default"
# bindsym m exec "emacsclient -n -q -c /home/fs/Music/8/ " ; mode "default"
# bindsym t exec "emacsclient -n -q -c" ; mode "default"
}
# Drag floating windows by holding down $mod and left mouse button.

View File

@ -1,20 +1,20 @@
# Generated by nwg-displays on 2024-10-13 at 20:17:30. Do not edit manually.
# Generated by nwg-displays on 2024-12-30 at 07:56:36. Do not edit manually.
output "eDP-1" {
mode 1920x1080@60.004Hz
pos 2480 1800
output "HDMI-A-1" {
mode 3840x2160@60.0Hz
pos 0 0
transform normal
scale 1.0
scale_filter nearest
adaptive_sync off
dpms on
}
output "HDMI-A-1" {
mode 3840x2160@60.0Hz
pos 1888 0
output "eDP-1" {
mode 1920x1080@144.003Hz
pos 3840 0
transform normal
scale 1.2
scale_filter linear
scale 1.0
scale_filter nearest
adaptive_sync off
dpms on
}

View File

@ -0,0 +1,212 @@
{
"layer": "top",
"position": "top",
"modules-left": [
"sway/mode",
"sway/workspaces",
"custom/arrow10",
"sway/window"
],
"modules-right": [
"custom/arrow9",
"pulseaudio",
"custom/arrow8",
"network",
"custom/arrow7",
"memory",
"custom/arrow6",
"cpu",
"custom/arrow5",
"temperature",
"custom/arrow4",
"battery",
"custom/arrow3",
"sway/language",
"custom/arrow2",
"tray",
"clock#date",
"custom/arrow1",
"clock#time"
],
// Modules
"battery": {
"interval": 10,
"states": {
"warning": 30,
"critical": 15
},
"format-time": "{H}:{M:02}",
"format": "{icon} {capacity}% ({time})",
"format-charging": " {capacity}% ({time})",
"format-charging-full": " {capacity}%",
"format-full": "{icon} {capacity}%",
"format-alt": "{icon} {power}W",
"format-icons": [
" ",
" ",
" ",
" ",
" "
],
"tooltip": false
},
"clock#time": {
"interval": 10,
"format": "{:%H:%M}",
"tooltip": false
},
"clock#date": {
"interval": 20,
"format": "{:%e %b %Y}",
"tooltip": false
//"tooltip-format": "{:%e %B %Y}"
},
"sway/language": {
"format": " {short}",
"min-length": 5,
"on-click": "swaymsg 'input * xkb_switch_layout next'",
"tooltip": false
},
"cpu": {
"interval": 5,
"tooltip": false,
"format": " {usage}%",
"format-alt": " {load}",
"states": {
"warning": 70,
"critical": 90
}
},
"memory": {
"interval": 5,
"format": "RAM {used:0.1f}G/{total:0.1f}G",
"states": {
"warning": 70,
"critical": 90
},
"tooltip": false
},
"network": {
"interval": 5,
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": " {ifname}",
"format-disconnected": "No connection",
"format-alt": " {ipaddr}/{cidr}",
"tooltip": false
},
"sway/mode": {
"format": "{}",
"tooltip": false
},
"sway/window": {
"format": "{}",
"max-length": 30,
"tooltip": false
},
"sway/workspaces": {
"disable-scroll-wraparound": true,
"smooth-scrolling-threshold": 4,
"enable-bar-scroll": true,
"format": "{name}"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"headphone": " ",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": [" ", " "]
},
"scroll-step": 1,
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"tooltip": false
},
"temperature": {
"critical-threshold": 90,
"interval": 5,
"format": "{icon} {temperatureC}°",
"format-icons": [
"",
"",
"",
"",
""
],
"tooltip": false
},
"tray": {
"icon-size": 18
//"spacing": 10
},
"custom/arrow1": {
"format": "",
"tooltip": false
},
"custom/arrow2": {
"format": "",
"tooltip": false
},
"custom/arrow3": {
"format": "",
"tooltip": false
},
"custom/arrow4": {
"format": "",
"tooltip": false
},
"custom/arrow5": {
"format": "",
"tooltip": false
},
"custom/arrow6": {
"format": "",
"tooltip": false
},
"custom/arrow7": {
"format": "",
"tooltip": false
},
"custom/arrow8": {
"format": "",
"tooltip": false
},
"custom/arrow9": {
"format": "",
"tooltip": false
},
"custom/arrow10": {
"format": "",
"tooltip": false
}
}

View File

@ -0,0 +1,266 @@
@keyframes blink-critical {
to {
/*color: @white;*/
background-color: @critical;
}
}
/* Styles */
/* Colors (gruvbox) */
@define-color black #282828;
@define-color red #cc241d;
@define-color green #98971a;
@define-color yellow #d79921;
@define-color blue #458588;
@define-color purple #b16286;
@define-color aqua #689d6a;
@define-color gray #a89984;
@define-color brgray #928374;
@define-color brred #fb4934;
@define-color brgreen #b8bb26;
@define-color bryellow #fabd2f;
@define-color brblue #83a598;
@define-color brpurple #d3869b;
@define-color braqua #8ec07c;
@define-color white #ebdbb2;
@define-color bg2 #504945;
@define-color warning @bryellow;
@define-color critical @red;
@define-color mode @black;
@define-color unfocused @bg2;
@define-color focused @braqua;
@define-color inactive @purple;
@define-color sound @brpurple;
@define-color network @purple;
@define-color memory @braqua;
@define-color cpu @green;
@define-color temp @brgreen;
@define-color layout @bryellow;
@define-color battery @aqua;
@define-color date @black;
@define-color time @white;
/* Reset all styles */
* {
border: none;
border-radius: 0;
min-height: 0;
margin: 0;
padding: 0;
box-shadow: none;
text-shadow: none;
icon-shadow: none;
}
/* The whole bar */
#waybar {
background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */
color: @white;
font-family: JetBrains Mono, Siji;
/*font-size: 10pt;
font-weight: bold;*/
font-size: 13pt;
}
/* Each module */
#battery,
#clock,
#cpu,
#language,
#memory,
#mode,
#network,
#pulseaudio,
#temperature,
#tray,
#backlight,
#idle_inhibitor,
#disk,
#user,
#mpris {
padding-left: 8pt;
padding-right: 8pt;
}
/* Each critical module */
#mode,
#memory.critical,
#cpu.critical,
#temperature.critical,
#battery.critical.discharging {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-name: blink-critical;
animation-duration: 1s;
}
/* Each warning */
#network.disconnected,
#memory.warning,
#cpu.warning,
#temperature.warning,
#battery.warning.discharging {
color: @warning;
}
/* And now modules themselves in their respective order */
/* Current sway mode (resize etc) */
#mode {
color: @white;
background: @mode;
}
/* Workspaces stuff */
#workspaces button {
/*font-weight: bold;*/
padding-left: 2pt;
padding-right: 2pt;
color: @white;
background: @unfocused;
}
/* Inactive (on unfocused output) */
#workspaces button.visible {
color: @white;
background: @inactive;
}
/* Active (on focused output) */
#workspaces button.focused {
color: @black;
background: @focused;
}
/* Contains an urgent window */
#workspaces button.urgent {
color: @black;
background: @warning;
}
/* Style when cursor is on the button */
#workspaces button:hover {
background: @black;
color: @white;
}
#window {
margin-right: 35pt;
margin-left: 35pt;
}
#pulseaudio {
background: @sound;
color: @black;
}
#network {
background: @network;
color: @white;
}
#memory {
background: @memory;
color: @black;
}
#cpu {
background: @cpu;
color: @white;
}
#temperature {
background: @temp;
color: @black;
}
#language {
background: @layout;
color: @black;
}
#battery {
background: @battery;
color: @white;
}
#tray {
background: @date;
}
#clock.date {
background: @date;
color: @white;
}
#clock.time {
background: @time;
color: @black;
}
#custom-arrow1 {
font-size: 11pt;
color: @time;
background: @date;
}
#custom-arrow2 {
font-size: 11pt;
color: @date;
background: @layout;
}
#custom-arrow3 {
font-size: 11pt;
color: @layout;
background: @battery;
}
#custom-arrow4 {
font-size: 11pt;
color: @battery;
background: @temp;
}
#custom-arrow5 {
font-size: 11pt;
color: @temp;
background: @cpu;
}
#custom-arrow6 {
font-size: 11pt;
color: @cpu;
background: @memory;
}
#custom-arrow7 {
font-size: 11pt;
color: @memory;
background: @network;
}
#custom-arrow8 {
font-size: 11pt;
color: @network;
background: @sound;
}
#custom-arrow9 {
font-size: 11pt;
color: @sound;
background: transparent;
}
#custom-arrow10 {
font-size: 11pt;
color: @unfocused;
background: transparent;
}

View File

@ -1,102 +1,101 @@
// -*- mode: json -*-
{
"layer": "top",
"position": "top",
"modules-left": [
"sway/mode",
"sway/workspaces",
"custom/arrow10",
"sway/window"
"custom/right-arrow-dark"
],
"modules-center": [
"custom/left-arrow-dark",
"clock#1",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"clock#2",
"custom/right-arrow-dark",
"custom/right-arrow-light",
"clock#3",
"custom/right-arrow-dark"
],
"modules-right": [
"custom/arrow9",
"custom/left-arrow-dark",
"pulseaudio",
"custom/arrow8",
"network",
"custom/arrow7",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"network",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"sway/language",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"memory",
"custom/arrow6",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"cpu",
"custom/arrow5",
"temperature",
"custom/arrow4",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"battery",
"custom/arrow3",
"sway/language",
"custom/arrow2",
"tray",
"clock#date",
"custom/arrow1",
"clock#time"
"custom/left-arrow-light",
"custom/left-arrow-dark",
"disk",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"tray"
],
// Modules
"battery": {
"interval": 10,
"states": {
"warning": 30,
"critical": 15
},
"format-time": "{H}:{M:02}",
"format": "{icon} {capacity}% ({time})",
"format-charging": " {capacity}% ({time})",
"format-charging-full": " {capacity}%",
"format-full": "{icon} {capacity}%",
"format-alt": "{icon} {power}W",
"format-icons": [
" ",
" ",
" ",
" ",
" "
],
"custom/left-arrow-dark": {
"format": "",
"tooltip": false
},
"custom/left-arrow-light": {
"format": "",
"tooltip": false
},
"custom/right-arrow-dark": {
"format": "",
"tooltip": false
},
"custom/right-arrow-light": {
"format": "",
"tooltip": false
},
"clock#time": {
"interval": 10,
"sway/workspaces": {
"disable-scroll": true,
"format": "{name}"
},
"clock#1": {
"format": "{:%a}",
"tooltip": false
},
"clock#2": {
"format": "{:%H:%M}",
"tooltip": false
},
"clock#date": {
"interval": 20,
"format": "{:%e %b %Y}",
"tooltip": false
//"tooltip-format": "{:%e %B %Y}"
},
"sway/language": {
"format": " {short}",
"min-length": 5,
"on-click": "swaymsg 'input * xkb_switch_layout next'",
"clock#3": {
"format": "{:%m-%d}",
"tooltip": false
},
"cpu": {
"interval": 5,
"tooltip": false,
"format": " {usage}%",
"format-alt": " {load}",
"states": {
"warning": 70,
"critical": 90
}
},
"memory": {
"interval": 5,
"format": "RAM {used:0.1f}G/{total:0.1f}G",
"states": {
"warning": 70,
"critical": 90
"pulseaudio": {
"format": "{icon} {volume:2}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "MUTE",
"format-icons": {
"headphones": "",
"default": [
"",
""
]
},
"tooltip": false
"scroll-step": 5,
"on-click": "pamixer -t",
"on-click-right": "pavucontrol"
},
"network": {
"network": {
"interval": 5,
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": " {ifname}",
@ -104,109 +103,41 @@
"format-alt": " {ipaddr}/{cidr}",
"tooltip": false
},
"sway/mode": {
"format": "{}",
"sway/language": {
"format": " {short}",
"min-length": 5,
"on-click": "swaymsg 'input * xkb_switch_layout next'",
"tooltip": false
},
"sway/window": {
"format": "{}",
"max-length": 30,
"tooltip": false
},
"sway/workspaces": {
"disable-scroll-wraparound": true,
"smooth-scrolling-threshold": 4,
"enable-bar-scroll": true,
"format": "{name}"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "",
"format-icons": {
"headphone": " ",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": [" ", " "]
},
"scroll-step": 1,
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"tooltip": false
},
"temperature": {
"critical-threshold": 90,
"memory": {
"interval": 5,
"format": "{icon} {temperatureC}°",
"format": "Mem {}%"
},
"cpu": {
"interval": 5,
"format": "CPU {usage:2}%"
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-icons": [
"",
"",
"",
"",
""
],
"tooltip": false
"",
"",
"",
"",
""
]
},
"disk": {
"interval": 5,
"format": "Disk {percentage_used:2}%",
"path": "/"
},
"tray": {
"icon-size": 18
//"spacing": 10
},
"custom/arrow1": {
"format": "",
"tooltip": false
},
"custom/arrow2": {
"format": "",
"tooltip": false
},
"custom/arrow3": {
"format": "",
"tooltip": false
},
"custom/arrow4": {
"format": "",
"tooltip": false
},
"custom/arrow5": {
"format": "",
"tooltip": false
},
"custom/arrow6": {
"format": "",
"tooltip": false
},
"custom/arrow7": {
"format": "",
"tooltip": false
},
"custom/arrow8": {
"format": "",
"tooltip": false
},
"custom/arrow9": {
"format": "",
"tooltip": false
},
"custom/arrow10": {
"format": "",
"tooltip": false
"icon-size": 30
}
}

View File

@ -1,265 +1,84 @@
@keyframes blink-critical {
to {
/*color: @white;*/
background-color: @critical;
}
}
/* Styles */
/* Colors (gruvbox) */
@define-color black #282828;
@define-color red #cc241d;
@define-color green #98971a;
@define-color yellow #d79921;
@define-color blue #458588;
@define-color purple #b16286;
@define-color aqua #689d6a;
@define-color gray #a89984;
@define-color brgray #928374;
@define-color brred #fb4934;
@define-color brgreen #b8bb26;
@define-color bryellow #fabd2f;
@define-color brblue #83a598;
@define-color brpurple #d3869b;
@define-color braqua #8ec07c;
@define-color white #ebdbb2;
@define-color bg2 #504945;
@define-color warning @bryellow;
@define-color critical @red;
@define-color mode @black;
@define-color unfocused @bg2;
@define-color focused @braqua;
@define-color inactive @purple;
@define-color sound @brpurple;
@define-color network @purple;
@define-color memory @braqua;
@define-color cpu @green;
@define-color temp @brgreen;
@define-color layout @bryellow;
@define-color battery @aqua;
@define-color date @black;
@define-color time @white;
/* Reset all styles */
* {
border: none;
border-radius: 0;
min-height: 0;
margin: 0;
padding: 0;
box-shadow: none;
text-shadow: none;
icon-shadow: none;
font-size: 20px;
font-family: monospace;
}
/* The whole bar */
#waybar {
background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */
color: @white;
font-family: JetBrains Mono, Siji;
font-size: 10pt;
/*font-weight: bold;*/
window#waybar {
background: #292b2e;
color: #fdf6e3;
}
/* Each module */
#battery,
#clock,
#cpu,
#language,
#memory,
#mode,
#network,
#custom-right-arrow-dark,
#custom-left-arrow-dark {
color: #1a1a1a;
}
#custom-right-arrow-light,
#custom-left-arrow-light {
color: #292b2e;
background: #1a1a1a;
}
#workspaces,
#clock.1,
#clock.2,
#clock.3,
#pulseaudio,
#temperature,
#tray,
#backlight,
#idle_inhibitor,
#memory,
#cpu,
#battery,
#disk,
#user,
#mpris {
padding-left: 8pt;
padding-right: 8pt;
#network,
#language,
#tray {
background: #1a1a1a;
}
/* Each critical module */
#mode,
#memory.critical,
#cpu.critical,
#temperature.critical,
#battery.critical.discharging {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-name: blink-critical;
animation-duration: 1s;
}
/* Each warning */
#network.disconnected,
#memory.warning,
#cpu.warning,
#temperature.warning,
#battery.warning.discharging {
color: @warning;
}
/* And now modules themselves in their respective order */
/* Current sway mode (resize etc) */
#mode {
color: @white;
background: @mode;
}
/* Workspaces stuff */
#workspaces button {
/*font-weight: bold;*/
padding-left: 2pt;
padding-right: 2pt;
color: @white;
background: @unfocused;
padding: 0 2px;
color: #fdf6e3;
}
/* Inactive (on unfocused output) */
#workspaces button.visible {
color: @white;
background: @inactive;
}
/* Active (on focused output) */
#workspaces button.focused {
color: @black;
background: @focused;
color: #268bd2;
}
/* Contains an urgent window */
#workspaces button.urgent {
color: @black;
background: @warning;
}
/* Style when cursor is on the button */
#workspaces button:hover {
background: @black;
color: @white;
box-shadow: inherit;
text-shadow: inherit;
}
#window {
margin-right: 35pt;
margin-left: 35pt;
#workspaces button:hover {
background: #1a1a1a;
border: #1a1a1a;
padding: 0 3px;
}
#pulseaudio {
background: @sound;
color: @black;
color: #268bd2;
}
#network {
background: @network;
color: @white;
}
#memory {
background: @memory;
color: @black;
color: #2aa198;
}
#cpu {
background: @cpu;
color: @white;
color: #6c71c4;
}
#temperature {
background: @temp;
color: @black;
}
#language {
background: @layout;
color: @black;
}
#battery {
background: @battery;
color: @white;
color: #859900;
}
#disk {
color: #b58900;
}
#network {
color: #C7EFCF;
}
#language {
color: #E4DFDA;
}
#tray {
background: @date;
}
#clock.date {
background: @date;
color: @white;
}
#clock.time {
background: @time;
color: @black;
}
#custom-arrow1 {
font-size: 11pt;
color: @time;
background: @date;
}
#custom-arrow2 {
font-size: 11pt;
color: @date;
background: @layout;
}
#custom-arrow3 {
font-size: 11pt;
color: @layout;
background: @battery;
}
#custom-arrow4 {
font-size: 11pt;
color: @battery;
background: @temp;
}
#custom-arrow5 {
font-size: 11pt;
color: @temp;
background: @cpu;
}
#custom-arrow6 {
font-size: 11pt;
color: @cpu;
background: @memory;
}
#custom-arrow7 {
font-size: 11pt;
color: @memory;
background: @network;
}
#custom-arrow8 {
font-size: 11pt;
color: @network;
background: @sound;
}
#custom-arrow9 {
font-size: 11pt;
color: @sound;
background: transparent;
}
#custom-arrow10 {
font-size: 11pt;
color: @unfocused;
background: transparent;
#clock,
#pulseaudio,
#memory,
#cpu,
#battery,
#language,
#disk {
padding: 0 10px;
}

View File

@ -1,6 +1,7 @@
#!/bin/bash
rsync -av /home/fs/.config/nvim/ roles/dots/files/config/nvim --exclude packer
rsync -av /home/fs/.config/kitty/ roles/dots/files/config/kitty
rsync -av /home/fs/.config/nsxiv/ roles/dots/files/config/nsxiv
# emacs
cp /home/fs/.emacs.d/config.org roles/dots/files/home/.emacs.d/
@ -23,3 +24,4 @@ cp /home/fs/.ssh/config roles/dots/files/home/.ssh/
rsync -av /home/fs/.moc roles/dots/files/home/
rsync -av /home/fs/bin roles/dots/files/home/
rsync -av /home/fs/bin roles/dots/files/home/