diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi index c1173a4..8c23162 100644 --- a/.config/rofi/config.rasi +++ b/.config/rofi/config.rasi @@ -1,146 +1,150 @@ /* -*- mode: css; -*- */ configuration { - modi: "combi"; - /* width: 50; */ - /* lines: 15;*/ - /* columns: 1;*/ - /* font: "mono 12";*/ - /* bw: 1;*/ - /* location: 0;*/ - /* padding: 5;*/ - /* yoffset: 0;*/ - /* xoffset: 0;*/ - /* fixed-num-lines: true;*/ - /* show-icons: false;*/ - /* terminal: "rofi-sensible-terminal";*/ - /* ssh-client: "ssh";*/ - /* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/ - /* run-command: "{cmd}";*/ - /* run-list-command: "";*/ - /* run-shell-command: "{terminal} -e {cmd}";*/ - /* window-command: "wmctrl -i -R {window}";*/ - /* window-match-fields: "all";*/ - /* icon-theme: ;*/ - /* drun-match-fields: "name,generic,exec,categories";*/ - /* drun-show-actions: false;*/ - /* drun-display-format: "{name} [({generic})]";*/ - /* disable-history: false;*/ - /* ignored-prefixes: "";*/ - /* sort: false; */ - /* sorting-method: ;*/ - /* case-sensitive: false;*/ - /* cycle: true;*/ - /* sidebar-mode: false;*/ - /* eh: 1;*/ - /* auto-select: false;*/ - /* parse-hosts: false;*/ - /* parse-known-hosts: true;*/ - combi-modi: "window,drun,ssh,combi"; - /* matching: "normal";*/ - /* tokenize: true;*/ - /* m: "-5";*/ - /* line-margin: 2;*/ - /* line-padding: 1;*/ - /* filter: ;*/ - /* separator-style: "dash";*/ - /* hide-scrollbar: false;*/ - /* fullscreen: false;*/ - /* fake-transparency: false;*/ - /* dpi: -1;*/ - /* threads: 0;*/ - /* scrollbar-width: 8;*/ - /* scroll-method: 0;*/ - /* fake-background: "screenshot";*/ - /* window-format: "{w} {c} {t}";*/ - /* click-to-exit: true;*/ - /* show-match: true;*/ - theme: "~/.cache/wal/colors-rofi-dark.rasi"; - /* color-normal: ;*/ - /* color-urgent: ;*/ - /* color-active: ;*/ - /* color-window: ;*/ - /* max-history-size: 25;*/ - /* combi-hide-mode-prefix: false;*/ - /* matching-negate-char: '-' /* unsupported */;*/ - /* cache-dir: ;*/ - /* pid: "/run/user/1000/rofi.pid";*/ - /* display-window: ;*/ - /* display-windowcd: ;*/ - /* display-run: ;*/ - /* display-ssh: ;*/ - /* display-drun: ;*/ - /* display-combi: ;*/ - /* display-keys: ;*/ - /* kb-primary-paste: "Control+V,Shift+Insert";*/ - /* kb-secondary-paste: "Control+v,Insert";*/ - /* kb-clear-line: "Control+w";*/ - /* kb-move-front: "Control+a";*/ - /* kb-move-end: "Control+e";*/ - /* kb-move-word-back: "Alt+b,Control+Left";*/ - /* kb-move-word-forward: "Alt+f,Control+Right";*/ - /* kb-move-char-back: "Left,Control+b";*/ - /* kb-move-char-forward: "Right,Control+f";*/ - /* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/ - /* kb-remove-word-forward: "Control+Alt+d";*/ - /* kb-remove-char-forward: "Delete,Control+d";*/ - /* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/ - /* kb-remove-to-eol: "Control+k";*/ - /* kb-remove-to-sol: "Control+u";*/ - /* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/ - /* kb-accept-custom: "Control+Return";*/ - /* kb-accept-alt: "Shift+Return";*/ - /* kb-delete-entry: "Shift+Delete";*/ - /* kb-mode-next: "Shift+Right,Control+Tab";*/ - /* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/ - /* kb-row-left: "Control+Page_Up";*/ - /* kb-row-right: "Control+Page_Down";*/ - /* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/ - /* kb-row-down: "Down,Control+n";*/ - /* kb-row-tab: "Tab";*/ - /* kb-page-prev: "Page_Up";*/ - /* kb-page-next: "Page_Down";*/ - /* kb-row-first: "Home,KP_Home";*/ - /* kb-row-last: "End,KP_End";*/ - /* kb-row-select: "Control+space";*/ - /* kb-screenshot: "Alt+S";*/ - /* kb-ellipsize: "Alt+period";*/ - /* kb-toggle-case-sensitivity: "grave,dead_grave";*/ - /* kb-toggle-sort: "Alt+grave";*/ - /* kb-cancel: "Escape,Control+g,Control+bracketleft";*/ - /* kb-custom-1: "Alt+1";*/ - /* kb-custom-2: "Alt+2";*/ - /* kb-custom-3: "Alt+3";*/ - /* kb-custom-4: "Alt+4";*/ - /* kb-custom-5: "Alt+5";*/ - /* kb-custom-6: "Alt+6";*/ - /* kb-custom-7: "Alt+7";*/ - /* kb-custom-8: "Alt+8";*/ - /* kb-custom-9: "Alt+9";*/ - /* kb-custom-10: "Alt+0";*/ - /* kb-custom-11: "Alt+exclam";*/ - /* kb-custom-12: "Alt+at";*/ - /* kb-custom-13: "Alt+numbersign";*/ - /* kb-custom-14: "Alt+dollar";*/ - /* kb-custom-15: "Alt+percent";*/ - /* kb-custom-16: "Alt+dead_circumflex";*/ - /* kb-custom-17: "Alt+ampersand";*/ - /* kb-custom-18: "Alt+asterisk";*/ - /* kb-custom-19: "Alt+parenleft";*/ - /* kb-select-1: "Super+1";*/ - /* kb-select-2: "Super+2";*/ - /* kb-select-3: "Super+3";*/ - /* kb-select-4: "Super+4";*/ - /* kb-select-5: "Super+5";*/ - /* kb-select-6: "Super+6";*/ - /* kb-select-7: "Super+7";*/ - /* kb-select-8: "Super+8";*/ - /* kb-select-9: "Super+9";*/ - /* kb-select-10: "Super+0";*/ - /* ml-row-left: "ScrollLeft";*/ - /* ml-row-right: "ScrollRight";*/ - /* ml-row-up: "ScrollUp";*/ - /* ml-row-down: "ScrollDown";*/ - /* me-select-entry: "MousePrimary";*/ - /* me-accept-entry: "MouseDPrimary";*/ - /* me-accept-custom: "Control+MouseDPrimary";*/ + /* columns: 4; */ + combi-modi: [window,drun,ssh]; + location: 0; + /* modi: [window,drun,ssh,combi]; */ + lines: 20; + parse-hosts: false; + parse-known-hosts: false; + terminal: "st"; + /* theme: "~/.cache/wal/colors-rofi-dark.rasi"; */ + /* width: 50; */ + /* auto-select: false;*/ + /* bw: 1; */ + /* cache-dir: ;*/ + /* case-sensitive: false;*/ + /* click-to-exit: true;*/ + /* color-active: ;*/ + /* color-normal: ;*/ + /* color-urgent: ;*/ + /* color-window: ;*/ + /* combi-hide-mode-prefix: false;*/ + /* combi-modi: "window,drun,ssh,combi"; */ + /* cycle: true;*/ + /* disable-history: false; */ + /* display-combi: ;*/ + /* display-drun: ;*/ + /* display-keys: ;*/ + /* display-run: ;*/ + /* display-ssh: ;*/ + /* display-window: ;*/ + /* display-windowcd: ;*/ + /* dpi: -1;*/ + /* drun-display-format: "{name} [({generic})]"; */ + /* drun-match-fields: "name,generic,exec,categories"; */ + /* drun-show-actions: false;*/ + /* eh: 1;*/ + /* fake-background: "screenshot";*/ + /* fake-transparency: false;*/ + /* filter: ;*/ + /* fixed-num-lines: true;*/ + /* font: "mono 12";*/ + /* fullscreen: false;*/ + /* hide-scrollbar: false;*/ + /* icon-theme: ""; */ + /* ignored-prefixes: "";*/ + /* kb-accept-alt: "Shift+Return";*/ + /* kb-accept-custom: "Control+Return";*/ + /* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/ + /* kb-cancel: "Escape,Control+g,Control+bracketleft";*/ + /* kb-clear-line: "Control+w";*/ + /* kb-custom-10: "Alt+0";*/ + /* kb-custom-11: "Alt+exclam";*/ + /* kb-custom-12: "Alt+at";*/ + /* kb-custom-13: "Alt+numbersign";*/ + /* kb-custom-14: "Alt+dollar";*/ + /* kb-custom-15: "Alt+percent";*/ + /* kb-custom-16: "Alt+dead_circumflex";*/ + /* kb-custom-17: "Alt+ampersand";*/ + /* kb-custom-18: "Alt+asterisk";*/ + /* kb-custom-19: "Alt+parenleft";*/ + /* kb-custom-1: "Alt+1";*/ + /* kb-custom-2: "Alt+2";*/ + /* kb-custom-3: "Alt+3";*/ + /* kb-custom-4: "Alt+4";*/ + /* kb-custom-5: "Alt+5";*/ + /* kb-custom-6: "Alt+6";*/ + /* kb-custom-7: "Alt+7";*/ + /* kb-custom-8: "Alt+8";*/ + /* kb-custom-9: "Alt+9";*/ + /* kb-delete-entry: "Shift+Delete";*/ + /* kb-ellipsize: "Alt+period";*/ + /* kb-mode-next: "Shift+Right,Control+Tab";*/ + /* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/ + /* kb-move-char-back: "Left,Control+b";*/ + /* kb-move-char-forward: "Right,Control+f";*/ + /* kb-move-end: "Control+e";*/ + /* kb-move-front: "Control+a";*/ + /* kb-move-word-back: "Alt+b,Control+Left";*/ + /* kb-move-word-forward: "Alt+f,Control+Right";*/ + /* kb-page-next: "Page_Down";*/ + /* kb-page-prev: "Page_Up";*/ + /* kb-primary-paste: "Control+V,Shift+Insert";*/ + /* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/ + /* kb-remove-char-forward: "Delete,Control+d";*/ + /* kb-remove-to-eol: "Control+k";*/ + /* kb-remove-to-sol: "Control+u";*/ + /* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/ + /* kb-remove-word-forward: "Control+Alt+d";*/ + /* kb-row-down: "Down,Control+n";*/ + /* kb-row-first: "Home,KP_Home";*/ + /* kb-row-last: "End,KP_End";*/ + /* kb-row-left: "Control+Page_Up";*/ + /* kb-row-right: "Control+Page_Down";*/ + /* kb-row-select: "Control+space";*/ + /* kb-row-tab: "Tab";*/ + /* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/ + /* kb-screenshot: "Alt+S";*/ + /* kb-secondary-paste: "Control+v,Insert";*/ + /* kb-select-10: "Super+0";*/ + /* kb-select-1: "Super+1";*/ + /* kb-select-2: "Super+2";*/ + /* kb-select-3: "Super+3";*/ + /* kb-select-4: "Super+4";*/ + /* kb-select-5: "Super+5";*/ + /* kb-select-6: "Super+6";*/ + /* kb-select-7: "Super+7";*/ + /* kb-select-8: "Super+8";*/ + /* kb-select-9: "Super+9";*/ + /* kb-toggle-case-sensitivity: "grave,dead_grave";*/ + /* kb-toggle-sort: "Alt+grave";*/ + /* line-margin: 2;*/ + /* line-padding: 1;*/ + /* m: "-5";*/ + /* matching-negate-char: '-' /* unsupported */;*/ + /* matching: "normal";*/ + /* max-history-size: 25;*/ + /* me-accept-custom: "Control+MouseDPrimary";*/ + /* me-accept-entry: "MouseDPrimary";*/ + /* me-select-entry: "MousePrimary";*/ + /* ml-row-down: "ScrollDown";*/ + /* ml-row-left: "ScrollLeft";*/ + /* ml-row-right: "ScrollRight";*/ + /* ml-row-up: "ScrollUp";*/ + /* padding: 5; */ + /* pid: "/run/user/1000/rofi.pid";*/ + /* run-command: "{cmd}";*/ + /* run-list-command: "";*/ + /* run-shell-command: "{terminal} -e {cmd}";*/ + /* scroll-method: 0;*/ + /* scrollbar-width: 8;*/ + /* separator-style: "dash";*/ + /* show-icons: true; */ + /* show-match: true;*/ + /* show: combi; */ + /* sidebar-mode: true; */ + /* sort: true; */ + /* sorting-method: ;*/ + /* ssh-client: "ssh";*/ + /* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/ + /* threads: 0;*/ + /* tokenize: true;*/ + /* window-command: "wmctrl -i -R {window}";*/ + /* window-format: "{w} {c} {t}";*/ + /* window-match-fields: "all";*/ + /* xoffset: 0; */ + /* yoffset: 0; */ } +@import "flamingo" +@theme "~/.cache/wal/colors-rofi-dark.rasi" diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index aefd866..9cdcc4a 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -85,14 +85,15 @@ pavucontrol pdfpc picom-ibhagwan-git polybar powerline-fonts prettier \ pulseaudio-bluetooth python-autoflake python-envtpl-git python-epc \ python-importmagic python-language-server python-nose python-pip python-ptvsd \ python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer reflector \ -rofi rsync rtv rustup samba scrot sent shadow siji-git simplescreenrecorder \ -sshfs st-luke-git sxiv texlive-bin texlive-langchinese texlive-langcyrillic \ -texlive-langgreek texlive-langjapanese texlive-langkorean texlive-latexextra \ +rofi rsync rtv ruby-rb-fsevent ruby-sass rustup samba scrot sent shadow \ +siji-git simplescreenrecorder sshfs st-luke-git sxiv texlive-bin \ +texlive-langchinese texlive-langcyrillic texlive-langgreek \ +texlive-langjapanese texlive-langkorean texlive-latexextra \ texlive-localmanager-git texlive-most tmux tree ttf-arphic-uming ttf-baekmuk \ ttf-dejavu ttf-google-fonts-opinionated-git ttf-hanazono ttf-joypixels \ ttf-koruri ttf-liberation ttf-monapo ttf-sazanami ttf-tibetan-machine \ -typescript typescript-language-server-bin unicode-emoji unrar usbutils valgrind \ -vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \ +typescript typescript-language-server-bin unicode-emoji unrar usbutils \ +valgrind vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \ x11-ssh-askpass xclip xdg-user-dirs-gtk xfsprogs xorg-drivers xorg-server \ xorg-xinit xss-lock xvkbd yaml-language-server-bin yapf diff --git a/.config/yadm/files.gpg b/.config/yadm/files.gpg index 19054d8..53d634e 100644 Binary files a/.config/yadm/files.gpg and b/.config/yadm/files.gpg differ diff --git a/.local/share/applications/FlowScape.desktop b/.local/share/applications/FlowScape.desktop index 4c497f7..b592b4d 100644 --- a/.local/share/applications/FlowScape.desktop +++ b/.local/share/applications/FlowScape.desktop @@ -2,7 +2,7 @@ Version=1.5 Name=FlowScape Comment=Create gorgeous 3D landscapes with ease. -Exec=/home/phundrak/FlowScape/FlowScape.x86_64 +Exec=/usr/bin/prime-run /home/phundrak/FlowScape/FlowScape.x86_64 Path=/home/phundrak/FlowScape Icon=/home/phundrak/FlowScape/icon.jpg Terminal=false diff --git a/.spacemacs b/.spacemacs index 2c31fb4..fe607ba 100644 --- a/.spacemacs +++ b/.spacemacs @@ -124,7 +124,7 @@ This function is called at the very end of Spacemacs initialization." '(org-trello-current-prefix-keybinding "C-c o" nil (org-trello)) '(package-selected-packages (quote - (org-ref lsp-dart mu4e-maildirs-extension mu4e-alert helm-mu xkcd vmd-mode visual-fill-column typit mmt sudoku restclient-helm pony-mode pacmacs ox-reveal outorg ob-restclient ob-http meson-mode ibuffer-projectile lv helm-w3m w3m graphviz-dot-mode flycheck-gometalinter transient ess-smart-equals ess-R-data-view ctable ess julia-mode eshell-git-prompt emoji-cheat-sheet-plus edit-indirect dockerfile-mode docker docker-tramp company-restclient restclient know-your-http-well company-quickhelp company-emoji company-emacs-eclim eclim atomic-chrome websocket 2048-game ox-gfm slime-company slime common-lisp-snippets erlang insert-shebang fish-mode company-shell faceup racket-mode treepy graphql yapfify yaml-mode xterm-color web-beautify twittering-mode toml-mode tagedit stickyfunc-enhance smeargle slim-mode shell-pop selectric-mode scss-mode sass-mode ranger rainbow-identifiers pytest pyenv-mode py-isort pug-mode plantuml-mode phpunit phpcbf php-auto-yasnippets pdf-tools tablist ox-pandoc orgit org-present org-pomodoro alert log4e gntp ob-elixir multi-term markdown-toc magit-gitflow magit-gh-pulls livid-mode live-py-mode json-snatcher js2-refactor js-doc htmlize hlint-refactor hindent helm-pydoc helm-hoogle helm-gitignore helm-css-scss haskell-snippets haml-mode gnuplot glsl-mode gitignore-mode github-search github-clone github-browse-file gitconfig-mode gitattributes-mode git-messenger gist gh marshal logito pcache ht gh-md flyspell-correct-helm flyspell-correct flycheck-rust pos-tip flycheck-mix flycheck-credo eshell-z eshell-prompt-extras esh-help drupal-mode disaster cython-mode dash-functional tern company-ghci company-ghc ghc color-identifiers-mode cmm-mode clang-format cargo auto-dictionary alchemist modern-cpp-font-lock yasnippet-snippets x86-lookup web-mode srefactor racer pyvenv pip-requirements pandoc-mode org-projectile org-category-capture org-mime org-download nasm-mode json-reformat intero imenu-list hy-mode git-timemachine git-link geiser flycheck-pos-tip flycheck-haskell evil-magit emmet-mode cmake-mode anaconda-mode rust-mode elixir-mode flycheck haskell-mode multiple-cursors skewer-mode simple-httpd markdown-mode magit magit-popup git-commit ghub with-editor pythonic emms gmail-message-mode ham-mode html-to-markdown flymd edit-server image-dired+ go-guru go-eldoc company-go go-mode unfill mwim company-web web-completion-data company-tern company-cabal company-c-headers company-auctex company-anaconda elcord xresources-theme sql-indent rainbow-mode php-extras php-mode mmm-mode json-mode js2-mode csv-mode coffee-mode auctex helm-company helm-c-yasnippet fuzzy company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async))) + (caddyfile-mode org-ref lsp-dart mu4e-maildirs-extension mu4e-alert helm-mu xkcd vmd-mode visual-fill-column typit mmt sudoku restclient-helm pony-mode pacmacs ox-reveal outorg ob-restclient ob-http meson-mode ibuffer-projectile lv helm-w3m w3m graphviz-dot-mode flycheck-gometalinter transient ess-smart-equals ess-R-data-view ctable ess julia-mode eshell-git-prompt emoji-cheat-sheet-plus edit-indirect dockerfile-mode docker docker-tramp company-restclient restclient know-your-http-well company-quickhelp company-emoji company-emacs-eclim eclim atomic-chrome websocket 2048-game ox-gfm slime-company slime common-lisp-snippets erlang insert-shebang fish-mode company-shell faceup racket-mode treepy graphql yapfify yaml-mode xterm-color web-beautify twittering-mode toml-mode tagedit stickyfunc-enhance smeargle slim-mode shell-pop selectric-mode scss-mode sass-mode ranger rainbow-identifiers pytest pyenv-mode py-isort pug-mode plantuml-mode phpunit phpcbf php-auto-yasnippets pdf-tools tablist ox-pandoc orgit org-present org-pomodoro alert log4e gntp ob-elixir multi-term markdown-toc magit-gitflow magit-gh-pulls livid-mode live-py-mode json-snatcher js2-refactor js-doc htmlize hlint-refactor hindent helm-pydoc helm-hoogle helm-gitignore helm-css-scss haskell-snippets haml-mode gnuplot glsl-mode gitignore-mode github-search github-clone github-browse-file gitconfig-mode gitattributes-mode git-messenger gist gh marshal logito pcache ht gh-md flyspell-correct-helm flyspell-correct flycheck-rust pos-tip flycheck-mix flycheck-credo eshell-z eshell-prompt-extras esh-help drupal-mode disaster cython-mode dash-functional tern company-ghci company-ghc ghc color-identifiers-mode cmm-mode clang-format cargo auto-dictionary alchemist modern-cpp-font-lock yasnippet-snippets x86-lookup web-mode srefactor racer pyvenv pip-requirements pandoc-mode org-projectile org-category-capture org-mime org-download nasm-mode json-reformat intero imenu-list hy-mode git-timemachine git-link geiser flycheck-pos-tip flycheck-haskell evil-magit emmet-mode cmake-mode anaconda-mode rust-mode elixir-mode flycheck haskell-mode multiple-cursors skewer-mode simple-httpd markdown-mode magit magit-popup git-commit ghub with-editor pythonic emms gmail-message-mode ham-mode html-to-markdown flymd edit-server image-dired+ go-guru go-eldoc company-go go-mode unfill mwim company-web web-completion-data company-tern company-cabal company-c-headers company-auctex company-anaconda elcord xresources-theme sql-indent rainbow-mode php-extras php-mode mmm-mode json-mode js2-mode csv-mode coffee-mode auctex helm-company helm-c-yasnippet fuzzy company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async))) '(pdf-view-midnight-colors (quote ("#655370" . "#fbf8ef"))) '(safe-local-variable-values (quote diff --git a/org/config/LICENSE.md b/org/config/LICENSE.md new file mode 120000 index 0000000..fdf5433 --- /dev/null +++ b/org/config/LICENSE.md @@ -0,0 +1 @@ +/home/phundrak/LICENSE.md \ No newline at end of file diff --git a/org/config/awesome.org b/org/config/awesome.org index 107cb2e..0aca509 100644 --- a/org/config/awesome.org +++ b/org/config/awesome.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- #+title: AwesomeWM configuration -#+INCLUDE: headers.org +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -19,6 +19,11 @@ - [[#error-handling][Error handling]] - [[#variable-definitions][Variable definitions]] - [[#themes][Themes]] + - [[#creating-my-own-theme-wip-not-yet-used][Creating my own theme (WIP, not yet used)]] + - [[#loading-assets][Loading assets]] + - [[#inherit-the-default-theme][Inherit the default theme]] + - [[#loading-default-fonts-and-colors][Loading default fonts and colors]] + - [[#loading-the-theme][Loading the theme]] - [[#default-terminal-and-text-editor][Default terminal and text editor]] - [[#keys][Keys]] - [[#wallpapers-directory][Wallpapers directory]] @@ -191,12 +196,105 @@ :PROPERTIES: :CUSTOM_ID: h-b2f0f248-68ba-4bdd-a63d-98ee640b071c :END: - The following line will load the default colors, icons, fonts and wallpapers. - It is possible to write a custom theme for Awesome by loading a different Lua - file. - #+BEGIN_SRC lua - beautiful.init("/home/phundrak/.config/awesome/xresources/theme.lua") - #+END_SRC + With Awesome, it is possible to load or write custom themes in order to give + Awesome a special look that fits the user. I used to load the default theme + from Xresources, but now I would like to use my own theme, tweaked to my + liking. + +*** Creating my own theme (WIP, not yet used) + :PROPERTIES: + :CUSTOM_ID: h-45318187-d57c-4f40-a8c6-fad9d90333eb + :HEADER-ARGS:lua: :tangle ~/.config/awesome/theme/theme.lua :exports code + :HEADER-ARGS:emacs-lisp: :exports none :cache yes + :END: + Here I will create my own theme, which will be exported to + =~/.config/awesome/theme/theme.lua=. It is based on my former Xresources + theme, but also on some other themes I found on the internet, particularly + on Github. Here are a few I would like to mention: + - [[https://github.com/lcpz/awesome-copycats/tree/master/themes/powerarrow-dark][Powerarrow-dark]] + - DistroTube’s Qtile theme, which you can see [[https://lbry.tv/@DistroTube:2/reactos-is-an-open-source-windows:9?r=4LXiLPA3uQN6Ekx8Rnu9oNVUVArqsbPf][here]] + + My theme has two main dependencies: [[https://github.com/lcpz/lain][lain]] and [[https://github.com/lcpz/awesome-freedesktop][freedesktop]] for Awesome. The + former is a framework for Awesome theming while the second enables its users + to add ~.desktop~ entries to the Awesome menu. + +**** Loading assets + :PROPERTIES: + :CUSTOM_ID: h-34db58ad-011d-4ebb-892a-6f481ba460aa + :END: + So first off, let’s load our libraries or anything I might need to import. + First, let's import the ~theme_assets~ module of ~beautiful~, a collection + of functions for theming, as well as the ~xresources~ library which will + let us interact with the Xresources theme. The ~filesystem~ module of + ~gears~ will also enable us to interact with the system’s filesystem, + getting paths and files. I will also import ~lain~, the above described + dependency, so I get some useful functions and constructs. + #+NAME: theme-modules-import-table + | Module | Import as | What it is | + |------------------------+--------------+--------------------------| + | beautiful.theme_assets | theme_assets | theming library | + | beautiful.xresources | xresources | Xresources interactivity | + | gears.filesystem | gfs | filesystem interactivity | + | lain | lain | theming framework | + + #+NAME: theme-modules-import-gen + #+BEGIN_SRC emacs-lisp :var table=theme-modules-import-table formstr="local %s = require(\"%s\")" + (mapconcat (lambda (x) + (format formstr + (cadr x) (car x))) + table "\n") + #+END_SRC + + Here is what the code looks like: + #+BEGIN_SRC lua + <> + #+END_SRC + + Let’s also import some functions and values! + #+NAME: theme-modules-variables-table + | What to import | Import as | What it is | + |--------------------------------+-------------+------------------------------------| + | xresources.apply_dpi | dpi | Apply screen’s DPI ([[https://awesomewm.org/doc/api/libraries/beautiful.html#lib_beautiful_xresources_Functions][documentation]]) | + | xresources.get_current_theme() | xrdb | Get current Xresources theme | + | gfs.get_themes_dir() | themes_path | Get path to default Awesome themes | + + Here is what the code looks like: + #+BEGIN_SRC lua + <> + #+END_SRC + +**** Inherit the default theme + :PROPERTIES: + :CUSTOM_ID: h-bcb7fef1-009d-418d-8903-9196881da791 + :END: + Now that I imported what I need, I can get a default theme which I will + later modify: + #+BEGIN_SRC lua + local theme = dofile(themes_path.."default/theme.lua") + #+END_SRC + +**** Loading default fonts and colors + :PROPERTIES: + :CUSTOM_ID: h-f95c53b3-42fc-410b-b836-482b10075be3 + :END: + With the default theme loaded, let's modify it! The theme’s font will be + the same as the one I use for st: Source Code Pro for Powerline + #+BEGIN_SRC lua + theme.font = "Source Code Pro for Powerline 8" + #+END_SRC + +*** Loading the theme + :PROPERTIES: + :CUSTOM_ID: h-27548575-a623-4478-8406-ff23f9d1dce4 + :END: + Finally, let’s load our theme. + #+BEGIN_SRC lua + beautiful.init("/home/phundrak/.config/awesome/xresources/theme.lua") + #+END_SRC + + On top of that, I would like to edit some settings. First of all, let’s set + some default transparency for Awesome, with an alpha background. By default, + it is completely opaque with a max value of ~256~ and a minimal value of ~0~. ** Default terminal and text editor :PROPERTIES: @@ -274,7 +372,7 @@ papes = get_papes() pape = papes[math.random(#papes)] awful.spawn.with_shell("nitrogen --set-scaled "..pape.." && wal -o wal-set -i "..pape) - naughty.notify({ prest = naughty.config.presets.normal, + naughty.notify({ preset = naughty.config.presets.normal, title = "Wallpaper change", text = "Done!"}) end @@ -1099,6 +1197,7 @@ #+NAME: sc-app-rofi | Key | Modifiers | Lambda? | Action | What it does | Group | |-----+------------------------+---------+---------------------------------------+---------------------------------+-------| + | a | modkey | shell | awiki | find and open an ArchWiki page | rofi | | d | modkey | spawn | rofi -show combi | invoke rofi | rofi | | d | modkey, shift | spawn | rofi -combi-modi drun,run -show combi | invoke j4-dmenu-desktop | rofi | | p | modkey, shift | shell | rofi-pass -t | types password from ~pass~ | rofi | @@ -1384,27 +1483,27 @@ :CUSTOM_ID: h-5d846dc4-bbdc-4270-b0fc-44c9dbdaf35f :END: With the use of some rules, it is possible to define which client are - assigned to which tag by default. Here is the list of my defaults: + assigned to which tag by default. #+NAME: rules-default-tags-table - | Client Property | Value | Screen | Tag | - |-----------------+---------+--------+-----| - | class | Emacs | 1 | 2 | - | class | firefox | 1 | 3 | - | class | Nemo | 1 | 4 | - | class | Gimp* | 1 | 5 | - | class | discord | 1 | 0 | - | class | Steam | 1 | 9 | + | Client Property | Value | Tag | + |-----------------+---------+-----| + | class | Emacs | 2 | + | class | firefox | 3 | + | class | Nemo | 4 | + | class | Gimp* | 5 | + | class | discord | 0 | + | class | Steam | 9 | #+NAME: rules-default-tags-generate #+BEGIN_SRC emacs-lisp :tangle no :exports none :cache yes :var tags=rules-default-tags-table (mapconcat (lambda (x) - (format "{rule = {%s = \"%s\"}, properties = {screen = %d, tag = \"%d\"} }" - (nth 0 x) (nth 1 x) (nth 2 x) (nth 3 x))) + (format "{rule = {%s = \"%s\"}, properties = {screen = 1, tag = \"%d\"} }" + (nth 0 x) (nth 1 x) (nth 2 x))) tags ",\n") #+END_SRC - #+RESULTS[c916cbccf08bf765657e11de26e9840a5319486e]: rules-default-tags-generate + #+RESULTS[2b9fe1774ebfde3fc2cfadb24a32dee9b2639144]: rules-default-tags-generate : {rule = {class = "Emacs"}, properties = {screen = 1, tag = "2"} }, : {rule = {class = "firefox"}, properties = {screen = 1, tag = "3"} }, : {rule = {class = "Nemo"}, properties = {screen = 1, tag = "4"} }, @@ -1431,14 +1530,16 @@ :END: When a new client is created, the ~manage~ signal is emited. When so, the following snippet ensures this new client is not off the screen, unless its - position was deliberately set by a program or by the user. + position was deliberately set by a program or by the user. It will also spawn + the new client where the mouse currently is. #+BEGIN_SRC lua client.connect_signal("manage", function (c) - if awesome.startup - and not c.size_hints.user_position - and not c.size_hints.program_position then - awful.placement.no_offscreen(c) - end + awful.client.movetoscreen(c, mouse.screen) + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + awful.placement.no_offscreen(c) + end end) #+END_SRC @@ -1456,7 +1557,6 @@ <>, <> ) - <> end) #+END_SRC @@ -1608,3 +1708,8 @@ :CUSTOM_ID: h-828e67df-7fba-4524-95d5-9e505023cb4a :END: ~attempt to index a nil value (global 'c')~ + +** TODO Make custom theme + :PROPERTIES: + :CUSTOM_ID: h-9f6ad3d4-2581-43f1-ab0a-8903479e26e2 + :END: diff --git a/org/config/bin.org b/org/config/bin.org index e99782c..ab13bac 100644 --- a/org/config/bin.org +++ b/org/config/bin.org @@ -1,5 +1,5 @@ -#+TITLE: Phundrak’s executable scripts -#+INCLUDE: headers.org +#+TITLE: Executable scripts +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -13,6 +13,7 @@ :END: - [[#presentation][Presentation]] - [[#4chandl][4chandl]] +- [[#awiki][awiki]] - [[#askpass][Askpass]] - [[#backup][Backup]] - [[#connectwifi][ConnectWifi]] @@ -25,6 +26,7 @@ - [[#emoji-picker][Emoji picker]] - [[#lock][Lock]] - [[#mp42webm][mp42webm]] +- [[#pinfo][Pinfo]] - [[#polybar-launch][Polybar-launch]] - [[#rofi-mount][Rofi-mount]] - [[#get-the-mountable-elements][Get the mountable elements]] @@ -147,12 +149,45 @@ end #+END_SRC +* awiki + :PROPERTIES: + :CUSTOM_ID: h-340e487c-152a-459a-8da5-6f597e67abd3 + :HEADER-ARGS: :tangle ~/.local/bin/awiki + :END: + ~awiki~ is a simple script used with ~rofi~ that relies on the + ~arch-wiki-docs~ package in order to provide the user a way to quickly find + and display any English page from the Arch Wiki in a browser. The advantage of + using this over the ~wiki-search~ utility from the ~arch-wiki-lite~ package is + you get instant suggestion in rofi using fuzzy-search. The downside is rofi + will only help you find pages by their title, and it will not help you find + keywords in the content of said pages. + + The first step is to create the list of all the pages that are currently + stored on disk. ~arch-wiki-docs~ stores them in + ~/usr/share/doc/arch-wiki/html/en~. A simple ~ls~ piped in three ~sed~ will + give us a list of page titles. We then pipe that into rofi in dmenu mode in + order to choose the page we want to display. By the way, setting the location + of the HTML files will come in handy later. + #+BEGIN_SRC fish + #!/usr/bin/env fish + set WLOCATION /usr/share/doc/arch-wiki/html/en/ + set WPAGE (/bin/ls $WLOCATION | \ + sed 's/_/ /g' | sed 's/\.html$//' | sed 's/.*\/\(.*\)/\1/' | \ + rofi -dmenu -p "Arch Wiki" -i) + #+END_SRC + + Now, all I need to do is to send this list into rofi and tell it to open the + result with our favorite browser with ~xdg-open~. + #+BEGIN_SRC fish + xdg-open $WLOCATION$WPAGE.html + #+END_SRC + * Askpass :PROPERTIES: :CUSTOM_ID: h-b2bef089-69e3-4efb-ac2f-a5eb6a3a80e8 :HEADER-ARGS: :tangle ~/.local/bin/askpass :END: - Askpass is a simple script that invokes =rofi= as a way to get from a GUI the + Askpass is a simple script that invokes ~rofi~ as a way to get from a GUI the user’s sudo password. It is inspired by [[https://github.com/ODEX-TOS/tools/blob/master/rofi/askpass][this original tool]], rewritten in fish and with [[https://wiki.archlinux.org/index.php/Rofi][rofi]] support instead of [[https://wiki.archlinux.org/index.php/Dmenu][dmenu]]. As you can see, this is a oneliner if we ignore the initial shebang. This executable is pointed at by the @@ -166,7 +201,7 @@ :CUSTOM_ID: h-30cb6655-382f-492a-a005-df15512ab7a5 :HEADER-ARGS: :tangle ~/.local/bin/backup :END: - =backup= is a very simple, oneliner script that will create a local copy of a + ~backup~ is a very simple, oneliner script that will create a local copy of a file and add the date at which it was copied in the filename. You can see its source code here: #+BEGIN_SRC fish @@ -179,13 +214,16 @@ :HEADER-ARGS: :tangle ~/.local/bin/connect-wifi :CUSTOM_ID: h-7a958906-1f79-448f-95b3-7226bc80e88c :END: - =connect-wifi= is a small utility tool that allows the user to connect to + ~connect-wifi~ is a small utility tool that allows the user to connect to available WiFi networks. The first thing to do is to select the WiFi we want - to connect to. We’ll use the =nmcli c s= command to get the list of the - available networks, and we’ll chose one with =rofi=. + to connect to. We’ll use the ~nmcli c s~ command to get the list of the + available networks, and we’ll chose one with ~rofi~. #+BEGIN_SRC fish #!/usr/bin/env fish - set SELECTEDWIFI (nmcli d w l | egrep -o '([0-9A-F]{2}:){5}[0-9A-F]{2}\s*(.*)Infra' | egrep -o '\s+(.*)\s+' | awk '{$1=$1}1' | rofi -dmenu -p "Select your WiFi network") + set SELECTEDWIFI (nmcli d w l | \ + egrep -o '([0-9A-F]{2}:){5}[0-9A-F]{2}\s*(.*)Infra' | \ + egrep -o '\s+(.*)\s+' | awk '{$1=$1}1' | \ + rofi -dmenu -p "Select your WiFi network") #+END_SRC Now, if a network was selected, let’s attempt to connect to it. Otherwise, let’s just send a notification no network was selected. @@ -350,7 +388,8 @@ emoji is selected, it is copied to the clipboard using =xclipboard=. #+BEGIN_SRC fish #!/usr/bin/env fish - grep -v "#" ~/.config/emoji.txt | rofi -dmenu -p "Select emoji" -i | awk '{print $1}' | tr -d '\n' | xclip -selection clipboard + grep -v "#" ~/.config/emoji.txt | rofi -dmenu -p "Select emoji" -i | \ + awk '{print $1}' | tr -d '\n' | xclip -selection clipboard #+END_SRC Also, let’s send a notification telling the user the emoji has been copied! @@ -358,7 +397,7 @@ set emoji (xclip -o -selection clipboard | tr -d '\n') test -z "$emoji" && notify-send "No emoji copied" -u low && exit set -a emoji "copied to clipboard" - pgrep -x dunst >/dev/null && notify-send -u low $emoji + notify-send -u low $emoji #+END_SRC It is inspired from [[https://www.youtube.com/watch?v=UCEXY46t3OA][this video]] from [[https://lukesmith.xyz/][Luke Smith]], rewritten in Fish. @@ -385,11 +424,20 @@ :HEADER-ARGS: :tangle ~/.local/bin/mp42webm :CUSTOM_ID: h-29b8a01c-7499-4a35-be25-f5a593bf40ea :END: + This function allows me to convert easily an mp4 video to the webm format. + Nothing too fancy here. #+BEGIN_SRC fish #!/usr/bin/fish ffmpeg -i $argv[1] -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis $argv[1].webm #+END_SRC +* Pinfo + :PROPERTIES: + :HEADER-ARGS: :tangle ~/.local/bin/pinfo + :CUSTOM_ID: h-da11c9a4-732c-40f8-b98f-2bcfe297a6aa + :END: + ~pinfo~ is a utility that shows system information + * Polybar-launch :PROPERTIES: :CUSTOM_ID: h-68587918-879b-42db-b304-901d01233f95 diff --git a/org/config/fish.org b/org/config/fish.org index d899f6c..d1a592b 100644 --- a/org/config/fish.org +++ b/org/config/fish.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- -#+TITLE: Phundrak’s fish config -#+INCLUDE: headers.org +#+TITLE: Fish config +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -18,12 +18,14 @@ - [[#tramp-remote-access][Tramp remote access]] - [[#regular-fish-shell-appearance][Regular fish shell appearance]] - [[#global-variables][Global variables]] + - [[#development][Development]] + - [[#path][$PATH]] - [[#abbreviations][Abbreviations]] - [[#system-monitoring][System monitoring]] - [[#system-management-packages-and-services][System management (packages and services)]] - [[#package-management][Package management]] - [[#service-management][Service management]] - - [[#development][Development]] + - [[#development-1][Development]] - [[#cmake][CMake]] - [[#compilation][Compilation]] - [[#docker][Docker]] @@ -177,32 +179,6 @@ :PROPERTIES: :CUSTOM_ID: h-0eff37da-af9f-4546-8ad3-201961a2200f :END: - Some global variables might sometimes be needed and need to be modified. This - is for example the case with my =PATH= variable in which I add Rust’s Cargo’s - binaries, Go’s binaries and my own executables. And of course, don’t forget - to add the already existing =PATH=. - - #+NAME: extra-paths - | additional path | what it leads to | - |---------------------------+--------------------------------------| - | $HOME/.pub-cache/bin | Dart binaries and executables | - | $HOME/.local/bin | Custom executables, see [[file:bin.org]] | - | $HOME/go/bin | Go binaries and executables | - | $HOME/.cargo/bin | Rust binaries and executables | - | $HOME/.gem/ruby/2.6.0/bin | Ruby binaries and executables | - - #+NAME: generate-extra-paths - #+BEGIN_SRC emacs-lisp :var paths=extra-paths[,0] :exports none :cache yes - (mapconcat (lambda (x) x) - paths " ") - #+END_SRC - - #+RESULTS[d6cf1e9d562d644db1bc6458eca1fc165b065f0c]: generate-extra-paths - : $HOME/.pub-cache/bin $HOME/.local/bin $HOME/go/bin $HOME/.cargo/bin $HOME/.gem/ruby/2.6.0/bin - - #+BEGIN_SRC fish :noweb yes - set -gx PATH <> $PATH - #+END_SRC In order to keep some other code clean, I set the ~$BROWSER~ variable so I don’t have to call my web browser directly but rather with this variable. @@ -216,28 +192,72 @@ set -gx SUDO_ASKPASS ~/.local/bin/askpass #+END_SRC - Now, let’s declare our editor of choice, EmacsClient; not Emacs itself since - it will most often be just quick edits, nothing too heavy, if it is called - from the =EDITOR= variable (from Git, for example). - #+BEGIN_SRC fish - set -gx EDITOR emacsclient -c - #+END_SRC +** Development + :PROPERTIES: + :CUSTOM_ID: h-6e86740b-c7f1-49e0-a4f8-73e870c69324 + :END: + Now, let’s declare our editor of choice, EmacsClient; not Emacs itself since + it will most often be just quick edits, nothing too heavy, if it is called + from the =EDITOR= variable (from Git, for example). + #+BEGIN_SRC fish + set -gx EDITOR emacsclient -c + #+END_SRC - We also need to set the path to the Dart SDK. - #+BEGIN_SRC fish - set -gx DART_SDK /opt/dart-sdk/bin - #+END_SRC + We also need to set the path to the Dart SDK. + #+BEGIN_SRC fish + set -gx DART_SDK /opt/dart-sdk/bin + #+END_SRC - And we also need to specify where the Android SDK it located. - #+BEGIN_SRC fish - set -gx ANDROID_HOME $HOME/Android/Sdk - #+END_SRC + And we also need to specify where the Android SDK it located. + #+BEGIN_SRC fish + set -gx ANDROID_HOME $HOME/Android/Sdk + #+END_SRC - Finally, some development packages require the =PKG_CONFIG_PATH= to be set, - so let’s do so. - #+BEGIN_SRC fish - set -gx PKG_CONFIG_PATH /usr/local/lib/pkgconfig/ $PKG_CONFIG_PATH - #+END_SRC + Next, we have two variables from Deno, the Node.js destroyer. Its base + directory will be set in my XDG config directory, and its binaries will be + located in my local binaries directory (see below). + #+BEGIN_SRC fish + set -gx DENO_DIR $HOME/.config/deno + set -gx DENO_INSTALL_ROOT $HOME/.local/bin/deno + #+END_SRC + + Finally, some development packages require the =PKG_CONFIG_PATH= to be set, + so let’s do so. + #+BEGIN_SRC fish + set -gx PKG_CONFIG_PATH /usr/local/lib/pkgconfig/ $PKG_CONFIG_PATH + #+END_SRC + +** $PATH + :PROPERTIES: + :CUSTOM_ID: h-a9c79e7c-29ea-49e0-959e-0983e886f346 + :END: + Some global variables might sometimes be needed and need to be modified. This + is for example the case with my =PATH= variable in which I add Rust’s Cargo’s + binaries, Go’s binaries and my own executables. And of course, don’t forget + to add the already existing =PATH=. + + #+NAME: extra-paths + | additional path | what it leads to | + |---------------------------+--------------------------------------| + | $HOME/.pub-cache/bin | Dart binaries and executables | + | $HOME/.local/bin | Custom executables, see [[file:bin.org]] | + | $HOME/go/bin | Go binaries and executables | + | $HOME/.cargo/bin | Rust binaries and executables | + | $HOME/.gem/ruby/2.6.0/bin | Ruby binaries and executables | + | $HOME/.cabal/bin | Haskel binaries | + + #+NAME: generate-extra-paths + #+BEGIN_SRC emacs-lisp :var paths=extra-paths[,0] :exports none :cache yes + (mapconcat (lambda (x) x) + paths " ") + #+END_SRC + + #+RESULTS[d6cf1e9d562d644db1bc6458eca1fc165b065f0c]: generate-extra-paths + : $HOME/.pub-cache/bin $HOME/.local/bin $HOME/go/bin $HOME/.cargo/bin $HOME/.gem/ruby/2.6.0/bin + + #+BEGIN_SRC fish :noweb yes + set -gx PATH <> $PATH + #+END_SRC * Abbreviations :PROPERTIES: @@ -367,7 +387,7 @@ |--------------+----------------------| | clang | clang -Wall | | clang++ | clang++ -Wall | - | g++ | g++ -Wall -std=c++17 | + | g++ | g++ -Wall -std=c++20 | | gcc | gcc -Wall -std=c18 | Here is the corresponding fish configuration: @@ -385,7 +405,9 @@ | abbreviation | command | |--------------+------------------------------| | dc | docker-compose | + | dcb | docker-compose build | | dcd | docker-compose down | + | dcl | docker-compose logs | | dcp | docker-compose pull | | dcr | docker-compose run --rm | | dcu | docker-compose up | diff --git a/org/config/headers.org b/org/config/headers similarity index 65% rename from org/config/headers.org rename to org/config/headers index cae8f46..5536f5c 100644 --- a/org/config/headers.org +++ b/org/config/headers @@ -1,3 +1,4 @@ +# -*- mode: org -*- #+AUTHOR: Lucien Cartier-Tilet #+EMAIL: lucien@phundrak.com #+CREATOR: Lucien Cartier-Tilet @@ -15,15 +16,11 @@ #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+INFOJS_OPT: view:info home:https://phundrak.com/config toc:t ltoc:t mouse:underline +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: # ### MACROS ################################################################### #+MACRO: newline @@latex:\hspace{0pt}\\@@ @@html:
@@ diff --git a/org/config/i3.org b/org/config/i3.org index 49537b2..4c87ec4 100644 --- a/org/config/i3.org +++ b/org/config/i3.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- -#+TITLE: Phundrak’s i3 config -#+INCLUDE: headers.org +#+TITLE: i3 config +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: diff --git a/org/config/img/emacs.png.webp b/org/config/img/emacs.png.webp new file mode 100644 index 0000000..c928aee Binary files /dev/null and b/org/config/img/emacs.png.webp differ diff --git a/org/config/img/ncmpcpp-directory.png b/org/config/img/ncmpcpp-directory.png new file mode 100644 index 0000000..2a3eb95 Binary files /dev/null and b/org/config/img/ncmpcpp-directory.png differ diff --git a/org/config/img/ncmpcpp-directory.png.webp b/org/config/img/ncmpcpp-directory.png.webp new file mode 100644 index 0000000..2476bba Binary files /dev/null and b/org/config/img/ncmpcpp-directory.png.webp differ diff --git a/org/config/img/ncmpcpp-queue.png b/org/config/img/ncmpcpp-queue.png new file mode 100644 index 0000000..0cc033b Binary files /dev/null and b/org/config/img/ncmpcpp-queue.png differ diff --git a/org/config/img/ncmpcpp-queue.png.webp b/org/config/img/ncmpcpp-queue.png.webp new file mode 100644 index 0000000..28d4217 Binary files /dev/null and b/org/config/img/ncmpcpp-queue.png.webp differ diff --git a/org/config/img/ncmpcpp-visualizer.png b/org/config/img/ncmpcpp-visualizer.png new file mode 100644 index 0000000..633d387 Binary files /dev/null and b/org/config/img/ncmpcpp-visualizer.png differ diff --git a/org/config/img/ncmpcpp-visualizer.png.webp b/org/config/img/ncmpcpp-visualizer.png.webp new file mode 100644 index 0000000..795f820 Binary files /dev/null and b/org/config/img/ncmpcpp-visualizer.png.webp differ diff --git a/org/config/img/neofetch.png.webp b/org/config/img/neofetch.png.webp new file mode 100644 index 0000000..0e41313 Binary files /dev/null and b/org/config/img/neofetch.png.webp differ diff --git a/org/config/img/rofi.png.webp b/org/config/img/rofi.png.webp new file mode 100644 index 0000000..a59ccd4 Binary files /dev/null and b/org/config/img/rofi.png.webp differ diff --git a/org/config/index.html b/org/config/index.html new file mode 100644 index 0000000..a755cb9 --- /dev/null +++ b/org/config/index.html @@ -0,0 +1,804 @@ + + + + + + +Phundrak’s dotfiles + + + + + + + + + + + + + + + + + + + +
+

