From b14a2991b22e7dc5cd3a6a245d63a9c6897ba4a7 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Sun, 5 Nov 2023 05:55:52 +0000 Subject: [PATCH] Switch back to catppuccin (macchiato) Move emacs config from system level to home-manager to make use of stylix theming Add git-gutter package for emacs --- flake.nix | 4 +- home/emacs/default.nix | 181 +++++++++++++++++++------ home/emacs/modules/custom-ui-config.el | 14 +- home/hyprland/gtk.nix | 9 +- system/desktop.nix | 2 +- system/emacs.nix | 95 ------------- 6 files changed, 149 insertions(+), 156 deletions(-) delete mode 100644 system/emacs.nix diff --git a/flake.nix b/flake.nix index 10e827f2..1a49b057 100644 --- a/flake.nix +++ b/flake.nix @@ -129,9 +129,11 @@ stylix = { image = ./wallpapers/default.jpg; base16Scheme = - "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml"; + "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml"; polarity = "dark"; opacity = { + applications = 0.8; + desktop = 0.5; popups = 0.5; terminal = 0.8; }; diff --git a/home/emacs/default.nix b/home/emacs/default.nix index 021080ee..c2940443 100644 --- a/home/emacs/default.nix +++ b/home/emacs/default.nix @@ -1,13 +1,99 @@ { config, pkgs, crafted-emacs, ... }: { - stylix.targets.emacs.enable = false; xdg.configFile = { "emacs/init.el".source = ./init.el; "emacs/snippets".source = ./snippets; "emacs/modules".source = ./modules; "emacs/crafted-emacs".source = crafted-emacs; }; + programs.emacs = { + enable = true; + package = pkgs.emacs29-pgtk; + extraPackages = epkgs: + with epkgs; [ + # theme-packages + doom-themes + + # completion-packages + cape + consult + corfu + corfu-terminal + embark + embark-consult + marginalia + orderless + vertico + + # ide-packages + editorconfig + aggressive-indent + ibuffer-project + treesit-grammars.with-all-grammars + treesit-auto + apheleia + direnv + goto-chg + rainbow-delimiters + yasnippet + yasnippet-snippets + nix-mode + rust-mode + + # media-packages + emms + + # org-packages + org-roam + org-appear + org-cliplink + org-journal + org-modern + citar + citar-embark + citar-org-roam + khalel + + # project-packages + magit + git-gutter + + # social-packages + mastodon + + # ui-packages + all-the-icons + nerd-icons + nerd-icons-completion + nerd-icons-dired + nerd-icons-ibuffer + page-break-lines + dashboard + doom-modeline + helpful + which-key + link-hint + + # writing-packages + pdf-tools + markdown-mode + pandoc-mode + auctex + auctex-latexmk + + # email-packages + mu4e + mu4e-alert + + # feed-packages + elfeed + elfeed-org + elfeed-webkit + elfeed-tube + elfeed-tube-mpv + ]; + }; services.git-sync = { enable = true; repositories = with config.home; { @@ -25,50 +111,57 @@ }; }; }; - home = { - packages = with pkgs; [ - # Language-specific requirements - sqlite - pandoc - gfortran - rustup - texlive.combined.scheme-full - ghostscript - mupdf - (python3.withPackages - (ps: with ps; [ python-lsp-server python-lsp-ruff pylsp-mypy ])) + home.packages = with pkgs; [ + # Emacs requirements + coreutils + fd + ripgrep + imagemagick + languagetool + wordnet + (aspellWithDicts (ds: with ds; [ en en-computers en-science ])) - # Linters - nodePackages.stylelint + # Language-specific requirements + sqlite + pandoc + gfortran + rustup + texlive.combined.scheme-full + ghostscript + mupdf + (python3.withPackages + (ps: with ps; [ python-lsp-server python-lsp-ruff pylsp-mypy ])) - # Formatters - nixfmt - beautysh - black - isort - nodePackages.fixjson - fprettify - shellharden - shfmt - stylua - python3Packages.mdformat - html-tidy - nodePackages.js-beautify + # Linters + nodePackages.stylelint - # LSP Servers - nixd - fortls - shellcheck - marksman - luajitPackages.lua-lsp - # nodePackages.pyright - nodePackages.yaml-language-server - nodePackages.bash-language-server - nodePackages.javascript-typescript-langserver - nodePackages.vscode-html-languageserver-bin - nodePackages.vscode-css-languageserver-bin - nodePackages.vscode-json-languageserver-bin - nodePackages.dockerfile-language-server-nodejs - ]; - }; + # Formatters + nixfmt + beautysh + black + isort + nodePackages.fixjson + fprettify + shellharden + shfmt + stylua + python3Packages.mdformat + html-tidy + nodePackages.js-beautify + + # LSP Servers + nixd + fortls + shellcheck + marksman + luajitPackages.lua-lsp + # nodePackages.pyright + nodePackages.yaml-language-server + nodePackages.bash-language-server + nodePackages.javascript-typescript-langserver + nodePackages.vscode-html-languageserver-bin + nodePackages.vscode-css-languageserver-bin + nodePackages.vscode-json-languageserver-bin + nodePackages.dockerfile-language-server-nodejs + ]; } diff --git a/home/emacs/modules/custom-ui-config.el b/home/emacs/modules/custom-ui-config.el index 32d7a55c..26c6cb11 100644 --- a/home/emacs/modules/custom-ui-config.el +++ b/home/emacs/modules/custom-ui-config.el @@ -12,25 +12,20 @@ truncate-lines nil truncate-partial-width-windows nil) -(defun my/set-frame-alpha () (set-frame-parameter nil 'alpha-background 80)) - (menu-bar-mode -1) (tab-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) -(add-to-list 'default-frame-alist '(font . "FiraCode Nerd Font-12")) (line-number-mode) (global-display-line-numbers-mode -1) (global-prettify-symbols-mode +1) (global-visual-line-mode +1) -(set-frame-parameter nil 'alpha-background 80) -(add-hook 'server-after-make-frame-hook (lambda () (set-frame-parameter nil 'alpha-background 80))) - -(when (require 'doom-themes nil :noerror) - (load-theme 'doom-tokyo-night t)) +;; (set-frame-font "FiraCode Nerd Font-12") +;; (set-frame-parameter nil 'alpha-background 80) ;; Nerd-Icons modes (when (require 'nerd-icons) + (nerd-icons-set-font "Symbols Nerd Font Mono") (when (require 'nerd-icons-dired nil :noerror) (add-hook 'dired-mode-hook #'nerd-icons-dired-mode)) @@ -87,6 +82,9 @@ (add-hook 'dashboard-mode-hook #'khalel-import-events)) ;; Extra minor-modes +(when (require 'git-gutter nil :noerror) + (global-git-gutter-mode +1)) + (when (require 'which-key nil :noerror) (which-key-mode +1)) diff --git a/home/hyprland/gtk.nix b/home/hyprland/gtk.nix index 680ec368..b4de692e 100644 --- a/home/hyprland/gtk.nix +++ b/home/hyprland/gtk.nix @@ -1,21 +1,16 @@ { pkgs, ... }: { - stylix.targets.gtk.enable = false; gtk = { enable = true; cursorTheme = { - package = pkgs.volantes-cursors; - name = "volantes_cursors"; + package = pkgs.catppuccin-cursors.macchiatoDark; + name = "Catppuccin-Macchiato-Dark-Cursors"; }; iconTheme = { package = pkgs.papirus-icon-theme; name = "Papirus-Dark"; }; - theme = { - package = pkgs.tokyo-night-gtk; - name = "Tokyonight-Dark-BL"; - }; }; xdg.configFile."gtklock/config.ini".text = let powerbar = "${pkgs.gtklock-powerbar-module}/lib/gtklock/powerbar-module.so"; diff --git a/system/desktop.nix b/system/desktop.nix index d32f6518..980c73c1 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ./default.nix ./emacs.nix ./chromium.nix ]; + imports = [ ./default.nix ]; environment.systemPackages = with pkgs; [ dex mesa diff --git a/system/emacs.nix b/system/emacs.nix deleted file mode 100644 index 9f17a5cb..00000000 --- a/system/emacs.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - coreutils - fd - ripgrep - imagemagick - languagetool - wordnet - (aspellWithDicts (ds: with ds; [ en en-computers en-science ])) - ((emacsPackagesFor emacs29-pgtk).emacsWithPackages (epkgs: - with epkgs; [ - # theme-packages - doom-themes - - # completion-packages - cape - consult - corfu - corfu-terminal - embark - embark-consult - marginalia - orderless - vertico - - # ide-packages - editorconfig - aggressive-indent - ibuffer-project - treesit-grammars.with-all-grammars - treesit-auto - apheleia - direnv - goto-chg - rainbow-delimiters - yasnippet - yasnippet-snippets - nix-mode - rust-mode - - # media-packages - emms - - # org-packages - org-roam - org-appear - org-cliplink - org-journal - org-modern - citar - citar-embark - citar-org-roam - khalel - - # project-packages - magit - - # social-packages - mastodon - - # ui-packages - all-the-icons - nerd-icons - nerd-icons-completion - nerd-icons-dired - nerd-icons-ibuffer - page-break-lines - dashboard - doom-modeline - helpful - which-key - link-hint - - # writing-packages - pdf-tools - markdown-mode - pandoc-mode - auctex - auctex-latexmk - - # email-packages - mu4e - mu4e-alert - - # feed-packages - elfeed - elfeed-org - elfeed-webkit - elfeed-tube - elfeed-tube-mpv - ])) - ]; -}