This commit is contained in:
Evie Litherland-Smith 2023-11-02 08:19:48 +00:00
commit f132fbe9b6
17 changed files with 171 additions and 120 deletions

View file

@ -44,7 +44,6 @@
./home/alacritty.nix
./home/default.nix
./home/firefox.nix
./home/kdeconnect.nix
./home/media.nix
./home/pass.nix
./home/zathura.nix
@ -158,7 +157,18 @@
fira-mono
fira-code
fira-code-symbols
(nerdfonts.override { fonts = [ "FiraCode" ]; })
(nerdfonts.override {
fonts = [
"FiraCode"
"FiraMono"
"DejaVuSansMono"
"Noto"
"ComicShannsMono"
"NerdFontsSymbolsOnly"
];
})
emacs-all-the-icons-fonts
weather-icons
noto-fonts
noto-fonts-cjk
noto-fonts-emoji

View file

@ -60,7 +60,7 @@
};
vdirsyncer = {
enable = lib.mkDefault emailConfig.mbsync.enable;
collections = [ "Work" "Operations" ];
collections = [ "Work" "Network Events" "Operations" ];
};
khal = {
inherit (vdirsyncer) enable;

View file

@ -11,6 +11,10 @@
services.git-sync = {
enable = true;
repositories = with config.home; {
org = {
path = "${homeDirectory}/Org";
uri = "git+https://git.xenia.me.uk/xenia/Org.git";
};
elfeed = {
path = "${homeDirectory}/.elfeed";
uri = "git+https://git.xenia.me.uk/xenia/elfeed.git";
@ -24,7 +28,9 @@
pandoc
gfortran
rustup
texlive.combined.scheme-medium
texlive.combined.scheme-full
ghostscript
mupdf
(python3.withPackages
(ps: with ps; [ python-lsp-server python-lsp-ruff pylsp-mypy ]))
@ -51,7 +57,6 @@
shellcheck
marksman
luajitPackages.lua-lsp
texlab
# nodePackages.pyright
nodePackages.yaml-language-server
nodePackages.bash-language-server

View file

@ -32,7 +32,14 @@
(setq user-full-name "Evie Litherland-Smith"
user-mail-address "evie@xenia.me.uk")
;; Set default coding system (especially for Windows)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(require 'custom-ui-config)
(require 'custom-defaults-config)
(require 'custom-email-config)
(require 'custom-feed-config)
(require 'custom-ide-config)
@ -41,15 +48,9 @@
(require 'custom-org-config)
(require 'custom-project-config)
(require 'custom-social-config)
(require 'custom-ui-config)
(require 'crafted-completion-config)
(require 'crafted-ide-config)
(require 'crafted-org-config)
(require 'crafted-workspaces-config)
(require 'crafted-writing-config)
;; Set default coding system (especially for Windows)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)

View file

@ -3,7 +3,40 @@
message-sendmail-f-is-evil t
message-sendmail-extra-arguments '("--read-envelope-from")
message-send-mail-function #'message-send-mail-with-sendmail
message-kill-buffer-on-exit t)
message-kill-buffer-on-exit t
mail-user-agent 'mu4e-user-agent
read-mail-command 'mu4e
mu4e-maildir "~/Mail"
mu4e-attachment-dir "~/Downloads"
mu4e-get-mail-command "mbsync -a"
mu4e-update-interval (* 5 60) ; Every 5 minutes
mu4e-sent-messages-behavior 'sent
mu4e-change-filenames-when-moving t
mu4e-context-policy 'pick-first
mu4e-use-fancy-chars t
mu4e-headers-thread-single-orphan-prefix '("─>" . "─▶")
mu4e-headers-thread-orphan-prefix '("┬>" . "┬▶")
mu4e-headers-thread-connection-prefix '("" . "")
mu4e-headers-thread-first-child-prefix '("├>" . "├▶")
mu4e-headers-thread-child-prefix '("├>" . "├▶")
mu4e-headers-thread-last-child-prefix '("└>" . "╰▶")
mu4e-modeline-all-read '("R:" . "󰑇 ")
mu4e-modeline-all-clear '("C:" . "󰚭 ")
mu4e-modeline-new-items '("N:" . "󰎔 ")
mu4e-modeline-unread-items '("U:" . "󰶊 ")
mu4e-search-full-label '("F" . "󱊖 ")
mu4e-search-hide-label '("H" . "󰘓 ")
mu4e-search-related-label '("R" . "󰌹 ")
mu4e-search-skip-duplicates-label '("D" . "󰆑 ")
mu4e-search-threaded-label'("T" . "󱇫 ")
mu4e-alert-modeline-formatter 'mu4e-alert-default-mode-line-formatter
mu4e-headers-fields '((:human-date . 12)
(:flags . 6)
(:from-or-to . 25)
(:subject))
mu4e-maildir-shortcuts '((:maildir "/Proton/Inbox/" :key ?p)
(:maildir "/iCloud/Inbox/" :key ?i)
(:maildir "/Outlook/Inbox/" :key ?o)))
(when (require 'mu4e nil :noerror)
(keymap-set global-map "C-c m m" #'mu4e)
@ -11,46 +44,11 @@
(keymap-set global-map "C-c m c" #'mu4e-compose-new)
(when (require 'mu4e-alert nil :noerror)
(setq mu4e-alert-modeline-formatter 'mu4e-alert-default-mode-line-formatter)
(mu4e-alert-set-default-style 'libnotify)
(mu4e-alert-enable-notifications)
(mu4e-alert-enable-mode-line-display))
(setq mu4e-maildir "~/Mail"
mu4e-attachment-dir "~/Downloads"
mu4e-get-mail-command "mbsync -a"
mu4e-update-interval (* 5 60) ; Every 5 minutes
mu4e-sent-messages-behavior 'sent
mu4e-change-filenames-when-moving t
mu4e-context-policy 'pick-first
sendmail-program (executable-find "msmtp")
send-mail-function #'smtpmail-send-it
message-sendmail-f-is-evil t
message-sendmail-extra-arguments '("--read-envelope-from")
message-send-mail-function #'message-send-mail-with-sendmail
mu4e-headers-thread-single-orphan-prefix '("─>" . "─▶")
mu4e-headers-thread-orphan-prefix '("┬>" . "┬▶ ")
mu4e-headers-thread-connection-prefix '("" . "")
mu4e-headers-thread-first-child-prefix '("├>" . "├▶")
mu4e-headers-thread-child-prefix '("├>" . "├▶")
mu4e-headers-thread-last-child-prefix '("└>" . "╰▶")
mu4e-modeline-all-read '("R:" . "󰑇 ")
mu4e-modeline-all-clear '("C:" . "󰚭 ")
mu4e-modeline-new-items '("N:" . "󰎔 ")
mu4e-modeline-unread-items '("U:" . "󰮒 ")
mu4e-search-full-label '("F" . "󱊖 ")
mu4e-search-hide-label '("H" . "󰘓 ")
mu4e-search-related-label '("R" . "󰌹 ")
mu4e-search-skip-duplicates-label '("D" . "󰆑 ")
mu4e-search-threaded-label'("T" . "󱇫 ")
mu4e-headers-fields '((:human-date . 12)
(:flags . 6)
(:from-or-to . 25)
(:subject))
mu4e-maildir-shortcuts '((:maildir "/Proton/Inbox/" :key ?p)
(:maildir "/iCloud/Inbox/" :key ?i)
(:maildir "/Outlook/Inbox/" :key ?o))
mu4e-contexts (list
(setq mu4e-contexts (list
(make-mu4e-context
:name "Proton"
:match-func (lambda (msg) (when msg (string-prefix-p "/Proton" (mu4e-message-field msg :maildir))))
@ -63,9 +61,9 @@
:name "iCloud"
:match-func (lambda (msg) (when msg (string-prefix-p "/iCloud" (mu4e-message-field msg :maildir))))
:vars '((user-mail-address . "e.litherlandsmith@icloud.com")
(mu4e-sent-folder . "/iCloud/Sent")
(mu4e-sent-folder . "/iCloud/Sent Messages")
(mu4e-drafts-folder . "/iCloud/Drafts")
(mu4e-trash-folder . "/iCloud/Trash")
(mu4e-trash-folder . "/iCloud/Deleted Messages")
(mu4e-refile-folder . "/iCloud/Archive")))
(make-mu4e-context
:name "Outlook"

View file

@ -1,10 +1,13 @@
(let ((elfeed-base-directory "~/.elfeed"))
(setq elfeed-db-directory (expand-file-name "db" elfeed-base-directory)
elfeed-enclosure-default-dir (expand-file-name "enclosures" elfeed-base-directory)
rmh-elfeed-org-files (list (expand-file-name "feeds.org" elfeed-base-directory))))
(when (require 'elfeed nil :noerror)
(let ((elfeed-base-directory "~/.elfeed"))
(setq elfeed-db-directory (expand-file-name "db" elfeed-base-directory)
elfeed-enclosure-default-dir (expand-file-name "enclosures" elfeed-base-directory)
rmh-elfeed-org-files (list (expand-file-name "feeds.org" elfeed-base-directory))))
(add-hook 'elfeed-search-mode-hook #'elfeed-update)
(when (require 'elfeed-org nil :noerror) (elfeed-org))
(when (require 'elfeed-tube nil :noerror) (elfeed-tube-setup)))
(when (require 'elfeed-org nil :noerror)
(elfeed-org))
(when (require 'elfeed-tube nil :noerror)
(elfeed-tube-setup)))
(provide 'custom-feed-config)

View file

@ -4,16 +4,16 @@
(when (require 'treesit-aut nil :noerror)
(global-treesit-auto-mode +1))
(setq apheleia-remote-algorithm 'local)
(when (require 'apheleia nil :noerror)
(setq apheleia-remote-algorithm 'local)
(keymap-set global-map "C-c c f" #'apheleia-format-buffer)
(apheleia-global-mode +1))
(when (require 'eglot nil :noerror)
(eglot-ensure))
(setq direnv-always-show-summary nil)
(when (require 'direnv nil :noerror)
(setq direnv-always-show-summary nil)
(direnv-mode +1))
(when (require 'yasnippet nil :noerror)

View file

@ -1,4 +1,6 @@
(setq org-directory "~/Org"
org-tags-column 0
org-modern-tag nil
org-journal-dir (expand-file-name "journal" org-directory)
org-journal-file-type 'daily
org-journal-file-format "%Y%m%d.org"
@ -50,12 +52,12 @@
:emptry-lines 1)
))
(setq khalel-import-org-file (expand-file-name "calendar.org" org-directory)
khalel-import-org-file-read-only nil
khalel-import-org-file-confirm-overwrite nil
khalel-import-start-date "-30d"
khalel-import-end-date "+30d")
(when (require 'khalel nil :noerror)
(setq khalel-import-org-file (expand-file-name "calendar.org" org-directory)
khalel-import-org-file-read-only nil
khalel-import-org-file-confirm-overwrite nil
khalel-import-start-date "-30d"
khalel-import-end-date "+30d")
(add-hook 'org-agenda-mode-hook #'khalel-import-events)
(khalel-add-capture-template "e"))

View file

@ -6,7 +6,7 @@
(project-find-dir "Find directory")
(project-eshell "Eshell")))
(when (require 'magit nil :noerror)
(setq magit-clone-default-directory "~/Projects/"))
(setq magit-clone-default-directory "~/Projects/")
(require 'magit nil :noerror)
(provide 'custom-project-config)

View file

@ -1,5 +1,5 @@
(when (require 'mastodon nil :noerror)
(setq mastodon-instance-url "https://tech.lgbt"
mastodon-active-user "Tux922"))
(setq mastodon-instance-url "https://tech.lgbt"
mastodon-active-user "Tux922")
(require 'mastodon nil :noerror)
(provide 'custom-social-config)

View file

@ -25,63 +25,74 @@
(load-theme 'doom-tokyo-night t))
;; Nerd-Icons modes
(when (require 'nerd-icons-dired nil :noerror)
(add-hook 'dired-mode-hook #'nerd-icons-dired-mode))
(when (require 'nerd-icons)
(when (require 'nerd-icons-dired nil :noerror)
(add-hook 'dired-mode-hook #'nerd-icons-dired-mode))
(when (require 'nerd-icons-ibuffer nil :noerror)
(add-hook 'ibuffer-mode-hook #'nerd-icons-ibuffer-mode))
(when (require 'nerd-icons-ibuffer nil :noerror)
(add-hook 'ibuffer-mode-hook #'nerd-icons-ibuffer-mode))
(when (require 'nerd-icons-completion nil :noerror)
(nerd-icons-completion-mode)
(when (require 'marginalia nil :noerror)
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup)))
(when (require 'nerd-icons-completion nil :noerror)
(nerd-icons-completion-mode)
(when (require 'marginalia nil :noerror)
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))))
;; Doom-Modeline
(setq doom-modeline-icon t
doom-modeline-mu4e t
doom-modeline-modal nil
doom-modeline-modal-icon nil
doom-modeline-persp-name nil
doom-modeline-persp-icon nil)
(when (require 'doom-modeline nil :noerror)
(setq doom-modeline-icon t
doom-modeline-mu4e t)
(display-battery-mode)
(doom-modeline-mode +1))
;; Dashboard
(when (require 'dashboard nil :noerror)
(setq initial-buffer-choice 'dashboard-open
dashboard-icon-type 'nerd-icons
dashboard-set-heading-icons t
dashboard-set-file-icons t
dashboard-set-navigator t
dashboard-set-init-info t
dashboard-startup-banner 'ascii
dashboard-projects-backend 'project-el
dashboard-projects-switch-function 'project-switch-project
dashboard-projects-show-base t
dashboard-recentf-show-base 'align
dashboard-items '((projects . 5) (agenda . 5) (recents . 5))
dashboard-banner-ascii (concat " .000000. \n"
" .0. .0. \n"
" .00. .00. \n"
" .000cl. .lc000. \n"
".0 0.\n"
"0. .o0000o. .0\n"
" 00 .0' '0. 00 \n"
" 00 .0 0. 00 \n"
" HHHHH HHHHHHHHHHHH HHHHH \n"
"HHHH HHH HHHHHHHHHHHHHH HHHH\n"
" HHHHHH HHHHHHHHH HHHHHHHH \n"
" HHH HHHH HHHHHHHHH HHHH \n"
" HHH HHHHHH \n"
" HHHHH HH \n")))
(setq initial-buffer-choice 'dashboard-open
dashboard-icon-type 'nerd-icons
dashboard-set-heading-icons t
dashboard-set-file-icons t
dashboard-set-navigator t
dashboard-set-init-info t
dashboard-startup-banner 'ascii
dashboard-projects-backend 'project-el
dashboard-projects-switch-function 'project-switch-project
dashboard-projects-show-base t
dashboard-recentf-show-base 'align
dashboard-items '((projects . 5)
(agenda . 5)
(recents . 5))
dashboard-heading-icons '((projects . "nf-oct-rocket")
(agenda . "nf-oct-calendar")
(recents . "nf-oct-history"))
dashboard-banner-ascii (concat " .000000. \n"
" .0. .0. \n"
" .00. .00. \n"
" .000cl. .lc000. \n"
".0 0.\n"
"0. .o0000o. .0\n"
" 00 .0' '0. 00 \n"
" 00 .0 0. 00 \n"
" HHHHH HHHHHHHHHHHH HHHHH \n"
"HHHH HHH HHHHHHHHHHHHHH HHHH\n"
" HHHHHH HHHHHHHHH HHHHHHHH \n"
" HHH HHHH HHHHHHHHH HHHH \n"
" HHH HHHHHH \n"
" HHHHH HH \n"))
(require 'dashboard nil :noerror)
;; Extra minor-modes
(when (require 'which-key nil :noerror)
(which-key-mode +1))
(when (require 'page-break nil :noerror)
(when (require 'page-break-lines nil :noerror)
(global-page-break-lines-mode +1))
;; Weather in modeline
(setq display-wttr-format 1)
(when (require 'display-wttr nil :noerror) (display-wttr-mode +1))
(when (require 'display-wttr nil :noerror)
(display-wttr-mode +1))
;;;; Help Buffers

View file

@ -210,6 +210,7 @@ in ''
bind = SUPER, W, moveworkspacetomonitor, 4 current
bind = SUPER, W, workspace, 4
bind = SUPER SHIFT, W, movetoworkspace, 4
windowrule = workspace 4, (chromium-browser)
windowrule = workspace 4, (firefox)
# 5: [f]iles

View file

@ -5,7 +5,6 @@ in {
"player-icons" = {
"default" = "󰲸";
"mpv" = "󰤽";
"kdeconnect" = "󱀟";
"ncspot" = "󰓇";
"Spot" = "󰓇";
};

View file

@ -1,8 +0,0 @@
{ config, lib, pkgs, ... }:
{
services.kdeconnect = {
enable = true;
indicator = true;
};
}

29
system/chromium.nix Normal file
View file

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; [ chromium ];
programs.chromium = rec {
enable = true;
defaultSearchProviderEnabled = true;
defaultSearchProviderSearchURL = "https://duckduckgo.com/?q={searchTerms}";
defaultSearchProviderSuggestURL = defaultSearchProviderSearchURL;
extensions = [
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
"gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
"fnaicdffflnofjppbagibeoednhnbjhg" # floccus bookmark sync
];
extraOpts = {
"BrowserSignin" = 0;
"DeviceAutoUpdateDisabled" = true;
"SyncDisabled" = true;
"PasswordManagerEnabled" = false;
"SpellcheckEnabled" = true;
"SpellcheckLanguage" = [ "en-GB" ];
"AllowDinosaurEasterEgg" = true;
"AllowSystemNotifications" = true;
"AutoFillEnabled" = false;
"BrowserLabsEnabled" = false;
"BookmarkBarEnabled" = true;
};
};
}

View file

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
{
imports = [ ./default.nix ./emacs.nix ./firefox.nix ];
imports = [ ./default.nix ./emacs.nix ./chromium.nix ];
environment.systemPackages = with pkgs; [
dex
mesa
@ -68,7 +68,6 @@
dconf.enable = true;
light.enable = true;
noisetorch.enable = true;
kdeconnect.enable = true;
};
gtk.iconCache.enable = true;
qt = {

View file

@ -64,12 +64,13 @@
mastodon
# ui-packages
all-the-icons
nerd-icons
nerd-icons-completion
nerd-icons-dired
nerd-icons-ibuffer
page-break-lines
# dashboard
dashboard
doom-modeline
helpful
which-key