Phundrak’s dotfiles

+ + +
+

1 Presentation

+
+ + + +

+This is my collection of dotfiles for my daily GNU/Linux environment, tweaked +to my liking. If you wish to get the same setup as mine, follow the +instructions below. +

+ +

+As you can see, I personally use fish as my shell of choice, and Emacs 27.0.90 +(custom build) using Spacemacs (still with Emacs keybinding in Insert mode but +with Evil in Normal mode) as my main text editor. +

+ +

+When it comes to my graphical UI, I do not have any desktop environment. +Instead, I have two tiling window managers. The historical first on my +configuration is i3-gaps, an i3 fork by Airblader with which I use two bars +generated by Polybar. My other TWM, and the one I use most often, is +AwesomeWM. Both TWMs use pywal to define their color scheme, as well as rofi’s +color scheme. +

+ +

+Finally, you can find my configuration for my Ergodox keyboard here. It is +optimized for usage with the Bépo layout set as a software layout, and for +shortcuts from i3. +

+
+
+ +
+

2 Screenshots

+
+ +
+

neofetch.png.webp +

+

Figure 2: Desktop with Neofetch in the terminal

+
+ + +
+

emacs.png.webp +

+

Figure 3: Desktop with Emacs opened

+
+ + +
+

rofi.png.webp +

