From d43c1e768c0102387a7c1167b476bb0af2d21987 Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Fri, 17 Oct 2025 15:05:36 -0700 Subject: assembling big monorepo update --- config/elfeed.org | 28 +++++++++++++--- config/emacs.el | 5 ++- config/emacs.org | 98 ++++++++++++++++++++++++++++++++++--------------------- config/nix.org | 70 +++++++++++++++++++++++++++------------ 4 files changed, 137 insertions(+), 64 deletions(-) (limited to 'config') diff --git a/config/elfeed.org b/config/elfeed.org index 2f85143..4513359 100644 --- a/config/elfeed.org +++ b/config/elfeed.org @@ -34,6 +34,14 @@ This is a list of NASA feeds: These are YouTube channels that I find interesting enough to keep up with. Note that I keep up with a variety of thinkers that I may or may not disagree with, but they are nonetheless the most intellectual version of what their general cohort say: +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCKGCof63C6pLCFT4R6YPEtQ][Jred]] +This youtube channel is about existential dread apparently. I don't have such a thing but it's fun to watch anyways. +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCwVevVbti5Uuxj6Mkl5NHRA][Lemonade Stand]] +Podcast channel that talks about modern day economics. +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCSHZKyawb77ixDdsGog4iWA][Lex Fridman]] +He has some good guests on sometimes. +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCXl4i9dYBrFOabk0xGmbkRA][Dwarkesh Patel]] +Makes podcasts whose guests are usually AI researchers of some kind. *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UC1yNl2E66ZzKApQdRuTQ4tw][Sabine Hossenfelder]] Youtube channel about mostly physics related content (I do not endorse her views on string theory). *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UC7_gcs09iThXybpVgjHZ_7g][PBS Space Time]] @@ -56,6 +64,8 @@ Makes good videos about basically anything. Makes good videos about Linux and life stuff. *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCSNBahoyPlMUz-3U2e_Czcw][Bridges]] :podcast: This podcast is run by Destiny, and it features good guests. +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCgv4dPk_qZNAbUW9WkuLPSA][Atrioc]] +Features some good marketing and economics content. Big A is his secondary channel. *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCdBXOyqr8cDshsp7kcKDAkg][Big A]] Marketing Monday features good economics content. *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCTpmmkp1E4nmZqWPS-dl5bg][Quanta Magazine]] @@ -66,13 +76,23 @@ Videos about NRx. Linux videos. *** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCU1oodg2ptN51N5rwevwnng][Unlearning Economics]] Videos about economics from a Marxist perspective. +*** [[https://youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA][Veritasium]] +Makes good educational videos. ** Blogs :blog: Here are some interesting blogs, many of which are from substack. *** [[https://terrytao.wordpress.com/feed/][Terence Tao]] I like math. -*** [[https://graymirror.substack.com/feed][Gray Mirror]] -Curtis Yarvin is quite the interesting person. -*** [[https://www.richardhanania.com/feed][Richard Hanania]] -Richard is a political commentator. *** [[https://lukesmith.xyz/index.xml][Luke Smith]] :lukesmith: Luke Smith is quite the interesting person. +*** Substack :substack: +These are a list of all the substack blogs that exist. +**** [[https://graymirror.substack.com/feed][Gray Mirror]] +Curtis Yarvin is quite the interesting person. +**** [[https://www.richardhanania.com/feed][Richard Hanania]] +Richard is a political commentator. +**** [[https://paulkrugman.substack.com/feed][Paul Krugman]] +He makes good economics blogs as he used to be a professional economist. +**** [[https://www.overcomingbias.com/feed][Overcoming Bias]] +Makes the case for the glorious reign of Futarchy!! (Not what you think it is). +**** [[https://betonit.ai/feed][Bryan Caplan]] +Anarcho Capitalist person. diff --git a/config/emacs.el b/config/emacs.el index 21bef16..794d021 100644 --- a/config/emacs.el +++ b/config/emacs.el @@ -9,6 +9,9 @@ (warning-minimum-level :emergency "Supress emacs warnings") (confirm-kill-processes nil "Don't ask to quit") (debug-ignored-errors (cons 'remote-file-error debug-ignored-errors) "Remove annoying error from debug errors") +(browse-url-generic-program "firefox") +(browse-url-secondary-browser-function 'browse-url-generic) +(browse-url-browser-function 'browse-url-generic) ;; Mouse wheel (mouse-wheel-scroll-amount '(1 ((shift) . 1)) "Nicer scrolling") @@ -278,6 +281,7 @@ (doom-themes-visual-bell-config) (doom-themes-treemacs-config) (doom-themes-org-config)) +;; (load-theme 'catppuccin :no-confirm) (use-package writegood-mode :hook (text-mode . writegood-mode)) @@ -562,7 +566,6 @@ (search-engine-default "google" "Use google as default") (eww-search-prefix "https://google.com/search?q=" "Google prefix") - (browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "firefox" "Use firefox as secondary browser") :hook ((eww-mode . (lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url))))) (use-package org-roam diff --git a/config/emacs.org b/config/emacs.org index da749e0..72bf26c 100644 --- a/config/emacs.org +++ b/config/emacs.org @@ -14,7 +14,7 @@ is some imperative programming that must be done. Hooks are also largely declara configuration as they are also defined using the use-package macros. Some of these options will have documentation strings attached, so it is easy to follow what the individual options do. Emacs is self documenting, after all! -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package emacs :custom ;; global defaults @@ -26,6 +26,9 @@ Emacs is self documenting, after all! (warning-minimum-level :emergency "Supress emacs warnings") (confirm-kill-processes nil "Don't ask to quit") (debug-ignored-errors (cons 'remote-file-error debug-ignored-errors) "Remove annoying error from debug errors") + (browse-url-generic-program "firefox") + (browse-url-secondary-browser-function 'browse-url-generic) + (browse-url-browser-function 'browse-url-generic) ;; Mouse wheel (mouse-wheel-scroll-amount '(1 ((shift) . 1)) "Nicer scrolling") @@ -128,7 +131,7 @@ little in config as possible. I hardly consider most of this configuration to be of course Emacs was not designed to be fully imperative. ** Org Mode This is my org mode configuration, which also configures latex. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package org :hook ((org-mode-hook . (lambda () (remove-hook 'post-self-insert-hook #'yaml-electric-bar-and-angle t)))) @@ -144,7 +147,7 @@ This is my org mode configuration, which also configures latex. (TeX-engine 'xetex "set xelatex as default engine") (preview-default-option-list '("displaymath" "textmath" "graphics") "preview latex") (preview-image-type 'png "Use PNGs") - (org-format-latex-options (plist-put org-format-latex-options :scale 1.5) "space latex better") +;; (org-format-latex-options (plist-put org-format-latex-options :scale 1.5) "space latex better") (org-return-follows-link t "be able to follow links without mouse") (org-habit-preceding-days 7 "See org habit entries") (org-habit-following-days 35 "See org habit entries") @@ -191,27 +194,27 @@ As you can see, I only have one real entry in config here (I don't count require they have to be on the top) * Unicode I want emacs to have unicode fonts. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package unicode-fonts :init (unicode-fonts-setup)) #+end_src * Autopair Use electric-pair to automatically complete pairs of things. We need to change what electric-pair does based on the mode. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package electric-pair :hook ((prog-mode . electric-pair-mode) (org-mode . (lambda () (setq-local electric-pair-inhibit-predicate (lambda (c) (if (eq c ?<) t (electric-pair-default-inhibit c)))))))) #+end_src * Search and Replace wgrep is a program that allows you to do more intelligent search and replace. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package wgrep :after grep) #+end_src * Passwords This is a function that inserts a random password into the buffer. I use this to manage sops-nix. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (defun insert-urandom-password (&optional length) (interactive "P") (let ((length (or length 32)) @@ -227,12 +230,12 @@ This is a function that inserts a random password into the buffer. I use this to * Fragtog This package is used to generate previews automatically when your cursor hovers over a latex snippet. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package org-fragtog :hook (org-mode . org-fragtog-mode)) #+end_src * Snippets Yasnippets are useful for macros that automatically complete to an arbitrary form. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package yasnippet :config (add-to-list 'yas-snippet-dirs "~/monorepo/yasnippet/") @@ -241,7 +244,7 @@ Yasnippets are useful for macros that automatically complete to an arbitrary for #+end_src * Completion Company-mode! We need this to do autocomplete stuff. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package company :config '(add-to-list 'company-backends '(company-ispell company-capf company-yasnippet company-files)) @@ -250,7 +253,7 @@ Company-mode! We need this to do autocomplete stuff. * Spelling This loads a dictionary so that I can save certain words to be not misspelled and also have this spellcheck during org mode. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package ispell :custom (ispell-program-name "aspell" "use aspell") @@ -263,7 +266,7 @@ this spellcheck during org mode. #+end_src * Packages First, some small configurations and some evil-mode initilaization because I like vim keybindings: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package evil :custom (evil-want-keybinding nil "Don't load a whole bunch of default keybindings") @@ -308,7 +311,7 @@ First, some small configurations and some evil-mode initilaization because I lik #+end_src ** Journal I use org-journal to journal about my life, and it's a part of my website: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package org-journal :after (org) :custom @@ -329,7 +332,7 @@ I use org-journal to journal about my life, and it's a part of my website: #+end_src ** Doom Modeline The default modeline is ugly. I replace it with the doom modeline because it's better. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package doom-modeline :config (doom-modeline-mode 1)) @@ -337,7 +340,7 @@ The default modeline is ugly. I replace it with the doom modeline because it's b *** Doom Theme I used to use catppuccin, but the doom themes are so good that I am willing to break some theme consistency with my desktop in order to use doom themes. I mean it looks better anyways if emacs is a distinct theme. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package doom-themes :ensure t :custom @@ -350,23 +353,24 @@ to use doom themes. I mean it looks better anyways if emacs is a distinct theme. (doom-themes-visual-bell-config) (doom-themes-treemacs-config) (doom-themes-org-config)) + ;; (load-theme 'catppuccin :no-confirm) #+end_src ** Grammar I want to write good! I grammar good too. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package writegood-mode :hook (text-mode . writegood-mode)) #+end_src ** Make Org Look Better Org superstar adds those nice looking utf-8 bullets: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package org-superstar :after (org) :hook (org-mode . (lambda () (org-superstar-mode 1)))) #+end_src ** LSP We set up eglot, the LSP manager for emacs, now built in: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el ;; (use-package eglot ;; :hook ;; (prog-mode . eglot-ensure) @@ -396,7 +400,7 @@ We set up eglot, the LSP manager for emacs, now built in: #+end_src *** C/C++ Specific configuration for C (I also use the clangd lsp): -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package irony-mode :hook ( (c++-mode . irony-mode) @@ -409,7 +413,7 @@ Specific configuration for C (I also use the clangd lsp): #+end_src *** Solidity For writing solidity: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package solidity-mode) (use-package company-solidity) (use-package solidity-flycheck @@ -418,7 +422,7 @@ For writing solidity: #+end_src ** Projectile Manages projects and shit. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package projectile :custom (projectile-project-search-path '("~/org" "~/src" "~/monorepo" "~/projects") "search path for projects") @@ -427,7 +431,7 @@ Manages projects and shit. #+end_src ** Dashboard We want our emacs initialization to be pretty and display useful things. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package dashboard :after (projectile) :custom @@ -446,7 +450,7 @@ We want our emacs initialization to be pretty and display useful things. #+end_src ** Ivy Ivy is a pretty cool general program for displaying stuff: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package counsel) (use-package ivy @@ -475,12 +479,12 @@ Ivy is a pretty cool general program for displaying stuff: I use it for an M-x replacement and a dired replacement, among other things. ** Magit I use magit in order to do all my git management in emacs. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package magit) #+end_src ** IRC Configure IRC to use my username. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package erc :custom (erc-nick system-username "sets erc username to the one set in nix config") @@ -490,7 +494,7 @@ Configure IRC to use my username. Global keybindings for everything that I care about globally. It's all here! I use general to manage my global keybindings in a declarative way. These are in part inspired by the doom emacs keybindings. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package general :init (defun prestonpan () @@ -588,7 +592,7 @@ emacs keybindings. ** LLM I use LLMs in order to help me come up with ideas. I use a local LLM so that I can have a competitive LLM that doesn't cost money. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package ellama :custom (ellama-sessions-directory "~/org/ellama/" "Set org directory for LLM sessions") @@ -601,7 +605,7 @@ competitive LLM that doesn't cost money. *** Minuet Minuet does my code completion, showing the potential code completion as a ghost and automatically completing the code when my cursor is still. It is kind of like copilot but it works with local LLMs, which is better. Though, it's obviously not always the most accurate. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package minuet :bind (("M-y" . #'minuet-complete-with-minibuffer) @@ -631,10 +635,14 @@ still. It is kind of like copilot but it works with local LLMs, which is better. ** RSS Feed I use really simple syndication (RSS) in order to read news. As a result, I use elfeed to fetch feeds found on my website: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package elfeed :custom (elfeed-search-filter "@1-month-ago +unread" "Only display unread articles from a month ago") + + :config + (run-with-timer 0 (* 60 60 4) 'elfeed-update) + :hook ((elfeed-search-mode . elfeed-update))) (use-package elfeed-org @@ -646,7 +654,7 @@ elfeed to fetch feeds found on my website: *** Youtube Then we set up elfeed-tube for Youtube video RSS feeds (so I don't ever have to use the web interface and can control it from emacs): -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package elfeed-tube :after elfeed :demand t @@ -670,7 +678,7 @@ interface and can control it from emacs): ** Project Drawer I use treemacs as my sidebar for projects, so that I can easily navigate to any file in the project directory. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package treemacs) (use-package treemacs-evil :after (treemacs evil)) @@ -682,7 +690,7 @@ project directory. ** Eww Used only for the purpose of viewing RSS feed items in emacs if I can, only resorting to Chromium if I have to: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package eww :custom (search-engines @@ -694,12 +702,11 @@ to Chromium if I have to: (search-engine-default "google" "Use google as default") (eww-search-prefix "https://google.com/search?q=" "Google prefix") - (browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "firefox" "Use firefox as secondary browser") :hook ((eww-mode . (lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url))))) #+end_src ** Org Roam For all my mathematics and programming notes: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package org-roam :after (org) :custom @@ -727,14 +734,14 @@ For all my mathematics and programming notes: ** Pinentry Set up pinentry so that I can use emacs as my pinentry frontend: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package pinentry :custom (epa-pinentry-mode `loopback "Set this option to match gpg-agent.conf") :config (pinentry-start)) #+end_src ** Email Email in emacs can be done with Mu4e. -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package smtpmail :custom (user-mail-address system-email "Use our email") @@ -768,7 +775,7 @@ Email in emacs can be done with Mu4e. #+end_src ** Music Set up emms in order to play music from my music directory: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package emms :custom (emms-source-file-default-directory (expand-file-name "~/music/") "Use directory specified in Nix") @@ -782,10 +789,25 @@ Set up emms in order to play music from my music directory: (add-to-list 'emms-player-list 'emms-player-mpd) :config (emms-player-mpd-connect)) #+end_src +** Tabs +I use tabs because sometimes I like using the mouse (it's actually more efficient to have the option for both, trust me. Keyboards aren't all it). +#+begin_src emacs-lisp :tangle ../nix/init.el + (use-package centaur-tabs + :custom + (centaur-tabs-set-icons t "use icons for centaur-tabs") + (centaur-tabs-set-modified-marker t "show when buffer modified") + (centaur-tabs-icon-type 'all-the-icons "use all-the-icons for icons") + :demand + :config + (centaur-tabs-mode t) + :bind + ("C-" . centaur-tabs-backward) + ("C-" . centaur-tabs-forward)) +#+end_src * Unpinned ** Lean4 For some reason, lean4-mode is not in MELPA currently so I have to do this ugly thing: -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle ../nix/init.el (use-package lean4-mode :commands lean4-mode :vc (:url "https://github.com/leanprover-community/lean4-mode.git" diff --git a/config/nix.org b/config/nix.org index 90ae727..76dbf0b 100644 --- a/config/nix.org +++ b/config/nix.org @@ -601,12 +601,26 @@ I use IPFS for my website and also for my ISOs for truly declarative and determi configuration. NixOS might be moving to IPFS for binary cache distribution and package distribution soon, and I'm waiting on that. #+begin_src nix :tangle ../nix/modules/kubo.nix -{ config, pkgs, lib, ... }: -{ - services.kubo = { - enable = lib.mkDefault config.monorepo.profiles.workstation.enable; - }; -} + { config, pkgs, lib, ... }: + { + services.kubo = { + enable = lib.mkDefault config.monorepo.profiles.workstation.enable; + autoMount = false; + enableGC = true; + settings = { + Addresses.API = [ + "/ip4/127.0.0.1/tcp/5001" + ]; + Bootstrap = [ + "/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu" + "/ip4/162.243.248.213/tcp/4001/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm" + ]; + Datastore = { + StorageMax = "20GB"; + }; + }; + }; + } #+end_src ** TODO Murmur #+begin_src nix :tangle ../nix/modules/murmur.nix @@ -1692,7 +1706,7 @@ because they enhance security. nix = { settings = { - experimental-features = "nix-command flakes"; + experimental-features = "nix-command flakes ca-derivations"; trusted-users = [ "@wheel" ]; }; }; @@ -2404,17 +2418,18 @@ as an org file which gets automatically tangled to an emacs-lisp file. (setq system-email "${config.monorepo.profiles.email.email}") (setq system-username "${config.monorepo.vars.internetName}") (setq system-fullname "${config.monorepo.vars.fullName}") - (org-babel-load-file - (expand-file-name "~/${config.monorepo.vars.repoName}/config/emacs.org"))''; + (load "${pkgs.writeText "init.el" (builtins.readFile ../../init.el)}") + ''; + extraPackages = epkgs: [ epkgs.agda2-mode epkgs.all-the-icons epkgs.auctex epkgs.catppuccin-theme - epkgs.chatgpt-shell epkgs.company epkgs.company-solidity epkgs.counsel + epkgs.centaur-tabs epkgs.dashboard epkgs.doom-themes epkgs.doom-modeline @@ -2631,7 +2646,10 @@ to use this component will come soon. "$mod SHIFT, L, movewindow, r" "$mod SHIFT, K, movewindow, u" "$mod SHIFT, J, movewindow, d" - "$mod, T, togglefloating" + + "$mod SHIFT, T, togglefloating" + "$mod SHIFT, F, fullscreen" + "$mod, H, movefocus, l" "$mod, L, movefocus, r" "$mod, K, movefocus, u" @@ -2933,9 +2951,26 @@ here: { gtk = { theme = { - package = pkgs.catppuccin-gtk; + name = "catppuccin-mocha-pink-standard"; + package = pkgs.catppuccin-gtk.override { + variant = "mocha"; + accents = [ "pink" ]; + }; }; }; + xdg.configFile = { + "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; + "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; + "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; + + "gtk-3.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-3.0/gtk.css"; + "gtk-3.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-3.0/gtk-dark.css"; + "gtk-3.0/settings.ini".text = '' + [Settings] + gtk-theme-name=${config.gtk.theme.name} + gtk-application-prefer-dark-theme=1 + ''; + }; } #+end_src *** Secrets @@ -3605,13 +3640,13 @@ for these configurations. # Apps # octaveFull - vesktop grim swww vim telegram-desktop qwen-code fluffychat + vesktop grim swww vim telegram-desktop qwen-code fluffychat jami # Sound/media pavucontrol alsa-utils imagemagick ffmpeg helvum # Net - curl rsync git iamb + curl rsync git iamb ungoogled-chromium # Tor torsocks tor-browser @@ -3711,13 +3746,6 @@ for these configurations. }; programs.bash.enable = true; - - gtk = { - enable = lib.mkDefault config.monorepo.profiles.graphics.enable; - theme = null; - iconTheme = null; - }; - fonts.fontconfig.enable = true; } #+end_src -- cgit v1.3