This commit is contained in:
coast 2025-06-30 09:18:02 +03:30
parent ff0121d288
commit ee1cf42e44
4 changed files with 259 additions and 81 deletions

View file

@ -1,59 +1,31 @@
(defvar elpaca-installer-version 0.11) ;; coasteen's Emacs full init.el :3
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
(defvar elpaca-order ;; ---------------------------
'(elpaca ;; PACKAGE & USE-PACKAGE SETUP
:repo "https://github.com/progfolio/elpaca.git" ;; ---------------------------
:ref nil (require 'package)
:depth 1 (setq package-archives
:inherit ignore '(("melpa" . "https://melpa.org/packages/")
:files (:defaults "elpaca-test.el" (:exclude "extensions")) ("gnu" . "https://elpa.gnu.org/packages/")))
:build (:not elpaca--activate-package))) (package-initialize)
(unless package-archive-contents
(package-refresh-contents))
(let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (unless (package-installed-p 'use-package)
(build (expand-file-name "elpaca/" elpaca-builds-directory)) (package-install 'use-package))
(order (cdr elpaca-order)) (require 'use-package)
(default-directory repo))
(add-to-list 'load-path (if (file-exists-p build) build repo))
(unless (file-exists-p repo)
(make-directory repo t)
(when (<= emacs-major-version 28)
(require 'subr-x))
(condition-case-unless-debug err
(if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*"))
((zerop (apply #'call-process
"git" nil buffer t
"clone"
,@(when-let ((depth (plist-get order :depth)))
(list (format "--depth=%d" depth) "--no-single-branch"))
(plist-get order :repo)
repo)))
((zerop (call-process "git" nil buffer t "checkout" (or (plist-get order :ref) "--"))))
(emacs (concat invocation-directory invocation-name))
((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch"
"--eval" "(byte-recompile-directory \".\" 0 'force)")))
((require 'elpaca))
((elpaca-generate-autoloads "elpaca" repo)))
(progn (message "%s" (buffer-string)) (kill-buffer buffer))
(error "%s" (with-current-buffer buffer (buffer-string))))
((error)
(warn "%s" err)
(delete-directory repo 'recursive)))))
(unless (require 'elpaca-autoloads nil t)
(require 'elpaca)
(elpaca-generate-autoloads "elpaca" (expand-file-name "elpaca/" elpaca-repos-directory))
(let ((load-source-file-function nil))
(load "./elpaca-autoloads")))
(add-hook 'after-init-hook #'elpaca-process-queues)
(elpaca elpaca-order)
(elpaca elpaca-use-package
(elpaca-use-package-mode))
(setq native-comp-async-report-warnings-errors 'silent)
(setq use-package-always-ensure t) (setq use-package-always-ensure t)
(setq native-comp-async-report-warnings-errors 'silent)
;; ---------------------------
;; APPEARANCE & THEMES
;; ---------------------------
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
(add-to-list 'default-frame-alist '(alpha . (95 . 95)))
(use-package doom-themes
:config
(load-theme 'doom-one t))
(set-frame-parameter (selected-frame) 'alpha '(90 . 90)) (set-frame-parameter (selected-frame) 'alpha '(90 . 90))
(add-to-list 'default-frame-alist '(alpha . (90 . 90))) (add-to-list 'default-frame-alist '(alpha . (90 . 90)))
@ -62,47 +34,78 @@
(tool-bar-mode -1) (tool-bar-mode -1)
(scroll-bar-mode -1) (scroll-bar-mode -1)
(use-package doom-themes
:config (load-theme 'doom-one t))
(use-package rainbow-mode (use-package rainbow-mode
:hook (prog-mode . rainbow-mode)) :hook (prog-mode . rainbow-mode))
(global-display-line-numbers-mode t) (global-display-line-numbers-mode t)
(setq ring-bell-function 'ignore) (setq ring-bell-function 'ignore)
;; ---------------------------
;; UI & INTERFACE
;; ---------------------------
(setq inhibit-startup-message t (setq inhibit-startup-message t
inhibit-startup-echo-area-message t) inhibit-startup-echo-area-message t)
(use-package all-the-icons :if (display-graphic-p)) (use-package all-the-icons
(use-package powerline :config (powerline-default-theme)) :if (display-graphic-p))
(use-package elcord :config (elcord-mode))
(use-package powerline
:ensure t
:config
(powerline-default-theme))
(use-package elcord
:config (elcord-mode))
(use-package minimap) (use-package minimap)
(use-package neotree :bind ([f9] . neotree-toggle))
(use-package vertico :init (vertico-mode)) (use-package neotree
(use-package marginalia :hook (vertico-mode . marginalia-mode)) :bind ([f9] . neotree-toggle))
(use-package vertico
:init (vertico-mode))
(use-package marginalia
:after vertico
:hook (vertico-mode . marginalia-mode))
(use-package consult (use-package consult
:bind (("C-s" . consult-line) :bind (("C-s" . consult-line)
("C-x b" . consult-buffer))) ("C-x b" . consult-buffer)))
(use-package which-key :config (which-key-mode))
(use-package swiper) (use-package which-key
:config (which-key-mode))
;; ---------------------------
;; EDITOR BEHAVIOR
;; ---------------------------
(global-set-key (kbd "C-s") 'swiper) (global-set-key (kbd "C-s") 'swiper)
(global-set-key (kbd "C-r") 'swiper-backward) (global-set-key (kbd "C-r") 'swiper-backward)
(use-package company :hook (prog-mode . company-mode)) (use-package swiper)
(use-package yasnippet :hook (prog-mode . yas-minor-mode))
(use-package flycheck :hook (prog-mode . flycheck-mode)) (use-package company
:hook (prog-mode . company-mode))
(use-package yasnippet
:hook (prog-mode . yas-minor-mode))
(use-package flycheck
:hook (prog-mode . flycheck-mode))
(use-package lsp-mode (use-package lsp-mode
:init (setq lsp-keymap-prefix "C-c l") :commands lsp
:init
(setq lsp-keymap-prefix "C-c l")
:hook ((java-mode . lsp) :hook ((java-mode . lsp)
(c-mode . lsp) (c-mode . lsp)
(sh-mode . lsp))) (sh-mode . lsp)))
(use-package lsp-ui :commands lsp-ui-mode) (use-package lsp-ui
:commands lsp-ui-mode)
(use-package vterm :bind (("C-c t" . ansi-term))) (use-package vterm
:bind (("C-c t" . ansi-term)))
(use-package web-mode (use-package web-mode
:mode "\\.html?\\'" :mode "\\.html?\\'"
@ -113,19 +116,39 @@
(use-package emmet-mode (use-package emmet-mode
:hook ((web-mode html-mode css-mode) . emmet-mode) :hook ((web-mode html-mode css-mode) . emmet-mode)
:config (setq emmet-expand-jsx-className? t)) :config
(setq emmet-expand-jsx-className? t))
(electric-pair-mode 1) (electric-pair-mode 1)
(setq electric-pair-pairs
'((?\" . ?\") (?\{ . ?\}) (?\( . ?\)) (?\[ . ?\]) (?\< . ?\>))) (setq electric-pair-pairs '(
(?\" . ?\")
(?\{ . ?\})
(?\( . ?\))
(?\[ . ?\])
(?\< . ?\>)
))
(setq electric-pair-text-pairs electric-pair-pairs) (setq electric-pair-text-pairs electric-pair-pairs)
(use-package nix-mode :mode "\\.nix\\'") ;; ---------------------------
(use-package fennel-mode :mode "\\.fnl\\'") ;; LANGUAGE SUPPORT
(use-package macrostep :hook (fennel-mode . macrostep-mode)) ;; ---------------------------
(use-package nix-mode
:mode "\\.nix\\'")
(use-package fennel-mode
:mode "\\.fnl\\'")
(use-package macrostep
:hook (fennel-mode . macrostep-mode))
(use-package zig-mode (use-package zig-mode
:ensure t
:mode "\\.zig\\'" :mode "\\.zig\\'"
:hook ((zig-mode . lsp-deferred))) :hook ((zig-moed . lsp-deferred))) ;; if lsp is used :3
(use-package cc-mode)
(use-package lsp-java (use-package lsp-java
:after lsp :after lsp
@ -133,9 +156,23 @@
(require 'lsp-java-boot) (require 'lsp-java-boot)
(add-hook 'java-mode-hook #'lsp)) (add-hook 'java-mode-hook #'lsp))
(use-package sh-script)
;; more bs
(custom-set-variables (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.
'(custom-safe-themes '(custom-safe-themes
'("0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1" '("0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1"
default))) default))
'(package-selected-packages nil))
(custom-set-faces) (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.
)

View file

@ -34,8 +34,8 @@ monitor=,preferred,auto,1
# See https://wiki.hyprland.org/Configuring/Keywords/ # See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use # Set programs that you use
$terminal = st $terminal = kitty
$fileManager = st -e ranger $fileManager = kitty -e ranger
$menu = rofi -show run $menu = rofi -show run
$screenie = screenie $screenie = screenie

View file

@ -1,5 +1,10 @@
font=Monospace 10 font=Monospace 10
[urgency=low]
background-color=#121218
text-color=#e0e0e0
border-color=#646496
[urgency=normal] [urgency=normal]
background-color=#121218 background-color=#121218
text-color=#e0e0e0 text-color=#e0e0e0

136
config/starship.toml Normal file
View file

@ -0,0 +1,136 @@
add_newline = false
format = """
[](#30303E)\
$os\
$username\
[](bg:#f8d87a fg:#30303E)\
$directory\
[](fg:#f8d87a bg:#f8d87a)\
$git_branch\
$git_status\
[](fg:#f8d87a bg:#807fa0)\
$c\
$elixir\
$elm\
$golang\
$gradle\
$haskell\
$java\
$julia\
$nodejs\
$nim\
$rust\
$scala\
[](fg:#807fa0 bg:#30303E)\
$docker_context\
[](fg:#30303E bg:#807fa0)\
$time\
[ ](fg:#807fa0)\
"""
[username]
show_always = true
style_user = "bg:#30303E"
style_root = "bg:#30303E"
format = '[$user ]($style)'
disabled = false
[os]
style = "bg:#30303E"
disabled = true
[directory]
style = "bg:#f8d87a"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[c]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[cpp]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[docker_context]
symbol = " "
style = "bg:#1a1a27"
format = '[ $symbol $context ]($style)'
[elixir]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[elm]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[git_branch]
symbol = ""
style = "bg:#f8d87a"
format = '[ $symbol $branch ]($style)'
[git_status]
style = "bg:#f8d87a"
format = '[$all_status$ahead_behind ]($style)'
[golang]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[gradle]
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[haskell]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[java]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[julia]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[nodejs]
symbol = ""
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[nim]
symbol = "󰆥 "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[rust]
symbol = ""
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[scala]
symbol = " "
style = "bg:#807fa0"
format = '[ $symbol ($version) ]($style)'
[time]
disabled = false
time_format = "%R"
style = "bg:#807fa0"
format = '[ $time ]($style)'