aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2023-12-31 15:08:06 +0300
committerspl3g <spleefer6@yandex.ru>2025-05-01 14:56:39 +0300
commitb8a5c62b112859f463a53ac97b43f7f8cdc544a9 (patch)
tree8b320bc9631fbd60ffe4b701e6afee148bb2313a
parent7db487dba2262af7b7822d110122ff496070ca92 (diff)
uhm
-rw-r--r--flake.lock70
-rw-r--r--flake.nix12
-rw-r--r--home-manager/general/default.nix71
-rw-r--r--home-manager/general/home.nix~ (renamed from home-manager/home.nix)40
-rw-r--r--home-manager/general/programs/alacritty/default.nix (renamed from home-manager/programs/alacritty/default.nix)0
-rw-r--r--home-manager/general/programs/default.nix (renamed from home-manager/programs/default.nix)4
-rw-r--r--home-manager/general/programs/emacs/#init.el#735
-rw-r--r--home-manager/general/programs/emacs/config.org (renamed from home-manager/programs/emacs/config.org)302
-rw-r--r--home-manager/general/programs/emacs/default.nix118
-rw-r--r--home-manager/general/programs/emacs/early-init.el (renamed from home-manager/programs/emacs/early-init.el)0
-rw-r--r--home-manager/general/programs/emacs/init.el (renamed from home-manager/programs/emacs/init.el)267
-rw-r--r--home-manager/general/programs/emacs/init.old.el (renamed from home-manager/programs/emacs/init.old.el)0
-rw-r--r--home-manager/general/programs/emacs/tmpWCGTRZ735
-rw-r--r--home-manager/general/programs/firefox/default.nix (renamed from home-manager/programs/firefox/default.nix)0
-rw-r--r--home-manager/general/programs/firefox/user.js (renamed from home-manager/programs/firefox/user.js)0
-rw-r--r--home-manager/general/programs/firefox/userChrome.css (renamed from home-manager/programs/firefox/userChrome.css)0
-rw-r--r--home-manager/general/programs/fish/default.nix (renamed from home-manager/programs/fish/default.nix)1
-rw-r--r--home-manager/general/programs/ranger/commands.py (renamed from home-manager/programs/ranger/commands.py)0
-rw-r--r--home-manager/general/programs/ranger/default.nix (renamed from home-manager/programs/ranger/default.nix)0
-rw-r--r--home-manager/general/programs/ranger/default.nix~ (renamed from home-manager/programs/ranger/default.nix~)0
-rw-r--r--home-manager/general/programs/ranger/plugins/__init__.py (renamed from home-manager/programs/ranger/plugins/__init__.py)0
-rw-r--r--home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc (renamed from home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc)bin139 -> 139 bytes
-rw-r--r--home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc (renamed from home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc)bin155 -> 155 bytes
-rw-r--r--home-manager/general/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc (renamed from home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc)bin6322 -> 6322 bytes
-rw-r--r--home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc (renamed from home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc)bin1682 -> 1682 bytes
-rw-r--r--home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc (renamed from home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc)bin3030 -> 3030 bytes
-rw-r--r--home-manager/general/programs/ranger/plugins/quit_cd_wd.py (renamed from home-manager/programs/ranger/plugins/quit_cd_wd.py)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/.gitignore (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/LICENSE (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/README.md (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/__init__.py (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/command.py (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py)0
-rw-r--r--home-manager/general/programs/ranger/plugins/ranger_fzf_filter/filter.py (renamed from home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py)0
-rw-r--r--home-manager/general/programs/ranger/rc.conf (renamed from home-manager/programs/ranger/rc.conf)0
-rw-r--r--home-manager/general/programs/ranger/rifle.conf (renamed from home-manager/programs/ranger/rifle.conf)0
-rwxr-xr-xhome-manager/general/programs/ranger/scope.sh (renamed from home-manager/programs/ranger/scope.sh)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/close-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/close-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg (renamed from home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg)0
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png)bin596 -> 596 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png)bin969 -> 969 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png)bin600 -> 600 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png)bin923 -> 923 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png)bin600 -> 600 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png)bin917 -> 917 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider.png)bin594 -> 594 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png)bin960 -> 960 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png)bin589 -> 589 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png)bin941 -> 941 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png)bin584 -> 584 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png)bin907 -> 907 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png)bin591 -> 591 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png)bin924 -> 924 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider.png)bin584 -> 584 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png)bin939 -> 939 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png)bin547 -> 547 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png)bin900 -> 900 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png)bin547 -> 547 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png)bin878 -> 878 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png)bin541 -> 541 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png)bin873 -> 873 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider.png)bin535 -> 535 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png)bin896 -> 896 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png)bin556 -> 556 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png)bin878 -> 878 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png)bin540 -> 540 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png)bin840 -> 840 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png)bin547 -> 547 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png)bin858 -> 858 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider.png)bin530 -> 530 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png (renamed from home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png)bin875 -> 875 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png)bin467 -> 467 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png)bin710 -> 710 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked.png)bin474 -> 474 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png)bin722 -> 722 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png)bin273 -> 273 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png)bin415 -> 415 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png)bin273 -> 273 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png (renamed from home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png)bin415 -> 415 bytes
-rw-r--r--home-manager/general/themes/Catppuccin/gtk-dark.css (renamed from home-manager/themes/Catppuccin/gtk-dark.css)0
-rw-r--r--home-manager/general/themes/Catppuccin/gtk.css (renamed from home-manager/themes/Catppuccin/gtk.css)0
-rw-r--r--home-manager/general/themes/default.nix (renamed from home-manager/themes/default.nix)4
-rw-r--r--home-manager/laptop/default.nix17
-rw-r--r--home-manager/laptop/home.nix~16
-rw-r--r--home-manager/laptop/hyprland/cat.png (renamed from home-manager/wm/hyprland/cat.png)bin15467 -> 15467 bytes
-rw-r--r--home-manager/laptop/hyprland/default.nix (renamed from home-manager/wm/hyprland/default.nix)6
-rw-r--r--home-manager/laptop/hyprland/hyprland.conf (renamed from home-manager/wm/hyprland/hyprland.conf)17
-rwxr-xr-xhome-manager/laptop/hyprland/scripts/battery-level.sh (renamed from home-manager/wm/hyprland/scripts/battery-level.sh)0
-rwxr-xr-xhome-manager/laptop/hyprland/scripts/hshot (renamed from home-manager/wm/hyprland/scripts/hshot)0
-rwxr-xr-xhome-manager/laptop/hyprland/scripts/kill (renamed from home-manager/wm/hyprland/scripts/kill)0
-rwxr-xr-xhome-manager/laptop/hyprland/scripts/rnew.fish (renamed from home-manager/wm/hyprland/scripts/rnew.fish)0
-rwxr-xr-xhome-manager/laptop/hyprland/scripts/rofi-modes (renamed from home-manager/wm/hyprland/scripts/rofi-modes)2
-rw-r--r--home-manager/laptop/programs/ags/bar/config.js (renamed from home-manager/programs/ags/bar/config.js)0
-rw-r--r--home-manager/laptop/programs/ags/bar/style.css (renamed from home-manager/programs/ags/bar/style.css)0
-rw-r--r--home-manager/laptop/programs/ags/default.nix (renamed from home-manager/programs/ags/default.nix)2
-rw-r--r--home-manager/laptop/programs/default.nix4
-rw-r--r--home-manager/laptop/programs/default.nix~ (renamed from home-manager/programs/default.nix~)0
-rw-r--r--home-manager/laptop/programs/rofi/#squared-material-pine.rasi#97
l---------home-manager/laptop/programs/rofi/.#squared-material-pine.rasi1
-rw-r--r--home-manager/laptop/programs/rofi/config.rasi (renamed from home-manager/programs/rofi/config.rasi)0
-rw-r--r--home-manager/laptop/programs/rofi/default.nix18
-rw-r--r--home-manager/laptop/programs/rofi/squared-material-pine.rasi (renamed from home-manager/programs/rofi/squared-material-pine.rasi)7
-rw-r--r--home-manager/laptop/programs/rofi/theme.rasi125
-rw-r--r--home-manager/laptop/programs/waybar/config.jsonc (renamed from home-manager/programs/waybar/config.jsonc)0
-rw-r--r--home-manager/laptop/programs/waybar/default.nix (renamed from home-manager/programs/waybar/default.nix)0
-rw-r--r--home-manager/laptop/programs/waybar/style.css (renamed from home-manager/programs/waybar/style.css)0
-rw-r--r--home-manager/laptop/services/default.nix3
-rw-r--r--home-manager/laptop/services/mako/default.nix (renamed from home-manager/services/mako/default.nix)0
-rw-r--r--home-manager/pc/bspwm/default.nix (renamed from home-manager/wm/bspwm/default.nix)2
-rw-r--r--home-manager/pc/default.nix12
-rw-r--r--home-manager/pc/default.nix~13
-rw-r--r--home-manager/pc/services/default.nix (renamed from home-manager/services/default.nix)3
-rw-r--r--home-manager/pc/services/dunst/default.nix (renamed from home-manager/services/dunst/default.nix)0
-rw-r--r--home-manager/pc/services/dunst/default.nix~ (renamed from home-manager/services/dunst/default.nix~)0
-rw-r--r--home-manager/pc/services/picom/default.nix (renamed from home-manager/services/picom/default.nix)0
-rwxr-xr-xhome-manager/pc/services/polybar/hide.fish (renamed from home-manager/services/polybar/hide.fish)0
-rw-r--r--home-manager/pc/services/polybar/hide.fish~ (renamed from home-manager/services/polybar/hide.fish~)0
-rw-r--r--home-manager/pc/services/polybar/hide~ (renamed from home-manager/services/polybar/hide~)0
-rw-r--r--home-manager/pc/services/sxhkd/default.nix (renamed from home-manager/services/sxhkd/default.nix)0
-rw-r--r--home-manager/programs/emacs/default.nix99
-rw-r--r--home-manager/programs/foot/default.nix9
-rw-r--r--home-manager/programs/kitty/default.nix14
-rw-r--r--home-manager/programs/kitty/default.nix~10
-rw-r--r--home-manager/programs/rofi/default.nix22
-rw-r--r--home-manager/wm/default.nix12
-rw-r--r--nixos/configuration.new.nix~100
-rw-r--r--nixos/configuration.old.nix180
-rw-r--r--nixos/general.nix74
-rw-r--r--nixos/laptop/configuration.nix47
-rw-r--r--nixos/laptop/configuration.nix~ (renamed from nixos/configuration.nix)38
-rw-r--r--nixos/laptop/hardware-configuration.nix (renamed from nixos/hardware-configuration.nix)4
-rw-r--r--nixos/pc/configuration.nix40
-rw-r--r--nixos/pc/configuration.nix~12
160 files changed, 2496 insertions, 869 deletions
diff --git a/flake.lock b/flake.lock
index 77b4405..0cbd1e0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1700828204,
- "narHash": "sha256-tyil7xLnHmtmOiFRzkODpX1rvJjipTWTr9UAMSu3hoA=",
+ "lastModified": 1703773758,
+ "narHash": "sha256-wY43cHzxcGMdwDcC0L868XU68hUPPRVttEqCXwsgCc0=",
"owner": "Aylur",
"repo": "ags",
- "rev": "8871cea257c595d954c44c4148513682aec01847",
+ "rev": "b2dc5f09834e04c368a8f07d69eac18c741b0a40",
"type": "github"
},
"original": {
@@ -25,11 +25,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1700904965,
- "narHash": "sha256-iYtNBEadQBvPwKVgWhVO5ZQJAQGk7PLxCC4gIshrwU0=",
+ "lastModified": 1703796062,
+ "narHash": "sha256-xUcmgr007TeEshv4ZVZLAqTh0QWWCdJV40TltcPkv/c=",
"owner": "nix-community",
"repo": "emacs-overlay",
- "rev": "309f6092a689e3b402a32a589bb5a6ead9abe528",
+ "rev": "a405e8becb24d38d7e0c465b6432ea3155da66c6",
"type": "github"
},
"original": {
@@ -43,11 +43,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1694529238,
- "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
@@ -63,11 +63,11 @@
]
},
"locked": {
- "lastModified": 1700847865,
- "narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=",
+ "lastModified": 1703795120,
+ "narHash": "sha256-Scr4fwfGn03zwFgM7IltT8hqbFDkHvymnF5AaR4eDAg=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe",
+ "rev": "ba6b75011b44e85b1b755b6c423f85d0817645f7",
"type": "github"
},
"original": {
@@ -87,11 +87,11 @@
"xdph": "xdph"
},
"locked": {
- "lastModified": 1700876704,
- "narHash": "sha256-V3Z1SYEpi5baifNxvIOgBWWy9J0m0hZ8arAMS4XpbZk=",
+ "lastModified": 1703801243,
+ "narHash": "sha256-+8K8Ax9anmVyEnP1Q3PNkceKDiZWei8YQhRyahXNNeA=",
"owner": "hyprwm",
"repo": "Hyprland",
- "rev": "512a59731b2e579b66325d0e9ce770919eecd685",
+ "rev": "cedf5f1fca057351d85560ff72bf2cc6cc609755",
"type": "github"
},
"original": {
@@ -143,27 +143,27 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1700678569,
- "narHash": "sha256-2Ki+2UvOidxEb3xB4ADqlbPQ2BZOF4uZMR094O8or2I=",
+ "lastModified": 1703467016,
+ "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8f1180704ac35baded1a74164365ac7cdfba6f38",
+ "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-23.05",
+ "ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1700612854,
- "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
+ "lastModified": 1703438236,
+ "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614",
+ "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b",
"type": "github"
},
"original": {
@@ -175,11 +175,11 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1700612854,
- "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
+ "lastModified": 1703438236,
+ "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614",
+ "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b",
"type": "github"
},
"original": {
@@ -191,11 +191,11 @@
},
"nurpkgs": {
"locked": {
- "lastModified": 1700905501,
- "narHash": "sha256-1YsdXNts9pLBs+kYSwvrL39c9XsTer3sEUgNjqqnHz0=",
+ "lastModified": 1703796324,
+ "narHash": "sha256-uy3XJh8JjQ4jUF3BgjFmgF/gT4FqPuzEWM4GOFiIiLA=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "f1fd8aa4751304d1f63ccd8857e3e5dcf6b35f54",
+ "rev": "cee4581467953d2c1be3e57450fb0023d52f342e",
"type": "github"
},
"original": {
@@ -248,18 +248,18 @@
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
- "lastModified": 1700736101,
- "narHash": "sha256-1Fh1xf/JX5zFbGIF9LDaffaleG6JDwwwnKby0LyiXEA=",
+ "lastModified": 1701368958,
+ "narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=",
"owner": "wlroots",
"repo": "wlroots",
- "rev": "f1762f428b0ef2989c81f57ea9e810403d34d946",
+ "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
"type": "gitlab"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
- "rev": "f1762f428b0ef2989c81f57ea9e810403d34d946",
+ "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
"type": "gitlab"
}
},
@@ -279,11 +279,11 @@
]
},
"locked": {
- "lastModified": 1700508250,
- "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=",
+ "lastModified": 1703514399,
+ "narHash": "sha256-VRr5Xc4S/VPr/gU3fiOD3vSIL2+GJ+LUrmFTWTwnTz4=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
- "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47",
+ "rev": "0a318a7a217a6402b0b705837cd5b50b0e94b31b",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 0be8527..07b8d6c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -40,7 +40,7 @@
"x86_64-darwin"
];
in
- rec {
+ {
packages = forAllSystems (system:
let pkgs = nixpkgs.legacyPackages.${system};
in import ./pkgs { inherit pkgs; }
@@ -64,11 +64,19 @@
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = {
+ ltrr-mini = nixpkgs.lib.nixosSystem {
+ specialArgs = { inherit inputs outputs; };
+ modules = [
+ # > Our main nixos configuration file <
+ ./nixos/laptop/configuration.nix
+ nurpkgs.nixosModules.nur
+ ];
+ };
ltrr = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [
# > Our main nixos configuration file <
- ./nixos/configuration.nix
+ ./nixos/pc/configuration.nix
nurpkgs.nixosModules.nur
];
};
diff --git a/home-manager/general/default.nix b/home-manager/general/default.nix
new file mode 100644
index 0000000..4f1326e
--- /dev/null
+++ b/home-manager/general/default.nix
@@ -0,0 +1,71 @@
+{ pkgs, ... }:
+let
+ username = "jerpo";
+ homeDirectory = "/home/${username}";
+ configHome = "${homeDirectory}/.config";
+
+ cliPkgs = with pkgs; [
+ gcc
+ cmake
+ gnumake
+ fd
+ pkg-config
+ glib
+ tldr
+ wget
+ btop
+ # jq
+ bat
+ python311
+ fzf
+ nix-prefetch-scripts
+ libtool
+ steam-run
+ unzip
+ ghostscript
+ xdragon
+ ];
+ gamingPkgs = with pkgs; [
+ vkd3d
+ # mangohud
+ gamemode
+ # opentabletdriver
+ bottles
+ steam
+ ];
+ guiPkgs = with pkgs; [
+ libreoffice-fresh
+ clash-verge
+ pokemon-colorscripts
+ telegram-desktop
+ transmission-gtk
+ osu-lazer-bin
+ easyeffects
+ ];
+ fonts = with pkgs; [
+ rubik
+ source-code-pro
+ material-design-icons
+ font-awesome
+ ];
+ imports = builtins.concatMap import [
+ ./programs
+ ] ++ [ ./themes ];
+in
+{
+ inherit imports;
+
+ home = {
+ inherit username homeDirectory;
+ stateVersion = "23.05";
+ packages = guiPkgs ++ gamingPkgs ++ cliPkgs ++ fonts;
+ };
+
+ xdg = {
+ inherit configHome;
+ enable = true;
+ };
+
+ programs.home-manager.enable = true;
+
+}
diff --git a/home-manager/home.nix b/home-manager/general/home.nix~
index 75c2d03..b5a5886 100644
--- a/home-manager/home.nix
+++ b/home-manager/general/home.nix~
@@ -1,46 +1,39 @@
{ config, pkgs, lib, inputs, ... }:
-
-let
+let
username = "jerpo";
homeDirectory = "/home/${username}";
configHome = "${homeDirectory}/.config";
+
cliPkgs = with pkgs; [
+ gcc
+ cmake
+ gnumake
fd
+ pkg-config
glib
tldr
wget
- htop
- jq
+ btop
+ # jq
bat
python311
fzf
- wineWowPackages.full
- wineWowPackages.fonts
- winetricks
nix-prefetch-scripts
libtool
- bluetuith
steam-run
unzip
ghostscript
- g-ls
- wayvnc
- draw
xdragon
];
gamingPkgs = with pkgs; [
- vulkan-tools
vkd3d
- dxvk
- lutris
- mangohud
+ # mangohud
gamemode
- opentabletdriver
+ # opentabletdriver
bottles
steam
];
- guiPkgs = with pkgs; [
- ansel
+ guiPkgs = with pkgs; [
libreoffice-fresh
clash-verge
pokemon-colorscripts
@@ -48,7 +41,6 @@ let
transmission-gtk
osu-lazer-bin
easyeffects
- obs-studio
];
fonts = with pkgs; [
rubik
@@ -56,17 +48,10 @@ let
material-design-icons
font-awesome
];
- nonListImports = [
- inputs.hyprland.homeManagerModules.default
- inputs.ags.homeManagerModules.default
- ./themes
- ];
imports = builtins.concatMap import [
./programs
./services
- ./wm
- ] ++ nonListImports;
-
+ ] ++ [ ./themes ];
in
{
inherit imports;
@@ -83,4 +68,5 @@ in
};
programs.home-manager.enable = true;
+
}
diff --git a/home-manager/programs/alacritty/default.nix b/home-manager/general/programs/alacritty/default.nix
index 930952d..930952d 100644
--- a/home-manager/programs/alacritty/default.nix
+++ b/home-manager/general/programs/alacritty/default.nix
diff --git a/home-manager/programs/default.nix b/home-manager/general/programs/default.nix
index 0381598..cf86795 100644
--- a/home-manager/programs/default.nix
+++ b/home-manager/general/programs/default.nix
@@ -1,11 +1,7 @@
[
./fish
./firefox
- ./rofi
./emacs
./ranger
- ./waybar
- ./ags
./alacritty
- ./kitty
]
diff --git a/home-manager/general/programs/emacs/#init.el# b/home-manager/general/programs/emacs/#init.el#
new file mode 100644
index 0000000..b17a54b
--- /dev/null
+++ b/home-manager/general/programs/emacs/#init.el#
@@ -0,0 +1,735 @@
+(setq gc-cons-threshold (* 50 1000 1000))
+
+(require 'use-package)
+(eval-and-compile
+ (setq use-package-always-ensure t
+ use-package-expand-minimally t))
+
+(use-package savehist
+ :init
+ (setq savehist-file "~/.config/emacs/var/savehist.el")
+ :config
+ (setq history-length 500)
+ (setq savehist-additional-variables '(kill-ring search-ring))
+ (savehist-mode t))
+
+(use-package meow
+ :config
+ (defun meow-setup ()
+ (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
+ (meow-motion-overwrite-define-key
+ '("j" . meow-next)
+ '("k" . meow-prev)
+ '("<escape>" . ignore))
+ (meow-leader-define-key
+ ;; SPC j/k will run the original command in MOTION state.
+ '("j" . "H-j")
+ '("k" . "H-k")
+ ;; Use SPC (0-9) for digit arguments.
+ '("1" . meow-digit-argument)
+ '("2" . meow-digit-argument)
+ '("3" . meow-digit-argument)
+ '("4" . meow-digit-argument)
+ '("5" . meow-digit-argument)
+ '("6" . meow-digit-argument)
+ '("7" . meow-digit-argument)
+ '("8" . meow-digit-argument)
+ '("9" . meow-digit-argument)
+ '("0" . meow-digit-argument)
+ '("/" . meow-keypad-describe-key)
+ '("?" . meow-cheatsheet)
+ '("bk" . kill-this-buffer))
+ (meow-normal-define-key
+ '("0" . meow-expand-0)
+ '("9" . meow-expand-9)
+ '("8" . meow-expand-8)
+ '("7" . meow-expand-7)
+ '("6" . meow-expand-6)
+ '("5" . meow-expand-5)
+ '("4" . meow-expand-4)
+ '("3" . meow-expand-3)
+ '("2" . meow-expand-2)
+ '("1" . meow-expand-1)
+ '("-" . negative-argument)
+ '(";" . meow-reverse)
+ '("," . meow-inner-of-thing)
+ '("." . meow-bounds-of-thing)
+ '("[" . meow-beginning-of-thing)
+ '("]" . meow-end-of-thing)
+ '("a" . meow-append)
+ '("A" . meow-open-below)
+ '("b" . meow-back-word)
+ '("B" . meow-back-symbol)
+ '("c" . meow-change)
+ '("d" . meow-delete)
+ '("D" . meow-backward-delete)
+ '("e" . meow-next-word)
+ '("E" . meow-next-symbol)
+ '("f" . meow-find)
+ '("g" . meow-cancel-selection)
+ '("G" . meow-grab)
+ '("h" . meow-left)
+ '("H" . meow-left-expand)
+ '("i" . meow-insert)
+ '("I" . meow-open-above)
+ '("j" . meow-next)
+ '("J" . meow-next-expand)
+ '("k" . meow-prev)
+ '("K" . meow-prev-expand)
+ '("l" . meow-right)
+ '("L" . meow-right-expand)
+ '("m" . meow-join)
+ '("n" . meow-search)
+ '("o" . meow-block)
+ '("O" . meow-to-block)
+ '("p" . meow-yank)
+ '("q" . meow-quit)
+ '("Q" . meow-goto-line)
+ '("r" . meow-replace)
+ '("R" . meow-swap-grab)
+ '("s" . meow-kill)
+ '("t" . meow-till)
+ '("u" . meow-undo)
+ '("U" . meow-undo-in-selection)
+ '("v" . meow-visit)
+ '("w" . meow-mark-word)
+ '("W" . meow-mark-symbol)
+ '("x" . meow-line)
+ '("X" . meow-goto-line)
+ '("y" . meow-save)
+ '("Y" . meow-sync-grab)
+ '("z" . meow-pop-selection)
+ '("'" . repeat)
+ '("<escape>" . ignore)))
+ (setq meow-use-enhanced-selection-effect t)
+ (meow-setup))
+ ;; (meow-global-mode 1))
+
+(use-package kakoune
+ ;; Having a non-chord way to escape is important, since key-chords don't work in macros
+ :bind ("C-z" . ryo-modal-mode)
+ :hook (after-init . my/kakoune-setup)
+ :config
+ (defun ryo-enter () "Enter normal mode" (interactive) (ryo-modal-mode 1))
+ (defun my/kakoune-setup ()
+ "Call kakoune-setup-keybinds and then add some personal config."
+ (kakoune-setup-keybinds)
+ (setq ryo-modal-cursor-type 'box)
+ (add-hook 'prog-mode-hook #'ryo-enter)
+ (define-key ryo-modal-mode-map (kbd "SPC h") 'help-command)
+ ;; Access all C-x bindings easily
+ (define-key ryo-modal-mode-map (kbd "z") ctl-x-map)
+ (ryo-modal-keys
+ ("," save-buffer)
+ ("P" counsel-yank-pop)
+ ("m" mc/mark-next-like-this)
+ ("M" mc/skip-to-next-like-this)
+ ("n" mc/mark-previous-like-this)
+ ("N" mc/skip-to-previous-like-this)
+ ("M-m" mc/edit-lines)
+ ("*" mc/mark-all-like-this)
+ ("v" er/expand-region)
+ ("C-v" set-rectangular-region-anchor)
+ ("M-s" mc/split-region)
+ (";" (("q" delete-window)
+ ("v" split-window-horizontally)
+ ("s" split-window-vertically)))
+ ("C-h" windmove-left)
+ ("C-j" windmove-down)
+ ("C-k" windmove-up)
+ ("C-l" windmove-right)
+ ("C-u" scroll-down-command :first '(deactivate-mark))
+ ("C-d" scroll-up-command :first '(deactivate-mark)))))
+
+;; This overrides the default mark-in-region with a prettier-looking one,
+;; and provides a couple extra commands
+(use-package visual-regexp
+ :ryo
+ ("s" vr/mc-mark)
+ ("?" vr/replace)
+ ("M-/" vr/query-replace))
+
+;; Emacs incremental search doesn't work with multiple cursors, but this fixes that
+(use-package phi-search
+ :bind (("C-s" . phi-search)
+ ("C-r" . phi-search-backward)))
+
+;; Probably the first thing you'd miss is undo and redo, which requires an extra package
+;; to work like it does in kakoune (and almost every other editor).
+(use-package undo-tree
+ :config
+ (global-undo-tree-mode)
+ :ryo
+ ("u" undo-tree-undo)
+ ("U" undo-tree-redo)
+ ("SPC u" undo-tree-visualize)
+ :bind (:map undo-tree-visualizer-mode-map
+ ("h" . undo-tree-visualize-switch-branch-left)
+ ("j" . undo-tree-visualize-redo)
+ ("k" . undo-tree-visualize-undo)
+ ("l" . undo-tree-visualize-switch-branch-right)))
+
+
+(use-package general
+ :config
+ ;; SPC as the global leader key
+ (general-create-definer spl3g/leader-keys
+ :prefix "C-c")
+
+ (spl3g/leader-keys
+ ;; Buffers
+ "b" '(:ignore t :wk "Buffer")
+ "bi" '(ibuffer :wk "ibuffer")
+ "bk" '(kill-this-buffer :wk "Kill this buffer")
+ "bn" '(next-buffer :wk "Next buffer")
+ "bp" '(previous-buffer :wk "Previous buffer")
+ "br" '(revert-buffer :wk "Reload buffer")
+ "." '(find-file :wk "Find file")
+ ;; Splits
+ "w" '(:ignore t :wk "Splits")
+ "wv" '(split-window-right :wk "Split vertical")
+ "ws" '(split-window-below :wk "Split")
+ "ww" '(other-window :wk "Cycle throug windows")
+ "wc" '(delete-window :wk "Close window")
+ "wd" '(delete-window :wk "Close window")
+ "wl" '(evil-window-right :wk "")
+ "wj" '(evil-window-down :wk "")
+ "wk" '(evil-window-up :wk "")
+ "wh" '(evil-window-left :wk "")
+ "wo" '(delete-other-windows :wk "")
+ ;; Files
+ "f" '(:ignore t :wk "Files")
+ "fc" '((lambda () (interactive) (find-file "~/nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
+ "fu" '(crux-sudo-edit :wk "Sudo edit file")
+ ;; Compilation
+ "c" '(:ignore t :wk "Compilation")
+ "cc" '(compile :wk "Compile")
+ "cr" '(recompile :wk "Recompile")
+ ))
+
+(defun spl3g/disable-scroll-bars (frame)
+ (modify-frame-parameters frame
+ '((vertical-scroll-bars . nil)
+ (horizontal-scroll-bars . nil))))
+(add-hook 'after-make-frame-functions 'spl3g/disable-scroll-bars)
+
+(setq default-frame-alist '((font . "Source Code Pro")))
+(set-face-attribute 'default nil
+ :font "Source Code Pro"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'fixed-pitch nil
+ :font "Source Code Pro"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'variable-pitch nil
+ :font "Rubik"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'font-lock-comment-face nil
+ :slant 'italic)
+(set-face-attribute 'font-lock-keyword-face nil
+ :weight 'bold)
+
+(add-hook 'prog-mode-hook 'display-line-numbers-mode)
+(visual-line-mode 1)
+
+(use-package catppuccin-theme
+ :ensure t
+ :config
+ (load-theme 'catppuccin t)
+ (setq catppuccin-flavor 'macchiato)
+ (catppuccin-reload))
+
+(use-package all-the-icons
+ :ensure t
+ :if (display-graphic-p))
+
+(use-package mood-line
+
+ ;; Enable mood-line
+ :config
+ (mood-line-mode)
+ :custom
+ (mood-line-segment-modal-meow-state-alist
+ '((normal "N" . mood-line-meow-normal)
+ (insert "I" . mood-line-meow-insert)
+ (keypad "K" . mood-line-meow-keypad)
+ (beacon "B" . mood-line-meow-beacon)
+ (motion "M" . mood-line-meow-motion)))
+ (mood-line-glyph-alist mood-line-glyphs-fira-code)
+ :custom-face
+ (mood-line-meow-beacon ((t (:foreground "#f9e2af" :weight bold))))
+ (mood-line-meow-insert ((t (:foreground "#a6e3a1" :weight bold))))
+ (mood-line-meow-keypad ((t (:foreground "#cba6f7" :weight bold))))
+ (mood-line-meow-motion ((t (:foreground "#fab387" :weight bold))))
+ (mood-line-meow-normal ((t (:weight bold))))
+ (mode-line-inactive ((t (:box (:line-width (2 . 6) :color "#11111b") :inverse-video nil :foreground "#6c7086" :background "#11111b"))))
+ (mode-line ((t (:box (:line-width (2 . 6) :color "#181825") :background "#181825")))))
+
+(use-package good-scroll
+ :init (good-scroll-mode))
+
+(use-package dashboard
+ :init
+ (dashboard-setup-startup-hook)
+ :config
+ (setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
+ (setq dashboard-banner-logo-title "Yep, it's emacs, not vim")
+ (setq dashboard-startup-banner 'logo)
+ (setq dashboard-center-content t)
+ (add-to-list 'dashboard-item-generators '(config . dashboard-open-config))
+ (setq dashboard-items '((recents . 5)
+ (agenda . 5))))
+
+(setq ring-bell-function 'ignore)
+
+(use-package indent-guide
+ :hook (prog-mode . indent-guide-mode))
+
+(setq window-resize-pixelwise t)
+(setq frame-resize-pixelwise t)
+(save-place-mode t)
+(defalias 'yes-or-no #'y-or-n-p)
+
+(add-hook 'org-mode-hook 'org-indent-mode)
+(require 'org-tempo)
+
+(use-package toc-org
+ :hook (org-mode . toc-org-mode))
+
+(use-package org-bullets
+ :hook (org-mode . org-bullets-mode))
+
+(use-package org-auto-tangle
+ :hook (org-mode . org-auto-tangle-mode))
+
+(use-package org-download
+ :hook
+ (dired-mode . org-download-enable))
+
+(use-package direnv
+ :config
+ (direnv-mode))
+
+(use-package vertico
+ :init
+ (vertico-mode)
+ :bind (:map vertico-map
+ ("M-j" . vertico-next)
+ ("M-k" . vertico-previous)
+ ("RET" . vertico-directory-enter)
+ ("DEL" . vertico-directory-delete-char)
+ ("M-DEL" . vertico-directory-delete-word)))
+
+(use-package emacs
+ :init
+ ;; Add prompt indicator to `completing-read-multiple'.
+ ;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
+ (defun crm-indicator (args)
+ (cons (format "[CRM%s] %s"
+ (replace-regexp-in-string
+ "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
+ crm-separator)
+ (car args))
+ (cdr args)))
+ (advice-add #'completing-read-multiple :filter-args #'crm-indicator)
+
+ ;; Do not allow the cursor in the minibuffer prompt
+ (setq minibuffer-prompt-properties
+ '(read-only t cursor-intangible t face minibuffer-prompt))
+ (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
+
+ ;; Emacs 28: Hide commands in M-x which do not work in the current mode.
+ ;; Vertico commands are hidden in normal buffers.
+ ;; (setq read-extended-command-predicate
+ ;; #'command-completion-default-include-p)
+
+ ;; Enable recursive minibuffers
+ (setq enable-recursive-minibuffers t))
+
+(use-package orderless
+ :init
+ (setq completion-styles '(orderless basic)
+ completion-category-defaults nil
+ completion-category-overrides '((file (styles partial-completion)))))
+
+(use-package marginalia
+ :bind (:map minibuffer-local-map
+ ("M-A" . marginalia-cycle))
+ :init
+ (marginalia-mode))
+
+(use-package consult
+ ;; Replace bindings. Lazily loaded due by `use-package'.
+ :bind (;; C-c bindings in `mode-specific-map'
+ ("C-c k" . consult-kmacro)
+ ("C-c m" . consult-man)
+ ("C-c i" . consult-info)
+ ([remap Info-search] . consult-info)
+ ("C-c f r" . consult-recent-file)
+ ("C-c ," . consult-buffer)
+ ;; C-x bindings in `ctl-x-map'
+ ("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
+ ("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
+ ("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
+ ("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
+ ;; Custom M-# bindings for fast register access
+ ("M-#" . consult-register-load)
+ ("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
+ ("C-M-#" . consult-register)
+ ;; Other custom bindings
+ ("M-y" . consult-yank-pop) ;; orig. yank-pop
+ ;; M-g bindings in `goto-map'
+ ("C-c c e" . consult-compile-error)
+ ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
+ ("M-g g" . consult-goto-line) ;; orig. goto-line
+ ("M-g M-g" . consult-goto-line) ;; orig. goto-line
+ ("M-g o" . consult-outline) ;; Alternative: consult-org-heading
+ ;; M-s bindings in `search-map'
+ ("M-s d" . consult-fd)
+ ("M-s g" . consult-grep)
+ ("M-s G" . consult-git-grep)
+ ("M-s l" . consult-line)
+ ("M-s L" . consult-line-multi)
+ ("M-s k" . consult-keep-lines)
+ ("M-s u" . consult-focus-lines)
+ ;; Isearch integration
+ ("M-s e" . consult-isearch-history)
+ :map isearch-mode-map
+ ("M-e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s l" . consult-line) ;; needed by consult-line to detect isearch
+ ("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
+ ("M-r" . consult-history)
+ ;; Minibuffer history
+ :map minibuffer-local-map
+ ("M-s" . consult-history) ;; orig. next-matching-history-element
+ ("M-r" . consult-history)) ;; orig. previous-matching-history-element)
+
+ ;; Enable automatic preview at point in the *Completions* buffer. This is
+ ;; relevant when you use the default completion UI.
+ :hook
+ (completion-list-mode . consult-preview-at-point-mode)
+ (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-h" 'consult-history)))
+
+ ;; The :init configuration is always executed (Not lazy)
+ :init
+
+ ;; Optionally configure the register formatting. This improves the register
+ ;; preview for `consult-register', `consult-register-load',
+ ;; `consult-register-store' and the Emacs built-ins.
+ (setq register-preview-delay 0.5
+ register-preview-function #'consult-register-format)
+
+ ;; Optionally tweak the register preview window.
+ ;; This adds thin lines, sorting and hides the mode line of the window.
+ (advice-add #'register-preview :override #'consult-register-window)
+
+ ;; Configure other variables and modes in the :config section,
+ ;; after lazily loading the package.
+ :config
+
+ ;; Optionally configure preview. The default value
+ ;; is 'any, such that any key triggers the preview.
+ ;; (setq consult-preview-key 'any)
+ ;; (setq consult-preview-key "M-.")
+ ;; (setq consult-preview-key '("S-<down>" "S-<up>"))
+ ;; For some commands and buffer sources it is useful to configure the
+ ;; :preview-key on a per-command basis using the `consult-customize' macro.
+ (consult-customize
+ consult-ripgrep consult-git-grep consult-grep
+ consult-bookmark consult-recent-file consult-xref
+ consult--source-bookmark consult--source-file-register
+ consult--source-recent-file consult--source-project-recent-file)
+ ;; :preview-key "M-."
+
+ ;; Optionally configure the narrowing key.
+ ;; Both < and C-+ work reasonably well.
+ (setq consult-narrow-key "<") ;; "C-+"
+
+ ;; Optionally make narrowing help available in the minibuffer.
+ ;; You may want to use `embark-prefix-help-command' or which-key instead.
+ ;; (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
+
+ ;; By default `consult-project-function' uses `project-root' from project.el.
+ ;; Optionally configure a different project root function.
+;;;; 1. project.el (the default)
+ ;; (setq consult-project-function #'consult--default-project--function)
+;;;; 2. vc.el (vc-root-dir)
+ ;; (setq consult-project-function (lambda (_) (vc-root-dir)))
+;;;; 3. locate-dominating-file
+ ;; (setq consult-project-function (lambda (_) (locate-dominating-file "." ".git")))
+;;;; 4. projectile.el (projectile-project-root)
+ ;; (autoload 'projectile-project-root "projectile")
+ ;; (setq consult-project-function (lambda (_) (projectile-project-root)))
+;;;; 5. No project support
+ ;; (setq consult-project-function nil)
+ )
+
+(use-package smartparens
+ :init (smartparens-global-mode)
+ :config
+ ;; Snitched from doom
+ (let ((unless-list '(sp-point-before-word-p
+ sp-point-after-word-p
+ sp-point-before-same-p)))
+ (sp-pair "'" nil :unless unless-list)
+ (sp-pair "\"" nil :unless unless-list))
+ (dolist (brace '("(" "{" "["))
+ (sp-pair brace nil
+ :post-handlers '(("||\n[i]" "RET") ("| " "SPC"))
+ :unless '(sp-point-before-word-p sp-point-before-same-p)))
+ (sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+ (sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+
+ (sp-local-pair '(python-mode python-ts-mode) "f'" "'")
+
+ ;; Major-mode specific fixes
+ (sp-local-pair 'ruby-mode "{" "}"
+ :pre-handlers '(:rem sp-ruby-pre-handler)
+ :post-handlers '(:rem sp-ruby-post-handler))
+
+ ;; Don't do square-bracket space-expansion where it doesn't make sense to
+ (sp-local-pair '(emacs-lisp-mode org-mode markdown-mode gfm-mode)
+ "[" nil :post-handlers '(:rem ("| " "SPC")))
+
+ (sp-local-pair '(emacs-lisp-mode org-mode)
+ "'" nil)
+
+ ;; Reasonable default pairs for HTML-style comments
+ (sp-local-pair (append sp--html-modes '(markdown-mode gfm-mode))
+ "<!--" "-->"
+ :unless '(sp-point-before-word-p sp-point-before-same-p)
+ :actions '(insert) :post-handlers '(("| " "SPC")))
+ ;; Expand C-style comment blocks.
+ (defun +default-open-doc-comments-block (&rest _ignored)
+ (save-excursion
+ (newline)
+ (indent-according-to-mode)))
+ (sp-local-pair
+ '(js2-mode typescript-mode rjsx-mode rust-mode c-mode c++-mode objc-mode
+ csharp-mode java-mode php-mode css-mode scss-mode less-css-mode
+ stylus-mode scala-mode)
+ "/*" "*/"
+ :actions '(insert)
+ :post-handlers '(("| " "SPC")
+ (" | " "*")
+ ("|[i]\n[i]" "RET"))))
+
+;; (use-package dap-mode
+;; :defer t
+;; :config
+;; (require 'dap-python)
+;; (setq dap-python-debugger 'debugpy))
+
+(use-package move-text
+ :bind (("C-M-k" . move-text-up)
+ ("C-M-j" . move-text-down)))
+
+(global-visual-line-mode t)
+
+(use-package no-littering)
+
+(use-package rainbow-delimiters
+ :hook (prog-mode . rainbow-delimiters-mode))
+
+(use-package crux
+ :bind (("C-c o t" . crux-visit-shell-buffer)))
+
+(use-package helpful
+ :bind (("C-h f" . 'helpful-callable)
+ ("C-h v" . 'helpful-variable)
+ ("C-h k" . 'helpful-key)
+ ("C-h x" . 'helpful-command)
+ ("C-c C-d" . 'helpful-at-point)
+ ("C-h F" . 'helpful-function)))
+
+(add-hook 'eshell-mode-hook
+ (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions)))
+
+(use-package eat
+ :hook (eshell-mode . eat-eshell-mode)
+ :custom
+ (eat-enable-auto-line-mode t))
+
+;; (defun eat-toggle ()
+;; "Open eat terminal as a popup."
+;; (interactive)
+;; (if (eq major-mode 'eat-mode)
+;; (delete-window)
+;; (let ((buff (get-buffer-create eat-buffer-name)))
+;; (cl-assert (and buff (buffer-live-p buff)))
+;; (funcall #'pop-to-buffer buff)
+;; (with-current-buffer buff
+;; (setq-local split-width-threshold nil)
+;; (setq-local window-min-height 2)
+;; (unless (derived-mode-p 'eat-mode)
+;; (eat))))))
+
+;; (defun eat-modes()
+;; (cond
+;; ((and (eq major-mode 'eat-mode) (member 'meow-normal-mode local-minor-modes))
+;; (eat-emacs-mode))
+;; ((and (eq major-mode 'eat-mode) (member 'meow-insert-mode local-minor-modes))
+;; (eat-semi-char-mode))))
+;; (add-hook 'meow-normal-mode-hook #'eat-modes)
+;; (add-hook 'meow-insert-mode-hook #'eat-modes)
+
+(use-package fish-completion
+ :hook (eshell-mode . fish-completion-mode))
+
+(use-package eglot
+ :bind (("C-c s e e" . eglot)
+ ("C-c s e d" . eldoc)
+ ("C-c s e r" . eglot-rename)
+ ("C-c s e s" . eglot-shutdown)
+ ("C-c s e f" . eglot-find-declaration)
+ ("C-c s e i" . eglot-find-implementation))
+ :hook
+ (nix-mode . eglot-ensure)
+ (python-ts-mode . eglot-ensure)
+ :config
+ (add-to-list 'eglot-server-programs '(python-ts-mode . ("pylsp"))))
+
+(use-package lsp-pyright)
+(use-package py-autopep8
+ :hook (python-mode . py-autopep8-mode))
+
+(use-package rust-mode
+ :mode "\\.rs\\'")
+(use-package flycheck-rust
+ :config
+ (with-eval-after-load 'rust-mode
+ (add-hook 'flycheck-mode-hook #'flycheck-rust-setup)))
+
+(use-package fish-mode
+ :mode "\\.fish\\'")
+
+(use-package nix-mode
+ :mode ("\\.nix\\'" "\\.nix.in\\'"))
+(use-package nix-drv-mode
+ :ensure nix-mode
+ :mode "\\.drv\\'")
+(use-package nix-shell
+ :ensure nix-mode
+ :commands (nix-shell-unpack nix-shell-configure nix-shell-build))
+(use-package nix-repl
+ :ensure nix-mode
+ :commands (nix-repl))
+
+(use-package web-mode
+ :mode
+ ("\\.phtml\\'"
+ "\\.tpl\\.php\\'"
+ "\\.[agj]sp\\'"
+ "\\.as[cp]x\\'"
+ "\\.erb\\'"
+ "\\.mustache\\'"
+ "\\.djhtml\\'"))
+
+(use-package js2-mode)
+
+(use-package corfu
+ :custom
+ (corfu-cycle t)
+ (corfu-preselect 'prompt)
+ (corfu-auto t)
+ (corfu-popupinfo-delay 0.0)
+ :bind
+ (:map corfu-map
+ ("TAB" . corfu-next)
+ ([tab] . corfu-next)
+ ("S-TAB" . corfu-previous)
+ ([backtab] . corfu-previous))
+
+ :init
+ (global-corfu-mode)
+ (corfu-history-mode)
+ (corfu-popupinfo-mode)
+ :config
+ (add-to-list 'savehist-additional-variables 'corfu-history))
+(use-package emacs
+ :init
+ (setq completion-cycle-threshold 3)
+
+ (setq read-extended-command-predicate
+ #'command-completion-default-include-p)
+
+ (setq tab-always-indent 'complete))
+
+(use-package cape
+ :demand t
+ :config
+ (add-to-list 'completion-at-point-functions #'cape-dabbrev)
+ (add-to-list 'completion-at-point-functions #'cape-file)
+ (add-to-list 'completion-at-point-functions #'cape-elisp-block)
+ )
+
+(use-package tree-sitter
+ :init
+ (global-tree-sitter-mode)
+ :config
+ (add-hook 'tree-sitter-mode-hook 'tree-sitter-hl-mode))
+(use-package treesit-auto
+ :custom
+ (treesit-auto-install 'prompt)
+ :config
+ (treesit-auto-add-to-auto-mode-alist 'all)
+ (global-treesit-auto-mode))
+
+(use-package tree-sitter-langs)
+
+;; (use-package yasnippet
+;; :init (yas-global-mode))
+;; (use-package yasnippet-snippets)
+
+(use-package flymake
+ :after eglot
+ :bind (("C-c s f f" . flymake-start)
+ ("C-c s f l" . flymake-show-buffer-diagnostics)
+ ("C-c s f p" . flymake-show-project-diagnostics)))
+
+(use-package dired
+ :custom
+ (dired-listing-switches "-al --group-directories-first"))
+
+
+
+;; (add-to-list 'load-path "~/telega.el")
+;; (require 'telega)
+
+(use-package magit
+ :bind (("C-c o g" . magit)))
+
+;; (use-package exwm)
+;; (require 'exwm)
+;; (require 'exwm-config)
+;; (exwm-config-example)
+
+;; (use-package code-cells)
+
+;; (use-package orgnote
+;; :defer t)
+
+(use-package copilot
+ :hook (python-ts-mode . copilot-mode)
+ :bind ("M-RET" . copilot-accept-completion))
+
+(setq gc-cons-threshold (* 2 1000 1000))
+(setq read-process-output-max (* 1024 1024))
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(package-selected-packages
+ '(dired web-mode vertico use-package treesit-auto tree-sitter-langs toc-org smartparens rust-mode rainbow-delimiters py-autopep8 org-download org-bullets org-auto-tangle orderless no-littering nix-mode move-text mood-line marginalia magit lsp-pyright kakoune js2-mode indent-guide helpful good-scroll general flycheck-rust fish-mode fish-completion eglot eat direnv dashboard crux corfu copilot consult catppuccin-theme cape all-the-icons snow meow)))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ )
diff --git a/home-manager/programs/emacs/config.org b/home-manager/general/programs/emacs/config.org
index 3370e88..5cbd3b1 100644
--- a/home-manager/programs/emacs/config.org
+++ b/home-manager/general/programs/emacs/config.org
@@ -40,25 +40,26 @@
- [[#no-littering][No littering]]
- [[#rainbow-delimiters][Rainbow delimiters]]
- [[#crux][Crux]]
-- [[#eat-terminal][Eat terminal]]
+ - [[#better-help][Better *help*]]
+- [[#eshell][Eshell]]
+ - [[#fish-completions][Fish completions]]
- [[#eat][Eat]]
- - [[#eat-toggle][Eat-toggle]]
- - [[#eat-modes][Eat modes]]
- [[#lsp][LSP]]
- [[#languages][Languages]]
- [[#corfu][Corfu]]
- - [[#flycheck][Flycheck]]
- [[#tree-sitter][Tree-sitter]]
- [[#snippets][Snippets]]
+ - [[#flymake][Flymake]]
- [[#dired][Dired]]
- [[#bindings][Bindings]]
+ - [[#dired-filter][Dired filter]]
- [[#additional-apps][Additional apps]]
- [[#telegram-lol][Telegram lol]]
- [[#magit][Magit]]
- [[#exwm][EXWM]]
- [[#jupyter][Jupyter]]
- [[#orgnote][Orgnote]]
- - [[#codeium][Codeium]]
+ - [[#copilot][Copilot]]
- [[#runtime-performance][Runtime Performance]]
* Progs to load first
@@ -75,7 +76,13 @@
#+end_src
** Save history
#+begin_src emacs-lisp
- (savehist-mode 1)
+ (use-package savehist
+ :init
+ (setq savehist-file "~/.config/emacs/var/savehist.el")
+ :config
+ (setq history-length 500)
+ (setq savehist-additional-variables '(kill-ring search-ring))
+ (savehist-mode t))
#+end_src
** Meow mode
#+begin_src emacs-lisp
@@ -187,7 +194,6 @@
"bn" '(next-buffer :wk "Next buffer")
"bp" '(previous-buffer :wk "Previous buffer")
"br" '(revert-buffer :wk "Reload buffer")
- "," '(consult-buffer :wk "Switch to buffer")
"." '(find-file :wk "Find file")
;; Splits
"w" '(:ignore t :wk "Splits")
@@ -203,15 +209,14 @@
"wo" '(delete-other-windows :wk "")
;; Files
"f" '(:ignore t :wk "Files")
- "fr" '(consult-recent-file :wk "Resent files")
- "fc" '((lambda () (interactive) (find-file "~/.nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
- "fu" '(sudo-edit-find-file :wk "Sudo find file")
- "fU" '(sudo-edit :wk "Sudo edit file")
- ;; Opening.. things
- "o" '(:ignore t)
- "ot" '(eat-toggle :wk "Eat terminal")
- "om" '(magit-status :wk "Magit")))
-
+ "fc" '((lambda () (interactive) (find-file "~/nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
+ "fu" '(crux-sudo-edit :wk "Sudo edit file")
+ ;; Compilation
+ "c" '(:ignore t :wk "Compilation")
+ "cc" '(compile :wk "Compile")
+ "cr" '(recompile :wk "Recompile")
+ ))
+
#+end_src
* GUI tweaks
** Disable gui shit
@@ -272,12 +277,12 @@
:config
(mood-line-mode)
:custom
- (mood-line-meow-state-alist
+ (mood-line-segment-modal-meow-state-alist
'((normal "N" . mood-line-meow-normal)
- (insert "I" . mood-line-meow-insert)
- (keypad "K" . mood-line-meow-keypad)
- (beacon "B" . mood-line-meow-beacon)
- (motion "M" . mood-line-meow-motion)))
+ (insert "I" . mood-line-meow-insert)
+ (keypad "K" . mood-line-meow-keypad)
+ (beacon "B" . mood-line-meow-beacon)
+ (motion "M" . mood-line-meow-motion)))
(mood-line-glyph-alist mood-line-glyphs-fira-code)
:custom-face
(mood-line-meow-beacon ((t (:foreground "#f9e2af" :weight bold))))
@@ -334,25 +339,24 @@
** Enabling toc
#+begin_src emacs-lisp
(use-package toc-org
- :hook (org-mode-hook . toc-org-mode))
+ :hook (org-mode . toc-org-mode))
#+end_src
** Org bullets
#+begin_src emacs-lisp
(use-package org-bullets
- :hook (org-mode-hook . (lambda () (org-bullets-mode 1))))
+ :hook (org-mode . org-bullets-mode))
#+end_src
** Auto-tangle
#+begin_src emacs-lisp
- (use-package org-auto-tangle
- :config
- (add-hook 'org-mode-hook 'org-auto-tangle-mode))
+ (use-package org-auto-tangle
+ :hook (org-mode . org-auto-tangle-mode))
#+end_src
** Org-download
#+begin_src emacs-lisp
- ;; (use-package org-download
- ;; :hook
- ;; (dired-mode-hook . org-download-enable))
+ (use-package org-download
+ :hook
+ (dired-mode . org-download-enable))
#+end_src
** Direnv
#+begin_src emacs-lisp
@@ -424,9 +428,10 @@
("C-c m" . consult-man)
("C-c i" . consult-info)
([remap Info-search] . consult-info)
+ ("C-c f r" . consult-recent-file)
+ ("C-c ," . consult-buffer)
;; C-x bindings in `ctl-x-map'
("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
- ("C-x b" . consult-buffer) ;; orig. switch-to-buffer
("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
@@ -437,8 +442,8 @@
;; Other custom bindings
("M-y" . consult-yank-pop) ;; orig. yank-pop
;; M-g bindings in `goto-map'
- ("M-g e" . consult-compile-error)
- ("M-g f" . consult-flycheck) ;; Alternative: consult-flycheck
+ ("C-c c e" . consult-compile-error)
+ ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
("M-g g" . consult-goto-line) ;; orig. goto-line
("M-g M-g" . consult-goto-line) ;; orig. goto-line
("M-g o" . consult-outline) ;; Alternative: consult-org-heading
@@ -457,13 +462,18 @@
("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
("M-s l" . consult-line) ;; needed by consult-line to detect isearch
("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
+ ("M-r" . consult-history)
;; Minibuffer history
- :map eshell-mode-map
- ("M-r" . consult-history))
+ :map minibuffer-local-map
+ ("M-s" . consult-history) ;; orig. next-matching-history-element
+ ("M-r" . consult-history)) ;; orig. previous-matching-history-element)
;; Enable automatic preview at point in the *Completions* buffer. This is
;; relevant when you use the default completion UI.
- :hook (completion-list-mode . consult-preview-at-point-mode)
+ :hook
+ (completion-list-mode . consult-preview-at-point-mode)
+ (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-h" 'consult-history)))
;; The :init configuration is always executed (Not lazy)
:init
@@ -517,13 +527,12 @@
;; (setq consult-project-function (lambda (_) (projectile-project-root)))
;;;; 5. No project support
;; (setq consult-project-function nil)
- )
+ )
#+end_src
** Pairs
#+begin_src emacs-lisp
(use-package smartparens
:init (smartparens-global-mode)
- :hook (prog-mode-hook . turn-on-smartparens-strict-mode)
:config
;; Snitched from doom
(let ((unless-list '(sp-point-before-word-p
@@ -538,6 +547,8 @@
(sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
(sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+ (sp-local-pair '(python-mode python-ts-mode) "f'" "'")
+
;; Major-mode specific fixes
(sp-local-pair 'ruby-mode "{" "}"
:pre-handlers '(:rem sp-ruby-pre-handler)
@@ -546,6 +557,9 @@
;; Don't do square-bracket space-expansion where it doesn't make sense to
(sp-local-pair '(emacs-lisp-mode org-mode markdown-mode gfm-mode)
"[" nil :post-handlers '(:rem ("| " "SPC")))
+
+ (sp-local-pair '(emacs-lisp-mode org-mode)
+ "'" nil)
;; Reasonable default pairs for HTML-style comments
(sp-local-pair (append sp--html-modes '(markdown-mode gfm-mode))
@@ -597,32 +611,61 @@
#+end_src
** Crux
#+begin_src emacs-lisp
- (use-package crux)
+ (use-package crux
+ :bind (("C-c o t" . crux-visit-shell-buffer)))
+#+end_src
+** Better *help*
+#+begin_src emacs-lisp
+ (use-package helpful
+ :bind (("C-h f" . 'helpful-callable)
+ ("C-h v" . 'helpful-variable)
+ ("C-h k" . 'helpful-key)
+ ("C-h x" . 'helpful-command)
+ ("C-c C-d" . 'helpful-at-point)
+ ("C-h F" . 'helpful-function)))
+#+end_src
+* Eshell
+#+begin_src emacs-lisp
+ (add-hook 'eshell-mode-hook
+ (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions)))
+#+end_src
+** Fish completions
+#+begin_src emacs-lisp
+ (use-package fish-completion
+ :hook (eshell-mode . fish-completion-mode))
+#+end_src
+*** Consult fish completions
+#+begin_src emacs-lisp
+ (use-package consult-fish-completions
+ :load-path "~/prog/elisp/fish-completions/consult-fish-completions.el"
+ :hook (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions))))
#+end_src
-* Eat terminal
** Eat
#+begin_src emacs-lisp
(use-package eat
+ :hook (eshell-mode . eat-eshell-mode)
:custom
(eat-enable-auto-line-mode t))
#+end_src
-** Eat-toggle
+*** Eat-toggle
#+begin_src emacs-lisp
- (defun eat-toggle()
- "Open eat terminal as a popup."
- (interactive)
- (if (eq major-mode 'eat-mode)
- (delete-window)
- (let ((buff (get-buffer-create eat-buffer-name)))
- (cl-assert (and buff (buffer-live-p buff)))
- (funcall #'pop-to-buffer buff)
- (with-current-buffer buff
- (setq-local split-width-threshold nil)
- (setq-local window-min-height 2)
- (unless (derived-mode-p 'eat-mode)
- (eat))))))
+ ;; (defun eat-toggle ()
+ ;; "Open eat terminal as a popup."
+ ;; (interactive)
+ ;; (if (eq major-mode 'eat-mode)
+ ;; (delete-window)
+ ;; (let ((buff (get-buffer-create eat-buffer-name)))
+ ;; (cl-assert (and buff (buffer-live-p buff)))
+ ;; (funcall #'pop-to-buffer buff)
+ ;; (with-current-buffer buff
+ ;; (setq-local split-width-threshold nil)
+ ;; (setq-local window-min-height 2)
+ ;; (unless (derived-mode-p 'eat-mode)
+ ;; (eat))))))
#+end_src
-** Eat modes
+*** Eat modes
#+begin_src emacs-lisp
;; (defun eat-modes()
;; (cond
@@ -633,47 +676,25 @@
;; (add-hook 'meow-normal-mode-hook #'eat-modes)
;; (add-hook 'meow-insert-mode-hook #'eat-modes)
#+end_src
-** Fish completion
-#+begin_src emacs-lisp
- (use-package fish-completion
- :config
- (global-fish-completion-mode))
-#+end_src
-** Eshell
-#+begin_src emacs-lisp
-#+end_src
* LSP
#+begin_src emacs-lisp
- (use-package lsp-mode
- :custom
- (lsp-completion-provider :none) ;; we use Corfu!
-
- :init
- (defun my/orderless-dispatch-flex-first (_pattern index _total)
- (and (eq index 0) 'orderless-flex))
-
- (defun my/lsp-mode-setup-completion ()
- (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
- '(orderless)))
-
- ;; Optionally configure the first word as flex filtered.
- (add-hook 'orderless-style-dispatchers #'my/orderless-dispatch-flex-first nil 'local)
-
- ;; Optionally configure the cape-capf-buster.
-
+ (use-package eglot
+ :bind (("C-c s e e" . eglot)
+ ("C-c s e d" . eldoc)
+ ("C-c s e r" . eglot-rename)
+ ("C-c s e s" . eglot-shutdown)
+ ("C-c s e f" . eglot-find-declaration)
+ ("C-c s e i" . eglot-find-implementation))
:hook
- (rust-mode-hook . lsp)
- (lsp-mode-hook . (lambda ()
- (setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point)))))
- (lsp-completion-mode . my/lsp-mode-setup-completion))
+ (nix-mode . eglot-ensure)
+ (python-ts-mode . eglot-ensure)
+ :config
+ (add-to-list 'eglot-server-programs '(python-ts-mode . ("pylsp"))))
#+end_src
** Languages
*** Python
#+begin_src emacs-lisp
- (use-package lsp-pyright
- :hook (python-mode . (lambda ()
- (require 'lsp-pyright)
- (lsp))))
+ (use-package lsp-pyright)
(use-package py-autopep8
:hook (python-mode . py-autopep8-mode))
#+end_src
@@ -754,37 +775,26 @@
*** Cape
#+begin_src emacs-lisp
(use-package cape
- ;; Bind dedicated completion commands
- ;; :bind (("C-c p p" . completion-at-point) ;; capf
- ;; ("C-c p t" . complete-tag) ;; etags
- ;; ("C-c p d" . cape-dabbrev) ;; or dabbrev-completion
- ;; ("C-c p h" . cape-history)
- ;; ("C-c p f" . cape-file)
- ;; ("C-c p k" . cape-keyword)
- ;; ("C-c p s" . cape-elisp-symbol)
- ;; ("C-c p e" . cape-elisp-block)
- ;; ("C-c p a" . cape-abbrev)
- ;; ("C-c p l" . cape-line)
- ;; ("C-c p w" . cape-dict)
- ;; ("C-c p :" . cape-emoji))
+ :demand t
:config
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-file)
(add-to-list 'completion-at-point-functions #'cape-elisp-block)
)
#+end_src
-** Flycheck
-#+begin_src emacs-lisp
- (use-package flycheck
- :init (global-flycheck-mode))
-#+end_src
** Tree-sitter
#+begin_src emacs-lisp
- (use-package tree-sitter
- :init
- (global-tree-sitter-mode)
- :config
- (add-hook 'tree-sitter-mode-hook 'tree-sitter-hl-mode))
+ (use-package tree-sitter
+ :init
+ (global-tree-sitter-mode)
+ :config
+ (add-hook 'tree-sitter-mode-hook 'tree-sitter-hl-mode))
+ (use-package treesit-auto
+ :custom
+ (treesit-auto-install 'prompt)
+ :config
+ (treesit-auto-add-to-auto-mode-alist 'all)
+ (global-treesit-auto-mode))
#+end_src
*** Additional langs
#+begin_src emacs-lisp
@@ -796,18 +806,25 @@
;; :init (yas-global-mode))
;; (use-package yasnippet-snippets)
#+end_src
+** Flymake
+#+begin_src emacs-lisp
+ (use-package flymake
+ :after eglot
+ :bind (("C-c s f f" . flymake-start)
+ ("C-c s f l" . flymake-show-buffer-diagnostics)
+ ("C-c s f p" . flymake-show-project-diagnostics)))
+#+end_src
* Dired
** Bindings
#+begin_src emacs-lisp
- (use-package dirvish
- :init
- (dirvish-override-dired-mode)
+ (use-package dired
:custom
- (dired-listing-switches "-Al --group-directories-first")
- :bind (:map dired-mode-map
- ("h" . 'dired-up-directory)
- ("l" . 'dired-find-file)
- ("v" . 'meow-visit)))
+ (dired-listing-switches "-al --group-directories-first"))
+
+#+end_src
+** Dired filter
+#+begin_src emacs-lisp
+
#+end_src
* Additional apps
** Telegram lol
@@ -817,7 +834,8 @@
#+end_src
** Magit
#+begin_src emacs-lisp
- (use-package magit)
+ (use-package magit
+ :bind (("C-c o g" . magit)))
#+end_src
** EXWM
#+begin_src emacs-lisp
@@ -835,45 +853,11 @@
;; (use-package orgnote
;; :defer t)
#+end_src
-** Codeium
-#+begin_src emacs-lisp
- ;; (use-package codeium
- ;; :init
- ;; ;; use globally
- ;; (add-to-list 'completion-at-point-functions #'codeium-completion-at-point)
- ;; :config
- ;; (setq use-dialog-box nil) ;; do not use popup boxes
-
- ;; ;; if you don't want to use customize to save the api-key
- ;; ;; (setq codeium/metadata/api_key "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
-
- ;; ;; get codeium status in the modeline
- ;; (setq codeium-mode-line-enable
- ;; (lambda (api) (not (memq api '(CancelRequest Heartbeat AcceptCompletion)))))
- ;; (add-to-list 'mode-line-format '(:eval (car-safe codeium-mode-line)) t)
- ;; ;; alternatively for a more extensive mode-line
- ;; ;; (add-to-list 'mode-line-format '(-50 "" codeium-mode-line) t)
-
- ;; ;; use M-x codeium-diagnose to see apis/fields that would be sent to the local language server
- ;; (setq codeium-api-enabled
- ;; (lambda (api)
- ;; (memq api '(GetCompletions Heartbeat CancelRequest GetAuthToken RegisterUser auth-redirect AcceptCompletion))))
- ;; ;; you can also set a config for a single buffer like this:
- ;; ;; (add-hook 'python-mode-hook
- ;; ;; (lambda ()
- ;; ;; (setq-local codeium/editor_options/tab_size 4)))
-
- ;; ;; You can overwrite all the codeium configs!
- ;; ;; for example, we recommend limiting the string sent to codeium for better performance
- ;; (defun my-codeium/document/text ()
- ;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (min (+ (point) 1000) (point-max))))
- ;; ;; if you change the text, you should also change the cursor_offset
- ;; ;; warning: this is measured by UTF-8 encoded bytes
- ;; (defun my-codeium/document/cursor_offset ()
- ;; (codeium-utf8-byte-length
- ;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (point))))
- ;; (setq codeium/document/text 'my-codeium/document/text)
- ;; (setq codeium/document/cursor_offset 'my-codeium/document/cursor_offset))
+** Copilot
+#+begin_src emacs-lisp
+ (use-package copilot
+ :hook (python-ts-mode . copilot-mode)
+ :bind ("M-RET" . copilot-accept-completion))
#+end_src
* Runtime Performance
#+begin_src emacs-lisp
diff --git a/home-manager/general/programs/emacs/default.nix b/home-manager/general/programs/emacs/default.nix
new file mode 100644
index 0000000..7b61850
--- /dev/null
+++ b/home-manager/general/programs/emacs/default.nix
@@ -0,0 +1,118 @@
+{ pkgs, ... }:
+let
+ pkgsForEmacs = with pkgs; [
+ tree-sitter
+ emacs-all-the-icons-fonts
+ libappindicator
+ poppler_utils
+ nil
+ nodejs
+ ];
+
+ pkgsUsePackage = with pkgs; [
+ (pkgs.emacsWithPackagesFromUsePackage {
+ package = pkgs.emacs29-pgtk;
+ config = ./init.el;
+ alwaysEnsure = true;
+ # TODO
+ # with next flake update delete this, if mood-line hash changes:
+ # "commit": "10b5195f1b400d64d646f73a21bf5469612a375b",
+ # "sha256": "0wj8rdgsqsdd2ps3w7sj8a7yhhz0iczwgnalalzws42x8s9yn4j0",
+ override = final: prev: {
+ mood-line = prev.melpaPackages.mood-line.overrideAttrs(old: {
+ src = pkgs.fetchgit {
+ url = "https://gitlab.com/jessieh/mood-line";
+ sha256 = "00vbv40x04g5f9n8i1ylhawslf42fsz0046r3srs4ss6pq8s893r";
+ rev = "10b5195f1b400d64d646f73a21bf5469612a375b";
+ };
+ });
+ };
+ extraEmacsPackages = epkgs: [
+ epkgs.use-package
+ # (epkgs.melpaBuild rec {
+ # pname = "codeium";
+ # version = "1.2.102";
+
+ # src = fetchFromGitHub {
+ # owner = "Exafunction";
+ # repo = "codeium.el";
+ # rev = "1.4.4";
+ # sha256 = "1jjix7fn73ihjnhfivf72wris72f4kwf7xb6k5hxs41fm4kr9hdd";
+ # };
+
+ # commit = "ddc9927ea231ecc5a32f7c9905f92fdfb7912e75";
+
+ # recipe = writeText "recipe" ''
+ # (codeium
+ # :repo "${src.owner}/${src.repo}"
+ # :fetcher github)
+ # '';
+ # })
+ # (epkgs.melpaBuild rec {
+ # pname = "telega";
+ # version = "0.8.216";
+ # src = fetchFromGitHub {
+ # owner = "zevlg";
+ # repo = "telega.el";
+ # rev = "3899aa8648b9e6deddbb34a2a817ca18acb9d97a";
+ # sha256 = "05xrm86gp185mgwb62w720hcbn87salk8z0whq6zf2r2f24l6xbw";
+ # };
+ # commit = "3899aa8648b9e6deddbb34a2a817ca18acb9d97a";
+ # recipe = writeText "recipe" ''
+ # (telega :fetcher github
+ # :repo "zevlg/telega.el"
+ # :files (:defaults "etc" "server" "contrib" "Makefile"))
+ # '';
+ # })
+ # (epkgs.melpaBuild rec {
+ # pname = "orgnote";
+ # version = "0.7.17";
+
+ # src = fetchFromGitHub {
+ # owner = "Artawower";
+ # repo = "orgnote.el";
+ # rev = "v${version}";
+ # sha256 = "1lrj47h244z4dqq2wyhpww7p3b4sy6bayk8lwlka517lhbcdgh33";
+ # };
+
+ # commit = "ccc40cc346ebf5a6e6a55e3d4a147f0230337350";
+
+ # recipe = writeText "recipe" ''
+ # (orgnote
+ # :repo "${src.owner}/${src.repo}"
+ # :fetcher github)
+ # '';
+ # })
+ (epkgs.melpaBuild rec {
+ pname = "copilot";
+ version = "20231219";
+
+ src = fetchFromGitHub {
+ owner = "zerolfx";
+ repo = "copilot.el";
+ rev = "d4fa14cea818e041b4a536c5052cf6d28c7223d7";
+ sha256 = "1bn2im5ybzmwbwbi7v39s0qzmca5isp7zb0ls61y6sramh6k8fsg";
+ };
+
+ packageRequires = with epkgs; [ editorconfig dash s ];
+
+ commit = "d4fa14cea818e041b4a536c5052cf6d28c7223d7";
+
+ recipe = writeText "recipe" ''
+ (copilot
+ :repo "${src.owner}/${src.repo}"
+ :fetcher github
+ :files ("*.el" "dist"))
+ '';
+ })
+ ];
+ })
+ ];
+in
+{
+ home.packages = pkgsForEmacs ++ pkgsUsePackage;
+ xdg.configFile = {
+ # "emacs/init.el".text = builtins.readFile ./init.el;
+ "emacs/early-init.el".text = builtins.readFile ./early-init.el;
+ };
+}
diff --git a/home-manager/programs/emacs/early-init.el b/home-manager/general/programs/emacs/early-init.el
index 6e306a1..6e306a1 100644
--- a/home-manager/programs/emacs/early-init.el
+++ b/home-manager/general/programs/emacs/early-init.el
diff --git a/home-manager/programs/emacs/init.el b/home-manager/general/programs/emacs/init.el
index 1103b57..f1a4f90 100644
--- a/home-manager/programs/emacs/init.el
+++ b/home-manager/general/programs/emacs/init.el
@@ -5,7 +5,13 @@
(setq use-package-always-ensure t
use-package-expand-minimally t))
-(savehist-mode 1)
+(use-package savehist
+ :init
+ (setq savehist-file "~/.config/emacs/var/savehist.el")
+ :config
+ (setq history-length 500)
+ (setq savehist-additional-variables '(kill-ring search-ring))
+ (savehist-mode t))
(use-package meow
:config
@@ -113,7 +119,6 @@
"bn" '(next-buffer :wk "Next buffer")
"bp" '(previous-buffer :wk "Previous buffer")
"br" '(revert-buffer :wk "Reload buffer")
- "," '(consult-buffer :wk "Switch to buffer")
"." '(find-file :wk "Find file")
;; Splits
"w" '(:ignore t :wk "Splits")
@@ -129,14 +134,13 @@
"wo" '(delete-other-windows :wk "")
;; Files
"f" '(:ignore t :wk "Files")
- "fr" '(consult-recent-file :wk "Resent files")
- "fc" '((lambda () (interactive) (find-file "~/.nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
- "fu" '(sudo-edit-find-file :wk "Sudo find file")
- "fU" '(sudo-edit :wk "Sudo edit file")
- ;; Opening.. things
- "o" '(:ignore t)
- "ot" '(eat-toggle :wk "Eat terminal")
- "om" '(magit-status :wk "Magit")))
+ "fc" '((lambda () (interactive) (find-file "~/nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
+ "fu" '(crux-sudo-edit :wk "Sudo edit file")
+ ;; Compilation
+ "c" '(:ignore t :wk "Compilation")
+ "cc" '(compile :wk "Compile")
+ "cr" '(recompile :wk "Recompile")
+ ))
(defun spl3g/disable-scroll-bars (frame)
(modify-frame-parameters frame
@@ -182,12 +186,12 @@
:config
(mood-line-mode)
:custom
- (mood-line-meow-state-alist
+ (mood-line-segment-modal-meow-state-alist
'((normal "N" . mood-line-meow-normal)
- (insert "I" . mood-line-meow-insert)
- (keypad "K" . mood-line-meow-keypad)
- (beacon "B" . mood-line-meow-beacon)
- (motion "M" . mood-line-meow-motion)))
+ (insert "I" . mood-line-meow-insert)
+ (keypad "K" . mood-line-meow-keypad)
+ (beacon "B" . mood-line-meow-beacon)
+ (motion "M" . mood-line-meow-motion)))
(mood-line-glyph-alist mood-line-glyphs-fira-code)
:custom-face
(mood-line-meow-beacon ((t (:foreground "#f9e2af" :weight bold))))
@@ -227,18 +231,17 @@
(require 'org-tempo)
(use-package toc-org
- :hook (org-mode-hook . toc-org-mode))
+ :hook (org-mode . toc-org-mode))
(use-package org-bullets
- :hook (org-mode-hook . (lambda () (org-bullets-mode 1))))
+ :hook (org-mode . org-bullets-mode))
(use-package org-auto-tangle
- :config
- (add-hook 'org-mode-hook 'org-auto-tangle-mode))
+ :hook (org-mode . org-auto-tangle-mode))
-;; (use-package org-download
-;; :hook
-;; (dired-mode-hook . org-download-enable))
+(use-package org-download
+ :hook
+ (dired-mode . org-download-enable))
(use-package direnv
:config
@@ -299,9 +302,10 @@
("C-c m" . consult-man)
("C-c i" . consult-info)
([remap Info-search] . consult-info)
+ ("C-c f r" . consult-recent-file)
+ ("C-c ," . consult-buffer)
;; C-x bindings in `ctl-x-map'
("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
- ("C-x b" . consult-buffer) ;; orig. switch-to-buffer
("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
@@ -312,8 +316,8 @@
;; Other custom bindings
("M-y" . consult-yank-pop) ;; orig. yank-pop
;; M-g bindings in `goto-map'
- ("M-g e" . consult-compile-error)
- ("M-g f" . consult-flycheck) ;; Alternative: consult-flycheck
+ ("C-c c e" . consult-compile-error)
+ ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
("M-g g" . consult-goto-line) ;; orig. goto-line
("M-g M-g" . consult-goto-line) ;; orig. goto-line
("M-g o" . consult-outline) ;; Alternative: consult-org-heading
@@ -332,13 +336,18 @@
("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
("M-s l" . consult-line) ;; needed by consult-line to detect isearch
("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
+ ("M-r" . consult-history)
;; Minibuffer history
- :map eshell-mode-map
- ("M-r" . consult-history))
+ :map minibuffer-local-map
+ ("M-s" . consult-history) ;; orig. next-matching-history-element
+ ("M-r" . consult-history)) ;; orig. previous-matching-history-element)
;; Enable automatic preview at point in the *Completions* buffer. This is
;; relevant when you use the default completion UI.
- :hook (completion-list-mode . consult-preview-at-point-mode)
+ :hook
+ (completion-list-mode . consult-preview-at-point-mode)
+ (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-h" 'consult-history)))
;; The :init configuration is always executed (Not lazy)
:init
@@ -392,11 +401,10 @@
;; (setq consult-project-function (lambda (_) (projectile-project-root)))
;;;; 5. No project support
;; (setq consult-project-function nil)
-)
+ )
(use-package smartparens
:init (smartparens-global-mode)
- :hook (prog-mode-hook . turn-on-smartparens-strict-mode)
:config
;; Snitched from doom
(let ((unless-list '(sp-point-before-word-p
@@ -411,6 +419,8 @@
(sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
(sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+ (sp-local-pair '(python-mode python-ts-mode) "f'" "'")
+
;; Major-mode specific fixes
(sp-local-pair 'ruby-mode "{" "}"
:pre-handlers '(:rem sp-ruby-pre-handler)
@@ -420,6 +430,9 @@
(sp-local-pair '(emacs-lisp-mode org-mode markdown-mode gfm-mode)
"[" nil :post-handlers '(:rem ("| " "SPC")))
+ (sp-local-pair '(emacs-lisp-mode org-mode)
+ "'" nil)
+
;; Reasonable default pairs for HTML-style comments
(sp-local-pair (append sp--html-modes '(markdown-mode gfm-mode))
"<!--" "-->"
@@ -457,25 +470,47 @@
(use-package rainbow-delimiters
:hook (prog-mode . rainbow-delimiters-mode))
-(use-package crux)
+(use-package crux
+ :bind (("C-c o t" . crux-visit-shell-buffer)))
+
+(use-package helpful
+ :bind (("C-h f" . 'helpful-callable)
+ ("C-h v" . 'helpful-variable)
+ ("C-h k" . 'helpful-key)
+ ("C-h x" . 'helpful-command)
+ ("C-c C-d" . 'helpful-at-point)
+ ("C-h F" . 'helpful-function)))
+
+(add-hook 'eshell-mode-hook
+ (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions)))
+
+(use-package fish-completion
+ :hook (eshell-mode . fish-completion-mode))
+
+(use-package consult-fish-completions
+ :load-path "~/prog/elisp/fish-completions/"
+ :hook (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions))))
(use-package eat
+ :hook (eshell-mode . eat-eshell-mode)
:custom
(eat-enable-auto-line-mode t))
-(defun eat-toggle()
- "Open eat terminal as a popup."
- (interactive)
- (if (eq major-mode 'eat-mode)
- (delete-window)
- (let ((buff (get-buffer-create eat-buffer-name)))
- (cl-assert (and buff (buffer-live-p buff)))
- (funcall #'pop-to-buffer buff)
- (with-current-buffer buff
- (setq-local split-width-threshold nil)
- (setq-local window-min-height 2)
- (unless (derived-mode-p 'eat-mode)
- (eat))))))
+;; (defun eat-toggle ()
+;; "Open eat terminal as a popup."
+;; (interactive)
+;; (if (eq major-mode 'eat-mode)
+;; (delete-window)
+;; (let ((buff (get-buffer-create eat-buffer-name)))
+;; (cl-assert (and buff (buffer-live-p buff)))
+;; (funcall #'pop-to-buffer buff)
+;; (with-current-buffer buff
+;; (setq-local split-width-threshold nil)
+;; (setq-local window-min-height 2)
+;; (unless (derived-mode-p 'eat-mode)
+;; (eat))))))
;; (defun eat-modes()
;; (cond
@@ -486,39 +521,20 @@
;; (add-hook 'meow-normal-mode-hook #'eat-modes)
;; (add-hook 'meow-insert-mode-hook #'eat-modes)
-(use-package fish-completion
+(use-package eglot
+ :bind (("C-c s e e" . eglot)
+ ("C-c s e d" . eldoc)
+ ("C-c s e r" . eglot-rename)
+ ("C-c s e s" . eglot-shutdown)
+ ("C-c s e f" . eglot-find-declaration)
+ ("C-c s e i" . eglot-find-implementation))
+ :hook
+ (nix-mode . eglot-ensure)
+ (python-ts-mode . eglot-ensure)
:config
- (global-fish-completion-mode))
-
+ (add-to-list 'eglot-server-programs '(python-ts-mode . ("pylsp"))))
-
-(use-package lsp-mode
- :custom
- (lsp-completion-provider :none) ;; we use Corfu!
-
- :init
- (defun my/orderless-dispatch-flex-first (_pattern index _total)
- (and (eq index 0) 'orderless-flex))
-
- (defun my/lsp-mode-setup-completion ()
- (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
- '(orderless)))
-
- ;; Optionally configure the first word as flex filtered.
- (add-hook 'orderless-style-dispatchers #'my/orderless-dispatch-flex-first nil 'local)
-
- ;; Optionally configure the cape-capf-buster.
-
- :hook
- (rust-mode-hook . lsp)
- (lsp-mode-hook . (lambda ()
- (setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point)))))
- (lsp-completion-mode . my/lsp-mode-setup-completion))
-
-(use-package lsp-pyright
- :hook (python-mode . (lambda ()
- (require 'lsp-pyright)
- (lsp))))
+(use-package lsp-pyright)
(use-package py-autopep8
:hook (python-mode . py-autopep8-mode))
@@ -585,33 +601,24 @@
(setq tab-always-indent 'complete))
(use-package cape
- ;; Bind dedicated completion commands
- ;; :bind (("C-c p p" . completion-at-point) ;; capf
- ;; ("C-c p t" . complete-tag) ;; etags
- ;; ("C-c p d" . cape-dabbrev) ;; or dabbrev-completion
- ;; ("C-c p h" . cape-history)
- ;; ("C-c p f" . cape-file)
- ;; ("C-c p k" . cape-keyword)
- ;; ("C-c p s" . cape-elisp-symbol)
- ;; ("C-c p e" . cape-elisp-block)
- ;; ("C-c p a" . cape-abbrev)
- ;; ("C-c p l" . cape-line)
- ;; ("C-c p w" . cape-dict)
- ;; ("C-c p :" . cape-emoji))
+ :demand t
:config
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-file)
(add-to-list 'completion-at-point-functions #'cape-elisp-block)
)
-(use-package flycheck
- :init (global-flycheck-mode))
-
(use-package tree-sitter
:init
(global-tree-sitter-mode)
:config
(add-hook 'tree-sitter-mode-hook 'tree-sitter-hl-mode))
+(use-package treesit-auto
+ :custom
+ (treesit-auto-install 'prompt)
+ :config
+ (treesit-auto-add-to-auto-mode-alist 'all)
+ (global-treesit-auto-mode))
(use-package tree-sitter-langs)
@@ -619,20 +626,23 @@
;; :init (yas-global-mode))
;; (use-package yasnippet-snippets)
-(use-package dirvish
- :init
- (dirvish-override-dired-mode)
+(use-package flymake
+ :after eglot
+ :bind (("C-c s f f" . flymake-start)
+ ("C-c s f l" . flymake-show-buffer-diagnostics)
+ ("C-c s f p" . flymake-show-project-diagnostics)))
+
+(use-package dired
:custom
- (dired-listing-switches "-Al --group-directories-first")
- :bind (:map dired-mode-map
- ("h" . 'dired-up-directory)
- ("l" . 'dired-find-file)
- ("v" . 'meow-visit)))
+ (dired-listing-switches "-al --group-directories-first"))
+
+
;; (add-to-list 'load-path "~/telega.el")
;; (require 'telega)
-(use-package magit)
+(use-package magit
+ :bind (("C-c o g" . magit)))
;; (use-package exwm)
;; (require 'exwm)
@@ -644,47 +654,22 @@
;; (use-package orgnote
;; :defer t)
-;; (use-package codeium
-;; :init
-;; ;; use globally
-;; (add-to-list 'completion-at-point-functions #'codeium-completion-at-point)
-;; :config
-;; (setq use-dialog-box nil) ;; do not use popup boxes
-
-;; ;; if you don't want to use customize to save the api-key
-;; ;; (setq codeium/metadata/api_key "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
-
-;; ;; get codeium status in the modeline
-;; (setq codeium-mode-line-enable
-;; (lambda (api) (not (memq api '(CancelRequest Heartbeat AcceptCompletion)))))
-;; (add-to-list 'mode-line-format '(:eval (car-safe codeium-mode-line)) t)
-;; ;; alternatively for a more extensive mode-line
-;; ;; (add-to-list 'mode-line-format '(-50 "" codeium-mode-line) t)
-
-;; ;; use M-x codeium-diagnose to see apis/fields that would be sent to the local language server
-;; (setq codeium-api-enabled
-;; (lambda (api)
-;; (memq api '(GetCompletions Heartbeat CancelRequest GetAuthToken RegisterUser auth-redirect AcceptCompletion))))
-;; ;; you can also set a config for a single buffer like this:
-;; ;; (add-hook 'python-mode-hook
-;; ;; (lambda ()
-;; ;; (setq-local codeium/editor_options/tab_size 4)))
-
-;; ;; You can overwrite all the codeium configs!
-;; ;; for example, we recommend limiting the string sent to codeium for better performance
-;; (defun my-codeium/document/text ()
-;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (min (+ (point) 1000) (point-max))))
-;; ;; if you change the text, you should also change the cursor_offset
-;; ;; warning: this is measured by UTF-8 encoded bytes
-;; (defun my-codeium/document/cursor_offset ()
-;; (codeium-utf8-byte-length
-;; (buffer-substring-no-properties (max (- (point) 3000) (point-min)) (point))))
-;; (setq codeium/document/text 'my-codeium/document/text)
-;; (setq codeium/document/cursor_offset 'my-codeium/document/cursor_offset))
-
-(use-package helm)
-(use-package helm-fish-completion)
-(use-package telega)
+(use-package copilot
+ :hook (python-ts-mode . copilot-mode)
+ :bind ("M-RET" . copilot-accept-completion))
(setq gc-cons-threshold (* 2 1000 1000))
(setq read-process-output-max (* 1024 1024))
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(package-selected-packages
+ '(dired web-mode vertico use-package treesit-auto tree-sitter-langs toc-org smartparens rust-mode rainbow-delimiters py-autopep8 org-download org-bullets org-auto-tangle orderless no-littering nix-mode move-text mood-line marginalia magit lsp-pyright js2-mode indent-guide helpful good-scroll general flycheck-rust fish-mode fish-completion eglot eat direnv dashboard crux corfu copilot consult catppuccin-theme cape all-the-icons snow meow)))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ )
diff --git a/home-manager/programs/emacs/init.old.el b/home-manager/general/programs/emacs/init.old.el
index 766d86d..766d86d 100644
--- a/home-manager/programs/emacs/init.old.el
+++ b/home-manager/general/programs/emacs/init.old.el
diff --git a/home-manager/general/programs/emacs/tmpWCGTRZ b/home-manager/general/programs/emacs/tmpWCGTRZ
new file mode 100644
index 0000000..b17a54b
--- /dev/null
+++ b/home-manager/general/programs/emacs/tmpWCGTRZ
@@ -0,0 +1,735 @@
+(setq gc-cons-threshold (* 50 1000 1000))
+
+(require 'use-package)
+(eval-and-compile
+ (setq use-package-always-ensure t
+ use-package-expand-minimally t))
+
+(use-package savehist
+ :init
+ (setq savehist-file "~/.config/emacs/var/savehist.el")
+ :config
+ (setq history-length 500)
+ (setq savehist-additional-variables '(kill-ring search-ring))
+ (savehist-mode t))
+
+(use-package meow
+ :config
+ (defun meow-setup ()
+ (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
+ (meow-motion-overwrite-define-key
+ '("j" . meow-next)
+ '("k" . meow-prev)
+ '("<escape>" . ignore))
+ (meow-leader-define-key
+ ;; SPC j/k will run the original command in MOTION state.
+ '("j" . "H-j")
+ '("k" . "H-k")
+ ;; Use SPC (0-9) for digit arguments.
+ '("1" . meow-digit-argument)
+ '("2" . meow-digit-argument)
+ '("3" . meow-digit-argument)
+ '("4" . meow-digit-argument)
+ '("5" . meow-digit-argument)
+ '("6" . meow-digit-argument)
+ '("7" . meow-digit-argument)
+ '("8" . meow-digit-argument)
+ '("9" . meow-digit-argument)
+ '("0" . meow-digit-argument)
+ '("/" . meow-keypad-describe-key)
+ '("?" . meow-cheatsheet)
+ '("bk" . kill-this-buffer))
+ (meow-normal-define-key
+ '("0" . meow-expand-0)
+ '("9" . meow-expand-9)
+ '("8" . meow-expand-8)
+ '("7" . meow-expand-7)
+ '("6" . meow-expand-6)
+ '("5" . meow-expand-5)
+ '("4" . meow-expand-4)
+ '("3" . meow-expand-3)
+ '("2" . meow-expand-2)
+ '("1" . meow-expand-1)
+ '("-" . negative-argument)
+ '(";" . meow-reverse)
+ '("," . meow-inner-of-thing)
+ '("." . meow-bounds-of-thing)
+ '("[" . meow-beginning-of-thing)
+ '("]" . meow-end-of-thing)
+ '("a" . meow-append)
+ '("A" . meow-open-below)
+ '("b" . meow-back-word)
+ '("B" . meow-back-symbol)
+ '("c" . meow-change)
+ '("d" . meow-delete)
+ '("D" . meow-backward-delete)
+ '("e" . meow-next-word)
+ '("E" . meow-next-symbol)
+ '("f" . meow-find)
+ '("g" . meow-cancel-selection)
+ '("G" . meow-grab)
+ '("h" . meow-left)
+ '("H" . meow-left-expand)
+ '("i" . meow-insert)
+ '("I" . meow-open-above)
+ '("j" . meow-next)
+ '("J" . meow-next-expand)
+ '("k" . meow-prev)
+ '("K" . meow-prev-expand)
+ '("l" . meow-right)
+ '("L" . meow-right-expand)
+ '("m" . meow-join)
+ '("n" . meow-search)
+ '("o" . meow-block)
+ '("O" . meow-to-block)
+ '("p" . meow-yank)
+ '("q" . meow-quit)
+ '("Q" . meow-goto-line)
+ '("r" . meow-replace)
+ '("R" . meow-swap-grab)
+ '("s" . meow-kill)
+ '("t" . meow-till)
+ '("u" . meow-undo)
+ '("U" . meow-undo-in-selection)
+ '("v" . meow-visit)
+ '("w" . meow-mark-word)
+ '("W" . meow-mark-symbol)
+ '("x" . meow-line)
+ '("X" . meow-goto-line)
+ '("y" . meow-save)
+ '("Y" . meow-sync-grab)
+ '("z" . meow-pop-selection)
+ '("'" . repeat)
+ '("<escape>" . ignore)))
+ (setq meow-use-enhanced-selection-effect t)
+ (meow-setup))
+ ;; (meow-global-mode 1))
+
+(use-package kakoune
+ ;; Having a non-chord way to escape is important, since key-chords don't work in macros
+ :bind ("C-z" . ryo-modal-mode)
+ :hook (after-init . my/kakoune-setup)
+ :config
+ (defun ryo-enter () "Enter normal mode" (interactive) (ryo-modal-mode 1))
+ (defun my/kakoune-setup ()
+ "Call kakoune-setup-keybinds and then add some personal config."
+ (kakoune-setup-keybinds)
+ (setq ryo-modal-cursor-type 'box)
+ (add-hook 'prog-mode-hook #'ryo-enter)
+ (define-key ryo-modal-mode-map (kbd "SPC h") 'help-command)
+ ;; Access all C-x bindings easily
+ (define-key ryo-modal-mode-map (kbd "z") ctl-x-map)
+ (ryo-modal-keys
+ ("," save-buffer)
+ ("P" counsel-yank-pop)
+ ("m" mc/mark-next-like-this)
+ ("M" mc/skip-to-next-like-this)
+ ("n" mc/mark-previous-like-this)
+ ("N" mc/skip-to-previous-like-this)
+ ("M-m" mc/edit-lines)
+ ("*" mc/mark-all-like-this)
+ ("v" er/expand-region)
+ ("C-v" set-rectangular-region-anchor)
+ ("M-s" mc/split-region)
+ (";" (("q" delete-window)
+ ("v" split-window-horizontally)
+ ("s" split-window-vertically)))
+ ("C-h" windmove-left)
+ ("C-j" windmove-down)
+ ("C-k" windmove-up)
+ ("C-l" windmove-right)
+ ("C-u" scroll-down-command :first '(deactivate-mark))
+ ("C-d" scroll-up-command :first '(deactivate-mark)))))
+
+;; This overrides the default mark-in-region with a prettier-looking one,
+;; and provides a couple extra commands
+(use-package visual-regexp
+ :ryo
+ ("s" vr/mc-mark)
+ ("?" vr/replace)
+ ("M-/" vr/query-replace))
+
+;; Emacs incremental search doesn't work with multiple cursors, but this fixes that
+(use-package phi-search
+ :bind (("C-s" . phi-search)
+ ("C-r" . phi-search-backward)))
+
+;; Probably the first thing you'd miss is undo and redo, which requires an extra package
+;; to work like it does in kakoune (and almost every other editor).
+(use-package undo-tree
+ :config
+ (global-undo-tree-mode)
+ :ryo
+ ("u" undo-tree-undo)
+ ("U" undo-tree-redo)
+ ("SPC u" undo-tree-visualize)
+ :bind (:map undo-tree-visualizer-mode-map
+ ("h" . undo-tree-visualize-switch-branch-left)
+ ("j" . undo-tree-visualize-redo)
+ ("k" . undo-tree-visualize-undo)
+ ("l" . undo-tree-visualize-switch-branch-right)))
+
+
+(use-package general
+ :config
+ ;; SPC as the global leader key
+ (general-create-definer spl3g/leader-keys
+ :prefix "C-c")
+
+ (spl3g/leader-keys
+ ;; Buffers
+ "b" '(:ignore t :wk "Buffer")
+ "bi" '(ibuffer :wk "ibuffer")
+ "bk" '(kill-this-buffer :wk "Kill this buffer")
+ "bn" '(next-buffer :wk "Next buffer")
+ "bp" '(previous-buffer :wk "Previous buffer")
+ "br" '(revert-buffer :wk "Reload buffer")
+ "." '(find-file :wk "Find file")
+ ;; Splits
+ "w" '(:ignore t :wk "Splits")
+ "wv" '(split-window-right :wk "Split vertical")
+ "ws" '(split-window-below :wk "Split")
+ "ww" '(other-window :wk "Cycle throug windows")
+ "wc" '(delete-window :wk "Close window")
+ "wd" '(delete-window :wk "Close window")
+ "wl" '(evil-window-right :wk "")
+ "wj" '(evil-window-down :wk "")
+ "wk" '(evil-window-up :wk "")
+ "wh" '(evil-window-left :wk "")
+ "wo" '(delete-other-windows :wk "")
+ ;; Files
+ "f" '(:ignore t :wk "Files")
+ "fc" '((lambda () (interactive) (find-file "~/nixfiles/home-manager/programs/emacs/config.org")) :wk "Edit emacs config")
+ "fu" '(crux-sudo-edit :wk "Sudo edit file")
+ ;; Compilation
+ "c" '(:ignore t :wk "Compilation")
+ "cc" '(compile :wk "Compile")
+ "cr" '(recompile :wk "Recompile")
+ ))
+
+(defun spl3g/disable-scroll-bars (frame)
+ (modify-frame-parameters frame
+ '((vertical-scroll-bars . nil)
+ (horizontal-scroll-bars . nil))))
+(add-hook 'after-make-frame-functions 'spl3g/disable-scroll-bars)
+
+(setq default-frame-alist '((font . "Source Code Pro")))
+(set-face-attribute 'default nil
+ :font "Source Code Pro"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'fixed-pitch nil
+ :font "Source Code Pro"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'variable-pitch nil
+ :font "Rubik"
+ :height 110
+ :weight 'medium)
+(set-face-attribute 'font-lock-comment-face nil
+ :slant 'italic)
+(set-face-attribute 'font-lock-keyword-face nil
+ :weight 'bold)
+
+(add-hook 'prog-mode-hook 'display-line-numbers-mode)
+(visual-line-mode 1)
+
+(use-package catppuccin-theme
+ :ensure t
+ :config
+ (load-theme 'catppuccin t)
+ (setq catppuccin-flavor 'macchiato)
+ (catppuccin-reload))
+
+(use-package all-the-icons
+ :ensure t
+ :if (display-graphic-p))
+
+(use-package mood-line
+
+ ;; Enable mood-line
+ :config
+ (mood-line-mode)
+ :custom
+ (mood-line-segment-modal-meow-state-alist
+ '((normal "N" . mood-line-meow-normal)
+ (insert "I" . mood-line-meow-insert)
+ (keypad "K" . mood-line-meow-keypad)
+ (beacon "B" . mood-line-meow-beacon)
+ (motion "M" . mood-line-meow-motion)))
+ (mood-line-glyph-alist mood-line-glyphs-fira-code)
+ :custom-face
+ (mood-line-meow-beacon ((t (:foreground "#f9e2af" :weight bold))))
+ (mood-line-meow-insert ((t (:foreground "#a6e3a1" :weight bold))))
+ (mood-line-meow-keypad ((t (:foreground "#cba6f7" :weight bold))))
+ (mood-line-meow-motion ((t (:foreground "#fab387" :weight bold))))
+ (mood-line-meow-normal ((t (:weight bold))))
+ (mode-line-inactive ((t (:box (:line-width (2 . 6) :color "#11111b") :inverse-video nil :foreground "#6c7086" :background "#11111b"))))
+ (mode-line ((t (:box (:line-width (2 . 6) :color "#181825") :background "#181825")))))
+
+(use-package good-scroll
+ :init (good-scroll-mode))
+
+(use-package dashboard
+ :init
+ (dashboard-setup-startup-hook)
+ :config
+ (setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
+ (setq dashboard-banner-logo-title "Yep, it's emacs, not vim")
+ (setq dashboard-startup-banner 'logo)
+ (setq dashboard-center-content t)
+ (add-to-list 'dashboard-item-generators '(config . dashboard-open-config))
+ (setq dashboard-items '((recents . 5)
+ (agenda . 5))))
+
+(setq ring-bell-function 'ignore)
+
+(use-package indent-guide
+ :hook (prog-mode . indent-guide-mode))
+
+(setq window-resize-pixelwise t)
+(setq frame-resize-pixelwise t)
+(save-place-mode t)
+(defalias 'yes-or-no #'y-or-n-p)
+
+(add-hook 'org-mode-hook 'org-indent-mode)
+(require 'org-tempo)
+
+(use-package toc-org
+ :hook (org-mode . toc-org-mode))
+
+(use-package org-bullets
+ :hook (org-mode . org-bullets-mode))
+
+(use-package org-auto-tangle
+ :hook (org-mode . org-auto-tangle-mode))
+
+(use-package org-download
+ :hook
+ (dired-mode . org-download-enable))
+
+(use-package direnv
+ :config
+ (direnv-mode))
+
+(use-package vertico
+ :init
+ (vertico-mode)
+ :bind (:map vertico-map
+ ("M-j" . vertico-next)
+ ("M-k" . vertico-previous)
+ ("RET" . vertico-directory-enter)
+ ("DEL" . vertico-directory-delete-char)
+ ("M-DEL" . vertico-directory-delete-word)))
+
+(use-package emacs
+ :init
+ ;; Add prompt indicator to `completing-read-multiple'.
+ ;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
+ (defun crm-indicator (args)
+ (cons (format "[CRM%s] %s"
+ (replace-regexp-in-string
+ "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
+ crm-separator)
+ (car args))
+ (cdr args)))
+ (advice-add #'completing-read-multiple :filter-args #'crm-indicator)
+
+ ;; Do not allow the cursor in the minibuffer prompt
+ (setq minibuffer-prompt-properties
+ '(read-only t cursor-intangible t face minibuffer-prompt))
+ (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
+
+ ;; Emacs 28: Hide commands in M-x which do not work in the current mode.
+ ;; Vertico commands are hidden in normal buffers.
+ ;; (setq read-extended-command-predicate
+ ;; #'command-completion-default-include-p)
+
+ ;; Enable recursive minibuffers
+ (setq enable-recursive-minibuffers t))
+
+(use-package orderless
+ :init
+ (setq completion-styles '(orderless basic)
+ completion-category-defaults nil
+ completion-category-overrides '((file (styles partial-completion)))))
+
+(use-package marginalia
+ :bind (:map minibuffer-local-map
+ ("M-A" . marginalia-cycle))
+ :init
+ (marginalia-mode))
+
+(use-package consult
+ ;; Replace bindings. Lazily loaded due by `use-package'.
+ :bind (;; C-c bindings in `mode-specific-map'
+ ("C-c k" . consult-kmacro)
+ ("C-c m" . consult-man)
+ ("C-c i" . consult-info)
+ ([remap Info-search] . consult-info)
+ ("C-c f r" . consult-recent-file)
+ ("C-c ," . consult-buffer)
+ ;; C-x bindings in `ctl-x-map'
+ ("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
+ ("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
+ ("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
+ ("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
+ ;; Custom M-# bindings for fast register access
+ ("M-#" . consult-register-load)
+ ("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
+ ("C-M-#" . consult-register)
+ ;; Other custom bindings
+ ("M-y" . consult-yank-pop) ;; orig. yank-pop
+ ;; M-g bindings in `goto-map'
+ ("C-c c e" . consult-compile-error)
+ ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
+ ("M-g g" . consult-goto-line) ;; orig. goto-line
+ ("M-g M-g" . consult-goto-line) ;; orig. goto-line
+ ("M-g o" . consult-outline) ;; Alternative: consult-org-heading
+ ;; M-s bindings in `search-map'
+ ("M-s d" . consult-fd)
+ ("M-s g" . consult-grep)
+ ("M-s G" . consult-git-grep)
+ ("M-s l" . consult-line)
+ ("M-s L" . consult-line-multi)
+ ("M-s k" . consult-keep-lines)
+ ("M-s u" . consult-focus-lines)
+ ;; Isearch integration
+ ("M-s e" . consult-isearch-history)
+ :map isearch-mode-map
+ ("M-e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s l" . consult-line) ;; needed by consult-line to detect isearch
+ ("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
+ ("M-r" . consult-history)
+ ;; Minibuffer history
+ :map minibuffer-local-map
+ ("M-s" . consult-history) ;; orig. next-matching-history-element
+ ("M-r" . consult-history)) ;; orig. previous-matching-history-element)
+
+ ;; Enable automatic preview at point in the *Completions* buffer. This is
+ ;; relevant when you use the default completion UI.
+ :hook
+ (completion-list-mode . consult-preview-at-point-mode)
+ (eshell-mode . (lambda ()
+ (keymap-set eshell-mode-map "M-h" 'consult-history)))
+
+ ;; The :init configuration is always executed (Not lazy)
+ :init
+
+ ;; Optionally configure the register formatting. This improves the register
+ ;; preview for `consult-register', `consult-register-load',
+ ;; `consult-register-store' and the Emacs built-ins.
+ (setq register-preview-delay 0.5
+ register-preview-function #'consult-register-format)
+
+ ;; Optionally tweak the register preview window.
+ ;; This adds thin lines, sorting and hides the mode line of the window.
+ (advice-add #'register-preview :override #'consult-register-window)
+
+ ;; Configure other variables and modes in the :config section,
+ ;; after lazily loading the package.
+ :config
+
+ ;; Optionally configure preview. The default value
+ ;; is 'any, such that any key triggers the preview.
+ ;; (setq consult-preview-key 'any)
+ ;; (setq consult-preview-key "M-.")
+ ;; (setq consult-preview-key '("S-<down>" "S-<up>"))
+ ;; For some commands and buffer sources it is useful to configure the
+ ;; :preview-key on a per-command basis using the `consult-customize' macro.
+ (consult-customize
+ consult-ripgrep consult-git-grep consult-grep
+ consult-bookmark consult-recent-file consult-xref
+ consult--source-bookmark consult--source-file-register
+ consult--source-recent-file consult--source-project-recent-file)
+ ;; :preview-key "M-."
+
+ ;; Optionally configure the narrowing key.
+ ;; Both < and C-+ work reasonably well.
+ (setq consult-narrow-key "<") ;; "C-+"
+
+ ;; Optionally make narrowing help available in the minibuffer.
+ ;; You may want to use `embark-prefix-help-command' or which-key instead.
+ ;; (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
+
+ ;; By default `consult-project-function' uses `project-root' from project.el.
+ ;; Optionally configure a different project root function.
+;;;; 1. project.el (the default)
+ ;; (setq consult-project-function #'consult--default-project--function)
+;;;; 2. vc.el (vc-root-dir)
+ ;; (setq consult-project-function (lambda (_) (vc-root-dir)))
+;;;; 3. locate-dominating-file
+ ;; (setq consult-project-function (lambda (_) (locate-dominating-file "." ".git")))
+;;;; 4. projectile.el (projectile-project-root)
+ ;; (autoload 'projectile-project-root "projectile")
+ ;; (setq consult-project-function (lambda (_) (projectile-project-root)))
+;;;; 5. No project support
+ ;; (setq consult-project-function nil)
+ )
+
+(use-package smartparens
+ :init (smartparens-global-mode)
+ :config
+ ;; Snitched from doom
+ (let ((unless-list '(sp-point-before-word-p
+ sp-point-after-word-p
+ sp-point-before-same-p)))
+ (sp-pair "'" nil :unless unless-list)
+ (sp-pair "\"" nil :unless unless-list))
+ (dolist (brace '("(" "{" "["))
+ (sp-pair brace nil
+ :post-handlers '(("||\n[i]" "RET") ("| " "SPC"))
+ :unless '(sp-point-before-word-p sp-point-before-same-p)))
+ (sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+ (sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p))
+
+ (sp-local-pair '(python-mode python-ts-mode) "f'" "'")
+
+ ;; Major-mode specific fixes
+ (sp-local-pair 'ruby-mode "{" "}"
+ :pre-handlers '(:rem sp-ruby-pre-handler)
+ :post-handlers '(:rem sp-ruby-post-handler))
+
+ ;; Don't do square-bracket space-expansion where it doesn't make sense to
+ (sp-local-pair '(emacs-lisp-mode org-mode markdown-mode gfm-mode)
+ "[" nil :post-handlers '(:rem ("| " "SPC")))
+
+ (sp-local-pair '(emacs-lisp-mode org-mode)
+ "'" nil)
+
+ ;; Reasonable default pairs for HTML-style comments
+ (sp-local-pair (append sp--html-modes '(markdown-mode gfm-mode))
+ "<!--" "-->"
+ :unless '(sp-point-before-word-p sp-point-before-same-p)
+ :actions '(insert) :post-handlers '(("| " "SPC")))
+ ;; Expand C-style comment blocks.
+ (defun +default-open-doc-comments-block (&rest _ignored)
+ (save-excursion
+ (newline)
+ (indent-according-to-mode)))
+ (sp-local-pair
+ '(js2-mode typescript-mode rjsx-mode rust-mode c-mode c++-mode objc-mode
+ csharp-mode java-mode php-mode css-mode scss-mode less-css-mode
+ stylus-mode scala-mode)
+ "/*" "*/"
+ :actions '(insert)
+ :post-handlers '(("| " "SPC")
+ (" | " "*")
+ ("|[i]\n[i]" "RET"))))
+
+;; (use-package dap-mode
+;; :defer t
+;; :config
+;; (require 'dap-python)
+;; (setq dap-python-debugger 'debugpy))
+
+(use-package move-text
+ :bind (("C-M-k" . move-text-up)
+ ("C-M-j" . move-text-down)))
+
+(global-visual-line-mode t)
+
+(use-package no-littering)
+
+(use-package rainbow-delimiters
+ :hook (prog-mode . rainbow-delimiters-mode))
+
+(use-package crux
+ :bind (("C-c o t" . crux-visit-shell-buffer)))
+
+(use-package helpful
+ :bind (("C-h f" . 'helpful-callable)
+ ("C-h v" . 'helpful-variable)
+ ("C-h k" . 'helpful-key)
+ ("C-h x" . 'helpful-command)
+ ("C-c C-d" . 'helpful-at-point)
+ ("C-h F" . 'helpful-function)))
+
+(add-hook 'eshell-mode-hook
+ (lambda ()
+ (keymap-set eshell-mode-map "M-<tab>" 'consult-fish-completions)))
+
+(use-package eat
+ :hook (eshell-mode . eat-eshell-mode)
+ :custom
+ (eat-enable-auto-line-mode t))
+
+;; (defun eat-toggle ()
+;; "Open eat terminal as a popup."
+;; (interactive)
+;; (if (eq major-mode 'eat-mode)
+;; (delete-window)
+;; (let ((buff (get-buffer-create eat-buffer-name)))
+;; (cl-assert (and buff (buffer-live-p buff)))
+;; (funcall #'pop-to-buffer buff)
+;; (with-current-buffer buff
+;; (setq-local split-width-threshold nil)
+;; (setq-local window-min-height 2)
+;; (unless (derived-mode-p 'eat-mode)
+;; (eat))))))
+
+;; (defun eat-modes()
+;; (cond
+;; ((and (eq major-mode 'eat-mode) (member 'meow-normal-mode local-minor-modes))
+;; (eat-emacs-mode))
+;; ((and (eq major-mode 'eat-mode) (member 'meow-insert-mode local-minor-modes))
+;; (eat-semi-char-mode))))
+;; (add-hook 'meow-normal-mode-hook #'eat-modes)
+;; (add-hook 'meow-insert-mode-hook #'eat-modes)
+
+(use-package fish-completion
+ :hook (eshell-mode . fish-completion-mode))
+
+(use-package eglot
+ :bind (("C-c s e e" . eglot)
+ ("C-c s e d" . eldoc)
+ ("C-c s e r" . eglot-rename)
+ ("C-c s e s" . eglot-shutdown)
+ ("C-c s e f" . eglot-find-declaration)
+ ("C-c s e i" . eglot-find-implementation))
+ :hook
+ (nix-mode . eglot-ensure)
+ (python-ts-mode . eglot-ensure)
+ :config
+ (add-to-list 'eglot-server-programs '(python-ts-mode . ("pylsp"))))
+
+(use-package lsp-pyright)
+(use-package py-autopep8
+ :hook (python-mode . py-autopep8-mode))
+
+(use-package rust-mode
+ :mode "\\.rs\\'")
+(use-package flycheck-rust
+ :config
+ (with-eval-after-load 'rust-mode
+ (add-hook 'flycheck-mode-hook #'flycheck-rust-setup)))
+
+(use-package fish-mode
+ :mode "\\.fish\\'")
+
+(use-package nix-mode
+ :mode ("\\.nix\\'" "\\.nix.in\\'"))
+(use-package nix-drv-mode
+ :ensure nix-mode
+ :mode "\\.drv\\'")
+(use-package nix-shell
+ :ensure nix-mode
+ :commands (nix-shell-unpack nix-shell-configure nix-shell-build))
+(use-package nix-repl
+ :ensure nix-mode
+ :commands (nix-repl))
+
+(use-package web-mode
+ :mode
+ ("\\.phtml\\'"
+ "\\.tpl\\.php\\'"
+ "\\.[agj]sp\\'"
+ "\\.as[cp]x\\'"
+ "\\.erb\\'"
+ "\\.mustache\\'"
+ "\\.djhtml\\'"))
+
+(use-package js2-mode)
+
+(use-package corfu
+ :custom
+ (corfu-cycle t)
+ (corfu-preselect 'prompt)
+ (corfu-auto t)
+ (corfu-popupinfo-delay 0.0)
+ :bind
+ (:map corfu-map
+ ("TAB" . corfu-next)
+ ([tab] . corfu-next)
+ ("S-TAB" . corfu-previous)
+ ([backtab] . corfu-previous))
+
+ :init
+ (global-corfu-mode)
+ (corfu-history-mode)
+ (corfu-popupinfo-mode)
+ :config
+ (add-to-list 'savehist-additional-variables 'corfu-history))
+(use-package emacs
+ :init
+ (setq completion-cycle-threshold 3)
+
+ (setq read-extended-command-predicate
+ #'command-completion-default-include-p)
+
+ (setq tab-always-indent 'complete))
+
+(use-package cape
+ :demand t
+ :config
+ (add-to-list 'completion-at-point-functions #'cape-dabbrev)
+ (add-to-list 'completion-at-point-functions #'cape-file)
+ (add-to-list 'completion-at-point-functions #'cape-elisp-block)
+ )
+
+(use-package tree-sitter
+ :init
+ (global-tree-sitter-mode)
+ :config
+ (add-hook 'tree-sitter-mode-hook 'tree-sitter-hl-mode))
+(use-package treesit-auto
+ :custom
+ (treesit-auto-install 'prompt)
+ :config
+ (treesit-auto-add-to-auto-mode-alist 'all)
+ (global-treesit-auto-mode))
+
+(use-package tree-sitter-langs)
+
+;; (use-package yasnippet
+;; :init (yas-global-mode))
+;; (use-package yasnippet-snippets)
+
+(use-package flymake
+ :after eglot
+ :bind (("C-c s f f" . flymake-start)
+ ("C-c s f l" . flymake-show-buffer-diagnostics)
+ ("C-c s f p" . flymake-show-project-diagnostics)))
+
+(use-package dired
+ :custom
+ (dired-listing-switches "-al --group-directories-first"))
+
+
+
+;; (add-to-list 'load-path "~/telega.el")
+;; (require 'telega)
+
+(use-package magit
+ :bind (("C-c o g" . magit)))
+
+;; (use-package exwm)
+;; (require 'exwm)
+;; (require 'exwm-config)
+;; (exwm-config-example)
+
+;; (use-package code-cells)
+
+;; (use-package orgnote
+;; :defer t)
+
+(use-package copilot
+ :hook (python-ts-mode . copilot-mode)
+ :bind ("M-RET" . copilot-accept-completion))
+
+(setq gc-cons-threshold (* 2 1000 1000))
+(setq read-process-output-max (* 1024 1024))
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(package-selected-packages
+ '(dired web-mode vertico use-package treesit-auto tree-sitter-langs toc-org smartparens rust-mode rainbow-delimiters py-autopep8 org-download org-bullets org-auto-tangle orderless no-littering nix-mode move-text mood-line marginalia magit lsp-pyright kakoune js2-mode indent-guide helpful good-scroll general flycheck-rust fish-mode fish-completion eglot eat direnv dashboard crux corfu copilot consult catppuccin-theme cape all-the-icons snow meow)))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ )
diff --git a/home-manager/programs/firefox/default.nix b/home-manager/general/programs/firefox/default.nix
index b08ae0c..b08ae0c 100644
--- a/home-manager/programs/firefox/default.nix
+++ b/home-manager/general/programs/firefox/default.nix
diff --git a/home-manager/programs/firefox/user.js b/home-manager/general/programs/firefox/user.js
index cbf15bb..cbf15bb 100644
--- a/home-manager/programs/firefox/user.js
+++ b/home-manager/general/programs/firefox/user.js
diff --git a/home-manager/programs/firefox/userChrome.css b/home-manager/general/programs/firefox/userChrome.css
index c4390dc..c4390dc 100644
--- a/home-manager/programs/firefox/userChrome.css
+++ b/home-manager/general/programs/firefox/userChrome.css
diff --git a/home-manager/programs/fish/default.nix b/home-manager/general/programs/fish/default.nix
index 9cde39d..fc91367 100644
--- a/home-manager/programs/fish/default.nix
+++ b/home-manager/general/programs/fish/default.nix
@@ -36,6 +36,7 @@ in
{
programs.direnv = {
enable = true;
+ nix-direnv.enable = true;
};
programs.fish = {
diff --git a/home-manager/programs/ranger/commands.py b/home-manager/general/programs/ranger/commands.py
index a41d42f..a41d42f 100644
--- a/home-manager/programs/ranger/commands.py
+++ b/home-manager/general/programs/ranger/commands.py
diff --git a/home-manager/programs/ranger/default.nix b/home-manager/general/programs/ranger/default.nix
index 4dbced5..4dbced5 100644
--- a/home-manager/programs/ranger/default.nix
+++ b/home-manager/general/programs/ranger/default.nix
diff --git a/home-manager/programs/ranger/default.nix~ b/home-manager/general/programs/ranger/default.nix~
index ea1b298..ea1b298 100644
--- a/home-manager/programs/ranger/default.nix~
+++ b/home-manager/general/programs/ranger/default.nix~
diff --git a/home-manager/programs/ranger/plugins/__init__.py b/home-manager/general/programs/ranger/plugins/__init__.py
index e69de29..e69de29 100644
--- a/home-manager/programs/ranger/plugins/__init__.py
+++ b/home-manager/general/programs/ranger/plugins/__init__.py
diff --git a/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc b/home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc
index 1a26aa3..1a26aa3 100644
--- a/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc
+++ b/home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc
Binary files differ
diff --git a/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc b/home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc
index 87b2e7f..87b2e7f 100644
--- a/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc
+++ b/home-manager/general/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc b/home-manager/general/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc
index 146af23..146af23 100644
--- a/home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc
+++ b/home-manager/general/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc
Binary files differ
diff --git a/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc b/home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc
index 49d1db9..49d1db9 100644
--- a/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc
+++ b/home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc
Binary files differ
diff --git a/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc b/home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc
index 7b3ac1c..7b3ac1c 100644
--- a/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc
+++ b/home-manager/general/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc
Binary files differ
diff --git a/home-manager/programs/ranger/plugins/quit_cd_wd.py b/home-manager/general/programs/ranger/plugins/quit_cd_wd.py
index e47837f..e47837f 100644
--- a/home-manager/programs/ranger/plugins/quit_cd_wd.py
+++ b/home-manager/general/programs/ranger/plugins/quit_cd_wd.py
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/.gitignore
index 846dc44..846dc44 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/.gitignore
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/LICENSE
index bd840f1..bd840f1 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/LICENSE
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/README.md
index 6a65e17..6a65e17 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/README.md
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/__init__.py
index b5d5b46..b5d5b46 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/__init__.py
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/command.py
index 92aee83..92aee83 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/command.py
diff --git a/home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/filter.py
index 3d12756..3d12756 100644
--- a/home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py
+++ b/home-manager/general/programs/ranger/plugins/ranger_fzf_filter/filter.py
diff --git a/home-manager/programs/ranger/rc.conf b/home-manager/general/programs/ranger/rc.conf
index 271d239..271d239 100644
--- a/home-manager/programs/ranger/rc.conf
+++ b/home-manager/general/programs/ranger/rc.conf
diff --git a/home-manager/programs/ranger/rifle.conf b/home-manager/general/programs/ranger/rifle.conf
index 3b565af..3b565af 100644
--- a/home-manager/programs/ranger/rifle.conf
+++ b/home-manager/general/programs/ranger/rifle.conf
diff --git a/home-manager/programs/ranger/scope.sh b/home-manager/general/programs/ranger/scope.sh
index f9c7648..f9c7648 100755
--- a/home-manager/programs/ranger/scope.sh
+++ b/home-manager/general/programs/ranger/scope.sh
diff --git a/home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg
index 7b89e88..7b89e88 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg
index 17e3c4a..17e3c4a 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-checked-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg
index b4808a6..b4808a6 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg
index 3ea0541..3ea0541 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/checkbox-mixed-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/close-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic.svg
index 06201c3..06201c3 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/close-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/close-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic@2.svg
index a26e6ff..a26e6ff 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/close-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/close-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg
index e2a252b..e2a252b 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/cursor-handle-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic.svg
index 39316eb..39316eb 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg
index 8095f75..8095f75 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/maximize-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic.svg
index f3683b9..f3683b9 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg
index 741534b..741534b 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/minimize-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg
index 67beb46..67beb46 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg
index bf51d9e..bf51d9e 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/radio-checked-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg
index b4808a6..b4808a6 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg
index 3ea0541..3ea0541 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/radio-mixed-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg
index de0d789..de0d789 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-after-slider-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg
index 7f0235f..7f0235f 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/scale-horz-marks-before-slider-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg
index 4b00bc1..4b00bc1 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/scale-slider-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg
index 37d9c04..37d9c04 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-after-slider-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg
index 1bc5cb6..1bc5cb6 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/scale-vert-marks-before-slider-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg
index 4759e32..4759e32 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg
index a44f5c9..a44f5c9 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-checked-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg
index d621934..d621934 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg
index 91c7006..91c7006 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-checkbox-mixed-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg
index f2c9cf9..f2c9cf9 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg
index a06db4c..a06db4c 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-checked-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg
index d621934..d621934 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg
index 91c7006..91c7006 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/small-radio-mixed-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg b/home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg
index 492d47a..492d47a 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic.svg
diff --git a/home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg b/home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg
index 85f4f3a..85f4f3a 100644
--- a/home-manager/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg
+++ b/home-manager/general/themes/Catppuccin/assets/scalable/unmaximize-symbolic@2.svg
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png
index b2b92ef..b2b92ef 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png
index 0e39be3..0e39be3 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png
index 391164d..391164d 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png
index 0e141b4..0e141b4 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png
index 8ec0d53..8ec0d53 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png
index 532ac30..532ac30 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider-disabled@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider.png
index cb00cb8..cb00cb8 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png
index 54f5b08..54f5b08 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-after-slider@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png
index 015821d..015821d 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png
index cf7c20f..cf7c20f 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png
index 735e3e8..735e3e8 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png
index 35b0aec..35b0aec 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png
index 04785e3..04785e3 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png
index 936a8c4..936a8c4 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider-disabled@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider.png
index 1fe2485..1fe2485 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png
index a96a0a7..a96a0a7 100644
--- a/home-manager/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-horz-marks-before-slider@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png
index d3debe8..d3debe8 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png
index 6caf95e..6caf95e 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png
index 4532913..4532913 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png
index d6042e6..d6042e6 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png
index 70eed02..70eed02 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png
index 885d156..885d156 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider-disabled@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider.png
index a3cc4c0..a3cc4c0 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png
index 957eba3..957eba3 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-after-slider@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png
index 2f21b00..2f21b00 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png
index 1d228e7..1d228e7 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png
index eb5123d..eb5123d 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png
index e6c0698..e6c0698 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png
index 7e3487d..7e3487d 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png
index ab5af6f..ab5af6f 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider-disabled@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider.png
index 8578df7..8578df7 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png
index e2f8b24..e2f8b24 100644
--- a/home-manager/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/scale-vert-marks-before-slider@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png
index c93dabf..c93dabf 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png
index d796ce8..d796ce8 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked.png
index 0546a5e..0546a5e 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png
index 92dde69..92dde69 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-checked@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png
index f6b914e..f6b914e 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png
index 29ecf2b..29ecf2b 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked-dark@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png
index 40ff92e..40ff92e 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png
index 8e87ea7..8e87ea7 100644
--- a/home-manager/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png
+++ b/home-manager/general/themes/Catppuccin/assets/selectionmode-checkbox-unchecked@2.png
Binary files differ
diff --git a/home-manager/themes/Catppuccin/gtk-dark.css b/home-manager/general/themes/Catppuccin/gtk-dark.css
index c933a2f..c933a2f 100644
--- a/home-manager/themes/Catppuccin/gtk-dark.css
+++ b/home-manager/general/themes/Catppuccin/gtk-dark.css
diff --git a/home-manager/themes/Catppuccin/gtk.css b/home-manager/general/themes/Catppuccin/gtk.css
index c933a2f..c933a2f 100644
--- a/home-manager/themes/Catppuccin/gtk.css
+++ b/home-manager/general/themes/Catppuccin/gtk.css
diff --git a/home-manager/themes/default.nix b/home-manager/general/themes/default.nix
index bc90cb5..5a1b7f4 100644
--- a/home-manager/themes/default.nix
+++ b/home-manager/general/themes/default.nix
@@ -35,4 +35,8 @@ in
target = "gtk-4.0/gtk-dark.css";
};
};
+ qt = {
+ enable = true;
+ platformTheme = "gtk";
+ };
}
diff --git a/home-manager/laptop/default.nix b/home-manager/laptop/default.nix
new file mode 100644
index 0000000..66aa183
--- /dev/null
+++ b/home-manager/laptop/default.nix
@@ -0,0 +1,17 @@
+{ inputs, ... }:
+let
+ imports = builtins.concatMap import [
+ ./programs
+ ./services
+ ] ++ nonListImports;
+ nonListImports = [
+ inputs.hyprland.homeManagerModules.default
+ inputs.ags.homeManagerModules.default
+ ./hyprland
+ ../general
+ ];
+in
+{
+ inherit imports;
+}
+
diff --git a/home-manager/laptop/home.nix~ b/home-manager/laptop/home.nix~
new file mode 100644
index 0000000..fa99095
--- /dev/null
+++ b/home-manager/laptop/home.nix~
@@ -0,0 +1,16 @@
+{ inputs, ... }:
+let
+ imports = builtins.concatMap [
+ ./programs
+ ./services
+ ./hyprland
+ ] ++ [
+ inputs.hyprland.homeManagerModules.default
+ inputs.ags.homeManagerModules.default
+ ./themes
+ ];
+in
+{
+
+}
+
diff --git a/home-manager/wm/hyprland/cat.png b/home-manager/laptop/hyprland/cat.png
index 5657a78..5657a78 100644
--- a/home-manager/wm/hyprland/cat.png
+++ b/home-manager/laptop/hyprland/cat.png
Binary files differ
diff --git a/home-manager/wm/hyprland/default.nix b/home-manager/laptop/hyprland/default.nix
index 42e97a0..9f911e1 100644
--- a/home-manager/wm/hyprland/default.nix
+++ b/home-manager/laptop/hyprland/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, config, ... }:
+{ pkgs, ... }:
let
configFile = builtins.readFile ./hyprland.conf;
scripts = ''
@@ -17,15 +17,11 @@ in
slurp
grim
cliphist
- wtype
- webcord
xdg-desktop-portal-hyprland
- swaylock
];
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
- recommendedEnvironment = true;
inherit extraConfig;
};
}
diff --git a/home-manager/wm/hyprland/hyprland.conf b/home-manager/laptop/hyprland/hyprland.conf
index a950187..376dd52 100644
--- a/home-manager/wm/hyprland/hyprland.conf
+++ b/home-manager/laptop/hyprland/hyprland.conf
@@ -1,4 +1,3 @@
-layerrule = blur, waybar
monitor = eDP-1,preferred,auto,1
monitor = ,highres,auto,1,mirror,eDP-1
@@ -55,26 +54,14 @@ gestures {
workspace_swipe = yes
}
-windowrulev2 = tile, class:^(Spotify)$
-windowrulev2 = float, title:^(calcure)$
-windowrulev2 = move 611 46, title:^(calcure)$
-windowrulev2 = size 702 360, title:^(calcure)$
-windowrulev2 = float, title:^(btop)$
-windowrulev2 = move 1180 46, title:^(btop)$
-windowrulev2 = size 724 460, title:^(btop)$
-windowrulev2 = float, title:^(blue)$
-windowrulev2 = move 1180 46, title:^(blue)$
-windowrulev2 = size 724 460, title:^(blue)$
-windowrulev2 = float, class:^(connman-gtk)$
-windowrulev2 = move 1262 46, class:^(connman-gtk)$
-windowrulev2 = size 650 401, class:^(connman-gtk)$
windowrulev2 = float, title:^(Firrfox — Sharing Indicator)$
windowrulev2 = nofullscreenrequest, title:^(Firefox — Sharing Indicator)$
windowrulev2 = noborder, title:^(Firefox — Sharing Indicator)$
windowrulev2 = rounding 0, title:^(Firefox — Sharing Indicator)$
-windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float, title:^(firefox)$, title:^(Picture-in-Picture)$
windowrulev2 = pin, title:^(firefox)$, title:^(Picture-in-Picture)$
+windowrulev2 = rounding 7, title:^(rofi)$
+layerrule = blur, waybar
# some nice mouse binds
bindm = SUPER,mouse:272,movewindow
diff --git a/home-manager/wm/hyprland/scripts/battery-level.sh b/home-manager/laptop/hyprland/scripts/battery-level.sh
index cc2d5cd..cc2d5cd 100755
--- a/home-manager/wm/hyprland/scripts/battery-level.sh
+++ b/home-manager/laptop/hyprland/scripts/battery-level.sh
diff --git a/home-manager/wm/hyprland/scripts/hshot b/home-manager/laptop/hyprland/scripts/hshot
index 0d02b9c..0d02b9c 100755
--- a/home-manager/wm/hyprland/scripts/hshot
+++ b/home-manager/laptop/hyprland/scripts/hshot
diff --git a/home-manager/wm/hyprland/scripts/kill b/home-manager/laptop/hyprland/scripts/kill
index 40ab4a9..40ab4a9 100755
--- a/home-manager/wm/hyprland/scripts/kill
+++ b/home-manager/laptop/hyprland/scripts/kill
diff --git a/home-manager/wm/hyprland/scripts/rnew.fish b/home-manager/laptop/hyprland/scripts/rnew.fish
index 743d7fd..743d7fd 100755
--- a/home-manager/wm/hyprland/scripts/rnew.fish
+++ b/home-manager/laptop/hyprland/scripts/rnew.fish
diff --git a/home-manager/wm/hyprland/scripts/rofi-modes b/home-manager/laptop/hyprland/scripts/rofi-modes
index 1a5bd2e..2d52802 100755
--- a/home-manager/wm/hyprland/scripts/rofi-modes
+++ b/home-manager/laptop/hyprland/scripts/rofi-modes
@@ -1,6 +1,6 @@
#!/bin/sh
-case $(echo -e "bitwarden\nclipboard\nemoji\ncalc" | rofi -dmenu) in
+case $(echo -e "clipboard\nemoji\ncalc" | rofi -dmenu) in
emoji) arg=emoji;;
calc) arg=calc;;
clipboard) cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy
diff --git a/home-manager/programs/ags/bar/config.js b/home-manager/laptop/programs/ags/bar/config.js
index 8abf671..8abf671 100644
--- a/home-manager/programs/ags/bar/config.js
+++ b/home-manager/laptop/programs/ags/bar/config.js
diff --git a/home-manager/programs/ags/bar/style.css b/home-manager/laptop/programs/ags/bar/style.css
index 900d84f..900d84f 100644
--- a/home-manager/programs/ags/bar/style.css
+++ b/home-manager/laptop/programs/ags/bar/style.css
diff --git a/home-manager/programs/ags/default.nix b/home-manager/laptop/programs/ags/default.nix
index dbb8228..646bccf 100644
--- a/home-manager/programs/ags/default.nix
+++ b/home-manager/laptop/programs/ags/default.nix
@@ -2,7 +2,7 @@
{
programs.ags = {
- enable = true;
+ enable = false;
configDir = ./bar;
};
}
diff --git a/home-manager/laptop/programs/default.nix b/home-manager/laptop/programs/default.nix
new file mode 100644
index 0000000..a077139
--- /dev/null
+++ b/home-manager/laptop/programs/default.nix
@@ -0,0 +1,4 @@
+[
+ ./rofi
+ ./waybar
+]
diff --git a/home-manager/programs/default.nix~ b/home-manager/laptop/programs/default.nix~
index c904e18..c904e18 100644
--- a/home-manager/programs/default.nix~
+++ b/home-manager/laptop/programs/default.nix~
diff --git a/home-manager/laptop/programs/rofi/#squared-material-pine.rasi# b/home-manager/laptop/programs/rofi/#squared-material-pine.rasi#
new file mode 100644
index 0000000..dfc1304
--- /dev/null
+++ b/home-manager/laptop/programs/rofi/#squared-material-pine.rasi#
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * ROFI SQUARED THEME USING THE MATERIAL DARKER PALETTE
+ * User : LR-Tech
+ * Theme Repo : https://github.com/lr-tech/rofi-themes-collection
+ *******************************************************************************/
+
+* {
+ font: "FiraCode Nerd Font Medium 12";
+
+ bg0: #1f1d2e;
+ bg1: #2a273f;
+ fg0: #908caa;
+
+ accent-color: #6e6a86;
+ urgent-color: #ffffff;
+
+ background-color: transparent;
+ text-color: @fg0;
+
+ margin: 0;
+ padding: 0;
+ spacing: 0;
+}
+
+window {
+ location: center;
+ width: 480;
+ y-offset: -160;
+ border-radius: 7px;
+
+ background-color: @bg0;
+}
+
+inputbar {
+ spacing: 8px;
+ padding: 8px;
+
+ background-color: @bg1;
+}
+
+prompt, entry, element-icon, element-text {
+ vertical-align: 0.5;
+}
+
+prompt {
+ text-color: @accent-color;
+}
+
+textbox {
+ padding: 8px;
+ background-color: @bg1;
+}
+
+listview {
+ padding: 4px 0;
+ lines: 8;
+ columns: 1;
+
+ fixed-height: false;
+}
+
+element {
+ padding: 8px;
+ spacing: 8px;
+}
+
+element normal normal {
+ text-color: @fg0;
+}
+
+element normal urgent {
+ text-color: @urgent-color;
+}
+
+element normal active {
+ text-color: @accent-color;
+}
+
+element selected {
+ text-color: @bg0;
+}
+
+element selected normal, element selected active {
+ background-color: @accent-color;
+}
+
+element selected urgent {
+ background-color: @urgent-color;
+}
+
+element-icon {
+ size: 0.8em;
+}
+
+element-text {
+ text-color: inherit;
+}
diff --git a/home-manager/laptop/programs/rofi/.#squared-material-pine.rasi b/home-manager/laptop/programs/rofi/.#squared-material-pine.rasi
new file mode 120000
index 0000000..01f556d
--- /dev/null
+++ b/home-manager/laptop/programs/rofi/.#squared-material-pine.rasi
@@ -0,0 +1 @@
+jerpo@ltrr.1733:1703369468 \ No newline at end of file
diff --git a/home-manager/programs/rofi/config.rasi b/home-manager/laptop/programs/rofi/config.rasi
index 55e75a7..55e75a7 100644
--- a/home-manager/programs/rofi/config.rasi
+++ b/home-manager/laptop/programs/rofi/config.rasi
diff --git a/home-manager/laptop/programs/rofi/default.nix b/home-manager/laptop/programs/rofi/default.nix
new file mode 100644
index 0000000..540e97b
--- /dev/null
+++ b/home-manager/laptop/programs/rofi/default.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+
+{
+ programs.rofi = {
+ enable = true;
+ package = pkgs.rofi-wayland;
+ theme = ./squared-material-pine.rasi;
+ cycle = true;
+ plugins = with pkgs; [
+ rofi-emoji
+ rofi-calc
+ ];
+ extraConfig = {
+ kb-row-up = "Up,Alt+k";
+ kb-row-down = "Down,Alt+j";
+ };
+ };
+}
diff --git a/home-manager/programs/rofi/squared-material-pine.rasi b/home-manager/laptop/programs/rofi/squared-material-pine.rasi
index 55434cf..dfc1304 100644
--- a/home-manager/programs/rofi/squared-material-pine.rasi
+++ b/home-manager/laptop/programs/rofi/squared-material-pine.rasi
@@ -23,9 +23,10 @@
}
window {
- location: center;
- width: 480;
- y-offset: -160;
+ location: center;
+ width: 480;
+ y-offset: -160;
+ border-radius: 7px;
background-color: @bg0;
}
diff --git a/home-manager/laptop/programs/rofi/theme.rasi b/home-manager/laptop/programs/rofi/theme.rasi
new file mode 100644
index 0000000..c110b07
--- /dev/null
+++ b/home-manager/laptop/programs/rofi/theme.rasi
@@ -0,0 +1,125 @@
+/* borrowed from https://github.com/abxh/dotfiles/blob/main/rofi/config.rasi */
+/* cuz IT'S SO SICK!!! */
+
+* {
+ /* // general */
+ bg: #333333;
+ bgt: #333333AA;
+ t: transparent;
+ fg: #e0c69f;
+
+ selected-bg: @fg;
+ selected-fg: @bg;
+
+ /* // for windows */
+ active: #a9b665;
+ urgent: #ea6962;
+}
+
+window {
+ fullscreen: true;
+ padding: 35% 30%;
+ transparency: "real";
+ background-color: @bgt;
+ border-color: @t;
+}
+
+listview {
+ border: 0 0 0 0;
+ padding: 23 0 0;
+ scrollbar: true;
+}
+
+scrollbar {
+ width: 4px;
+ border: 0;
+ handle-color: @fg;
+ handle-width: 8px;
+ padding: 0 5;
+}
+
+entry {
+ placeholder: "";
+}
+
+/* // other kinda less interesting stuff {{{ */
+
+textbox {
+ text-color: @fg;
+}
+
+/* // using elements from: */
+/* // https://github.com/bardisty/gruvbox-rofi/blob/master/gruvbox-common.rasi */
+
+element {
+ border: 0;
+ padding: 2px;
+}
+element.normal.normal {
+ background-color: @t;
+ text-color: @fg;
+}
+element.normal.urgent {
+ background-color: @t;
+ text-color: @urgent;
+}
+element.normal.active {
+ background-color: @t;
+ text-color: @active;
+}
+element.selected.normal {
+ background-color: @selected-bg;
+ text-color: @selected-fg;
+}
+element.selected.urgent {
+ background-color: @selected-bg;
+ text-color: @urgent;
+}
+element.selected.active {
+ background-color: @selected-bg;
+ text-color: @selected-fg;
+}
+element.alternate.normal {
+ background-color: @t;
+ text-color: @fg;
+}
+element.alternate.urgent {
+ background-color: @t;
+ text-color: @urgent;
+}
+element.alternate.active {
+ background-color: @t;
+ text-color: @active;
+}
+
+sidebar {
+ border: 2px 0 0;
+ border-color: @fg;
+}
+
+inputbar {
+ spacing: 0;
+ text-color: @fg;
+ padding: 2px;
+ children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
+}
+
+case-indicator,
+entry,
+prompt,
+button {
+ spacing: 0;
+ text-color: @fg;
+}
+
+button.selected {
+ background-color: @bg;
+ text-color: @fg;
+}
+
+textbox-prompt-sep {
+ expand: false;
+ str: ":";
+ text-color: @fg;
+ margin: 0 0.3em 0 0;
+}
diff --git a/home-manager/programs/waybar/config.jsonc b/home-manager/laptop/programs/waybar/config.jsonc
index 84aeafd..84aeafd 100644
--- a/home-manager/programs/waybar/config.jsonc
+++ b/home-manager/laptop/programs/waybar/config.jsonc
diff --git a/home-manager/programs/waybar/default.nix b/home-manager/laptop/programs/waybar/default.nix
index 8618718..8618718 100644
--- a/home-manager/programs/waybar/default.nix
+++ b/home-manager/laptop/programs/waybar/default.nix
diff --git a/home-manager/programs/waybar/style.css b/home-manager/laptop/programs/waybar/style.css
index 7f64ae3..7f64ae3 100644
--- a/home-manager/programs/waybar/style.css
+++ b/home-manager/laptop/programs/waybar/style.css
diff --git a/home-manager/laptop/services/default.nix b/home-manager/laptop/services/default.nix
new file mode 100644
index 0000000..8d73ea5
--- /dev/null
+++ b/home-manager/laptop/services/default.nix
@@ -0,0 +1,3 @@
+[
+ ./mako
+]
diff --git a/home-manager/services/mako/default.nix b/home-manager/laptop/services/mako/default.nix
index bddb020..bddb020 100644
--- a/home-manager/services/mako/default.nix
+++ b/home-manager/laptop/services/mako/default.nix
diff --git a/home-manager/wm/bspwm/default.nix b/home-manager/pc/bspwm/default.nix
index 8aab6d7..3be1f62 100644
--- a/home-manager/wm/bspwm/default.nix
+++ b/home-manager/pc/bspwm/default.nix
@@ -27,7 +27,7 @@ let
in
{
xsession.windowManager.bspwm = {
- enable = true;
+ enable = false;
inherit monitors settings startupPrograms;
};
}
diff --git a/home-manager/pc/default.nix b/home-manager/pc/default.nix
new file mode 100644
index 0000000..020ca5e
--- /dev/null
+++ b/home-manager/pc/default.nix
@@ -0,0 +1,12 @@
+let
+ imports = builtins.concatMap import [
+ ./services
+ ./bspwm
+ ] ++ [
+ ../general
+ ];
+in
+{
+ inherit imports;
+}
+
diff --git a/home-manager/pc/default.nix~ b/home-manager/pc/default.nix~
new file mode 100644
index 0000000..00bdb31
--- /dev/null
+++ b/home-manager/pc/default.nix~
@@ -0,0 +1,13 @@
+{ inputs, ... }:
+let
+ imports = builtins.concatMap [
+ ./services
+ ./bspwm
+ ] ++ [
+ ../general
+ ];
+in
+{
+ inherit imports;
+}
+
diff --git a/home-manager/services/default.nix b/home-manager/pc/services/default.nix
index 71ac5f3..69b0cc3 100644
--- a/home-manager/services/default.nix
+++ b/home-manager/pc/services/default.nix
@@ -14,8 +14,5 @@ let
in
[
./picom
- # ./sxhkd
- # ./dunst
- ./mako
more
]
diff --git a/home-manager/services/dunst/default.nix b/home-manager/pc/services/dunst/default.nix
index d192d0f..d192d0f 100644
--- a/home-manager/services/dunst/default.nix
+++ b/home-manager/pc/services/dunst/default.nix
diff --git a/home-manager/services/dunst/default.nix~ b/home-manager/pc/services/dunst/default.nix~
index e02ab35..e02ab35 100644
--- a/home-manager/services/dunst/default.nix~
+++ b/home-manager/pc/services/dunst/default.nix~
diff --git a/home-manager/services/picom/default.nix b/home-manager/pc/services/picom/default.nix
index 1b02f49..1b02f49 100644
--- a/home-manager/services/picom/default.nix
+++ b/home-manager/pc/services/picom/default.nix
diff --git a/home-manager/services/polybar/hide.fish b/home-manager/pc/services/polybar/hide.fish
index f0a1a1b..f0a1a1b 100755
--- a/home-manager/services/polybar/hide.fish
+++ b/home-manager/pc/services/polybar/hide.fish
diff --git a/home-manager/services/polybar/hide.fish~ b/home-manager/pc/services/polybar/hide.fish~
index 31984e1..31984e1 100644
--- a/home-manager/services/polybar/hide.fish~
+++ b/home-manager/pc/services/polybar/hide.fish~
diff --git a/home-manager/services/polybar/hide~ b/home-manager/pc/services/polybar/hide~
index 31984e1..31984e1 100644
--- a/home-manager/services/polybar/hide~
+++ b/home-manager/pc/services/polybar/hide~
diff --git a/home-manager/services/sxhkd/default.nix b/home-manager/pc/services/sxhkd/default.nix
index 6b7878e..6b7878e 100644
--- a/home-manager/services/sxhkd/default.nix
+++ b/home-manager/pc/services/sxhkd/default.nix
diff --git a/home-manager/programs/emacs/default.nix b/home-manager/programs/emacs/default.nix
deleted file mode 100644
index 27688fa..0000000
--- a/home-manager/programs/emacs/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ pkgs, ... }:
-let
- pkgsForEmacs = with pkgs; [
- tree-sitter
- gcc
- cmake
- nodePackages_latest.bash-language-server
- gnumake
- tdlib
- emacs-all-the-icons-fonts
- libappindicator
- libwebp
- tgs2png
- pkg-config
- ffmpeg_6-full
- rustc
- cargo
- rust-analyzer
- nodejs_20
- ];
- pythonPkgs = with pkgs.python311Packages; [
- flake8
- python-lsp-server
- autopep8
- matplotlib
- ];
-
- pkgsUsePackage = with pkgs; [
- (pkgs.emacsWithPackagesFromUsePackage {
- package = pkgs.emacs29-pgtk;
- config = ./init.el;
- alwaysEnsure = true;
- extraEmacsPackages = epkgs: [
- epkgs.use-package
- (epkgs.melpaBuild rec {
- pname = "codeium";
- version = "1.2.102";
-
- src = fetchFromGitHub {
- owner = "Exafunction";
- repo = "codeium.el";
- rev = "1.4.4";
- sha256 = "1jjix7fn73ihjnhfivf72wris72f4kwf7xb6k5hxs41fm4kr9hdd";
- };
-
- commit = "ddc9927ea231ecc5a32f7c9905f92fdfb7912e75";
-
- recipe = writeText "recipe" ''
- (codeium
- :repo "${src.owner}/${src.repo}"
- :fetcher github)
- '';
- })
- (epkgs.melpaBuild rec {
- pname = "telega";
- version = "0.8.216";
- src = fetchFromGitHub {
- owner = "zevlg";
- repo = "telega.el";
- rev = "3899aa8648b9e6deddbb34a2a817ca18acb9d97a";
- sha256 = "05xrm86gp185mgwb62w720hcbn87salk8z0whq6zf2r2f24l6xbw";
- };
- commit = "3899aa8648b9e6deddbb34a2a817ca18acb9d97a";
- recipe = writeText "recipe" ''
- (telega :fetcher github
- :repo "zevlg/telega.el"
- :files (:defaults "etc" "server" "contrib" "Makefile"))
- '';
- })
- # (epkgs.melpaBuild rec {
- # pname = "orgnote";
- # version = "0.7.17";
-
- # src = fetchFromGitHub {
- # owner = "Artawower";
- # repo = "orgnote.el";
- # rev = "v${version}";
- # sha256 = "1lrj47h244z4dqq2wyhpww7p3b4sy6bayk8lwlka517lhbcdgh33";
- # };
-
- # commit = "ccc40cc346ebf5a6e6a55e3d4a147f0230337350";
-
- # recipe = writeText "recipe" ''
- # (orgnote
- # :repo "${src.owner}/${src.repo}"
- # :fetcher github)
- # '';
- # })
- ];
- })
- ];
-in
-{
- home.packages = pkgsForEmacs ++ pkgsUsePackage ++ pythonPkgs;
- xdg.configFile = {
- # "emacs/init.el".text = builtins.readFile ./init.el;
- "emacs/early-init.el".text = builtins.readFile ./early-init.el;
- };
-}
diff --git a/home-manager/programs/foot/default.nix b/home-manager/programs/foot/default.nix
deleted file mode 100644
index f22aac8..0000000
--- a/home-manager/programs/foot/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, ... }:
-{
- programs.foot = {
- enable = true;
- server.enable = true;
- settings = {
- };
- };
-}
diff --git a/home-manager/programs/kitty/default.nix b/home-manager/programs/kitty/default.nix
deleted file mode 100644
index a1cfbf3..0000000
--- a/home-manager/programs/kitty/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, ... }:
-{
- programs.kitty = {
- enable = true;
- font.name = "Source Code Pro";
- font.size = 11.3;
- theme = "Catppuccin-Mocha";
- shellIntegration.enableFishIntegration = true;
- settings = {
- cursor_shape = "underline";
- background_opacity = "0.7";
- };
- };
-}
diff --git a/home-manager/programs/kitty/default.nix~ b/home-manager/programs/kitty/default.nix~
deleted file mode 100644
index e4e62ca..0000000
--- a/home-manager/programs/kitty/default.nix~
+++ /dev/null
@@ -1,10 +0,0 @@
- programs = {
- kitty = {
- enable = true;
- font.name = "Source Code Pro";
- font.size = 11.3;
- theme = "Catppuccin-Mocha";
- shellIntegration.enableFishIntegration = true;
- extraConfig = "cursor_shape underline";
- };
- };
diff --git a/home-manager/programs/rofi/default.nix b/home-manager/programs/rofi/default.nix
deleted file mode 100644
index 3a78868..0000000
--- a/home-manager/programs/rofi/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ pkgs, ... }:
-
-let
- theme = ./squared-material-pine.rasi;
- cycle = true;
- plugins = with pkgs; [
- rofi-emoji
- rofi-calc
- ];
- extraConfig = {
- kb-row-up = "Up,Alt+k";
- kb-row-down = "Down,Alt+j";
- };
-in
-{
- home.packages = with pkgs; [ rbw rofi-rbw pinentry ];
- programs.rofi = {
- enable = true;
- package = pkgs.rofi-wayland;
- inherit theme cycle plugins extraConfig;
- };
-}
diff --git a/home-manager/wm/default.nix b/home-manager/wm/default.nix
deleted file mode 100644
index 105564d..0000000
--- a/home-manager/wm/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-let
- more = { pkgs, inputs, ... }: {
- home.packages = with pkgs; [
- kile-wl
- ];
- };
-in
-[
- # ./bspwm
- ./hyprland
- more
-]
diff --git a/nixos/configuration.new.nix~ b/nixos/configuration.new.nix~
deleted file mode 100644
index 5b6f6c4..0000000
--- a/nixos/configuration.new.nix~
+++ /dev/null
@@ -1,100 +0,0 @@
-# This is your system's configuration file.
-# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
-
-{ inputs, outputs, lib, config, pkgs, ... }: {
- # You can import other NixOS modules here
- imports = [
- # If you want to use modules your own flake exports (from modules/nixos):
- # outputs.nixosModules.example
-
- # Or modules from other flakes (such as nixos-hardware):
- # inputs.hardware.nixosModules.common-cpu-amd
- # inputs.hardware.nixosModules.common-ssd
-
- # You can also split up your configuration and import pieces of it here:
- # ./users.nix
-
- # Import your generated (nixos-generate-config) hardware configuration
- ./hardware-configuration.nix
- ];
-
- nixpkgs = {
- # You can add overlays here
- overlays = [
- # Add overlays your own flake exports (from overlays and pkgs dir):
- outputs.overlays.additions
- outputs.overlays.modifications
- outputs.overlays.unstable-packages
-
- # You can also add overlays exported from other flakes:
- # neovim-nightly-overlay.overlays.default
-
- # Or define it inline, for example:
- # (final: prev: {
- # hi = final.hello.overrideAttrs (oldAttrs: {
- # patches = [ ./change-hello-to-hi.patch ];
- # });
- # })
- ];
- # Configure your nixpkgs instance
- config = {
- # Disable if you don't want unfree packages
- allowUnfree = true;
- };
- };
-
- nix = {
- # This will add each flake input as a registry
- # To make nix3 commands consistent with your flake
- registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
-
- # This will additionally add your inputs to the system's legacy channels
- # Making legacy nix commands consistent as well, awesome!
- nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
-
- settings = {
- # Enable flakes and new 'nix' command
- experimental-features = "nix-command flakes";
- # Deduplicate and optimize nix store
- auto-optimise-store = true;
- };
- };
-
- # FIXME: Add the rest of your current configuration
-
- # TODO: Set your hostname
- networking.hostName = "your-hostname";
-
- # TODO: This is just an example, be sure to use whatever bootloader you prefer
- boot.loader.systemd-boot.enable = true;
-
- # TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
- users.users = {
- # FIXME: Replace with your username
- your-username = {
- # TODO: You can set an initial password for your user.
- # If you do, you can skip setting a root password by passing '--no-root-passwd' to nixos-install.
- # Be sure to change it (using passwd) after rebooting!
- initialPassword = "correcthorsebatterystaple";
- isNormalUser = true;
- openssh.authorizedKeys.keys = [
- # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect
- ];
- # TODO: Be sure to add any other groups you need (such as networkmanager, audio, docker, etc)
- extraGroups = [ "wheel" ];
- };
- };
-
- # This setups a SSH server. Very important if you're setting up a headless system.
- # Feel free to remove if you don't need it.
- services.openssh = {
- enable = true;
- # Forbid root login through SSH.
- permitRootLogin = "no";
- # Use keys only. Remove if you want to SSH using password (not recommended)
- passwordAuthentication = false;
- };
-
- # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
- system.stateVersion = "23.05";
-} \ No newline at end of file
diff --git a/nixos/configuration.old.nix b/nixos/configuration.old.nix
deleted file mode 100644
index bb8a218..0000000
--- a/nixos/configuration.old.nix
+++ /dev/null
@@ -1,180 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
-
-{ config, pkgs, inputs, outputs, ... }:
-
-{
- imports =
- [
- ./hardware-configuration.nix
- inputs.home-manager.nixosModules.home-manager
- ];
-
- home-manager = {
- extraSpecialArgs = { inherit inputs outputs; };
- useGlobalPkgs = true;
- useUserPackages = true;
- users.jerpo = import ../home-manager/home.nix;
- };
-
- nix.gc = {
- automatic = true;
- dates = "weekly";
- options = "--delete-older-than 1w";
- };
-
- nix.settings.auto-optimise-store = true;
-
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
-
- networking.hostName = "ltrr";
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- # networking.networkmanager.enable = true;
-
- # Set your time zone.
- time.timeZone = "Asia/Yekaterinburg";
-
- # Select internationalisation properties.
- i18n.defaultLocale = "ru_RU.UTF-8";
-
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "ru_RU.UTF-8";
- LC_IDENTIFICATION = "ru_RU.UTF-8";
- LC_MEASUREMENT = "ru_RU.UTF-8";
- LC_MONETARY = "ru_RU.UTF-8";
- LC_NAME = "ru_RU.UTF-8";
- LC_NUMERIC = "ru_RU.UTF-8";
- LC_PAPER = "ru_RU.UTF-8";
- LC_TELEPHONE = "ru_RU.UTF-8";
- LC_TIME = "ru_RU.UTF-8";
- };
-
- # Enable the X11 windowing system.
- services.xserver = {
- enable = true;
- displayManager.sddm = {
- enable = true;
- theme = "sugar-dark";
- };
- # displayManager.startx.enable = true;
- displayManager.defaultSession = "none+bspwm";
- desktopManager.gnome.enable = true;
- windowManager.dwm.enable = true;
- windowManager.bspwm.enable = true;
- };
-
- # Configure keymap in X11
- services.xserver = {
- layout = "us,ru";
- xkbOptions = "grp:win_space_toggle,grp:alt_shift_toggle";
- };
-
- # Enable CUPS to print documents.
- services.printing.enable = true;
-
- # Enable sound with pipewire.
- sound.enable = true;
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- jack.enable = true;
-
- # no need to redefine it in your config for now)
- #media-session.enable = true;
- };
-
- # Enable touchpad support (enabled default in most desktopManager).
- # services.xserver.libinput.enable = true;
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- programs.fish.enable = true;
- users.defaultUserShell = pkgs.fish;
- users.users.jerpo = {
- isNormalUser = true;
- description = "jerpo";
- extraGroups = [ "networkmanager" "wheel" ];
- };
-
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- vim
- wget
- git
- firefox
- neovim
- ripgrep
- fd
- killall
- fzf
- silver-searcher
- tldr
- unzip
- cmake
- python3Full
- nodejs_20
- xorg.xinit
- gnumake
- gcc
- btrfs-progs
- ntfs3g
- libtool
- jq
- vkd3d
- dxvk
- wineWowPackages.full
- wineWowPackages.fonts
- winetricks
- nix-prefetch-scripts
- xkb-switch
- pamixer
- rustup
- linuxKernel.packages.linux_6_4.v4l2loopback
- v4l-utils
- ];
-
- # services.v2raya.enable = true;
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "23.05"; # Did you read the comment?
-
-}
diff --git a/nixos/general.nix b/nixos/general.nix
new file mode 100644
index 0000000..f02e889
--- /dev/null
+++ b/nixos/general.nix
@@ -0,0 +1,74 @@
+{ inputs, outputs, lib, config, pkgs, ... }: {
+ nixpkgs = {
+ overlays = [
+ outputs.overlays.additions
+ outputs.overlays.modifications
+ outputs.overlays.unstable-packages
+ outputs.overlays.emacs-overlay
+
+ # You can also add overlays exported from other flakes:
+ # neovim-nightly-overlay.overlays.default
+ ];
+ config = {
+ allowUnfree = true;
+ };
+ };
+ nix = {
+ # This will add each flake input as a registry
+ # To make nix3 commands consistent with your flake
+ registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
+
+ # This will additionally add your inputs to the system's legacy channels
+ # Making legacy nix commands consistent as well, awesome!
+ nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
+
+ gc = {
+ automatic = true;
+ dates = "weekly";
+ };
+
+ settings = {
+ # Enable flakes and new 'nix' command
+ experimental-features = "nix-command flakes";
+ # Deduplicate and optimize nix store
+ auto-optimise-store = true;
+ };
+ };
+ networking.networkmanager = {
+ enable = true;
+ };
+ networking.firewall.enable = false;
+ networking.nftables.enable = true;
+ boot.loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ };
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ audio.enable = true;
+ wireplumber.enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+ environment.systemPackages = with pkgs; [
+ vim
+ git
+ ];
+ services.udisks2 = {
+ enable = true;
+ mountOnMedia = true;
+ };
+ programs.dconf.enable = true;
+ i18n.defaultLocale = "ru_RU.UTF-8";
+ programs.fish.enable = true;
+ users.users = {
+ jerpo = {
+ isNormalUser = true;
+ shell = pkgs.fish;
+ extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ];
+ };
+ };
+
+}
diff --git a/nixos/laptop/configuration.nix b/nixos/laptop/configuration.nix
new file mode 100644
index 0000000..948aed6
--- /dev/null
+++ b/nixos/laptop/configuration.nix
@@ -0,0 +1,47 @@
+{ inputs, outputs, pkgs, ... }: {
+ # You can import other NixOS modules here
+ imports = [
+ # If you want to use modules your own flake exports (from modules/nixos):
+ # outputs.nixosModules.example
+
+ # Or modules from other flakes (such as nixos-hardware):
+ # inputs.hardware.nixosModules.common-cpu-amd
+ # inputs.hardware.nixosModules.common-ssd
+
+ ../general.nix
+ ./hardware-configuration.nix
+ inputs.home-manager.nixosModules.home-manager
+ ];
+
+
+ time.timeZone = "Europe/Moscow";
+ networking.hostName = "ltrr-mini";
+
+ virtualisation.libvirtd.enable = true;
+ programs.virt-manager.enable = true;
+
+ services.xserver = {
+ enable = false;
+ displayManager.lightdm.enable = false;
+ };
+
+
+ environment.systemPackages = with pkgs; [
+ qemu
+ ];
+
+ programs.adb.enable = true;
+ services.udev.packages = [
+ pkgs.android-udev-rules
+ ];
+
+ home-manager = {
+ extraSpecialArgs = { inherit inputs outputs; };
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ users.jerpo = import ../../home-manager/laptop;
+ };
+
+ # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
+ system.stateVersion = "23.05";
+}
diff --git a/nixos/configuration.nix b/nixos/laptop/configuration.nix~
index f7530ba..0309aca 100644
--- a/nixos/configuration.nix
+++ b/nixos/laptop/configuration.nix~
@@ -39,7 +39,6 @@
gc = {
automatic = true;
dates = "weekly";
- options = "--delete-older-than 1w";
};
settings = {
@@ -47,7 +46,6 @@
experimental-features = "nix-command flakes";
# Deduplicate and optimize nix store
auto-optimise-store = true;
- # Enable cachix
};
};
@@ -65,10 +63,12 @@
efi.canTouchEfiVariables = true;
};
- services.openssh.enable = true;
+ # services.openssh.enable = true;
- services = {
- xserver = {
+ virtualisation.libvirtd.enable = true;
+ programs.virt-manager.enable = true;
+
+ services.xserver = {
enable = true;
# dm
@@ -85,19 +85,13 @@
libinput.enable = true;
# wm
- windowManager.bspwm.enable = true;
+ # windowManager.bspwm.enable = true;
# Layout
layout = "us,ru";
xkbOptions = "grp:win_space_toggle";
};
- acpid = {
- enable = true;
- powerEventCommands = "";
- lidEventCommands = "firefox";
- };
-
# Printing
# printing.enable = true;
# printing.drivers = [ pkgs.hplipWithPlugin ];
@@ -106,7 +100,6 @@
# nssmdns = true;
# openFirewall = true;
# };
- };
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@@ -120,8 +113,7 @@
environment.systemPackages = with pkgs; [
vim
git
- ntfs3g
- xorg.xinit
+ qemu
];
services.udisks2 = {
enable = true;
@@ -141,13 +133,16 @@
jerpo = {
isNormalUser = true;
shell = pkgs.fish;
- openssh.authorizedKeys.keys = [
- # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect
- ];
- extraGroups = [ "networkmanager" "wheel" "docker" "input" "adbusers" ];
+ extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ];
};
};
+ users.users.test3 = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" ];
+ home = "/home/test2";
+ };
+
home-manager = {
extraSpecialArgs = { inherit inputs outputs; };
useGlobalPkgs = true;
@@ -155,11 +150,6 @@
users.jerpo = import ../home-manager/home.nix;
};
- qt = {
- platformTheme = "gtk";
- style = "gtk";
- };
-
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "23.05";
}
diff --git a/nixos/hardware-configuration.nix b/nixos/laptop/hardware-configuration.nix
index d829fdb..e3e8a01 100644
--- a/nixos/hardware-configuration.nix
+++ b/nixos/laptop/hardware-configuration.nix
@@ -36,12 +36,12 @@
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+
hardware.bluetooth = {
enable = true;
- powerOnBoot = true;
};
+
hardware.opengl = {
enable = true;
driSupport = true;
diff --git a/nixos/pc/configuration.nix b/nixos/pc/configuration.nix
new file mode 100644
index 0000000..ef63c66
--- /dev/null
+++ b/nixos/pc/configuration.nix
@@ -0,0 +1,40 @@
+{ inputs, outputs, lib, config, pkgs, ... }: {
+ imports = [
+ ../general.nix
+ inputs.home-manager.nixosModules.home-manager
+ ];
+
+ time.timeZone = "Europe/Yekaterinburg";
+ networking.hostName = "ltrr";
+
+ services.xserver = {
+ enable = true;
+ displayManager.sddm.enable = true;
+
+ # wm
+ windowManager.bspwm.enable = true;
+
+ # Layout
+ layout = "us,ru";
+ xkbOptions = "grp:win_space_toggle";
+ };
+
+ # Printing
+ services = {
+ printing.enable = true;
+ printing.drivers = [ pkgs.hplipWithPlugin ];
+ avahi = {
+ enable = true;
+ nssmdns = true;
+ openFirewall = true;
+ };
+ };
+
+ home-manager = {
+ extraSpecialArgs = { inherit inputs outputs; };
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ users.jerpo = import ../home-manager/pc;
+ };
+
+}
diff --git a/nixos/pc/configuration.nix~ b/nixos/pc/configuration.nix~
new file mode 100644
index 0000000..b6fa0a7
--- /dev/null
+++ b/nixos/pc/configuration.nix~
@@ -0,0 +1,12 @@
+{ inputs, outputs, lib, config, pkgs, ... }: {
+ imports = [
+ ../general.nix
+ inputs.home-manager.nixosModules.home-manager
+ ];
+
+ time.timeZone = "Europe/Yekaterinburg";
+
+ services.xserver = {
+ enable = true;
+ };
+}