+

Figure 4: Desktop with Rofi

+
+
+
+ +
+

3 Features

+
+
    +
  • Emacs configuration perfectly tailored for my own use
  • +
  • Beautiful and comfy i3 and polybar configuration
  • +
  • And enough information below to get basically the same distro install as I +have on my main computer and my travel laptop.
  • +
+ +

+Most of the org files you will find in this repos are the actual source code +of much of my config files. For instance, the bootstrap found in +installation.org exports almost all of its code snippets to +.config/yadm/bootstrap thanks to M-x org-babel-tangle from within Emacs. +Below I will also present and comment some of my short config files which do +not deserve to have a full org file dedicated to them. +

+
+ +
+

3.1 Tiling Window Managers

+
+
+
+

3.1.1 AwesomeWM

+
+

+AwesomeWM is the TWM I use the most on my computer between itself and i3. My +configuration for it is documented in detail in its corresponding document, +which you can find here. +

+
+
+ +
+

3.1.2 i3 configuration

+
+

+The i3 configuration is detailed in its corresponding README which you can +find here. +

+
+
+
+ +
+

3.2 Graphical tweaks

+
+
+
+

3.2.1 GTK Settings

+
+
+
+
3.2.1.1 GTK2
+
+

+Regarding GTK2, I have only one configuration file: the filechooser’s +configuration file. +

