Regenerated
This commit is contained in:
+304
-304
File diff suppressed because it is too large
Load Diff
@@ -1,92 +0,0 @@
|
||||
;;; package --- early init -*- lexical-binding: t -*-
|
||||
;;; Commentary:
|
||||
;;; Prevents white flash and better Emacs defaults
|
||||
;;; Code:
|
||||
(set-language-environment "UTF-8")
|
||||
(setq-default
|
||||
default-frame-alist
|
||||
'((background-color . "#1e1e2e")
|
||||
(bottom-divider-width . 1) ; Thin horizontal window divider
|
||||
(foreground-color . "#bac2de") ; Default foreground color
|
||||
(fullscreen . maximized) ; Maximize the window by default
|
||||
(horizontal-scroll-bars . nil) ; No horizontal scroll-bars
|
||||
(left-fringe . 8) ; Thin left fringe
|
||||
(menu-bar-lines . 0) ; No menu bar
|
||||
(right-divider-width . 1) ; Thin vertical window divider
|
||||
(right-fringe . 8) ; Thin right fringe
|
||||
(tool-bar-lines . 0) ; No tool bar
|
||||
(undecorated . t) ; Remove extraneous X decorations
|
||||
(vertical-scroll-bars . nil)) ; No vertical scroll-bars
|
||||
user-full-name "Henrov henrov" ; ME!
|
||||
;; memory configuration
|
||||
;; Higher garbage collection threshold, prevents frequent gc locks, reset later
|
||||
gc-cons-threshold most-positive-fixnum
|
||||
;; Ignore warnings for (obsolete) elisp compilations
|
||||
byte-compile-warnings '(not obsolete)
|
||||
;; And other log types completely
|
||||
warning-suppress-log-types '((comp) (bytecomp))
|
||||
;; Large files are okay in the new millenium.
|
||||
large-file-warning-threshold 100000000
|
||||
;; dont show garbage collection messages at startup, will reset later
|
||||
garbage-collection-messages nil
|
||||
;; native compilation
|
||||
package-native-compile t
|
||||
native-comp-warning-on-missing-source nil
|
||||
native-comp-async-report-warnings-errors 'silent
|
||||
;; Read more based on system pipe capacity
|
||||
read-process-output-max (max (* 10240 10240) read-process-output-max)
|
||||
;; scroll configuration
|
||||
scroll-margin 0 ; Lets scroll to the end of the margin
|
||||
scroll-conservatively 100000 ; Never recenter the window
|
||||
scroll-preserve-screen-position 1 ; Scrolling back and forth
|
||||
;; frame config
|
||||
;; Improve emacs startup time by not resizing to adjust for custom settings
|
||||
frame-inhibit-implied-resize t
|
||||
;; Dont resize based on character height / width but to exact pixels
|
||||
frame-resize-pixelwise t
|
||||
;; backups & files
|
||||
backup-directory-alist '(("." . "~/.backups/")) ; Don't clutter
|
||||
backup-by-copying t ; Don't clobber symlinks
|
||||
create-lockfiles nil ; Don't have temp files
|
||||
delete-old-versions t ; Cleanup automatically
|
||||
kept-new-versions 6 ; Update every few times
|
||||
kept-old-versions 2 ; And cleanup even more
|
||||
version-control t ; Version them backups
|
||||
delete-by-moving-to-trash t ; Dont delete, send to trash instead
|
||||
;; startup
|
||||
inhibit-startup-screen t ; I have already done the tutorial. Twice
|
||||
inhibit-startup-message t ; I know I am ready
|
||||
inhibit-startup-echo-area-message t ; Yep, still know it
|
||||
initial-scratch-message nil ; I know it is the scratch buffer!
|
||||
initial-buffer-choice nil
|
||||
inhibit-startup-buffer-menu t
|
||||
inhibit-x-resources t
|
||||
initial-major-mode 'fundamental-mode
|
||||
pgtk-wait-for-event-timeout 0.001 ; faster child frames
|
||||
ad-redefinition-action 'accept ; dont care about legacy things being redefined
|
||||
inhibit-compacting-font-caches t
|
||||
;; tabs
|
||||
tab-width 4 ; Always tab 4 spaces.
|
||||
indent-tabs-mode nil ; Never use actual tabs.
|
||||
;; rendering
|
||||
cursor-in-non-selected-windows nil ; dont render cursors other windows
|
||||
;; packages
|
||||
use-package-always-defer t
|
||||
load-prefer-newer t
|
||||
default-input-method nil
|
||||
use-dialog-box nil
|
||||
use-file-dialog nil
|
||||
use-package-expand-minimally t
|
||||
package-enable-at-startup nil
|
||||
use-package-enable-imenu-support t
|
||||
auto-mode-case-fold nil ; No second pass of case-insensitive search over auto-mode-alist.
|
||||
package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("gnu" . "https://elpa.gnu.org/packages/")
|
||||
("nongnu" . "https://elpa.nongnu.org/nongnu/")
|
||||
("melpa-stable" . "https://stable.melpa.org/packages/"))
|
||||
package-archive-priorities '(("gnu" . 99)
|
||||
("nongnu" . 80)
|
||||
("melpa" . 70)
|
||||
("melpa-stable" . 50))
|
||||
)
|
||||
;;; early-init.el ends here
|
||||
@@ -1,400 +0,0 @@
|
||||
;;; package --- Summary - My minimal Emacs init file -*- lexical-binding: t -*-
|
||||
|
||||
;;; Commentary:
|
||||
;;; Simple Emacs setup I carry everywhere
|
||||
|
||||
;;; Code:
|
||||
(setq custom-file (locate-user-emacs-file "custom.el"))
|
||||
(load custom-file 'noerror) ;; no error on missing custom file
|
||||
|
||||
(require 'package)
|
||||
(package-initialize)
|
||||
|
||||
(defun reset-custom-vars ()
|
||||
"Resets the custom variables that were set to crazy numbers"
|
||||
(setopt gc-cons-threshold (* 1024 1024 100))
|
||||
(setopt garbage-collection-messages t))
|
||||
|
||||
(use-package emacs
|
||||
:custom
|
||||
(native-comp-async-query-on-exit t)
|
||||
(read-answer-short t)
|
||||
(use-short-answers t)
|
||||
(enable-recursive-minibuffers t)
|
||||
(which-func-update-delay 1.0)
|
||||
(visible-bell nil)
|
||||
(custom-buffer-done-kill t)
|
||||
(whitespace-line-column nil)
|
||||
(x-underline-at-descent-line t)
|
||||
(imenu-auto-rescan t)
|
||||
(uniquify-buffer-name-style 'forward)
|
||||
(confirm-nonexistent-file-or-buffer nil)
|
||||
(create-lockfiles nil)
|
||||
(make-backup-files nil)
|
||||
(kill-do-not-save-duplicates t)
|
||||
(sentence-end-double-space nil)
|
||||
(treesit-enabled-modes t)
|
||||
:init
|
||||
;; base visual
|
||||
(menu-bar-mode -1) ;; no menu bar
|
||||
(toggle-scroll-bar -1) ;; no scroll bar
|
||||
(tool-bar-mode -1) ;; no tool bar either
|
||||
(blink-cursor-mode -1) ;; stop blinking
|
||||
|
||||
;; font of the century
|
||||
(set-frame-font "Aporetic Sans Mono 12" nil t)
|
||||
|
||||
:bind
|
||||
(("C-<wheel-up>" . pixel-scroll-precision) ; dont zoom in please, just scroll
|
||||
("C-<wheel-down>" . pixel-scroll-precision) ; dont zoom in either, just scroll
|
||||
("C-x k" . kill-current-buffer)) ; kill the buffer, dont ask
|
||||
:hook
|
||||
(text-mode . delete-trailing-whitespace-mode)
|
||||
(prog-mode . delete-trailing-whitespace-mode)
|
||||
(after-init . global-display-line-numbers-mode) ;; always show line numbers
|
||||
(after-init . column-number-mode) ;; column number in the mode line
|
||||
(after-init . size-indication-mode) ;; file size in the mode line
|
||||
(after-init . pixel-scroll-precision-mode) ;; smooth mouse scroll
|
||||
(after-init . electric-pair-mode) ;; i mean ... parens should auto create
|
||||
(after-init . reset-custom-vars)
|
||||
)
|
||||
|
||||
(use-package autorevert
|
||||
:ensure nil
|
||||
:custom
|
||||
(auto-revert-interval 3)
|
||||
(auto-revert-remote-files nil)
|
||||
(auto-revert-use-notify t)
|
||||
(auto-revert-avoid-polling nil)
|
||||
(auto-revert-verbose t)
|
||||
:hook
|
||||
(after-init . global-auto-revert-mode))
|
||||
|
||||
(use-package recentf
|
||||
:ensure nil
|
||||
:commands (recentf-mode recentf-cleanup)
|
||||
:hook
|
||||
(after-init . recentf-mode)
|
||||
:custom
|
||||
(recentf-auto-cleanup 'never)
|
||||
(recentf-exclude
|
||||
(list "\\.tar$" "\\.tbz2$" "\\.tbz$" "\\.tgz$" "\\.bz2$"
|
||||
"\\.bz$" "\\.gz$" "\\.gzip$" "\\.xz$" "\\.zip$"
|
||||
"\\.7z$" "\\.rar$"
|
||||
"COMMIT_EDITMSG\\'"
|
||||
"\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\|bmp\\|xpm\\)$"
|
||||
"-autoloads\\.el$" "autoload\\.el$"))
|
||||
|
||||
:config
|
||||
;; A cleanup depth of -90 ensures that `recentf-cleanup' runs before
|
||||
;; `recentf-save-list', allowing stale entries to be removed before the list
|
||||
;; is saved by `recentf-save-list', which is automatically added to
|
||||
;; `kill-emacs-hook' by `recentf-mode'.
|
||||
(add-hook 'kill-emacs-hook #'recentf-cleanup -90))
|
||||
|
||||
(use-package savehist
|
||||
:ensure nil
|
||||
:commands (savehist-mode savehist-save)
|
||||
:hook
|
||||
(after-init . savehist-mode)
|
||||
:custom
|
||||
(savehist-autosave-interval 600)
|
||||
(savehist-additional-variables
|
||||
'(kill-ring ; clipboard
|
||||
register-alist ; macros
|
||||
mark-ring global-mark-ring ; marks
|
||||
search-ring regexp-search-ring)))
|
||||
|
||||
(use-package hl-line
|
||||
:ensure nil
|
||||
:custom
|
||||
(hl-line-sticky-flag nil)
|
||||
(global-hl-line-sticky-flag nil)
|
||||
:hook
|
||||
(after-init . global-hl-line-mode))
|
||||
|
||||
(use-package saveplace
|
||||
:ensure nil
|
||||
:commands (save-place-mode save-place-local-mode)
|
||||
:hook
|
||||
(after-init . save-place-mode)
|
||||
:custom
|
||||
(save-place-limit 400))
|
||||
|
||||
(use-package nerd-icons
|
||||
:custom
|
||||
;; disable bright icon colors
|
||||
(nerd-icons-color-icons nil))hells.nix
|
||||
|
||||
(use-package doom-modeline
|
||||
:custom
|
||||
(inhibit-compacting-font-caches t) ;; speed
|
||||
(doom-modeline-buffer-file-name-style 'relative-from-project)
|
||||
(doom-modeline-major-mode-icon nil) ;; distracting icons, no thank you
|
||||
(doom-modeline-buffer-encoding nil) ;; everything is utf-8 anyway
|
||||
(doom-modeline-buffer-state-icon nil) ;; the filename already shows me
|
||||
(doom-modeline-lsp nil) ;; lsp state is too distracting, too often
|
||||
:hook (after-init . doom-modeline-mode))
|
||||
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
|
||||
(use-package diminish :demand t) ;; declutter the modeline
|
||||
(use-package eldoc
|
||||
:diminish eldoc-mode
|
||||
:custom
|
||||
(eldoc-echo-area-use-multiline-p nil)) ;; docs for everything
|
||||
|
||||
(use-package eldoc-box
|
||||
:defer t
|
||||
:config
|
||||
(set-face-background 'eldoc-box-border (catppuccin-color 'green))
|
||||
(set-face-background 'eldoc-box-body (catppuccin-color 'base))
|
||||
:bind
|
||||
(("M-h" . eldoc-box-help-at-point)))
|
||||
|
||||
(use-package pulsar
|
||||
:commands pulsar-global-mode pulsar-recenter-top pulsar-reveal-entry
|
||||
:init
|
||||
(defface pulsar-catppuccin
|
||||
`((default :extend t)
|
||||
(((class color) (min-colors 88) (background light))
|
||||
:background ,(catppuccin-color 'sapphire))
|
||||
(((class color) (min-colors 88) (background dark))
|
||||
:background ,(catppuccin-color 'sapphire))
|
||||
(t :inverse-video t))
|
||||
"Alternative nord face for `pulsar-face'."
|
||||
:group 'pulsar-faces)
|
||||
:custom
|
||||
(pulsar-face 'pulsar-catppuccin)
|
||||
:hook
|
||||
(after-init . pulsar-global-mode))
|
||||
|
||||
(use-package which-key
|
||||
:commands which-key-mode
|
||||
:diminish which-key-mode
|
||||
:hook
|
||||
(after-init . which-key-mode))
|
||||
|
||||
(use-package expreg
|
||||
:bind ("M-m" . expreg-expand))
|
||||
|
||||
(use-package vundo) ;; undo tree
|
||||
|
||||
;; better structured editing
|
||||
(use-package puni
|
||||
:commands puni-global-mode
|
||||
:hook
|
||||
(after-init . puni-global-mode))
|
||||
|
||||
(use-package avy
|
||||
:bind
|
||||
("M-i" . avy-goto-char-2)
|
||||
:custom
|
||||
(avy-background t))
|
||||
|
||||
(use-package consult
|
||||
:bind
|
||||
("C-x b" . consult-buffer) ;; orig. switch-to-buffer
|
||||
("M-y" . consult-yank-pop) ;; orig. yank-pop
|
||||
("M-g M-g" . consult-goto-line) ;; orig. goto-line
|
||||
("M-g i" . consult-imenu) ;; consult version is interactive
|
||||
("M-g r" . consult-ripgrep) ;; find in project also works
|
||||
:custom
|
||||
(consult-narrow-key "<"))
|
||||
|
||||
(use-package vertico
|
||||
:commands vertico-mode
|
||||
:custom
|
||||
(read-file-name-completion-ignore-case t)
|
||||
(read-buffer-completion-ignore-case t)
|
||||
(completion-ignore-case t)
|
||||
(enable-recursive-minibuffers t)
|
||||
(minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt))
|
||||
:init
|
||||
(vertico-mode)
|
||||
:hook
|
||||
(minibuffer-setup-hook . cursor-intangible-mode))
|
||||
|
||||
(use-package marginalia
|
||||
:commands marginalia-mode
|
||||
:hook (after-init . marginalia-mode))
|
||||
|
||||
(use-package crux
|
||||
:bind
|
||||
("C-c M-e" . crux-find-user-init-file)
|
||||
("C-c C-w" . crux-transpose-windows)
|
||||
("C-c M-d" . crux-find-current-directory-dir-locals-file)
|
||||
("C-a" . crux-move-beginning-of-line))
|
||||
|
||||
(use-package magit
|
||||
:bind (("C-M-g" . magit-status)))
|
||||
|
||||
(use-package nerd-icons-corfu
|
||||
:commands nerd-icons-corfu-formatter
|
||||
:defines corfu-margin-formatters)
|
||||
|
||||
(use-package corfu
|
||||
:commands global-corfu-mode
|
||||
:custom
|
||||
(corfu-cycle t)
|
||||
(corfu-auto t)
|
||||
(corfu-auto-delay 1)
|
||||
(corfu-auto-prefix 3)
|
||||
(corfu-separator ?_)
|
||||
:hook
|
||||
(after-init . global-corfu-mode)
|
||||
:config
|
||||
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||
|
||||
(use-package cape)
|
||||
|
||||
(use-package orderless
|
||||
:custom
|
||||
(completion-styles '(orderless partial-completion basic))
|
||||
(completion-category-defaults nil)
|
||||
(completion-category-overrides nil))
|
||||
|
||||
(use-package yasnippet
|
||||
:commands yas-global-mode
|
||||
:diminish yas-minor-mode
|
||||
:hook
|
||||
(after-init . yas-global-mode))
|
||||
|
||||
(use-package yasnippet-snippets :after yasnippet)
|
||||
|
||||
(use-package exec-path-from-shell
|
||||
:commands exec-path-from-shell-initialize
|
||||
:custom
|
||||
(exec-path-from-shell-arguments nil)
|
||||
:hook
|
||||
(after-init . exec-path-from-shell-initialize))
|
||||
|
||||
(use-package nixpkgs-fmt
|
||||
:custom
|
||||
(nixpkgs-fmt-command "nixfmt"))
|
||||
|
||||
(use-package eat
|
||||
:bind
|
||||
(("C-c e p" . eat-project)
|
||||
("C-c e t" . eat)))
|
||||
|
||||
(use-package f :demand t)
|
||||
|
||||
(use-package envrc
|
||||
:commands envrc-global-mode
|
||||
:hook
|
||||
(after-init . envrc-global-mode))
|
||||
|
||||
(use-package gptel
|
||||
:commands gptel-make-anthropic f-read-text
|
||||
:config
|
||||
(gptel-make-anthropic "Claude"
|
||||
:stream t :key (f-read-text "/run/secrets/claude_key")))
|
||||
|
||||
(use-package sideline-flymake)
|
||||
(use-package sideline-eglot)
|
||||
(use-package sideline
|
||||
:custom
|
||||
(sideline-backends-right '(sideline-flymake sideline-eglot))
|
||||
:hook
|
||||
(eglot-managed-mode . sideline-mode)
|
||||
(flymake-mode . sideline-mode))
|
||||
|
||||
(use-package eglot
|
||||
:custom
|
||||
(eglot-extend-to-xref t)
|
||||
(eglot-ignored-server-capabilities '(:inlayHintProvider))
|
||||
(jsonrpc-event-hook nil)
|
||||
:hook
|
||||
(eglot-managed-mode . eldoc-box-hover-mode)
|
||||
(before-save . eldoc-format-buffer)
|
||||
:bind
|
||||
(:map eglot-mode-map
|
||||
("C-c l a" . eglot-code-actions)
|
||||
("C-c l r" . eglot-rename)
|
||||
("C-c l h" . eldoc)
|
||||
("C-c l g" . xref-find-references)
|
||||
("C-c l w" . eglot-reconnect)))
|
||||
|
||||
(use-package proced
|
||||
:custom
|
||||
(proced-auto-update-flag t)
|
||||
(proced-auto-update-interval 3)
|
||||
(proced-enable-color-flag t)
|
||||
(proced-show-remote-processes t))
|
||||
|
||||
(use-package org
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (org-mode org-capture org-agenda)
|
||||
:init
|
||||
(defvar org-journal-file "~/nextcloud/org/journal.org")
|
||||
(defvar org-archive-file "~/nextcloud/org/archive.org")
|
||||
(defvar org-notes-file "~/nextcloud/org/notes.org")
|
||||
(defvar org-inbox-file "~/nextcloud/org/inbox.org")
|
||||
(defvar org-work-file "~/nextcloud/org/work.org")
|
||||
(defun my/org-capture-project-target-heading ()
|
||||
"Determine Org target headings from the current file's project path.
|
||||
|
||||
This function assumes a directory structure like '~/projects/COMPANY/PROJECT/'.
|
||||
It extracts 'COMPANY' and 'PROJECT' to use as nested headlines
|
||||
for an Org capture template.
|
||||
|
||||
If the current buffer is not visi
|
||||
ting a file within such a
|
||||
project structure, it returns nil, causing capture to default to
|
||||
the top of the file."
|
||||
(when-let* ((path (buffer-file-name))) ; Ensure we are in a file-visiting buffer
|
||||
(let ((path-parts (split-string path "/" t " ")))
|
||||
(when-let* ((projects-pos (cl-position "projects" path-parts :test #'string=))
|
||||
(company (nth (+ 1 projects-pos) path-parts))
|
||||
(project (nth (+ 2 projects-pos) path-parts)))
|
||||
;; Return a list of headlines for Org to find or create.
|
||||
(list company project)))))
|
||||
:bind
|
||||
(("C-c c" . org-capture)
|
||||
("C-c i" . org-store-link)
|
||||
("C-c a" . org-agenda)
|
||||
:map org-mode-map
|
||||
("C-c t" . org-toggle-inline-images)
|
||||
("C-c l" . org-toggle-link-display))
|
||||
:custom
|
||||
(org-agenda-files (list org-inbox-file org-journal-file))
|
||||
(org-directory "~/nextcloud/org")
|
||||
(org-default-notes-file org-inbox-file)
|
||||
(org-archive-location (concat org-archive-file "::* From %s"))
|
||||
(org-log-done 'time)
|
||||
(org-log-into-drawer t)
|
||||
(org-hide-emphasis-markers t)
|
||||
(org-src-fontify-natively t)
|
||||
(org-src-tab-acts-natively t)
|
||||
(org-capture-templates '(("t" "Todo" entry (file org-inbox-file)
|
||||
"* TODO %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n)")
|
||||
("j" "Journal" entry (file+olp+datetree org-journal-file)
|
||||
"* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n")
|
||||
("n" "Note" entry (file org-notes-file)
|
||||
"* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n")
|
||||
("p" "Project Task" item
|
||||
(file+function org-work-file my/org-capture-project-target-heading)
|
||||
"* TODO %? \n CLOCK: %U"
|
||||
))
|
||||
)
|
||||
:config
|
||||
;; Enable syntax highlighting in code blocks
|
||||
(add-hook 'org-mode-hook 'turn-on-font-lock)
|
||||
(add-hook 'org-mode-hook 'org-indent-mode))
|
||||
|
||||
;; extras
|
||||
(use-package comp-run
|
||||
:ensure nil
|
||||
:config
|
||||
(push "tramp-loaddefs.el.gz" native-comp-jit-compilation-deny-list)
|
||||
(push "cl-loaddefs.el.gz" native-comp-jit-compilation-deny-list))
|
||||
|
||||
(use-package rustic
|
||||
:custom
|
||||
(rustic-lsp-client 'eglot))
|
||||
|
||||
(provide 'init)
|
||||
|
||||
;;; init.el ends here
|
||||
@@ -1,127 +0,0 @@
|
||||
:root {
|
||||
--base: #1e1e2e;
|
||||
--mantle: #181825;
|
||||
--crust: #11111b;
|
||||
--text: #cdd6f4;
|
||||
--subtext1: #bac2de;
|
||||
--subtext0: #a6adc8;
|
||||
--overlay2: #9399b2;
|
||||
--overlay1: #7f849c;
|
||||
--overlay0: #6c7086;
|
||||
--surface2: #585b70;
|
||||
--surface1: #45475a;
|
||||
--surface0: #313244;
|
||||
--lavender: #b4befe;
|
||||
--blue: #89b4fa;
|
||||
--sapphire: #74c7ec;
|
||||
--teal: #94e2d5;
|
||||
--green: #a6e3a1;
|
||||
--yellow: #f9e2af;
|
||||
--peach: #fab387;
|
||||
--maroon: #eba0ac;
|
||||
--red: #f38ba8;
|
||||
--mauve: #cba6f7;
|
||||
--pink: #f5c2e7;
|
||||
--flamingo: #f2cdcd;
|
||||
--rosewater: #f5e0dc;
|
||||
}
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
color: var(--text);
|
||||
font-family:
|
||||
FiraCode Nerd Font,
|
||||
monospace;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
window {
|
||||
border: 1px solid var(--surface0);
|
||||
background-color: #1e1e2ee6;
|
||||
border-radius: 8px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: 0 2px 10px #0003;
|
||||
}
|
||||
|
||||
box {
|
||||
spacing: 8px;
|
||||
background-color: #0000;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
label {
|
||||
color: var(--text);
|
||||
padding: 2px 6px;
|
||||
}
|
||||
|
||||
button {
|
||||
color: var(--text);
|
||||
background-color: var(--surface1);
|
||||
border-radius: 4px;
|
||||
padding: 2px 8px;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: var(--surface2);
|
||||
color: var(--lavender);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: var(--blue);
|
||||
color: var(--crust);
|
||||
}
|
||||
|
||||
.workspace {
|
||||
color: var(--subtext1);
|
||||
background-color: #0000;
|
||||
border-radius: 4px;
|
||||
margin: 0 2px;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
||||
.workspace.active {
|
||||
background-color: var(--blue);
|
||||
color: var(--base);
|
||||
}
|
||||
|
||||
.workspace.urgent {
|
||||
background-color: var(--red);
|
||||
color: var(--crust);
|
||||
}
|
||||
|
||||
.workspace.focused {
|
||||
background-color: var(--lavender);
|
||||
color: var(--base);
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: var(--peach);
|
||||
background-color: #0000;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#ram,
|
||||
#temp {
|
||||
color: var(--green);
|
||||
background-color: #0000;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
||||
#volume {
|
||||
color: var(--mauve);
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: var(--green);
|
||||
}
|
||||
|
||||
#battery.discharging {
|
||||
color: var(--yellow);
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: var(--red);
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
;; Main bar widget
|
||||
(defwidget bar []
|
||||
(box :class "bar" :orientation "h" :space-evenly false :font "FiraCode Nerd Font 10"
|
||||
;; Left: Workspaces (Hyprland)
|
||||
(box :class "workspaces" :orientation "h"
|
||||
(label :class "workspace" :id "workspace_1" :text "1")
|
||||
(label :class "workspace" :id "workspace_2" :text "2")
|
||||
(label :class "workspace" :id "workspace_3" :text "3")
|
||||
(label :class "workspace" :id "workspace_4" :text "4")
|
||||
(label :class "workspace" :id "workspace_5" :text "5")
|
||||
)
|
||||
|
||||
;; Center: Empty (placeholder for alignment)
|
||||
(box :halign "center" :hexpand true)
|
||||
|
||||
;; Right: System modules
|
||||
(box :class "right-items" :orientation "h" :spacing 8
|
||||
;; Idle inhibitor
|
||||
(button :class "idle-inhibitor" :onclick "eww update idle_inhibitor_icon='\uF472'; notify-send 'Idle inhibitor' 'Activated'"
|
||||
:label (label :id "idle_inhibitor_icon" :text "\uF472"))
|
||||
|
||||
;; PulseAudio
|
||||
(button :class "pulseaudio" :onclick "pavucontrol"
|
||||
:label (label :id "pulseaudio_label" :text "\uF028 100%"))
|
||||
|
||||
;; Network
|
||||
(button :class "network" :onclick "impala" :onclick-right "nm-connection-editor"
|
||||
:label (label :id "network_label" :text "Disconnected !"))
|
||||
|
||||
;; Battery
|
||||
(button :class "battery" :label (label :id "battery_label" :text "100% \uF0E4"))
|
||||
|
||||
;; Tray placeholder (requires external tray like waybar-tray)
|
||||
(box :class "tray" :orientation "h" :spacing 4
|
||||
(label :text "Tray"))
|
||||
|
||||
;; Clock
|
||||
(button :class "clock" :onclick "flatpak run eu.betterbird.Betterbird -calendar"
|
||||
:label (label :id "clock_label" :text "Mon, 01 Jan 2024 - 12:00"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; Window definition
|
||||
(defwindow bar-window
|
||||
:geometry (geometry :x 0 :y 0 :width 1920 :height 34 :anchor "top left")
|
||||
:layer "top"
|
||||
:exclusivity "ignore"
|
||||
(bar)
|
||||
)
|
||||
|
||||
;; Scripts to update dynamic content
|
||||
(defpoll [1000] ;; Update every second
|
||||
;; Update PulseAudio volume
|
||||
(setq pulseaudio-volume (exec "pamixer --get-volume"))
|
||||
(setq pulseaudio-muted (exec "pamixer --get-mute"))
|
||||
(if (string= pulseaudio-muted "true")
|
||||
(eww update pulseaudio_label="\uF026")
|
||||
(eww update pulseaudio_label=(strfmt "{}% {}" pulseaudio-volume (if (> (string->number pulseaudio-volume) 50) "\uF028" "\uF027"))
|
||||
)
|
||||
|
||||
;; Update network status
|
||||
(setq network-essid (exec "nmcli -t -f TYPE,NAME dev status | awk -F: '/wifi/{print $2}'"))
|
||||
(if (string-empty? network-essid)
|
||||
(eww update network_label="Disconnected !")
|
||||
(eww update network_label=(strfmt "\uF1EB ({})" network-essid))
|
||||
)
|
||||
|
||||
;; Update clock
|
||||
(eww update clock_label=(strftime "%a, %d %b %Y - %H:%M"))
|
||||
|
||||
;; Update battery status
|
||||
(setq battery-capacity (exec "cat /sys/class/power_supply/BAT0/capacity"))
|
||||
(setq battery-status (exec "cat /sys/class/power_supply/BAT0/status"))
|
||||
(if (string= battery-status "Charging")
|
||||
(eww update battery_label=(strfmt "{}% \uF0E4" battery-capacity))
|
||||
(eww update battery_label=(strfmt "{}% \uF079" battery-capacity))
|
||||
)
|
||||
)
|
||||
@@ -1,3 +0,0 @@
|
||||
com.github.tchx84.Flatseal
|
||||
eu.betterbird.Betterbird
|
||||
com.todoist.Todoist
|
||||
@@ -1,32 +0,0 @@
|
||||
# Default tuigreet greeter configuration
|
||||
# Place this in ./assets/system/conf/greeter.toml
|
||||
|
||||
[general]
|
||||
# Show time at the top
|
||||
show_time = true
|
||||
time_format = "%I:%M %p | %a • %h | %F"
|
||||
|
||||
# Remember last logged-in user
|
||||
remember_user = true
|
||||
|
||||
# Welcome message
|
||||
welcome_message = "Welcome to Droidnix!"
|
||||
|
||||
[prompt]
|
||||
# Symbol for input prompt
|
||||
symbol = "➜"
|
||||
# Colors
|
||||
user_color = "green"
|
||||
password_color = "yellow"
|
||||
prompt_color = "cyan"
|
||||
|
||||
[session]
|
||||
# Default session to launch after login
|
||||
# Must match a valid NixOS session binary
|
||||
command = "Hyprland"
|
||||
|
||||
# Optional: extra command-line args for the session
|
||||
args = []
|
||||
|
||||
# Optional: background image (can be a full path)
|
||||
#background = "/path/to/background.png"
|
||||
@@ -1,12 +0,0 @@
|
||||
# ./assets/conf/desktop/hypr/animations.conf
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Keyboard and mouse settings
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_options = ctrl:nocaps
|
||||
sensitivity = -0.5
|
||||
accel_profile = adaptive
|
||||
scroll_factor = 0.5
|
||||
}
|
||||
|
||||
# Scrolling modifier settings
|
||||
input {
|
||||
scroll_main_mod = alt
|
||||
scroll_main_mod_invert = no
|
||||
scroll_per_border = yes
|
||||
}
|
||||
|
||||
# Touchpad settings (applies to all touchpads)
|
||||
input:touchpad:* {
|
||||
natural_scroll = yes
|
||||
scroll_factor = 0.5
|
||||
}
|
||||
|
||||
# Focus settings
|
||||
focus {
|
||||
follow_mouse = yes
|
||||
new_windows = smart
|
||||
}
|
||||
|
||||
# Miscellaneous settings
|
||||
misc {
|
||||
resize_step = 10 10
|
||||
anim_resize_friction = 0.1
|
||||
}
|
||||
@@ -1,154 +0,0 @@
|
||||
$mainMod = SUPER
|
||||
|
||||
# use walker to show exec menu
|
||||
# bind = $mainMod, Space , exec, walker
|
||||
# bind = $mainMod, P, pseudo
|
||||
# bind = $mainMod, T, togglesplit
|
||||
|
||||
# grimblast
|
||||
# bind = $mainMod SHIFT, P, exec, grimblast -n -f copysave active
|
||||
# bind = $mainMod SHIFT, A, exec, grimblast -n -f copysave area
|
||||
# bind = $mainMod ALT, P, exec, grimblast -n -f copysave output
|
||||
# bind = $mainMod CTRL, P, exec, grimblast -n -f copysave screen
|
||||
|
||||
# Terminal / launcher / kill / reload
|
||||
bind = $mainMod, E, exec, thunar
|
||||
bind = $mainMod, RETURN, exec, kitty
|
||||
bind = $mainMod, Space, exec, wofi --show drun
|
||||
bind = ALT, Space, exec, wofi --show drun
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod SHIFT, Q, exit,
|
||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||
|
||||
# Switch windows
|
||||
bind = ALT, TAB, cyclenext,
|
||||
# bind = ALT SHIFT, TAB, cyclenext prev
|
||||
|
||||
# switch layouts
|
||||
|
||||
|
||||
# Hyprscrolling
|
||||
bind = $mainMod, period, layoutmsg, move +col
|
||||
bind = $mainMod, comma, layoutmsg, swapcol l
|
||||
# Make / break a tab-group (stack)
|
||||
bind = $mainMod, S, togglegroup
|
||||
# Cycle tabs in the group
|
||||
bind = $mainMod, L, changegroupactive, f
|
||||
bind = $mainMod, H, changegroupactive, b
|
||||
bind = $mainMod, T, exec, ~/.config/hypr/scripts/layout-selector.sh
|
||||
|
||||
# Focus movement
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Move windows
|
||||
bind = $mainMod SHIFT, H, movewindow, l
|
||||
bind = $mainMod SHIFT, L, movewindow, r
|
||||
bind = $mainMod SHIFT, K, movewindow, u
|
||||
bind = $mainMod SHIFT, J, movewindow, d
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
||||
|
||||
# Resize windows
|
||||
bind = $mainMod CTRL, H, resizeactive, -30 0
|
||||
bind = $mainMod CTRL, L, resizeactive, 30 0
|
||||
bind = $mainMod CTRL, K, resizeactive, 0 -30
|
||||
bind = $mainMod CTRL, J, resizeactive, 0 30
|
||||
|
||||
# Floating / fullscreen
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, F, fullscreen, 0
|
||||
bind = $mainMod SHIFT, F, fullscreen, 1
|
||||
|
||||
# Workspaces
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Cycle workspaces
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Mouse drag
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
#########################
|
||||
# Screenshots
|
||||
#########################
|
||||
bind = $mainMod SHIFT, s, exec, grim -g "$(slurp)" - | wl-copy
|
||||
bind = , XF86Screenshot, exec, grim - | wl-copy
|
||||
|
||||
#########################
|
||||
# Audio (pamixer)
|
||||
#########################
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioMicMute, exec, pamixer --default-source -t
|
||||
|
||||
#########################
|
||||
# Media (playerctl)
|
||||
#########################
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
bind = , XF86AudioStop, exec, playerctl stop
|
||||
|
||||
#########################
|
||||
# Brightness (brightnessctl)
|
||||
#########################
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set +10%
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
|
||||
bind = , XF86KbdBrightnessUp, exec, brightnessctl -d '*kbd_backlight*' set +10%
|
||||
bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%-
|
||||
|
||||
#########################
|
||||
# Power / session
|
||||
#########################
|
||||
bind = , XF86Sleep, exec, systemctl suspend
|
||||
bind = , XF86PowerOff, exec, systemctl poweroff
|
||||
bind = , XF86WakeUp, exec, systemctl suspend
|
||||
bind = $mainMod, L, exec, loginctl lock-session
|
||||
# bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
|
||||
|
||||
#########################
|
||||
# Laptop lid settings
|
||||
#########################
|
||||
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
|
||||
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
|
||||
|
||||
#########################
|
||||
# Start apps
|
||||
#########################
|
||||
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
||||
bind = CTRL ALT, S, exec, spotify
|
||||
bind = $mainMod, Z, exec, zeditor
|
||||
bind = $mainMod, W, exec, zen
|
||||
@@ -1,5 +0,0 @@
|
||||
exec-once = dbus-update-activation-environment --systemd --all
|
||||
exec-once = hypridle
|
||||
exec-once = hyprpolkitagent
|
||||
exec-once = systemd-run --user --scope --unit=elephant elephant
|
||||
exec-once = bash -c "sleep 5 && waybar"
|
||||
@@ -1,16 +0,0 @@
|
||||
general {
|
||||
lock_cmd = hyprlock
|
||||
after_sleep_cmd = hyprctl dispatch dpms on
|
||||
ignore_dbus_inhibit = false
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 900
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
source = ./theming.conf
|
||||
source = ./animations.conf
|
||||
source = ./bindings.conf
|
||||
# source = ./behaviour.conf
|
||||
source = ./exec-once.conf
|
||||
source = ./layer-rules.conf
|
||||
source = ./layout.conf
|
||||
source = ./monitor-rules.conf
|
||||
# source = ./window-rules.conf
|
||||
# source = ./workspace-rules.conf
|
||||
|
||||
|
||||
exec-once = /nix/store/c9cnbxhxbagj7gfpc1g5hl4x4f8dzayv-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
|
||||
decoration {
|
||||
shadow {
|
||||
color=rgba(1e1e2e99)
|
||||
}
|
||||
}
|
||||
|
||||
general {
|
||||
col.active_border=0xff97cbcd 0xff89b4fa
|
||||
col.inactive_border=rgb(45475a)
|
||||
}
|
||||
|
||||
group {
|
||||
groupbar {
|
||||
col.active=rgb(89b4fa)
|
||||
col.inactive=rgb(45475a)
|
||||
text_color=rgb(cdd6f4)
|
||||
}
|
||||
col.border_active=rgb(89b4fa)
|
||||
col.border_inactive=rgb(45475a)
|
||||
col.border_locked_active=rgb(94e2d5)
|
||||
}
|
||||
|
||||
misc {
|
||||
background_color=rgb(1e1e2e)
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
# ~/.config/hypr/hyprlock.conf
|
||||
|
||||
general {
|
||||
grace = 2
|
||||
ignore_empty_input = true
|
||||
}
|
||||
|
||||
background {
|
||||
path = ~/.config/hypr/lock.png
|
||||
blur_passes = 2
|
||||
blur_size = 6
|
||||
}
|
||||
|
||||
input-field {
|
||||
size = 320, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.20
|
||||
fade_on_empty = true
|
||||
placeholder_text = "Password"
|
||||
position = 0, -120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
text = $TIME
|
||||
font_size = 72
|
||||
position = 0, 120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
layerrule = blur on, ignore_alpha 1, match:namespace waybar
|
||||
layerrule = xray 1, match:namespace waybar
|
||||
layerrule = blur on, ignore_alpha 1, match:namespace walker
|
||||
layerrule = xray 1, match:namespace walker
|
||||
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
|
||||
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
|
||||
@@ -1 +0,0 @@
|
||||
workspace_layouts = dwindle, master, scrolling, monocle
|
||||
@@ -1,2 +0,0 @@
|
||||
# Default portable monitor rule
|
||||
monitor=DP-1,3840x1080@144,1920x0,1
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# layout-selector.sh
|
||||
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
|
||||
|
||||
# Define layouts and descriptions
|
||||
declare -A LAYOUTS=(
|
||||
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
|
||||
[master]=" Master: One main window, others stacked"
|
||||
[scrolling]=" Scrolling: Vertical list, scroll through windows"
|
||||
[monocle]=" Monocle: One window fills the screen"
|
||||
[floating]=" Floating: Free move & resize"
|
||||
)
|
||||
ORDER=(dwindle master scrolling monocle floating)
|
||||
|
||||
# Prepare Wofi menu: show "layoutname: description"
|
||||
MENU_ITEMS=()
|
||||
for key in "${ORDER[@]}"; do
|
||||
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
|
||||
done
|
||||
|
||||
# Show selection menu via Wofi
|
||||
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
|
||||
|
||||
# Exit if cancelled
|
||||
[ -z "$CHOICE" ] && exit 0
|
||||
|
||||
# Extract layout name from selection (before colon)
|
||||
LAYOUT_NAME="${CHOICE%%:*}"
|
||||
|
||||
# Apply layout via layoutmsg
|
||||
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
|
||||
|
||||
# Show OSD feedback
|
||||
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
|
||||
@@ -1,40 +0,0 @@
|
||||
# Hyprland Catppuccin Mocha Theme (solid colors)
|
||||
|
||||
# Colors
|
||||
$base = #1e1e2e
|
||||
$mantle = #181825
|
||||
$surface0 = #313244
|
||||
$surface1 = #45475a
|
||||
$surface2 = #585b70
|
||||
$text = #cdd6f4
|
||||
$rosewater = #f5e0dc
|
||||
$lavender = #b4befe
|
||||
$red = #f38ba8
|
||||
$peach = #fab387
|
||||
$yellow = #f9e2af
|
||||
$green = #a6e3a1
|
||||
$teal = #94e2d5
|
||||
$blue = #89b4fa
|
||||
$mauve = #cba6f7
|
||||
$flamingo = #f2cdcd
|
||||
$inactive = #595959aa
|
||||
|
||||
# General theming
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 4
|
||||
border_size = 4
|
||||
layout = scrolling
|
||||
resize_on_border = true
|
||||
extend_border_grab_area = 20
|
||||
|
||||
# Solid-color borders
|
||||
col.active_border = rgb(FFFF00)
|
||||
#col.active_border = #a6e3a1
|
||||
#col.inactive_border = #595959aa
|
||||
}
|
||||
|
||||
# Window decorations
|
||||
decoration {
|
||||
rounding = 8
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
# Floating and centering nm-connection-editor
|
||||
windowrule = float, nm-connection-editor
|
||||
windowrule = move center, nm-connection-editor
|
||||
windowrule = size 900 700, nm-connection-editor
|
||||
|
||||
# Center all new windows by default
|
||||
windowrule = center, ^(.*)
|
||||
|
||||
# Example: Float specific apps (uncomment to use)
|
||||
windowrule = float, ^(pavucontrol)$
|
||||
|
||||
# Make Wofi windows blurred
|
||||
windowrulev2 = floatclass:Wofi,blur:15
|
||||
windowrulev2 = floatclass:Wofi,floating:true
|
||||
@@ -1,30 +0,0 @@
|
||||
# Workspace definitions (modern syntax)
|
||||
workspace = 1
|
||||
workspace = 2
|
||||
workspace = 3
|
||||
workspace = 4
|
||||
workspace = 5
|
||||
|
||||
# Auto-launch apps on specific workspaces (use `exec` with `workspace` rule)
|
||||
exec-once = kitty, workspace 1
|
||||
exec-once = flatpak run app.betterbird.zen, workspace 2
|
||||
exec-once = zen, workspace 3
|
||||
|
||||
# Force a specific layout for a workspace
|
||||
workspace 1, layout:dwindle
|
||||
workspace 2, layout:master
|
||||
workspace 3, layout:msg
|
||||
|
||||
# Set workspace persistence
|
||||
workspace 1, persistent:true
|
||||
workspace 2, persistent:true
|
||||
|
||||
# Move specific apps to workspaces automatically
|
||||
windowrule = move workspace 1, ^(kitty)$
|
||||
windowrule = move workspace 2, ^(zen)$
|
||||
windowrule = move workspace 3, ^(libreoffice)$
|
||||
|
||||
# Workspace behavior
|
||||
workspace {
|
||||
cycle_move_empty = no
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# Scrollbar colors
|
||||
scrollbar_handle_color #9399b2
|
||||
scrollbar_track_color #45475a
|
||||
|
||||
# URL color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
||||
@@ -1,15 +0,0 @@
|
||||
# Generated by Home Manager.
|
||||
# See https://sw.kovidgoyal.net/kitty/conf.html
|
||||
|
||||
shell_integration no-rc
|
||||
include Catppuccin-Mocha.conf
|
||||
|
||||
map ctrl+shift+v paste_from_clipboard
|
||||
map ctrl+shift+c copy_to_clipboard
|
||||
|
||||
background_opacity 0.2
|
||||
background_blur 1
|
||||
dynamic_background_opacity yes
|
||||
|
||||
font_family FiraCode Nerd Font
|
||||
font_size 10.0
|
||||
@@ -1,51 +0,0 @@
|
||||
#productivity
|
||||
todoist
|
||||
|
||||
# browsers
|
||||
brave
|
||||
chromium
|
||||
|
||||
# utils
|
||||
git
|
||||
direnv
|
||||
ripgrep
|
||||
wget
|
||||
kdePackages.kdeconnect-kde
|
||||
_1password-gui
|
||||
tree
|
||||
gparted
|
||||
file
|
||||
htop
|
||||
btop
|
||||
bat
|
||||
wev
|
||||
solaar
|
||||
baobab
|
||||
duf
|
||||
zed-editor
|
||||
eza
|
||||
z-lua
|
||||
qdirstat
|
||||
|
||||
# office
|
||||
obsidian
|
||||
onlyoffice-desktopeditors
|
||||
|
||||
# development
|
||||
postman
|
||||
tea
|
||||
|
||||
#jetbrains.pycharm
|
||||
python3
|
||||
|
||||
# communication
|
||||
nextcloud-client
|
||||
nextcloud-talk-desktop
|
||||
signal-desktop
|
||||
openssl
|
||||
|
||||
# multimedia
|
||||
audacity
|
||||
handbrake
|
||||
spotify
|
||||
vlc
|
||||
@@ -1,277 +0,0 @@
|
||||
format = """
|
||||
[](red)\
|
||||
$os\
|
||||
$username\
|
||||
[](bg:peach fg:red)\
|
||||
$directory\
|
||||
[](bg:yellow fg:peach)\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
[](fg:yellow bg:green)\
|
||||
$c\
|
||||
$rust\
|
||||
$golang\
|
||||
$nodejs\
|
||||
$php\
|
||||
$java\
|
||||
$kotlin\
|
||||
$haskell\
|
||||
$python\
|
||||
[](fg:green bg:sapphire)\
|
||||
$conda\
|
||||
[](fg:sapphire bg:lavender)\
|
||||
$time\
|
||||
[ ](fg:lavender)\
|
||||
$cmd_duration\
|
||||
$line_break\
|
||||
$character"""
|
||||
|
||||
palette = 'catppuccin_mocha'
|
||||
|
||||
[os]
|
||||
disabled = false
|
||||
style = "bg:red fg:crust"
|
||||
|
||||
[os.symbols]
|
||||
Windows = ""
|
||||
Ubuntu = ""
|
||||
SUSE = ""
|
||||
Raspbian = ""
|
||||
Mint = ""
|
||||
Macos = ""
|
||||
Manjaro = ""
|
||||
Linux = ""
|
||||
Gentoo = ""
|
||||
Fedora = ""
|
||||
Alpine = ""
|
||||
Amazon = ""
|
||||
Android = ""
|
||||
AOSC = ""
|
||||
Arch = ""
|
||||
Artix = ""
|
||||
CentOS = ""
|
||||
Debian = ""
|
||||
Redhat = ""
|
||||
RedHatEnterprise = ""
|
||||
|
||||
[username]
|
||||
show_always = true
|
||||
style_user = "bg:red fg:crust"
|
||||
style_root = "bg:red fg:crust"
|
||||
format = '[ $user]($style)'
|
||||
|
||||
[directory]
|
||||
style = "bg:peach fg:crust"
|
||||
format = "[ $path ]($style)"
|
||||
truncation_length = 3
|
||||
truncation_symbol = "…/"
|
||||
|
||||
[directory.substitutions]
|
||||
"Documents" = " "
|
||||
"Downloads" = " "
|
||||
"Music" = " "
|
||||
"Pictures" = " "
|
||||
"Developer" = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = ""
|
||||
style = "bg:yellow"
|
||||
format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)'
|
||||
|
||||
[git_status]
|
||||
style = "bg:yellow"
|
||||
format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)'
|
||||
|
||||
[nodejs]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[rust]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[golang]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[php]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[java]
|
||||
symbol = " "
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[kotlin]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[haskell]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[python]
|
||||
symbol = ""
|
||||
style = "bg:green"
|
||||
format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)'
|
||||
|
||||
[docker_context]
|
||||
symbol = ""
|
||||
style = "bg:sapphire"
|
||||
format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)'
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
style = "fg:crust bg:sapphire"
|
||||
format = '[$symbol$environment ]($style)'
|
||||
ignore_base = false
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
time_format = "%R"
|
||||
style = "bg:lavender"
|
||||
format = '[[ $time ](fg:crust bg:lavender)]($style)'
|
||||
|
||||
[line_break]
|
||||
disabled = false
|
||||
|
||||
[character]
|
||||
disabled = false
|
||||
success_symbol = '[❯](bold fg:green)'
|
||||
error_symbol = '[❯](bold fg:red)'
|
||||
vimcmd_symbol = '[❮](bold fg:green)'
|
||||
vimcmd_replace_one_symbol = '[❮](bold fg:lavender)'
|
||||
vimcmd_replace_symbol = '[❮](bold fg:lavender)'
|
||||
vimcmd_visual_symbol = '[❮](bold fg:yellow)'
|
||||
|
||||
[cmd_duration]
|
||||
show_milliseconds = true
|
||||
format = " in $duration "
|
||||
style = "bg:lavender"
|
||||
disabled = false
|
||||
show_notifications = true
|
||||
min_time_to_notify = 45000
|
||||
|
||||
[palettes.catppuccin_mocha]
|
||||
rosewater = "#f5e0dc"
|
||||
flamingo = "#f2cdcd"
|
||||
pink = "#f5c2e7"
|
||||
mauve = "#cba6f7"
|
||||
red = "#f38ba8"
|
||||
maroon = "#eba0ac"
|
||||
peach = "#fab387"
|
||||
yellow = "#f9e2af"
|
||||
green = "#a6e3a1"
|
||||
teal = "#94e2d5"
|
||||
sky = "#89dceb"
|
||||
sapphire = "#74c7ec"
|
||||
blue = "#89b4fa"
|
||||
lavender = "#b4befe"
|
||||
text = "#cdd6f4"
|
||||
subtext1 = "#bac2de"
|
||||
subtext0 = "#a6adc8"
|
||||
overlay2 = "#9399b2"
|
||||
overlay1 = "#7f849c"
|
||||
overlay0 = "#6c7086"
|
||||
surface2 = "#585b70"
|
||||
surface1 = "#45475a"
|
||||
surface0 = "#313244"
|
||||
base = "#1e1e2e"
|
||||
mantle = "#181825"
|
||||
crust = "#11111b"
|
||||
|
||||
[palettes.catppuccin_frappe]
|
||||
rosewater = "#f2d5cf"
|
||||
flamingo = "#eebebe"
|
||||
pink = "#f4b8e4"
|
||||
mauve = "#ca9ee6"
|
||||
red = "#e78284"
|
||||
maroon = "#ea999c"
|
||||
peach = "#ef9f76"
|
||||
yellow = "#e5c890"
|
||||
green = "#a6d189"
|
||||
teal = "#81c8be"
|
||||
sky = "#99d1db"
|
||||
sapphire = "#85c1dc"
|
||||
blue = "#8caaee"
|
||||
lavender = "#babbf1"
|
||||
text = "#c6d0f5"
|
||||
subtext1 = "#b5bfe2"
|
||||
subtext0 = "#a5adce"
|
||||
overlay2 = "#949cbb"
|
||||
overlay1 = "#838ba7"
|
||||
overlay0 = "#737994"
|
||||
surface2 = "#626880"
|
||||
surface1 = "#51576d"
|
||||
surface0 = "#414559"
|
||||
base = "#303446"
|
||||
mantle = "#292c3c"
|
||||
crust = "#232634"
|
||||
|
||||
[palettes.catppuccin_latte]
|
||||
rosewater = "#dc8a78"
|
||||
flamingo = "#dd7878"
|
||||
pink = "#ea76cb"
|
||||
mauve = "#8839ef"
|
||||
red = "#d20f39"
|
||||
maroon = "#e64553"
|
||||
peach = "#fe640b"
|
||||
yellow = "#df8e1d"
|
||||
green = "#40a02b"
|
||||
teal = "#179299"
|
||||
sky = "#04a5e5"
|
||||
sapphire = "#209fb5"
|
||||
blue = "#1e66f5"
|
||||
lavender = "#7287fd"
|
||||
text = "#4c4f69"
|
||||
subtext1 = "#5c5f77"
|
||||
subtext0 = "#6c6f85"
|
||||
overlay2 = "#7c7f93"
|
||||
overlay1 = "#8c8fa1"
|
||||
overlay0 = "#9ca0b0"
|
||||
surface2 = "#acb0be"
|
||||
surface1 = "#bcc0cc"
|
||||
surface0 = "#ccd0da"
|
||||
base = "#eff1f5"
|
||||
mantle = "#e6e9ef"
|
||||
crust = "#dce0e8"
|
||||
|
||||
[palettes.catppuccin_macchiato]
|
||||
rosewater = "#f4dbd6"
|
||||
flamingo = "#f0c6c6"
|
||||
pink = "#f5bde6"
|
||||
mauve = "#c6a0f6"
|
||||
red = "#ed8796"
|
||||
maroon = "#ee99a0"
|
||||
peach = "#f5a97f"
|
||||
yellow = "#eed49f"
|
||||
green = "#a6da95"
|
||||
teal = "#8bd5ca"
|
||||
sky = "#91d7e3"
|
||||
sapphire = "#7dc4e4"
|
||||
blue = "#8aadf4"
|
||||
lavender = "#b7bdf8"
|
||||
text = "#cad3f5"
|
||||
subtext1 = "#b8c0e0"
|
||||
subtext0 = "#a5adcb"
|
||||
overlay2 = "#939ab7"
|
||||
overlay1 = "#8087a2"
|
||||
overlay0 = "#6e738d"
|
||||
surface2 = "#5b6078"
|
||||
surface1 = "#494d64"
|
||||
surface0 = "#363a4f"
|
||||
base = "#24273a"
|
||||
mantle = "#1e2030"
|
||||
crust = "#181926"
|
||||
@@ -1,28 +0,0 @@
|
||||
enable = true;
|
||||
base16Scheme = ../../../assets/system/theming/stylix/catppuccin-mocha.yaml;
|
||||
image = ../../../assets/hyprland/wallpaperstuff/pictures/wall1.jpg;
|
||||
polarity = "dark";
|
||||
|
||||
cursor = {
|
||||
package = "phinger-cursors"; # symbolic reference
|
||||
name = "phinger-cursors-light";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = "nerd-fonts-fira-code";
|
||||
name = "Fira Code Nerd Font";
|
||||
};
|
||||
sansSerif = {
|
||||
package = "lato";
|
||||
name = "Lato";
|
||||
};
|
||||
};
|
||||
|
||||
icons = {
|
||||
enable = true;
|
||||
package = "papirus-icon-theme";
|
||||
dark = "Papirus-Dark";
|
||||
light = "Papirus-Light";
|
||||
};
|
||||
@@ -1,84 +0,0 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# Scrollbar colors
|
||||
scrollbar_handle_color #9399b2
|
||||
scrollbar_track_color #45475a
|
||||
|
||||
# URL color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
||||
@@ -1,72 +0,0 @@
|
||||
##############################################
|
||||
# Aliases (source-of-truth)
|
||||
#
|
||||
# This file is written in bash/zsh alias syntax in [bash_zsh], [bash_specific], [zsh_specific].
|
||||
# Fish has different syntax; the Nix module translates [bash_zsh] into fish format and then
|
||||
# appends [fish_specific] as-is.
|
||||
##############################################
|
||||
|
||||
##############################################
|
||||
# Generic aliases (bash/zsh)
|
||||
# These are intended to be available in bash and zsh.
|
||||
##############################################
|
||||
[bash_zsh]
|
||||
alias ll='ls -lah'
|
||||
alias gs='git status'
|
||||
alias ga='git add'
|
||||
alias gc='git commit'
|
||||
alias gp='git push'
|
||||
alias gcp='git add . && git commit && git push'
|
||||
|
||||
alias cd='z'
|
||||
|
||||
alias nps='xdg-open https://search.nixos.org'
|
||||
alias hvnx='cd ~/Repos/nixos/henrovnix_ok'
|
||||
alias emt='hvnx && emacs README.org --batch -f org-babel-tangle && emacs -Q --batch README.org -f org-html-export-to-html'
|
||||
alias nxs='hvnx && sudo nixos-rebuild switch --flake .#traveldroid'
|
||||
alias nxt='hvnx && sudo nixos-rebuild test --flake .#traveldroid'
|
||||
alias nxv='hvnx && sudo nixos-rebuild build-vm --flake .#traveldroid && "$(ls -1 ./result/bin/run-*-vm | head -n 1)"'
|
||||
|
||||
alias rb='systemctl reboot'
|
||||
alias po='systemctl poweroff'
|
||||
|
||||
alias fpl='flatpak list'
|
||||
alias fps='flatpak search'
|
||||
alias fpi='flatpak install'
|
||||
alias fpr='flatpak run'
|
||||
|
||||
alias nxc='ssh henrov@nextcloud.data-pro.nu'
|
||||
|
||||
|
||||
alias vs='code'
|
||||
alias blog='cd ~/Repos/blog && ll'
|
||||
alias keys='hyprctl binds'
|
||||
|
||||
|
||||
##############################################
|
||||
# Shell-specific aliases / examples
|
||||
#
|
||||
# Everything below is COMMENTED OUT on purpose.
|
||||
# These examples show syntax or commands that are shell-specific
|
||||
# (or behave differently across shells).
|
||||
##############################################
|
||||
|
||||
[bash_specific]
|
||||
# Enable recursive globbing (**)
|
||||
# alias sg='shopt -s globstar'
|
||||
|
||||
[zsh_specific]
|
||||
# Recursive globbing works by default in zsh; this prints matches one-per-line
|
||||
# alias recglob='print -l **/*.nix'
|
||||
|
||||
[fish_specific]
|
||||
# Fish has its own language; this is fish-only syntax (not bash/zsh)
|
||||
# alias setvar='set -gx EDITOR emacs'
|
||||
|
||||
[dash_specific]
|
||||
# dash is a minimal POSIX shell; shown here only as an example
|
||||
# alias com='command -v ls'
|
||||
|
||||
[nushell_specific]
|
||||
# Nushell pipelines structured data; this is nu-only syntax
|
||||
# alias fbf='ls | where size > 1mb | get name'
|
||||
@@ -1,15 +0,0 @@
|
||||
##############################################
|
||||
# Enabled shells (source-of-truth)
|
||||
#
|
||||
# Edit this file in the repo:
|
||||
# ./assets/conf/dev/terminal/enabled_shells.conf
|
||||
#
|
||||
# After changing, rebuild Home Manager / your system as you normally do.
|
||||
##############################################
|
||||
|
||||
[enabled_shells]
|
||||
bash = yes
|
||||
zsh = yes
|
||||
fish = no
|
||||
dash = no
|
||||
nushell = no
|
||||
@@ -1,113 +0,0 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"height": 34,
|
||||
|
||||
//"modules-left": ["hyprland/window"],
|
||||
|
||||
"modules-center": ["hyprland/workspaces" ],
|
||||
|
||||
"modules-right": [
|
||||
"idle_inhibitor",
|
||||
"pulseaudio",
|
||||
"network",
|
||||
// "cpu",
|
||||
// "memory",
|
||||
// "temperature",
|
||||
"battery",
|
||||
"tray",
|
||||
"clock",
|
||||
"custom/notifications",
|
||||
],
|
||||
|
||||
/*
|
||||
"custom/notifications": {
|
||||
"tooltip": false,
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"notification": "",
|
||||
"none": "",
|
||||
"dnd-notification": "",
|
||||
"dnd-none": "",
|
||||
},
|
||||
"on-click": "swaync-client -t",
|
||||
"on-click-right": "swaync-client -d",
|
||||
"on-click-middle": "swaync-client -dn",
|
||||
},
|
||||
*/
|
||||
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
},
|
||||
"tooltip-format-activated": "Staying awake",
|
||||
"tooltip-format-deactivated": "Might sleep....",
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"default": ["", ""],
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " ({bandwidthDownBits})",
|
||||
"format-ethernet": " ({bandwidthDownBits})",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
|
||||
"on-click": "impala",
|
||||
"on-click-right": "nm-connection-editor",
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"format": "{percentage}% ",
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"format": "{temperatureC}°C ",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"spacing": 10,
|
||||
"icon-size": 14,
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%a, %d %b %Y - %H:%M}",
|
||||
"tooltip": false,
|
||||
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"bat": "BAT0",
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15,
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-icons": ["", "", "", "", " "],
|
||||
},
|
||||
}
|
||||
@@ -1,225 +0,0 @@
|
||||
/* --- Hyprland palette (ported) --- */
|
||||
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */
|
||||
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */
|
||||
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */
|
||||
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */
|
||||
|
||||
/* extra colors you referenced but didn’t define */
|
||||
@define-color text rgba(255, 255, 255, 1.0);
|
||||
@define-color surface1 rgba(255, 255, 255, 0.08);
|
||||
@define-color subtext1 rgba(255, 255, 255, 0.35);
|
||||
@define-color red rgba(255, 0, 0, 0.90);
|
||||
@define-color overlay1 rgba(255, 255, 255, 0.35);
|
||||
@define-color yellow rgba(255, 215, 0, 0.95);
|
||||
|
||||
* {
|
||||
font-family:
|
||||
Aporetic Sans Mono,
|
||||
Iosevka Nerd Font,
|
||||
Roboto,
|
||||
Helvetica,
|
||||
Arial,
|
||||
sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
color: @text;
|
||||
transition-property: background-color;
|
||||
border-bottom: 0px solid rgba(0, 0, 0, 0);
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0px 1px;
|
||||
min-width: 80px;
|
||||
background-color: transparent;
|
||||
color: @text;
|
||||
border: 2px solid @inactive;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#custom-notifications.empty {
|
||||
color: @overlay1;
|
||||
}
|
||||
|
||||
#custom-notifications.unread {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: @surface1;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
padding: 0px 1px;
|
||||
min-width: 80px;
|
||||
color: @text;
|
||||
border-radius: 10px;
|
||||
font-weight: bold;
|
||||
border: 1px solid transparent;
|
||||
background:
|
||||
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15))
|
||||
padding-box,
|
||||
linear-gradient(45deg, @blue, @green) border-box;
|
||||
}
|
||||
|
||||
#custom-hyprscroll_overflow.overflow {
|
||||
padding: 0px 1px;
|
||||
min-width: 80px;
|
||||
color: @text;
|
||||
border-radius: 10px;
|
||||
font-weight: bold;
|
||||
border: 1px dashed transparent;
|
||||
background:
|
||||
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
|
||||
padding-box,
|
||||
linear-gradient(45deg, @blue, @green) border-box;
|
||||
}
|
||||
|
||||
#custom-hyprscroll_overflow.overflow {
|
||||
background:
|
||||
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
|
||||
padding-box,
|
||||
linear-gradient(45deg, @blue, @green) border-box;
|
||||
}
|
||||
|
||||
#custom-hyprscroll_overflow.hidden {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-width: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#idle_inhibitor,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#temperature,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray {
|
||||
margin: 0 5px;
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: @green;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
color: white;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
/* =========================================================
|
||||
* Notifications
|
||||
* ========================================================= */
|
||||
#custom-notifications {
|
||||
margin: 0 4px;
|
||||
padding: 0 4px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
#custom-notifications.empty {
|
||||
color: @overlay1;
|
||||
}
|
||||
#custom-notifications.unread {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
/* =========================================================
|
||||
* Hyprscroll overflow indicator (custom/hyprscroll_overflow)
|
||||
* States: .ok, .overflow, .error
|
||||
* ========================================================= */
|
||||
|
||||
/* Default (no overflow): subtle pill, still hoverable for tooltip */
|
||||
#custom-hyprscroll_overflow.ok {
|
||||
padding: 0px 1px;
|
||||
min-width: 80px;
|
||||
color: @subtext1;
|
||||
border-radius: 10px;
|
||||
|
||||
/* subtle outline so you know it's there */
|
||||
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
}
|
||||
|
||||
/* Make it feel interactive (hover) */
|
||||
#custom-hyprscroll_overflow.ok:hover {
|
||||
color: @text;
|
||||
background-color: @surface1;
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
}
|
||||
|
||||
/* Overflow state: you already have this; keep it.
|
||||
Optional: add hover tweak so it "pops" a bit. */
|
||||
#custom-hyprscroll_overflow.overflow:hover {
|
||||
background:
|
||||
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1))
|
||||
padding-box,
|
||||
linear-gradient(45deg, @blue, @green) border-box;
|
||||
}
|
||||
|
||||
/* Error state: clear but not screaming */
|
||||
#custom-hyprscroll_overflow.error {
|
||||
padding: 0px 1px;
|
||||
min-width: 80px;
|
||||
color: @text;
|
||||
border-radius: 10px;
|
||||
|
||||
border: 1px solid rgba(255, 0, 0, 0.55);
|
||||
background: rgba(255, 0, 0, 0.15);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Optional: if you keep .hidden in the script for any reason */
|
||||
#custom-hyprscroll_overflow.hidden {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-width: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
opacity: 0;
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
[global]
|
||||
allow_images = true
|
||||
allow_markup = true
|
||||
show_drun = true:apps,false:others
|
||||
show_run = true
|
||||
show_files = false
|
||||
show_windowed = false
|
||||
show_dmenu = false
|
||||
show_ssh = false
|
||||
show_power = false
|
||||
prompt=Layout
|
||||
hide_scroll=true
|
||||
no_actions=true
|
||||
|
||||
width = 800
|
||||
height = 600
|
||||
# Center on the active monitor
|
||||
location=center
|
||||
anchor=center
|
||||
|
||||
lines = 10
|
||||
columns = 1
|
||||
sort_order = last-used
|
||||
sort_method = fuzzy
|
||||
allow_scrolling = true
|
||||
scroll_wrap = true
|
||||
scroll_step = 10
|
||||
cycle = true
|
||||
hide_scroll = false
|
||||
hide_search = false
|
||||
show_labels = true
|
||||
label_search = true
|
||||
label_run = Run
|
||||
label_files = Files
|
||||
label_windowed = Windows
|
||||
label_drun = Applications
|
||||
label_dmenu = Commands
|
||||
label_ssh = SSH
|
||||
label_power = Power
|
||||
|
||||
prompt = >
|
||||
@@ -1,80 +0,0 @@
|
||||
/* Catppuccin Mocha theme for Wofi with transparency and rounded corners */
|
||||
|
||||
@define-color base rgba(30, 30, 46, 0.9); /* Added transparency */
|
||||
@define-color surface0 rgba(49, 50, 68, 0.95); /* Added transparency */
|
||||
@define-color surface1 #45475A;
|
||||
@define-color surface2 #585B70;
|
||||
@define-color text #CDD6F4;
|
||||
@define-color lavender #B4BEFE;
|
||||
@define-color blue #89B4FA;
|
||||
@define-color sapphire #74C7EC;
|
||||
@define-color teal #94E2D5;
|
||||
@define-color green #A6E3A1;
|
||||
@define-color yellow #F9E2AF;
|
||||
@define-color peach #FAB387;
|
||||
@define-color maroon #EBA0AC;
|
||||
@define-color red #F38BA8;
|
||||
@define-color mauve #CBA6F7;
|
||||
@define-color pink #F5C2E7;
|
||||
@define-color flamingo #F2CDCD;
|
||||
@define-color rosewater #F5E0DC;
|
||||
|
||||
* {
|
||||
background-color: transparent;
|
||||
color: @text;
|
||||
font-family: "JetBrainsMono Nerd Font", monospace;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
#main {
|
||||
background-color: @base;
|
||||
border: 1px solid @surface0;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
#input {
|
||||
background-color: @surface0;
|
||||
color: @text;
|
||||
border: 1px solid @surface1;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
padding: 5px 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: rgba(
|
||||
200,
|
||||
200,
|
||||
200,
|
||||
0.2
|
||||
); /* very light grey, very transparent */
|
||||
color: @text;
|
||||
border-radius: 10px;
|
||||
padding: 5px 10px;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
#entry:focus {
|
||||
background-color: @surface1;
|
||||
color: @lavender;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: @surface2;
|
||||
color: @text;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
}
|
||||
|
||||
#scrollbar {
|
||||
background-color: @surface0;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
#scrollbar.handle {
|
||||
background-color: @blue;
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
# Catppuccin Mocha colors
|
||||
local mocha_base="#1E1E2E"
|
||||
local mocha_surface0="#313244"
|
||||
local mocha_text="#CDD6F4"
|
||||
local mocha_lavender="#B4BEFE"
|
||||
local mocha_blue="#89B4FA"
|
||||
local mocha_sapphire="#74C7EC"
|
||||
local mocha_teal="#94D2D5"
|
||||
local mocha_green="#A6E3A1"
|
||||
local mocha_yellow="#F9E2AF"
|
||||
local mocha_peach="#FAB387"
|
||||
local mocha_maroon="#EBA0AC"
|
||||
local mocha_red="#F38BA8"
|
||||
local mocha_mauve="#CBA6F7"
|
||||
local mocha_pink="#F5E2C7"
|
||||
local mocha_flamingo="#F2CDCD"
|
||||
local mocha_rosewater="#F5E0DC"
|
||||
|
||||
# Prompt
|
||||
PROMPT='%{$fg[$mocha_blue]%}%n%{$reset_color%}@%{$fg[$mocha_peach]%}%m%{$reset_color%} %{$fg[$mocha_lavender]%}%~%{$reset_color%} %{$fg[$mocha_red]%}$%{$reset_color%} '
|
||||
RPROMPT='%{$fg[$mocha_green]%}%T%{$reset_color%}'
|
||||
|
||||
# Source zsh-syntax-highlighting if present
|
||||
if [ -f ${files."zsh-syntax-highlighting".src} ]; then
|
||||
source ${files."zsh-syntax-highlighting".src}
|
||||
fi
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
07966035-a4dd-481b-88fd-74edaef0871c
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
MANIFEST-000001
|
||||
@@ -1,3 +0,0 @@
|
||||
2026/03/25-19:40:15.601 942 Reusing MANIFEST /home/henrov/.config/1Password/Local Storage/leveldb/MANIFEST-000001
|
||||
2026/03/25-19:40:15.612 942 Recovering log #3
|
||||
2026/03/25-19:40:15.613 942 Reusing old log /home/henrov/.config/1Password/Local Storage/leveldb/000003.log
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
2026/03/25-18:39:41.651 fdb Creating DB /home/henrov/.config/1Password/Local Storage/leveldb since it was missing.
|
||||
2026/03/25-18:39:41.663 fdb Reusing MANIFEST /home/henrov/.config/1Password/Local Storage/leveldb/MANIFEST-000001
|
||||
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
{"net":{"http_server_properties":{"servers":[{"anonymization":[],"server":"https://redirector.gvt1.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13421529582190448","port":443,"protocol_str":"quic"}],"anonymization":[],"network_stats":{"srtt":7104},"server":"https://r3---sn-32o-bg9e.gvt1.com"}],"supports_quic":{"address":"192.168.2.92","used_quic":true},"version":5},"network_qualities":{"CAISABiAgICA+P////8B":"4G"}}}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
MANIFEST-000001
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
2026/03/25-19:40:15.712 960 Reusing MANIFEST /home/henrov/.config/1Password/Partitions/1password/Local Storage/leveldb/MANIFEST-000001
|
||||
2026/03/25-19:40:15.713 960 Recovering log #3
|
||||
2026/03/25-19:40:15.713 960 Reusing old log /home/henrov/.config/1Password/Partitions/1password/Local Storage/leveldb/000003.log
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
2026/03/25-18:39:41.812 ff9 Creating DB /home/henrov/.config/1Password/Partitions/1password/Local Storage/leveldb since it was missing.
|
||||
2026/03/25-18:39:41.815 ff9 Reusing MANIFEST /home/henrov/.config/1Password/Partitions/1password/Local Storage/leveldb/MANIFEST-000001
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
{"net":{"http_server_properties":{"servers":[{"anonymization":[],"server":"https://redirector.gvt1.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13421529585677131","port":443,"protocol_str":"quic"}],"anonymization":[],"network_stats":{"srtt":7118},"server":"https://r3---sn-32o-bg9e.gvt1.com"}],"supports_quic":{"address":"192.168.2.92","used_quic":true},"version":5},"network_qualities":{"CAISABiAgICA+P////8B":"4G"}}}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"migrated_user_scripts_toggle":true,"partition":{"per_host_zoom_levels":{"16137922565171788867":{}}},"spellcheck":{"dictionaries":["en-US"],"dictionary":""}}
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
MANIFEST-000001
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
2026/03/25-19:40:16.221 942 Reusing MANIFEST /home/henrov/.config/1Password/Partitions/1password/Session Storage/MANIFEST-000001
|
||||
2026/03/25-19:40:16.221 942 Recovering log #3
|
||||
2026/03/25-19:40:16.221 942 Reusing old log /home/henrov/.config/1Password/Partitions/1password/Session Storage/000003.log
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
2026/03/25-18:39:42.267 ff9 Creating DB /home/henrov/.config/1Password/Partitions/1password/Session Storage since it was missing.
|
||||
2026/03/25-18:39:42.270 ff9 Reusing MANIFEST /home/henrov/.config/1Password/Partitions/1password/Session Storage/MANIFEST-000001
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
{"migrated_user_scripts_toggle":true,"spellcheck":{"dictionaries":["en-US"],"dictionary":""}}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user