diff --git a/README.org b/README.org index 0f40cea..7df0dda 100644 --- a/README.org +++ b/README.org @@ -32,11 +32,13 @@ It will link all dotfiles to their correct place. + polybar + rofi + xlock ++ picom (no settings, just for compositing) ** main programs + discord + spotify + seafile-applet + keepassxc ++ okular ** control stuff + [[https://github.com/bulletmark/libinput-gestures][libinput-gestures]] + pactl diff --git a/files/emacs/.emacs.d/init.org b/files/emacs/.emacs.d/init.org index ac4485b..8b120db 100644 --- a/files/emacs/.emacs.d/init.org +++ b/files/emacs/.emacs.d/init.org @@ -254,14 +254,16 @@ I mainly use these fonts: Use non-monospace font for org-mode! Blocks will still be mono-spaced. -#+begin_src emacs-lisp :tangle yes +*CURRENTLY DISABLED* +#+begin_src emacs-lisp :tangle no (set-face-attribute 'variable-pitch nil :family "Roboto") (set-face-attribute 'fixed-pitch nil :family "JuliaMono") (use-package mixed-pitch :straight t :hook - (text-mode . mixed-pitch-mode)) + (text-mode . mixed-pitch-mode) + (org-agenda-mode . mixed-pitch-mode)) #+end_src *** Bars @@ -342,7 +344,8 @@ TODO: Disable this in c/c++ mode. (use-package rainbow-mode :straight t :hook - (prog-mode . rainbow-mode)) + (prog-mode . rainbow-mode) + (org-mode . rainbow-mode)) #+end_src *** Whitespaces @@ -370,6 +373,18 @@ I only need 80 columns on my 4K display. (markdown-mode . fci-mode)) #+end_src +*** Highlight indentation +Show me indentation markers. +#+begin_src emacs-lisp :tangle yes +(use-package highlight-indent-guides + :straight t + :config + (setq highlight-indent-guides-method 'character + highlight-indent-guides-responsive 'top) + :hook + (prog-mode . highlight-indent-guides-mode)) +#+end_src + *** File bar Sometimes I want to see all of my files. #+begin_src emacs-lisp :tangle yes @@ -477,16 +492,12 @@ Bootstrap =org-mode= together with keybindings. *** Misc #+begin_src emacs-lisp :tangle yes -(setq ;; org-hidden-keywords '(title) ;; hide title - org-startup-with-inline-images t ;; start with inline images enabled +(setq org-startup-with-inline-images t ;; start with inline images enabled org-image-actual-width nil ;; rescale inline images org-directory "~/org" ;; set org file directory - org-agenda-files (quote ("~/org")) ;; indexed files by org agenda org-edit-src-content-indentation 0 ;; don't indent stupidly in org-edit-src-code org-log-done nil ;; just mark DONE without a time stamp org-log-repeat nil ;; don't set a time after marking sth DONE - org-agenda-start-on-weekday nil ;; my week starts on a monday - calendar-week-start-day 1 ;; my week starts on a monday ) #+end_src @@ -524,6 +535,40 @@ Also be *careful* with =haskell= recursion, it can lead to system crashes (at l :straight t) #+end_src +*** org-agenda +The default =agenda= looks a bit messy. +#+begin_src emacs-lisp :tangle yes +(use-package org-super-agenda + :straight t + :after org + :config + (setq org-super-agenda-groups '((:auto-outline-path t))) + (org-super-agenda-mode)) +#+end_src + +Setup some stuff for =agenda= +#+begin_src emacs-lisp :tangle yes +(setq org-agenda-files (quote ("~/org")) ;; indexed files by org agenda + org-agenda-start-on-weekday nil ;; my week starts on a monday + calendar-week-start-day 1 ;; my week starts on a monday +) +#+end_src + +I need my =hjkl= :( +#+begin_src emacs-lisp :tangle yes +(define-key org-agenda-mode-map (kbd "h") 'org-agenda-earlier) +(define-key org-agenda-mode-map (kbd "l") 'org-agenda-later) +(define-key org-agenda-mode-map (kbd "j") 'org-agenda-next-line) +(define-key org-agenda-mode-map (kbd "k") 'org-agenda-previous-line) +(define-key org-agenda-mode-map (kbd "t") 'org-agenda-goto-today) + +(define-key org-super-agenda-header-map (kbd "h") 'org-agenda-earlier) +(define-key org-super-agenda-header-map (kbd "l") 'org-agenda-later) +(define-key org-super-agenda-header-map (kbd "j") 'org-agenda-next-line) +(define-key org-super-agenda-header-map (kbd "k") 'org-agenda-previous-line) +(define-key org-super-agenda-header-map (kbd "t") 'org-agenda-goto-today) +#+end_src + *** LaTeX Export Enable LaTeX export with =pdflatex= and use =minted= for code highlighting. Also fix math =utf8= chars. @@ -576,7 +621,6 @@ Use graphivz to draw graphs. *** Fonts and fancy Some custom fonts stuff. #+begin_src emacs-lisp :tangle yes -(set-face-attribute 'org-document-title nil :family "Roboto" :weight 'bold :inherit 'default :height 250) (setq org-ellipsis " ⮷" ;; folding icon ;; org-hide-emphasis-markers t ;; hide markers such as *, =, _ ) @@ -591,17 +635,8 @@ Use =(setq inhibit-compacting-font-caches t)=, if performance is low. :hook (org-mode . org-superstar-mode) :config - (setq org-superstar-remove-leading-stars t)) -#+end_src - -Also the default =agenda= looks a bit messy. -#+begin_src emacs-lisp :tangle yes -(use-package org-super-agenda - :straight t - :after org - :config - (setq org-super-agenda-groups '((:auto-group t))) - (org-super-agenda-mode)) + (setq org-superstar-remove-leading-stars t + org-superstar-headline-bullets-list '(9673 10061 10040))) #+end_src @@ -751,8 +786,7 @@ We also need the actual snippets. (setq lsp-keymap-prefix "C-l") :config (lsp-enable-which-key-integration t) - (setq lsp-rust-server 'rust-analyzer - lsp-auto-guess-root t + (setq lsp-auto-guess-root t lsp-idle-delay 1 lsp-enable-file-watchers nil) :hook @@ -790,6 +824,7 @@ In order for =lsp-mode= to work, it needs to compile code on the =fly=. *** language servers **** rust +Basic =rust-mode= with some fancy characters. #+begin_src emacs-lisp :tangle yes (use-package rust-mode :straight t @@ -803,6 +838,13 @@ In order for =lsp-mode= to work, it needs to compile code on the =fly=. (push '(">=" . ?≥) prettify-symbols-alist)))) #+end_src +I want to use =rust-analyzer= and see inlay type hints for variables. +#+begin_src emacs-lisp :tangle yes +(setq lsp-rust-server 'rust-analyzer + lsp-rust-analyzer-server-display-inlay-hints t) +(add-hook 'rust-mode 'lsp-rust-analyzer-inlay-hints-mode) +#+end_src + **** haskell #+begin_src emacs-lisp :tangle yes (use-package haskell-mode diff --git a/files/i3/.config/i3/config b/files/i3/.config/i3/config index 9e3a850..4769a93 100644 --- a/files/i3/.config/i3/config +++ b/files/i3/.config/i3/config @@ -6,11 +6,16 @@ floating_modifier $mod # applications bindsym $mod+Return exec --no-startup-id alacritty -bindsym $mod+d exec --no-startup-id rofi -theme ~/.config/rofi/light.rasi -show drun bindsym $mod+Shift+s exec --no-startup-id flameshot gui bindsym XF86Calculator exec --no-startup-id emacs +# rofi +bindsym $mod+d exec --no-startup-id rofi -show drun +bindsym $mod+s exec --no-startup-id rofi -show window # 's'witch window +bindsym $mod+a exec --no-startup-id rofi -show filebrowser + # audio and brightness +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle; exec --no-startup-id notify-send -i /usr/share/icons/Papirus/48x48/devices/audio-input-microphone.svg -u critical "Audio" "Mic Mute toggled" bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% @@ -47,13 +52,13 @@ bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # split in horizontal orientation -bindsym $mod+v split h +# bindsym $mod+v split h # split in vertical orientation -bindsym $mod+s split v +# bindsym $mod+s split v # enable stacked -bindsym $mod+a layout stacking +# bindsym $mod+a layout stacking # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle @@ -107,7 +112,7 @@ bindsym $mod+Ctrl+h move workspace to output left bindsym $mod+Ctrl+l move workspace to output right # reload the configuration file -bindsym $mod+Shift+c reload +bindsym $mod+Shift+c reload; exec --no-startup-id notify-send 'i3wm' 'Reloaded i3 configuration' # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart @@ -117,7 +122,7 @@ title_align center # colors set $white "#ffffff" set $fg "#5c6773" -set $black "#000000" +set $black "#222222" set $grey "#eeeeee" set $green "#a6cc70" set $red "#ff3333" @@ -125,22 +130,29 @@ set $blue "#55b4d4" set $yellow "#e7c547" # class border backgr. text indicator child_border -client.focused $green $green $fg $green $grey +client.focused $black $black $white $black $black client.focused_inactive $grey $grey $fg $grey $grey client.unfocused $grey $grey $fg $grey $grey -client.urgent $red $red $white $red $red +client.urgent $red $red $white $red $grey -# i3 bar -# flaoting on start +# floating on start for_window [class="Pavucontrol"] floating enable for_window [title="Event Tester"] floating enable for_window [class="flameshot"] floating enable +# auto assign +for_window [class="Firefox"] move to workspace $ws2 +for_window [class="discord"] move to workspace $ws3 +for_window [class="TelegramDesktop"] move to workspace $ws3 +for_window [class="Spotify"] move to workspace $ws4 +for_window [class="Thunderbird"] move to workspace $ws9 + # border smart_borders on +smart_gaps on # gaps -gaps inner 10 +gaps inner 0 # desktop (wallpaper, bar, ...) exec_always --no-startup-id ~/dots/scripts/reload_desktop.sh @@ -150,5 +162,6 @@ exec --no-startup-id nm-applet exec --no-startup-id keepassxc exec --no-startup-id seafile-applet exec --no-startup-id fcitx5 +exec --no-startup-id picom exec --no-startup-id libinput-gestures-setup start exec --no-startup-id redshift-gtk -l 48.13333:11.56667 diff --git a/files/polybar/.config/polybar/config b/files/polybar/.config/polybar/config index 211e160..5dd389c 100644 --- a/files/polybar/.config/polybar/config +++ b/files/polybar/.config/polybar/config @@ -1,8 +1,9 @@ [colors] white = #ffffff -black = #222222 +black = #ee222222 green = #a6cc70 red = #ff3333 +yellow = #e7c547 [bar/bar] @@ -29,19 +30,19 @@ bottom = false screenchange-reload = true -tray-position = ${env:TRAYPOS:right} +tray-position = ${env:TRAYPOS:none} tray-scale = 1.0 tray-maxsize = 25 line-size = 4 -padding-left = 1 -padding-right = 1 -module-margin = 2 +# keep these two the same +padding = 3 +module-margin = 3 -modules-left = logo i3 polywins spotify +modules-left = logo i3 polywins modules-center = -modules-right = ram sep cpu sep cpu_temp sep temp sep backlight sep pulseaudio sep conservation sep battery sep date sep +modules-right = spotify backlight pulseaudio mic conservation battery date [module/i3] strip-wsnumbers = true @@ -81,7 +82,7 @@ type = internal/date interval = 1.0 date = %a, %d %b time = %H:%M -label =  %date% %time% +label = %date% %time% [module/pulseaudio] type = internal/pulseaudio @@ -113,11 +114,13 @@ time-format = %H:%M # charging format-charging = -label-charging = %percentage%%  +label-charging = %percentage%% +format-charging-foreground = ${colors.green} # discharging format-discharging = label-discharging = %percentage%% - %time% +format-discharging-foreground = ${colors.yellow} ramp-capacity-0 =  ramp-capacity-1 =  ramp-capacity-2 =  @@ -129,7 +132,7 @@ label-full =  100% [module/conservation] type = custom/script -exec = if [ /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode ]; then echo "On"; else echo "Off"; fi +exec = if [ "$(cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode)" == "1" ]; then echo "On"; else echo "Off"; fi click-left = alacritty --command ~/dots/scripts/laptop/conservation_mode.sh format =