+
+
[Filechooser Settings]
+
+
+ +

+The first option alows me to open the file chooser in the current working +directory: +

+
+
StartupMode=cwd
+
+
+ +

+Next, setting the location mode to path-bar will show the path as buttons +that can be clicked rather than the full path. +

+
+
LocationMode=path-bar
+
+
+ +

+With this configuration, by default we won’t see hidden files. +

+
+
ShowHidden=true
+
+
+ +

+And we'll also see the size of the visible files. +

+
+
ShowSizeColumn=true
+
+
+ +

+Now, let’s choose the geometry of our file picker. These two first lines +set where the file picker appears: +

+
+
GeometryX=566
+GeometryY=202
+
+
+ +

+And these two describe the size of the window: +

+
+
GeometryWidth=800
+GeometryHeight=400
+
+
+ +

+With these two lines, we set how our files are sorted: by name, and in the +ascending order. +

+
+
SortColumn=name
+SortOrder=ascending
+
+
+ +

+Our default view mode is a list of files: +

+
+
ViewMode=list-view
+
+
+ +

+And finally, setting our icon view scale to -1 sets the icon view to the +max size. +

+
+
IconViewScale=-1
+
+
+
+
+ +
+
3.2.1.2 GTK3
+
+

+The following file helps me choosing the aspect of various GTK+ 3 software, +including their theme and icons. First, let’s declare the header: +

+
+
[Settings]
+
+
+ +

+Now, let’s hint to GTK that I prefer dark themes. This can have an +influence also on some websites that can detect this preference and +therefore set their own theme to dark by themselves. +

+
+
gtk-application-prefer-dark-theme = true
+
+
+ +

+Next, the icon theme is the Flat Remix Dark icon theme: +

+
+
gtk-icon-theme-name = Flat-Remix-Dark
+
+
+ +

+Now, the general theme for GTK3 is Arc Dark. +

+
+
gtk-theme-name = Arc-Dark
+
+
+ +
+
gtk-can-change-accels = 1
+
+
+ +
+
gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintslight
+# gtk-xft-rgba=rgb
+
+
+ +

+Since window decorations are handled by my WMs, I will leave this variable +empty. +

+
+
gtk-decoration-layout=
+
+
+
+
+
+ +
+

3.2.2 Picom

+
+

+Picom is a standalone compositor for Xorg, and the successor to Compton, +itself successor to xcompmgr-dana, itself a fork of xcompmgr. You can find +my Picom configuration here. +

+
+
+ +
+

3.2.3 Xresources

+
+

+My Xresources file is very short. Indeed, it only contains two lines which +are dedicated to my st terminal to set its font and shell. The font is set +as follows. +

+
+
st.font: Source Code Pro for Powerline:style=book
+
+
+

+And I will set my shell like this: +

+
+
st.shell: /usr/bin/fish
+
+
+

+I can also set the transparency of st (my terminal emulator) like so: +

+
+
st.alpha: 0.9
+
+
+ +

+I used to have lines dedicated to UXTerm and URxvt, but I cast them out of +my system. +

+
+
+
+ +
+

3.3 Text and source code editing

+
+
+
+

3.3.1 Emacs configuration

+
+

+Emacs is my main text editor, which I use for almost everything. Because, +you know… +

+
+

+Emacs is a great operating system, it just lacks a good text editor. +

+
+ +

+You can find my Emacs config, based on Spacemacs, in my .spacemacs file, and +my user configuration in my spacemacs.org file. +

+
+
+ +
+

3.3.2 Nano

+
+

+Although it is a very simple piece of software, nano does offer some +customization. Mine can be found in my nano.org file. +

+
+
+ +
+

3.3.3 Rustfmt

+
+

+You can find my Rustfmt configuration here. +

+
+
+
+ +
+

3.4 Custom scripts in PATH

+
+

+I have written some scripts that help me daily accomplish some simple tasks, +like mounting and unmounting a drive or Android device, an emoji picker, a +utility to set up my Wacom tablet, and so on. You can find them stored in +.local/bin along with their detailed explanation in the README placed in the +same folder —which is actually their source code once the org-mode file gets +tangled. +

+
+
+ +
+

3.5 Fish configuration with useful abbreviations

+
+

+You can also find in my Fish shell configuration in my fish.org file, which +contains my usual abbreviations. +

+
+
+ +
+

3.6 And some minor configuration files

+
+
+
+

3.6.1 Email signature

+
+

+This file gets inserted automatically at the end of my emails. +

+
+
Lucien “Phundrak” Cartier-Tilet
+https://phundrak.com (Français)
+https://en.phundrak.com (English)
+
+Sent from a Free and Open-Source Linux operating system with GNU/Emacs
+
+
+
+
+ +
+

3.6.2 Global gitignore

+
+

+Sometimes, there are some lines that always reappear in gitignores. So, +instead of always adding them, let git now that some elements are to be +ignored by default, hence the ~/.gitignore_global file. First, we don’t want +nano’s backup files. +

+
+
~*
+
+
+ +

+And object files and output binaries generated by gcc and the likes aren’t +welcome either. +

+
+
*.out
+*.o
+
+
+
+
+
+ +
+

3.7 Tmux configuration

+
+

+You can find my tmux configuration in tmux.org. It depends on the submodule +.tmux by Gregory Pakosz. +

+
+
+
+ +
+

4 Dependencies

+
+

+Of course, some dependencies are needed for my dotfiles to work well. Here is +a non-exhaustive list of software needed by these configuration files: +

+ +

+And some other stuff scattered around in my dotfiles. +

+ +

+BTW, I use Arch. +

+
+
+ +
+

5 Installation

+
+

+For an installation walkthrough of my Arch Linux installation, check out my +installation.org file where I walk you through the first manual steps and +through the bootstrap you can execute to automatically take care of a lot of +elements. +

+
+
+ +
+

6 Licence

+
+

+All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3 +Licence. Please consult LICENCE.md for more information. In short: you +are free to access, edit and redistribute all of my dotfiles under the same +licence and as allowed by the licence, and if you fuck up something, it’s your +own responsibility. +

+
+
+
+
+

Author: Lucien Cartier-Tilet

+ +

Created: 2020-05-05 mar. 23:17

+
+ + diff --git a/org/config/index.org b/org/config/index.org index e326079..74679e2 100644 --- a/org/config/index.org +++ b/org/config/index.org @@ -1,34 +1,5 @@ #+TITLE: Phundrak’s dotfiles -#+INCLUDE: headers.org -#+OPTIONS: auto-id:t -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+HTML_HEAD_EXTRA: -#+STARTUP: content - -* Table of Contents :TOC:noexport: - :PROPERTIES: - :CUSTOM_ID: h-400070eb-725f-4416-a4c6-da3053df750b - :END: -- [[#presentation][Presentation]] -- [[#screenshots][Screenshots]] -- [[#features][Features]] - - [[#tiling-window-managers][Tiling Window Managers]] - - [[#awesomewm][AwesomeWM]] - - [[#i3-configuration][i3 configuration]] - - [[#graphical-tweaks][Graphical tweaks]] - - [[#gtk-settings][GTK Settings]] - - [[#gtk2][GTK2]] - - [[#gtk3][GTK3]] - - [[#picom][Picom]] - - [[#xresources][Xresources]] - - [[#text-and-source-code-editing][Text and source code editing]] - - [[#emacs-configuration][Emacs configuration]] - - [[#nano][Nano]] - - [[#rustfmt][Rustfmt]] - - [[#custom-scripts-in-path][Custom scripts in =PATH=]] - - [[#fish-configuration-with-useful-abbreviations][Fish configuration with useful abbreviations]] - - [[#and-some-minor-configuration-files][And some minor configuration files]] +#+INCLUDE:-some-minor-configuration-files][And some minor configuration files]] - [[#email-signature][Email signature]] - [[#global-gitignore][Global gitignore]] - [[#tmux-configuration][Tmux configuration]] @@ -40,8 +11,6 @@ :PROPERTIES: :CUSTOM_ID: h-536e69f5-c012-4b7d-8a45-3a340d3bc7ee :END: - [[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]] - This is my collection of dotfiles for my daily GNU/Linux environment, tweaked to my liking. If you wish to get the same setup as mine, follow the instructions below. @@ -66,17 +35,14 @@ :CUSTOM_ID: h-ee37502b-09a4-4668-88e2-1d4406252bd2 :END: - #+ATTR_HTML: :width 100% #+CAPTION: Desktop with Neofetch in the terminal - [[./img/neofetch.png]] + [[./img/neofetch.png.webp]] #+CAPTION: Desktop with Emacs opened - #+ATTR_HTML: :width 100% - [[./img/emacs.png]] + [[./img/emacs.png.webp]] #+CAPTION: Desktop with Rofi - #+ATTR_HTML: :width 100% - [[./img/rofi.png]] + [[./img/rofi.png.webp]] * Features :PROPERTIES: @@ -322,7 +288,7 @@ #+BEGIN_SRC text Lucien “Phundrak” Cartier-Tilet https://phundrak.com (Français) - https://en.phundrak.com (English) + https://phundrak.com/en (English) Sent from a Free and Open-Source Linux operating system with GNU/Emacs #+END_SRC diff --git a/org/config/installation.org b/org/config/installation.org index c89776e..473999c 100644 --- a/org/config/installation.org +++ b/org/config/installation.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- -#+TITLE: Install a Phundrak-flavored Arch Linux -#+INCLUDE: headers.org +#+TITLE: Phundrak-flavored Arch Linux +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -310,14 +310,15 @@ pulseaudio-bluetooth python-autoflake python-envtpl-git python-epc \ python-importmagic python-language-server python-nose python-pip python-ptvsd \ python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer reflector \ - rofi rsync rtv rustup samba scrot sent shadow siji-git simplescreenrecorder \ - sshfs st-luke-git sxiv texlive-bin texlive-langchinese texlive-langcyrillic \ - texlive-langgreek texlive-langjapanese texlive-langkorean texlive-latexextra \ + rofi rsync rtv ruby-rb-fsevent ruby-sass rustup samba scrot sent shadow \ + siji-git simplescreenrecorder sshfs st-luke-git sxiv texlive-bin \ + texlive-langchinese texlive-langcyrillic texlive-langgreek \ + texlive-langjapanese texlive-langkorean texlive-latexextra \ texlive-localmanager-git texlive-most tmux tree ttf-arphic-uming ttf-baekmuk \ ttf-dejavu ttf-google-fonts-opinionated-git ttf-hanazono ttf-joypixels \ ttf-koruri ttf-liberation ttf-monapo ttf-sazanami ttf-tibetan-machine \ - typescript typescript-language-server-bin unicode-emoji unrar usbutils valgrind \ - vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \ + typescript typescript-language-server-bin unicode-emoji unrar usbutils \ + valgrind vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \ x11-ssh-askpass xclip xdg-user-dirs-gtk xfsprogs xorg-drivers xorg-server \ xorg-xinit xss-lock xvkbd yaml-language-server-bin yapf #+END_SRC diff --git a/org/config/nano.org b/org/config/nano.org index 545d35a..c553fd6 100644 --- a/org/config/nano.org +++ b/org/config/nano.org @@ -1,5 +1,5 @@ -#+TITLE: Phundrak’s nano configuration -#+INCLUDE: headers.org +#+TITLE: Nano configuration +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: diff --git a/org/config/ncmpcpp.org b/org/config/ncmpcpp.org new file mode 100644 index 0000000..3f63084 --- /dev/null +++ b/org/config/ncmpcpp.org @@ -0,0 +1,74 @@ +#+title: Ncmpcpp Configuration (WIP) +#+INCLUDE: headers +#+OPTIONS: auto-id:t +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: +#+PROPERTY: header-args :tangle ~/.config/ncmpcpp/config2 :exports code +#+STARTUP: content + +* Table of Contents :TOC_4_gh:noexport: + :PROPERTIES: + :CUSTOM_ID: h-b2167b42-e88d-4308-abaf-d33eeec63fff + :END: +- [[#introduction][Introduction]] +- [[#core-ncmpcpp-settings][Core Ncmpcpp settings]] + - [[#directories][Directories]] + - [[#mpd][MPD]] + +* Introduction + :PROPERTIES: + :CUSTOM_ID: h-7ead0ad9-857d-4179-9e02-be0f8f8c02ef + :END: + Ncmpcpp is a TUI front-end for MPD, with an UI very similar to Ncmpc. This is + my main MPD front-end after my i3 shortcuts. You can find below some + screenshots of how my current ncmpcpp configuration looks like. + + [[file:img/ncmpcpp-queue.png]] + + [[file:img/ncmpcpp-directory.png]] + + [[file:img/ncmpcpp-visualizer.png]] + +* Core Ncmpcpp settings + :PROPERTIES: + :CUSTOM_ID: h-02b8e820-d12d-479f-a856-86121eccab96 + :END: + #+BEGIN_SRC conf :exports none + # -*- mode: conf -*- + #+END_SRC + +** Directories + :PROPERTIES: + :CUSTOM_ID: h-0da83a89-b409-4e48-9bd7-3db9afed4945 + :END: + Ncmpcpp has two vital directories: the lyrics directory, and its own + configuration directory. The configuration for ncmpcpp is generally either in + ~$HOME/.ncmpcpp/~ or in ~$XDG_CONFIG_HOME/ncmpcpp/~. + #+BEGIN_SRC conf + ncmpcpp_directory = ~/.config/ncmpcpp + #+END_SRC + + When it comes to the lyrics, be sure to set the directory to the same + directory pointed at by Mpd. + #+BEGIN_SRC conf + lyrics_directory = ~/.lyrics + #+END_SRC + +** MPD + :PROPERTIES: + :CUSTOM_ID: h-cc81e6db-7418-4823-b2b4-4c3f1e842eaa + :END: + These settings tell ncmpcpp how to communicate with Mpd. Once again, be sure + to follow your own MPD settings. In my case, I am connecting to my local MPD + server, hence the ~localhost~ value of the variable below, and I did not + change the default port of MPD. My music is located at =~/Music=, and ncmpcpp + should connect pretty much immediately, although I allow a five seconds + timeout before ncmpcpp treats it as an error. Also, no crossfade please. + #+BEGIN_SRC conf + mpd_host = localhost + mpd_port = 6600 + mpd_music_dir = ~/Music + mpd_connection_timeout = 5 + mpd_crossfade_time = 0 + #+END_SRC diff --git a/org/config/neofetch.html b/org/config/neofetch.html new file mode 100644 index 0000000..5f0fd87 --- /dev/null +++ b/org/config/neofetch.html @@ -0,0 +1,1072 @@ + + + + + + +Neofetch configuration + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Neofetch configuration

+ + +
+

1 Introduction

+
+

+Neofetch is a CLI utility used to display system information. It was written +in Bash, and thus its configuration file is written as a Bash script too. This +document was written with org-mode, and my configuration file is tangled from +the source blocks you will see below to ~/.config/neofetch/config.conf. +First, let’s insert the Emacs config header in order to specify the mode to +open the file with. +

+
+
# -*- mode: sh -*-
+
+
+
+
+ +
+

2 The print_info functions

+
+

+The print_info function is the function called by Neofetch in order to print +the system information it could fetch. In this function, we’ll choose what to +display, and how. This function looks like this: +

+
+
print_info() {
+    # Print information here…
+}
+
+
+ +

+Generally, what we will display will be shown through the info function, +redefined inside Neofetch (this is not info(1)). This info function +accepts one or two arguments. With one argument, such as with info memory, +we can get a result that looks like 5136MiB / 15873MiB, while calling it +with two arguments will treat the first one as a prefix and the second one as +the interesting information; info "Memory" memory will look like +Memory: 5136MiB / 15873MiB. Here is what we want to display: +

+ + + +++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrefixInformationWhat it does
 line_breakInsert a blank line
 titleUsername and hostname
 line_breakInsert a blank line
 colsSystem theme
 line_breakInsert a blank line
OSdistroDistribution name
KernelkernelKernel version
UptimeuptimeMachine uptime
PackagespackagesNumber of installed packages
ShellshellUser’s default shell
WMwmUser’s Window Manager
TerminaltermDefault terminal
CPUcpuCPU information
GPUgpuGPU information
MemorymemoryRAM information
+ +

+Hence, the function looks like so: +

+
+
print_info() {
+    info line_break
+    info title
+    info line_break
+    info cols
+    info line_break
+    info "OS" distro
+    info "Kernel" kernel
+    info "Uptime" uptime
+    info "Packages" packages
+    info "Shell" shell
+    info "WM" wm
+    info "Terminal" term
+    info "CPU" cpu
+    info "GPU" gpu
+    info "Memory" memory
+
+}
+
+
+ +

+Each of these modules can be tuned with the variables presented below. +

+
+
+ +
+

3 Information settings

+
+

+Each of the following variable tunes a function that can be called in +print_info described above. It is possible to tune them by modifying this +document or the configuration file itself, and they can be overridden by the +command line with flags passed to neofetch. I will divide these variables in +two main categories: hardware and software-related properties. +

+
+ +
+

3.1 Software

+
+
+
+

3.1.1 OS

+
+
+
+
3.1.1.1 Kernel
+
+

+The variable below can shorten the output ofh the kernel function. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--kernel_shorthand"
+
Supports
Everything except *BSDs (except PacBSD and PC-BSD)
+
Examples
+
on
4.8.9-1-ARCH
+
off
Linux 4.8.9-1-ARCH
+
+
+
+
kernel_shorthand="off"
+
+
+
+
+ +
+
3.1.1.2 Distro
+
+

+This variable can shorten the output of the distro function. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--distro_shorthand"
+
Supports
Everything except Windows and Haiku
+
Examples
+
on
Arch Linux
+
off
Arch
+
+
+
+
distro_shorthand="off"
+
+
+
+
+ +
+
3.1.1.3 OS Architecture
+
+

+This variable can show or hide the OS architecture in the distro output. +

+
+
Default value
"off"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--os_arch"
+
Examples
+
on
Arch Linux x86_64
+
off
Arch Linux
+
+
+
+
os_arch="off"
+
+
+
+
+
+ +
+

3.1.2 Uptime shorthand

+
+

+This variable can shorten the output of the uptime function. on shortens +it a bit, while tiny shortens it greatly. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "tiny"
  • +
  • "off"
  • +
+
Flag
"--uptime_shorthand"
+
Examples
+
on
2 days, 10 hours, 3 mins
+
off
2 days, 10 hours, 3 minutes
+
tiny
2d 10h 3m
+
+
+
+
uptime_shorthand="on"
+
+
+
+
+ +
+

3.1.3 Shell

+
+
+
+
3.1.3.1 Shell path
+
+

+This allows to show either the path of the user’s shell, or simply its +name. +

+
+
Default value
"off"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--shell_path"
+
Examples
+
on
/bin/bash
+
off
bash
+
+
+
+
shell_path="off"
+
+
+
+
+ +
+
3.1.3.2 Shell version
+
+

+This allows to show the shell’s version in the output of shell. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--shell_version"
+
Examples
+
on
bash 4.4.5
+
off
bash
+
+
+
+
shell_version="off"
+
+
+
+
+
+ +
+

3.1.4 Theming

+
+

+This section will allow the user to modify what Neofetch can and cannot +display about the machine’s theming —by this, I mean its GTK theme, its +icons and its default font. +

+
+ +
+
3.1.4.1 Shorten output
+
+

+With this value, it is possible to shorten the output of the computer’s +theming. +

+
+
Default value
"off"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--gtk_shorthand"
+
Examples
+
on
Numix, Adwaita
+
off
Numix [GTK2], Adwaita [GTK3]
+
+
+
+
gtk_shorthand="on"
+
+
+
+
+ +
+
3.1.4.2 Enable or disable theming display for GTK2
+
+

+It is possible to explicitely show or hide the computer’s theming with GTK2 +with this variable. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--gtk2"
+
Examples
+
on
Numix [GTK2], Adwaita [GTK3]
+
off
Adwaita [GTK3]
+
+
+
+
gtk2="off"
+
+
+
+
+ +
+
3.1.4.3 Enable or disable theming display for GTK3
+
+

+The same variable as above is also available for GTK3. +

+
+
Default value
"on"
+
Values
    +
  • ""
  • +
  • ""
  • +
+
Flag
""
+
Supports
+ +
Examples
+
on
~~
+
off
~~
+
+
+
+
+
+
+ + +
+
Default value
""
+
Values
    +
  • ""
  • +
  • ""
  • +
+
Flag
""
+
Supports
+ +
Examples
+
on
~~
+
off
~~
+
+
+
+
+
+
+
+
+
+
+ +
+

3.2 Hardware

+
+
+
+

3.2.1 CPU

+
+
+ +
+
3.2.1.1 CPU brand
+
+

+With this variables, it is possible to show or hide the brand of a CPU in +the cpu output. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--cpu_brand"
+
Examples
+
on
Intel i7-6500U
+
off
i7-6500U
+
+
+
+
cpu_brand="off"
+
+
+
+
+ +
+
3.2.1.2 CPU speed
+
+

+With this variable, it is possible to show or hide the speed of the CPU. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--cpu_speed"
+
Examples
+
on
Intel i7-6500U (4) @ 3.1GHz
+
off
Intel i7-6500U (4)
+
+
+
+
cpu_speed="off"
+
+
+
+
+ +
+
3.2.1.3 CPU speed type
+
+

+This allows Neofetch to know what type of speed it has to fetch regarding +the machine’s CPU. Any file in /sys/devices/system/cpu/cpu0/cpufreq can +be used as a value. +

+
+
Default value
"bios_limit"
+
Values
    +
  • "scaling_cur_freq"
  • +
  • "scaling_min_freq"
  • +
  • "scaling_max_freq"
  • +
  • "bios_limit"
  • +
+
Flag
"--speed_type"
+
Supports
Linux with cpufreq
+
+
+
speed_type="bios_limit"
+
+
+
+
+ +
+
3.2.1.4 CPU speed shorthand
+
+

+This value allows to show sorter CPU speed with less digits. This flag is +not supported in systems with CPU speed below 1GHz. +

+
+
Default value
"off"
+
Values
    +
  • "on"
  • +
  • "on"
  • +
+
Flag
"--speed_shorthand"
+
Examples
+
on
i7-6500U (4) @ 3.1GHz
+
off
i7-6500U (4) @ 3.100GHz
+
+
+
+
speed_shorthand="on"
+
+
+
+
+ +
+
3.2.1.5 CPU cores
+
+

+With this variable, it is possible to display the number of cores that are +available in the CPU. +

+
+
Default value
"logical"
+
Values
    +
  • "logical"
  • +
  • "physical"
  • +
  • "off"
  • +
+
Flag
"--cpu_cores"
+
Supports
physical does not work on BSD.
+
Examples
+
logical
Intel i7-6500U (4) @ 3.1GHz (All virtual cores)
+
physical
Intel i7-6500U (2) @ 3.1GHz (All physical cores)
+
off
Intel i7-6500U @ 3.1GHz
+
+
+
+
cpu_cores="off"
+
+
+
+
+ +
+
3.2.1.6 CPU temperature
+
+

+This variable allows the user to hide or show the CPU’s temperature, and if +shown, the user can display it in Celcius or Farenheit degrees. For FreeBSD +and NetBSD-based systems, you’ll need to enable the coretemp kernel +module. This only supports newer Intel processors. +

+
+
Default value
"off"
+
Values
    +
  • "C"
  • +
  • "F"
  • +
  • "off"
  • +
+
Flag
"--cpu_temp"
+
Supports
Linux, BSD
+
Examples
+
C
Intel i7-6500U (4) @ 3.1GHz [27.2°C]
+
F
Intel i7-6500U (4) @ 3.1GHz [82.0°F]
+
off
Intel i7-6500U (4) @ 3.1GHz
+
+
+
+
cpu_temp="off"
+
+
+
+
+
+ +
+

3.2.2 GPU

+
+

+The function responsible for displaying information regarding the GPUs is +gpu. It will try to list all available GPUs and display what it knows +about them. +

+
+ +
+
3.2.2.1 GPU brand
+
+

+This value allows the user to hide or show the brand of their GPU in the +output of gpu. +

+
+
Default value
"on"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--gpu_brand"
+
Supports
+ +
Examples
+
on
AMD HD 7950
+
off
HD 7950
+
+
+
+
gpu_brand="off"
+
+
+
+
+ +
+
3.2.2.2 Which GPU to display
+
+

+This allows the user to choose which GPU appears in the output of the +function gpu. +

+
+
Default value
"all"
+
Values
    +
  • "all"
  • +
  • "dedicated"
  • +
  • "integrated"
  • +
+
Flag
"--gpu_type"
+
Supports
Linux
+
Examples
+
all
+ +
dedicated
GPU1: AMD HD 7950
+
integrated
GPU1: Intel Integrated Graphics
+
+
+
+
gpu_type="all"
+
+
+
+
+
+ +
+

3.2.3 Resolution

+
+

+This will try to list all the connected screens and display their resolution +individually. It is possible to display the refresh rate or to hide it. +

+
+
Default value
"off"
+
Values
    +
  • "on"
  • +
  • "off"
  • +
+
Flag
"--refresh_rate"
+
Supports
Does not work on Windows
+
Examples
+
on
1920x1080 @ 60Hz
+
off
1920x1080
+
+
+
+
refresh_rate="off"
+
+
+
+
+
+
+
+
+

Author: Lucien Cartier-Tilet

+ +

Created: 2020-04-21 mar. 15:02

+
+ + diff --git a/org/config/neofetch.org b/org/config/neofetch.org new file mode 100644 index 0000000..024e885 --- /dev/null +++ b/org/config/neofetch.org @@ -0,0 +1,523 @@ +# -*- org-confirm-babel-evaluate: nil -*- +#+title: Neofetch configuration (WIP) +#+INCLUDE: headers +#+OPTIONS: auto-id:t +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: +#+HTML_HEAD_EXTRA: +#+PROPERTY: header-args :noweb yes :exports code :tangle no :exports none +#+PROPERTY: header-args:sh :tangle ~/.config/neofetch/config.conf.bak :comments link :exports code :noweb yes +#+STARTUP: content +# #+INFOJS_OPT: view:plain home:https://phundrak.com/config toc:t +#+INFOJS_OPT: up:https://phundrak.com/config/neofetch + +* Introduction + :PROPERTIES: + :CUSTOM_ID: h-1b7321bc-190e-41a7-a6e0-ff13e9a61b74 + :END: + [[https://github.com/dylanaraps/neofetch][Neofetch]] is a CLI utility used to display system information. It was written + in Bash, and thus its configuration file is written as a Bash script too. This + document was written with org-mode, and my configuration file is tangled from + the source blocks you will see below to =~/.config/neofetch/config.conf=. + First, let’s insert the Emacs config header in order to specify the mode to + open the file with. + #+BEGIN_SRC sh + # -*- mode: sh -*- + #+END_SRC + +* The ~print_info~ functions + :PROPERTIES: + :CUSTOM_ID: h-3a3a5ade-adab-4508-9aa9-17896126b169 + :END: + The ~print_info~ function is the function called by Neofetch in order to print + the system information it could fetch. In this function, we’ll choose what to + display, and how. This function looks like this: + #+BEGIN_SRC sh + print_info() { + # Print information here… + } + #+END_SRC + + Generally, what we will display will be shown through the ~info~ function, + redefined inside Neofetch (this is not ~info(1)~). This ~info~ function + accepts one or two arguments. With one argument, such as with ~info memory~, + we can get a result that looks like ~5136MiB / 15873MiB~, while calling it + with two arguments will treat the first one as a prefix and the second one as + the interesting information; ~info "Memory" memory~ will look like + ~Memory: 5136MiB / 15873MiB~. Here is what we want to display: + #+NAME: info-elements-table + | Prefix | Information | What it does | + |----------+-------------+------------------------------| + | | line_break | Insert a blank line | + | | title | Username and hostname | + | | line_break | Insert a blank line | + | | cols | System theme | + | | line_break | Insert a blank line | + | OS | distro | Distribution name | + | Kernel | kernel | Kernel version | + | Uptime | uptime | Machine uptime | + | Packages | packages | Number of installed packages | + | Shell | shell | User’s default shell | + | WM | wm | User’s Window Manager | + | Terminal | term | Default terminal | + | CPU | cpu | CPU information | + | GPU | gpu | GPU information | + | Memory | memory | RAM information | + + #+NAME: info-elements-gen + #+BEGIN_SRC emacs-lisp :var table=info-elements-table :cache yes + (mapconcat (lambda (x) + (format "info %s%s" + (if (not (string= (car x) "")) + (format "\"%s\" " (car x)) + "") + (cadr x))) + table + "\n") + #+END_SRC + + #+RESULTS[b674f32b66234a67929a0426ce187ce712d806f4]: info-elements-gen + #+begin_example + info line_break + info title + info line_break + info cols + info line_break + info "OS" distro + info "Kernel" kernel + info "Uptime" uptime + info "Packages" packages + info "Shell" shell + info "WM" wm + info "Terminal" term + info "CPU" cpu + info "GPU" gpu + info "Memory" memory + #+end_example + + Hence, the function looks like so: + #+BEGIN_SRC sh + print_info() { + <> + } + #+END_SRC + + Each of these modules can be tuned with the variables presented below. + +* Information settings + :PROPERTIES: + :CUSTOM_ID: h-d1ddb7fc-e87a-42d1-a71b-6fc7b10c9f78 + :END: + Each of the following variable tunes a function that can be called in + ~print_info~ described above. It is possible to tune them by modifying this + document or the configuration file itself, and they can be overridden by the + command line with flags passed to ~neofetch~. I will divide these variables in + two main categories: hardware and software-related properties. + +** Software + :PROPERTIES: + :CUSTOM_ID: h-2f562a5c-3530-4b50-b553-a0cb801affea + :END: +*** OS + :PROPERTIES: + :CUSTOM_ID: h-afe50abf-8988-48dd-9768-72eb0143b613 + :END: +**** Kernel + :PROPERTIES: + :CUSTOM_ID: h-be4b75c8-2612-4e40-933f-bd451bd6fc5e + :END: + The variable below can shorten the output ofh the ~kernel~ function. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--kernel_shorthand"~ + - Supports :: Everything except *BSDs (except PacBSD and PC-BSD) + - Examples :: + - on :: ~4.8.9-1-ARCH~ + - off :: ~Linux 4.8.9-1-ARCH~ + #+begin_src sh + kernel_shorthand="off" + #+end_src + +**** Distro + :PROPERTIES: + :CUSTOM_ID: h-979a15ac-c2ac-41a4-91f2-5676feba6dd4 + :END: + This variable can shorten the output of the ~distro~ function. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--distro_shorthand"~ + - Supports :: Everything except Windows and Haiku + - Examples :: + - on :: ~Arch Linux~ + - off :: ~Arch~ + #+begin_src sh + distro_shorthand="off" + #+end_src + +**** OS Architecture + :PROPERTIES: + :CUSTOM_ID: h-c621c645-f926-411f-852c-9b4508a0736a + :END: + This variable can show or hide the OS architecture in the ~distro~ output. + - Default value :: ~"off"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--os_arch"~ + - Examples :: + - on :: ~Arch Linux x86_64~ + - off :: ~Arch Linux~ + #+begin_src sh + os_arch="off" + #+end_src + +*** Uptime shorthand + :PROPERTIES: + :CUSTOM_ID: h-41f62c23-4306-4828-a824-7a33e19deee5 + :END: + This variable can shorten the output of the ~uptime~ function. ~on~ shortens + it a bit, while ~tiny~ shortens it greatly. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"tiny"~ + - ~"off"~ + - Flag :: ~"--uptime_shorthand"~ + - Examples :: + - on :: ~2 days, 10 hours, 3 mins~ + - off :: ~2 days, 10 hours, 3 minutes~ + - tiny :: ~2d 10h 3m~ + #+begin_src sh + uptime_shorthand="on" + #+end_src + +*** Shell + :PROPERTIES: + :CUSTOM_ID: h-759202dd-43a9-477f-8d11-df1790870673 + :END: +**** Shell path + :PROPERTIES: + :CUSTOM_ID: h-dd92a375-1fa1-4e46-9427-503c03b83b83 + :END: + This allows to show either the path of the user’s shell, or simply its + name. + - Default value :: ~"off"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--shell_path"~ + - Examples :: + - on :: ~/bin/bash~ + - off :: ~bash~ + #+begin_src sh + shell_path="off" + #+end_src + +**** Shell version + :PROPERTIES: + :CUSTOM_ID: h-636dfde0-f0d1-4166-870c-8f1ff31b6dc2 + :END: + This allows to show the shell’s version in the output of ~shell~. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--shell_version"~ + - Examples :: + - on :: ~bash 4.4.5~ + - off :: ~bash~ + #+begin_src sh + shell_version="off" + #+end_src + +*** Theming + :PROPERTIES: + :CUSTOM_ID: h-e2ee7a72-d852-436d-b610-946508597696 + :END: + This section will allow the user to modify what Neofetch can and cannot + display about the machine’s theming —by this, I mean its GTK theme, its + icons and its default font. + +**** Shorten output + :PROPERTIES: + :CUSTOM_ID: h-19994d7e-908b-4e20-912c-a527eee19668 + :END: + With this value, it is possible to shorten the output of the computer’s + theming. + - Default value :: ~"off"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--gtk_shorthand"~ + - Examples :: + - on :: ~Numix, Adwaita~ + - off :: ~Numix [GTK2], Adwaita [GTK3]~ + #+begin_src sh + gtk_shorthand="on" + #+end_src + +**** Enable or disable theming display for GTK2 + :PROPERTIES: + :CUSTOM_ID: h-c9bf1b93-ec7b-4c48-b9f8-5d44edbcb8bc + :END: + It is possible to explicitely show or hide the computer’s theming with GTK2 + with this variable. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--gtk2"~ + - Examples :: + - on :: ~Numix [GTK2], Adwaita [GTK3]~ + - off :: ~Adwaita [GTK3]~ + #+begin_src sh + gtk2="off" + #+end_src + +**** Enable or disable theming display for GTK3 + :PROPERTIES: + :CUSTOM_ID: h-6d367bd6-bb5c-469c-bfd7-145ef0ecd6d9 + :END: + The same variable as above is also available for GTK3. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--gtk3"~ + - Examples :: + - on :: ~Numix [GTK2], Adwaita [GTK3]~ + - off :: ~Numix [GTK2]~ + #+begin_src sh + #+end_src + +*** IP address + :PROPERTIES: + :CUSTOM_ID: h-2ec1b0c8-1663-4afa-bf91-b2dc811ba95b + :END: + It is possible to display the machine’s public IP address with the function + ~ip~. The value below allows the user to change the website used to fetch + it. + - Default value :: ~"http://ident.me"~ + - Value :: ~"url"~ + - Flag :: ~"--ip_host"~ + #+begin_src sh + public_ip_host="http://ident.me" + #+end_src + + - Default value :: ~""~ + - Values :: + - ~""~ + - ~""~ + - Flag :: ~""~ + - Supports :: + - Examples :: + - on :: ~~ + - off :: ~~ + #+begin_src sh + #+end_src + +** Hardware + :PROPERTIES: + :CUSTOM_ID: h-d7f87860-5c1d-427b-9d2e-f7674d9fbab5 + :END: +*** CPU + :PROPERTIES: + :CUSTOM_ID: h-b2183b8b-de13-4812-a7da-9f2d4d66e42d + :END: + +**** CPU brand + :PROPERTIES: + :CUSTOM_ID: h-7300f2bb-e8d2-4ede-8765-a6e8883af99e + :END: + With this variables, it is possible to show or hide the brand of a CPU in + the ~cpu~ output. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--cpu_brand"~ + - Examples :: + - on :: ~Intel i7-6500U~ + - off :: ~i7-6500U~ + #+begin_src sh + cpu_brand="off" + #+end_src + +**** CPU speed + :PROPERTIES: + :CUSTOM_ID: h-5cd70ef6-4ba3-45a3-a46e-ec2d5b76d36a + :END: + With this variable, it is possible to show or hide the speed of the CPU. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--cpu_speed"~ + - Examples :: + - on :: ~Intel i7-6500U (4) @ 3.1GHz~ + - off :: ~Intel i7-6500U (4)~ + #+begin_src sh + cpu_speed="off" + #+end_src + +**** CPU speed type + :PROPERTIES: + :CUSTOM_ID: h-61affc64-b69d-44f2-b950-1623cd908b6a + :END: + This allows Neofetch to know what type of speed it has to fetch regarding + the machine’s CPU. Any file in ~/sys/devices/system/cpu/cpu0/cpufreq~ can + be used as a value. + - Default value :: ~"bios_limit"~ + - Values :: + - ~"scaling_cur_freq"~ + - ~"scaling_min_freq"~ + - ~"scaling_max_freq"~ + - ~"bios_limit"~ + - Flag :: ~"--speed_type"~ + - Supports :: Linux with ~cpufreq~ + #+begin_src sh + speed_type="bios_limit" + #+end_src + +**** CPU speed shorthand + :PROPERTIES: + :CUSTOM_ID: h-6138e3bd-937f-4604-b2c0-db0a49b869bc + :END: + This value allows to show sorter CPU speed with less digits. This flag is + not supported in systems with CPU speed below 1GHz. + - Default value :: ~"off"~ + - Values :: + - ~"on"~ + - ~"on"~ + - Flag :: ~"--speed_shorthand"~ + - Examples :: + - on :: ~i7-6500U (4) @ 3.1GHz~ + - off :: ~i7-6500U (4) @ 3.100GHz~ + #+begin_src sh + speed_shorthand="on" + #+end_src + +**** CPU cores + :PROPERTIES: + :CUSTOM_ID: h-eea09747-5334-49af-aef3-1a29f59ea40e + :END: + With this variable, it is possible to display the number of cores that are + available in the CPU. + - Default value :: ~"logical"~ + - Values :: + - ~"logical"~ + - ~"physical"~ + - ~"off"~ + - Flag :: ~"--cpu_cores"~ + - Supports :: ~physical~ does not work on BSD. + - Examples :: + - logical :: ~Intel i7-6500U (4) @ 3.1GHz~ (All virtual cores) + - physical :: ~Intel i7-6500U (2) @ 3.1GHz~ (All physical cores) + - off :: ~Intel i7-6500U @ 3.1GHz~ + #+begin_src sh + cpu_cores="off" + #+end_src + +**** CPU temperature + :PROPERTIES: + :CUSTOM_ID: h-66633b86-2427-4079-9e62-e72b3d458a21 + :END: + This variable allows the user to hide or show the CPU’s temperature, and if + shown, the user can display it in Celcius or Farenheit degrees. For FreeBSD + and NetBSD-based systems, you’ll need to enable the ~coretemp~ kernel + module. This only supports newer Intel processors. + - Default value :: ~"off"~ + - Values :: + - ~"C"~ + - ~"F"~ + - ~"off"~ + - Flag :: ~"--cpu_temp"~ + - Supports :: Linux, BSD + - Examples :: + - C :: ~Intel i7-6500U (4) @ 3.1GHz [27.2°C]~ + - F :: ~Intel i7-6500U (4) @ 3.1GHz [82.0°F]~ + - off :: ~Intel i7-6500U (4) @ 3.1GHz~ + #+begin_src sh + cpu_temp="off" + #+end_src + +*** GPU + :PROPERTIES: + :CUSTOM_ID: h-6138e3bd-937f-4604-b2c0-db0a49b869bc + :END: + The function responsible for displaying information regarding the GPUs is + ~gpu~. It will try to list all available GPUs and display what it knows + about them. + +**** GPU brand + :PROPERTIES: + :CUSTOM_ID: h-d2a0a4dd-7dc4-4584-8093-ce417b4bb59b + :END: + This value allows the user to hide or show the brand of their GPU in the + output of ~gpu~. + - Default value :: ~"on"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--gpu_brand"~ + - Supports :: + - Examples :: + - on :: ~AMD HD 7950~ + - off :: ~HD 7950~ + #+begin_src sh + gpu_brand="off" + #+end_src + +**** Which GPU to display + :PROPERTIES: + :CUSTOM_ID: h-4309d902-fc80-48c9-be89-02b932d1f650 + :END: + This allows the user to choose which GPU appears in the output of the + function ~gpu~. + - Default value :: ~"all"~ + - Values :: + - ~"all"~ + - ~"dedicated"~ + - ~"integrated"~ + - Flag :: ~"--gpu_type"~ + - Supports :: Linux + - Examples :: + - all :: + #+BEGIN_SRC text + GPU1: AMD HD 7950 + GPU2: Intel Integrated Graphics + #+END_SRC + - dedicated :: ~GPU1: AMD HD 7950~ + - integrated :: ~GPU1: Intel Integrated Graphics~ + #+begin_src sh + gpu_type="all" + #+end_src + +*** Resolution + :PROPERTIES: + :CUSTOM_ID: h-9803fa70-bf09-400a-800f-071de9f2d91d + :END: + This will try to list all the connected screens and display their resolution + individually. It is possible to display the refresh rate or to hide it. + - Default value :: ~"off"~ + - Values :: + - ~"on"~ + - ~"off"~ + - Flag :: ~"--refresh_rate"~ + - Supports :: Does not work on Windows + - Examples :: + - on :: ~1920x1080 @ 60Hz~ + - off :: ~1920x1080~ + #+begin_src sh + refresh_rate="off" + #+end_src + +*** Disks + :PROPERTIES: + :CUSTOM_ID: h-87ce5b65-ae28-49a8-a91b-ed7a38ccc8b4 + :END: + Neofetch can display the space available and the total space of disks diff --git a/org/config/picom.org b/org/config/picom.org index 17d9b38..52c7977 100644 --- a/org/config/picom.org +++ b/org/config/picom.org @@ -1,5 +1,5 @@ -#+title: Phundrak’s Picom Configuration -#+INCLUDE: headers.org +#+title: Picom Configuration +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: diff --git a/org/config/polybar.org b/org/config/polybar.org index 0b4661d..cfef2db 100644 --- a/org/config/polybar.org +++ b/org/config/polybar.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- -#+TITLE: Phundrak’s polybar config -#+INCLUDE: headers.org +#+TITLE: Polybar config +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: diff --git a/org/config/rustfmt.org b/org/config/rustfmt.org index ef50213..f5cad24 100644 --- a/org/config/rustfmt.org +++ b/org/config/rustfmt.org @@ -1,5 +1,5 @@ -#+TITLE: Phundrak’s Rust format config -#+INCLUDE: headers.org +#+TITLE: Rust format config +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: diff --git a/org/config/sitemap.org b/org/config/sitemap.org new file mode 100644 index 0000000..a455bb0 --- /dev/null +++ b/org/config/sitemap.org @@ -0,0 +1,16 @@ +#+TITLE: Sitemap for project config-website-org + +- [[file:awesome.org][AwesomeWM configuration]] +- [[file:bin.org][Executable scripts]] +- [[file:fish.org][Fish config]] +- [[file:nano.org][Nano configuration]] +- [[file:ncmpcpp.org][Ncmpcpp Configuration (WIP)]] +- [[file:neofetch.org][Neofetch configuration (WIP)]] +- [[file:installation.org][Phundrak-flavored Arch Linux]] +- [[file:index.org][Phundrak’s dotfiles]] +- [[file:picom.org][Picom Configuration]] +- [[file:polybar.org][Polybar config]] +- [[file:rustfmt.org][Rust format config]] +- [[file:spacemacs.org][Spacemacs Configuration]] +- [[file:tmux.org][Tmux config]] +- [[file:i3.org][i3 config]] \ No newline at end of file diff --git a/org/config/spacemacs.org b/org/config/spacemacs.org index 813db8f..5f1ef31 100644 --- a/org/config/spacemacs.org +++ b/org/config/spacemacs.org @@ -1,6 +1,6 @@ # -*- org-confirm-babel-evaluate: nil -*- -#+title: Phundrak’s Spacemacs Configuration -#+INCLUDE: headers.org +#+title: Spacemacs Configuration +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: @@ -215,6 +215,7 @@ #+NAME: extra-packages | name of the package | why is it installed | |---------------------+------------------------------------------------------| + | caddyfile-mode | Major mode for editing Caddyfiles | | dired-du | alternative to ~ncdu~ with Dired | | doom-themes | some cool themes | | edit-indirect | edit region in separate buffer | @@ -314,7 +315,6 @@ (auto-completion :variables auto-completion-complete-with-key-sequence-delay 0.2 auto-completion-enable-help-tooltip 'manual - auto-completion-enable-snippets-in-popup t auto-completion-enable-sort-by-usage t :disabled-for org @@ -580,6 +580,13 @@ node-add-modules-path t) #+END_SRC + Alternatively, I also use Typescript which is a sort of better Javascript + as it should have been, with the LSP backend. + #+BEGIN_SRC emacs-lisp + (typescript :variables + typescript-backend 'lsp) + #+END_SRC + I am also currently using the Awesome window manager which requires the Lua programming language, so here it is. #+BEGIN_SRC emacs-lisp @@ -590,6 +597,10 @@ lua-lsp-emmy-enable-file-watchers t) #+END_SRC + #+BEGIN_SRC emacs-lisp +haskell + #+END_SRC + *** Readers :PROPERTIES: :CUSTOM_ID: h-02099754-7102-4251-9e2e-a3ee33f4b469 @@ -950,6 +961,12 @@ :size 10.0)) #+END_SRC + I also added the following code in order to define a fallback font for + emojis, defined only on their unicode range: + #+BEGIN_SRC emacs-lisp + (set-fontset-font "fontset-default" '(#x1f600 . #x1f64f) "NotoEmoji Nerd Font") + #+END_SRC + *** Other on-screen elements :PROPERTIES: :CUSTOM_ID: h-fabead22-a4d0-4826-9ed1-37297810c30b @@ -2016,7 +2033,7 @@ (setq mu4e-enable-notifications t mu4e-alert-email-notification-types '(count)) (with-eval-after-load 'mu4e-alert - (mu4e-alert-set-default-style 'libnotify)) + (mu4e-alert-set-default-style 'notifications)) (add-hook 'mu4e-view-mode-hook 'visual-line-mode) #+END_SRC @@ -2922,11 +2939,12 @@ :base-directory "~/org/config/" :base-extension "org" :exclude "\\./\\(CONTRIB\\|head\\|temp\\|svg-ink\\).*" - :publishing-directory "/ssh:Naro:~/www/phundrak.com/www/config" + :publishing-directory "/ssh:Naro:~/www/phundrak.com/config" :recursive t :language "en" :publishing-function org-html-publish-to-html :headline-levels 5 + :auto-sitemap t :auto-preamble t) #+END_SRC @@ -2936,8 +2954,8 @@ #+BEGIN_SRC emacs-lisp :tangle no ("config-website-static" :base-directory "~/org/config/" - :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub\\|md" - :publishing-directory "/ssh:Naro:~/www/phundrak.com/www/config" + :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|webp\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub\\|md" + :publishing-directory "/ssh:Naro:~/www/phundrak.com/config" :recursive t :language "en" :publishing-function org-publish-attachment) @@ -2961,10 +2979,10 @@ #+NAME: org-proj-lang-html #+BEGIN_SRC emacs-lisp :tangle no ("langue-phundrak-com-org" - :base-directory "~/Documents/conlanging/web/" + :base-directory "~/Documents/conlanging/content/" :base-extension "org" :exclude "\\./\\(CONTRIB\\|README\\|head\\|temp\\|svg-ink\\).*" - :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" + :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue/" :recursive t :language "fr" :publishing-function org-html-publish-to-html @@ -2977,10 +2995,10 @@ #+NAME: org-proj-lang-pdf #+BEGIN_SRC emacs-lisp :tangle no ("langue-phundrak-com-pdf" - :base-directory "~/Documents/conlanging/web/" + :base-directory "~/Documents/conlanging/content/" :base-extension "org" :exclude "\\./\\(CONTRIB\\|README\\|index\\|head\\|temp\\|svg-ink\\).*" - :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" + :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue/" :recursive t :language "fr" :publishing-function org-latex-publish-to-pdf @@ -2993,9 +3011,9 @@ #+NAME: org-proj-lang-static #+BEGIN_SRC emacs-lisp :tangle no ("langue-phundrak-com-static" - :base-directory "~/Documents/conlanging/web/" - :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub" - :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" + :base-directory "~/Documents/conlanging/content/" + :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|webp\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub" + :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue/" :recursive t :language "fr" :publishing-function org-publish-attachment) diff --git a/org/config/tmux.org b/org/config/tmux.org index a3994ec..e78d973 100644 --- a/org/config/tmux.org +++ b/org/config/tmux.org @@ -1,5 +1,5 @@ -#+TITLE: Phundrak’s tmux config -#+INCLUDE: headers.org +#+TITLE: Tmux config +#+INCLUDE: headers #+OPTIONS: auto-id:t #+HTML_HEAD_EXTRA: #+HTML_HEAD_EXTRA: