summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.org39
-rw-r--r--config/emacs.el20
-rw-r--r--config/emacs.org20
-rw-r--r--config/nix.org2264
-rw-r--r--index.org2
-rw-r--r--journal/20240301.org11
-rw-r--r--mindmap/limit.org48
-rw-r--r--mindmap/ltximg/org-ltximg_02aa3ea174cc91456ea23713ffe95af053dcb277.pngbin0 -> 1470 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_0447ca2e63ccd0dd90f39c00f82c80bc1cbe8691.pngbin0 -> 224 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_117619bf26ee5cdc69145c7ed2c2b224b89157f1.pngbin0 -> 1815 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_19e116a4a198d0ce1dc6d9f9887790227d19e957.pngbin0 -> 1813 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_1c29e37ce0eb6a769c8b3f764b69522814cd276f.pngbin0 -> 247 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_23da09acf7c1c8d9e80aa074db5770053e61da4f.pngbin0 -> 805 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_27244e5b74b849f9b81d99797b3bd149296780fc.pngbin0 -> 319 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_2e882e7c90999ce3a67b3c7a8ff96f2a52c73f11.pngbin0 -> 246 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_3031ae29e601c6ac7ecc06693f894f145327ab9d.pngbin0 -> 265 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_311efb83a45287d808391c0fb75227a21d372f1c.pngbin0 -> 960 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_3494ac98fc90ad51d44be7f0bddfda7149ce8042.pngbin0 -> 1504 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_362848eb7906c9ed12c9c604b7ea46dcbb475963.pngbin0 -> 1428 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_36a9152abe257356e10d6bcf14b90f467755ea8a.pngbin0 -> 1428 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_3910faf9acf212232795e93c3510d0fe97468015.pngbin0 -> 1513 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_3b801c9dd1e409d443c9c7a9e6e56cec2659e2c7.pngbin0 -> 628 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_4a00d3f9faf6b95dcf6784b6f9242a10c0490d4b.pngbin0 -> 1042 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_4d0d3071a4f57e81d06a60024812fa709c226a13.pngbin0 -> 1813 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_4ea98c9bb08f07f584f8c5412432c67c3b0a6e6f.pngbin0 -> 699 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_6902b949dc40801941d169abb6484f949be7deca.pngbin0 -> 502 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_7257612d877b79f25160876e21c09f4a477eb402.pngbin0 -> 1951 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_8975639a2a55c6690a74f716ea57a8b344d56465.pngbin0 -> 484 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_89fffb6e58aaca63705d0802a5198e2a44b521ee.pngbin0 -> 1064 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_8daf51c4403546d8b411e27b57b947181766471b.pngbin0 -> 254 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_9418fd90c2cdbf77a1865932d89612ee24845a24.pngbin0 -> 187 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_9dae828b4101a47202d449c337e4e360e5b9032e.pngbin0 -> 562 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_a313fb998dcfa9c71cf9f6a0599dda7092c147c3.pngbin0 -> 1400 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_a4b84a731b6c881bbdc914223bc8e34684a5e351.pngbin0 -> 265 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_a51cf9411c47550152d2e408a23ef1f32d81e13a.pngbin0 -> 1857 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_b22bea268ced4d8ef1dfa95434f2ac46b41cd376.pngbin0 -> 1492 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_bd02c2602c5f17e82648a9b183440f1dac90bb9c.pngbin0 -> 250 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_bd64b6295265bbcd10591dbdda2a7089a6930bc0.pngbin0 -> 420 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_c6a81bcc6ef74a723c73b2b8e30030118c53f95d.pngbin0 -> 1104 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_c94999ae9316287e809dabd9fc494e1c9b34a387.pngbin0 -> 1781 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_ca153f1fdee390f625c656282b2c40d4e0a291d6.pngbin0 -> 1391 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_d6bcca9d646fcb8ca99c61db97e8acb458b2b8f2.pngbin0 -> 1490 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_dfcad877d792037fb38843d7883bdeeb82eaad9d.pngbin0 -> 1949 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_e80960665bf0d91ee0770469f237c39dcfe22b98.pngbin0 -> 1781 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_ebd769de777728ae8dde51dc94c51ad64963244e.pngbin0 -> 305 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_ef4bb2859aff03c92a09e6a971ada1b8f17a9c39.pngbin0 -> 1428 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_f9d4fb0fcdd5debe5b000b7b272bd04d6d8298b9.pngbin0 -> 720 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_fa16adefafa2a4d0f294d224c776253425d38b95.pngbin0 -> 785 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_fc2b866227121d901dcbc062e4a8f3fbbc121bf8.pngbin0 -> 1428 bytes
-rw-r--r--mindmap/ltximg/org-ltximg_fe265cc5bfe020b69154d212c1f40dcd7cc2cfd6.pngbin0 -> 947 bytes
-rw-r--r--mindmap/partial derivative.org2
51 files changed, 1262 insertions, 1144 deletions
diff --git a/README.org b/README.org
index c3133ae..6e2a7b3 100644
--- a/README.org
+++ b/README.org
@@ -20,5 +20,44 @@ as well as writing a lot of things with a literate config.
** So, where is this website of yours located?
https://ret2pop.nullring.xyz, it is the road to enlightenment.
+* Wait, so where are your dotfiles?
+To use my dotfiles, clone this repository:
+#+begin_src bash
+git clone https://github.com/ret2pop/ret2pop-website.git ~/org/website
+#+end_src
+and install my ~configuration.nix~ file. The org files /are/ the dotfiles, or
+at least in the case of emacs.
+
+To use my full system, you also need to have a ~password-store~ from the ~pass~
+password manager in its standard location with an entry called ~Mail~, and you need
+to clone my [[https://github.com/ret2pop/wallpapers.git][wallpapers]] repository. Therefore, in full, my configuration can be fully
+installed like so:
+#+begin_src bash
+ # Run this in root, and after copying the configuration.nix file and running nixos-rebuild switch.
+ # You must also change the gpg key used for git and pass. Make sure
+ # you've installed your gpg keys and your ssh keys before this.
+ # Install your music to ~/music. Of course, also change your location
+ # of stuff like your mail server.
+ su preston # if you change your username, change this too
+ cd ~
+ mkdir ~/org
+ # if you want to make this process deterministic, clone a particular commit
+ git clone https://github.com/ret2pop/ret2pop-website.git ~/org/website
+ git clone https://github.com/ret2pop/wallpapers.git
+ # replace this with your password-store
+ git clone git@nullring.xyz:/var/www/password_store.git ~/.password-store/
+ mbsync prestonpan # change this with your own name in the nix config and here
+ # TODO: mu init/index
+ mpc add /
+
+ # Afterwards, open firefox, enable all the plugins that are already installed,
+ # and install the catppuccin firefox theme. For vencord, use the catppuccin
+ # betterdiscord theme; open emacs and run pdf-tools-install, nerd-icons-install-fonts,
+ # and all-the-icons-install-fonts. These things are not completely set up for you but
+ # the good news is that the vast majority of the functionality is included.
+
+#+end_src
+Without the comments, it is a 10 line program that installs everything needed to run my system,
+and configures those programs as well!
* License
See the [[file:LICENSE.org][license]]. The style.css has its own license.
diff --git a/config/emacs.el b/config/emacs.el
index 3e3c1c2..03eefef 100644
--- a/config/emacs.el
+++ b/config/emacs.el
@@ -12,9 +12,9 @@
(setq make-backup-files nil)
(setq org-export-with-broken-links t)
(setq org-src-fontify-natively t)
+(setq org-highlight-latex-and-related '(latex script entities))
(setq warning-minimum-level :emergency)
(add-hook 'text-mode-hook 'visual-line-mode)
-(add-hook 'after-save-hook 'eglot-format)
(setq debug-ignored-errors
(cons 'remote-file-error debug-ignored-errors))
@@ -58,10 +58,16 @@
Otherwise, just insert the typed character."
(interactive)
(if (eolp) (let (parens-require-spaces) (insert-pair)) (self-insert-command 1)))
+
(add-hook 'org-mode-hook
(lambda ()
(define-key org-mode-map "\"" 'electric-pair)
- (define-key org-mode-map "\'" 'electric-pair)
+ (define-key org-mode-map "(" 'electric-pair)
+ (define-key org-mode-map "[" 'electric-pair)
+ (define-key org-mode-map "{" 'electric-pair)))
+(add-hook 'prog-mode-hook
+ (lambda ()
+ (define-key org-mode-map "\"" 'electric-pair)
(define-key org-mode-map "(" 'electric-pair)
(define-key org-mode-map "[" 'electric-pair)
(define-key org-mode-map "{" 'electric-pair)))
@@ -210,6 +216,7 @@ Otherwise, just insert the typed character."
"m P p" 'org-publish
"s e" 'sudo-edit
"m m" 'emms
+ "f f" 'eglot-format
"h m" '(woman :wk "Manual")
"h r r" '(lambda () (interactive) (org-babel-load-file (expand-file-name "~/org/website/config/emacs.org")))
))
@@ -241,12 +248,15 @@ Otherwise, just insert the typed character."
(use-package org-roam
:init
+ (setq org-roam-db-update-on-save t)
(setq org-roam-graph-viewer "firefox")
(setq org-roam-directory (file-truename "~/org/website/mindmap"))
(setq org-roam-capture-templates '(("d" "default" plain "%?"
- :target (file+head "${title}.org"
- "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
- :unnarrowed t))))
+ :target (file+head "${title}.org"
+ "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
+ :unnarrowed t)))
+ :config
+ (org-roam-db-autosync-mode))
(use-package pinentry
:init (setq epa-pinentry-mode `loopback)
diff --git a/config/emacs.org b/config/emacs.org
index ff6342e..ffd2d3a 100644
--- a/config/emacs.org
+++ b/config/emacs.org
@@ -26,9 +26,9 @@ emacs work in a semi-sane way and make it not look completely ugly:
(setq make-backup-files nil)
(setq org-export-with-broken-links t)
(setq org-src-fontify-natively t)
+ (setq org-highlight-latex-and-related '(latex script entities))
(setq warning-minimum-level :emergency)
(add-hook 'text-mode-hook 'visual-line-mode)
- (add-hook 'after-save-hook 'eglot-format)
(setq debug-ignored-errors
(cons 'remote-file-error debug-ignored-errors))
#+end_src
@@ -88,10 +88,16 @@ what electric-pair does based on the mode.
Otherwise, just insert the typed character."
(interactive)
(if (eolp) (let (parens-require-spaces) (insert-pair)) (self-insert-command 1)))
+
(add-hook 'org-mode-hook
(lambda ()
(define-key org-mode-map "\"" 'electric-pair)
- (define-key org-mode-map "\'" 'electric-pair)
+ (define-key org-mode-map "(" 'electric-pair)
+ (define-key org-mode-map "[" 'electric-pair)
+ (define-key org-mode-map "{" 'electric-pair)))
+ (add-hook 'prog-mode-hook
+ (lambda ()
+ (define-key org-mode-map "\"" 'electric-pair)
(define-key org-mode-map "(" 'electric-pair)
(define-key org-mode-map "[" 'electric-pair)
(define-key org-mode-map "{" 'electric-pair)))
@@ -274,6 +280,7 @@ Ivy is a pretty cool general program for displaying stuff:
"m P p" 'org-publish
"s e" 'sudo-edit
"m m" 'emms
+ "f f" 'eglot-format
"h m" '(woman :wk "Manual")
"h r r" '(lambda () (interactive) (org-babel-load-file (expand-file-name "~/org/website/config/emacs.org")))
))
@@ -316,12 +323,15 @@ For all my mathematics and programming notes:
#+begin_src emacs-lisp
(use-package org-roam
:init
+ (setq org-roam-db-update-on-save t)
(setq org-roam-graph-viewer "firefox")
(setq org-roam-directory (file-truename "~/org/website/mindmap"))
(setq org-roam-capture-templates '(("d" "default" plain "%?"
- :target (file+head "${title}.org"
- "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
- :unnarrowed t))))
+ :target (file+head "${title}.org"
+ "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
+ :unnarrowed t)))
+ :config
+ (org-roam-db-autosync-mode))
#+end_src
** Pinentry
Set up pinentry so that I can use emacs as my pinentry frontend:
diff --git a/config/nix.org b/config/nix.org
index 5251748..8af80ff 100644
--- a/config/nix.org
+++ b/config/nix.org
@@ -4,1295 +4,1295 @@
#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" />
* Configuration
-#+begin_src nix :tangle t
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
+#+begin_src nix :tangle
+ # Edit this configuration file to define what should be installed on
+ # your system. Help is available in the configuration.nix(5) man page
+ # and in the NixOS manual (accessible by running ‘nixos-help’).
-{ config, pkgs, ... }:
+ { config, pkgs, ... }:
-{
- imports =
- [
- # Include the results of the hardware scan.
- ./hardware-configuration.nix
- <home-manager/nixos>
- ];
-
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
+ {
+ imports =
+ [
+ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ <home-manager/nixos>
+ ];
- networking.hostName = "continuity"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+ networking.hostName = "continuity"; # Define your hostname.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Enable networking
- networking.networkmanager.enable = true;
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Set your time zone.
- time.timeZone = "America/Vancouver";
+ # Enable networking
+ networking.networkmanager.enable = true;
- # Select internationalisation properties.
- i18n.defaultLocale = "en_CA.UTF-8";
+ # Set your time zone.
+ time.timeZone = "America/Vancouver";
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- services.xserver.displayManager.startx.enable = true;
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_CA.UTF-8";
- # Configure keymap in X11
- services.xserver = {
- layout = "us";
- xkbVariant = "";
- xkbOptions = "caps:escape";
- };
+ # Enable the X11 windowing system.
+ services.xserver.enable = true;
+ services.xserver.displayManager.startx.enable = true;
- # Enable CUPS to print documents.
- services.printing.enable = true;
+ # Configure keymap in X11
+ services.xserver = {
+ layout = "us";
+ xkbVariant = "";
+ xkbOptions = "caps:escape";
+ };
- # Enable sound with pipewire.
- sound.enable = true;
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
- # use the example session manager (no others are packaged yet so this is enabled by default,
- # no need to redefine it in your config for now)
- #media-session.enable = true;
- };
+ # Enable sound with pipewire.
+ sound.enable = true;
+ hardware.pulseaudio.enable = false;
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ #jack.enable = true;
- # Enable touchpad support (enabled default in most desktopManager).
- # services.xserver.libinput.enable = true;
- home-manager.users.preston = {
- nixpkgs.config.packageOverrides = pkgs: {
- nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
- inherit pkgs;
- };
+ # use the example session manager (no others are packaged yet so this is enabled by default,
+ # no need to redefine it in your config for now)
+ #media-session.enable = true;
};
- home.packages = [
- pkgs.vim
- pkgs.git
- pkgs.curl
- pkgs.wget
- pkgs.neofetch
- pkgs.cowsay
- pkgs.starship
- pkgs.kitty
- pkgs.ffmpeg
- pkgs.hyprland
- pkgs.grim
- pkgs.acpilight
- pkgs.light
- pkgs.gnupg
- pkgs.pass
- pkgs.fira-code
- pkgs.croc
- pkgs.nixpkgs-fmt
- pkgs.mu
- pkgs.rust-analyzer
- pkgs.rustc
- pkgs.cargo
- pkgs.rnix-lsp
- pkgs.clang
- pkgs.bear
- pkgs.gnumake
- pkgs.clang-tools
- pkgs.gammastep
- pkgs.pinentry
- pkgs.texliveFull
- pkgs.helvum
- pkgs.xdg-utils
- pkgs.ncmpcpp
- pkgs.noto-fonts
- pkgs.noto-fonts-cjk
- pkgs.autobuild
- pkgs.rsync
- pkgs.pavucontrol
- pkgs.swww
- pkgs.fswebcam
- pkgs.nmap
- pkgs.mpc-cli
- pkgs.yt-dlp
- pkgs.mpv
- (pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; })
- (pkgs.discord.override {
- withOpenASAR = true;
- withVencord = true;
- })
- pkgs.vesktop
- ];
- fonts.fontconfig.enable = true;
- xsession.enable = true;
- home.stateVersion = "23.11";
+ # Enable touchpad support (enabled default in most desktopManager).
+ # services.xserver.libinput.enable = true;
+ home-manager.users.preston = {
+ nixpkgs.config.packageOverrides = pkgs: {
+ nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
+ inherit pkgs;
+ };
+ };
+ home.packages = [
+ pkgs.vim
+ pkgs.git
+ pkgs.curl
+ pkgs.wget
+ pkgs.neofetch
+ pkgs.cowsay
+ pkgs.starship
+ pkgs.kitty
+ pkgs.ffmpeg
+ pkgs.hyprland
+ pkgs.grim
+ pkgs.acpilight
+ pkgs.light
+ pkgs.gnupg
+ pkgs.pass
+ pkgs.fira-code
+ pkgs.croc
+ pkgs.nixpkgs-fmt
+ pkgs.mu
+ pkgs.rust-analyzer
+ pkgs.rustc
+ pkgs.cargo
+ pkgs.rnix-lsp
+ pkgs.clang
+ pkgs.bear
+ pkgs.gnumake
+ pkgs.clang-tools
+ pkgs.gammastep
+ pkgs.pinentry
+ pkgs.texliveFull
+ pkgs.helvum
+ pkgs.xdg-utils
+ pkgs.ncmpcpp
+ pkgs.noto-fonts
+ pkgs.noto-fonts-cjk
+ pkgs.autobuild
+ pkgs.rsync
+ pkgs.pavucontrol
+ pkgs.swww
+ pkgs.fswebcam
+ pkgs.nmap
+ pkgs.mpc-cli
+ pkgs.yt-dlp
+ pkgs.mpv
+ (pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; })
+ (pkgs.discord.override {
+ withOpenASAR = true;
+ withVencord = true;
+ })
+ pkgs.vesktop
+ ];
- services.gpg-agent = {
- enable = true;
- pinentryFlavor = "emacs";
- extraConfig = ''
- allow-emacs-pinentry
- allow-loopback-pinentry
- '';
- };
+ fonts.fontconfig.enable = true;
+ xsession.enable = true;
+ home.stateVersion = "23.11";
- services.mpd = {
- enable = true;
- dbFile = "/home/preston/.config/mpd/db";
- dataDir = "/home/preston/.config/mpd/";
- network.port = 6600;
- musicDirectory = "/home/preston/music";
- playlistDirectory = "/home/preston/.config/mpd/playlists";
- extraConfig = ''
- audio_output {
- type "pipewire"
- name "pipewire boi"
- }
- '';
- };
+ services.gpg-agent = {
+ enable = true;
+ pinentryFlavor = "emacs";
+ extraConfig = ''
+ allow-emacs-pinentry
+ allow-loopback-pinentry
+ '';
+ };
- programs.wofi = {
- enable = true;
- settings = {
- location = "bottom-right";
- allow_markup = true;
- show = "drun";
- width = 750;
- height = 400;
- always_parse_args = true;
- show_all = false;
- term = "kitty";
- hide_scroll = true;
- print_command = true;
- insensitive = true;
- prompt = "";
- columns = 2;
+ services.mpd = {
+ enable = true;
+ dbFile = "/home/preston/.config/mpd/db";
+ dataDir = "/home/preston/.config/mpd/";
+ network.port = 6600;
+ musicDirectory = "/home/preston/music";
+ playlistDirectory = "/home/preston/.config/mpd/playlists";
+ extraConfig = ''
+ audio_output {
+ type "pipewire"
+ name "pipewire output"
+ }
+ '';
};
- style = ''
- @define-color rosewater #f5e0dc;
- @define-color rosewater-rgb rgb(245, 224, 220);
- @define-color flamingo #f2cdcd;
- @define-color flamingo-rgb rgb(242, 205, 205);
- @define-color pink #f5c2e7;
- @define-color pink-rgb rgb(245, 194, 231);
- @define-color mauve #cba6f7;
- @define-color mauve-rgb rgb(203, 166, 247);
- @define-color red #f38ba8;
- @define-color red-rgb rgb(243, 139, 168);
- @define-color maroon #eba0ac;
- @define-color maroon-rgb rgb(235, 160, 172);
- @define-color peach #fab387;
- @define-color peach-rgb rgb(250, 179, 135);
- @define-color yellow #f9e2af;
- @define-color yellow-rgb rgb(249, 226, 175);
- @define-color green #a6e3a1;
- @define-color green-rgb rgb(166, 227, 161);
- @define-color teal #94e2d5;
- @define-color teal-rgb rgb(148, 226, 213);
- @define-color sky #89dceb;
- @define-color sky-rgb rgb(137, 220, 235);
- @define-color sapphire #74c7ec;
- @define-color sapphire-rgb rgb(116, 199, 236);
- @define-color blue #89b4fa;
- @define-color blue-rgb rgb(137, 180, 250);
- @define-color lavender #b4befe;
- @define-color lavender-rgb rgb(180, 190, 254);
- @define-color text #cdd6f4;
- @define-color text-rgb rgb(205, 214, 244);
- @define-color subtext1 #bac2de;
- @define-color subtext1-rgb rgb(186, 194, 222);
- @define-color subtext0 #a6adc8;
- @define-color subtext0-rgb rgb(166, 173, 200);
- @define-color overlay2 #9399b2;
- @define-color overlay2-rgb rgb(147, 153, 178);
- @define-color overlay1 #7f849c;
- @define-color overlay1-rgb rgb(127, 132, 156);
- @define-color overlay0 #6c7086;
- @define-color overlay0-rgb rgb(108, 112, 134);
- @define-color surface2 #585b70;
- @define-color surface2-rgb rgb(88, 91, 112);
- @define-color surface1 #45475a;
- @define-color surface1-rgb rgb(69, 71, 90);
- @define-color surface0 #313244;
- @define-color surface0-rgb rgb(49, 50, 68);
- @define-color base #1e1e2e;
- @define-color base-rgb rgb(30, 30, 46);
- @define-color mantle #181825;
- @define-color mantle-rgb rgb(24, 24, 37);
- @define-color crust #11111b;
- @define-color crust-rgb rgb(17, 17, 27);
+ programs.wofi = {
+ enable = true;
+ settings = {
+ location = "bottom-right";
+ allow_markup = true;
+ show = "drun";
+ width = 750;
+ height = 400;
+ always_parse_args = true;
+ show_all = false;
+ term = "kitty";
+ hide_scroll = true;
+ print_command = true;
+ insensitive = true;
+ prompt = "";
+ columns = 2;
+ };
- * {
- font-family: 'Iosevka Nerd Font', monospace;
- font-size: 14px;
- }
+ style = ''
+ @define-color rosewater #f5e0dc;
+ @define-color rosewater-rgb rgb(245, 224, 220);
+ @define-color flamingo #f2cdcd;
+ @define-color flamingo-rgb rgb(242, 205, 205);
+ @define-color pink #f5c2e7;
+ @define-color pink-rgb rgb(245, 194, 231);
+ @define-color mauve #cba6f7;
+ @define-color mauve-rgb rgb(203, 166, 247);
+ @define-color red #f38ba8;
+ @define-color red-rgb rgb(243, 139, 168);
+ @define-color maroon #eba0ac;
+ @define-color maroon-rgb rgb(235, 160, 172);
+ @define-color peach #fab387;
+ @define-color peach-rgb rgb(250, 179, 135);
+ @define-color yellow #f9e2af;
+ @define-color yellow-rgb rgb(249, 226, 175);
+ @define-color green #a6e3a1;
+ @define-color green-rgb rgb(166, 227, 161);
+ @define-color teal #94e2d5;
+ @define-color teal-rgb rgb(148, 226, 213);
+ @define-color sky #89dceb;
+ @define-color sky-rgb rgb(137, 220, 235);
+ @define-color sapphire #74c7ec;
+ @define-color sapphire-rgb rgb(116, 199, 236);
+ @define-color blue #89b4fa;
+ @define-color blue-rgb rgb(137, 180, 250);
+ @define-color lavender #b4befe;
+ @define-color lavender-rgb rgb(180, 190, 254);
+ @define-color text #cdd6f4;
+ @define-color text-rgb rgb(205, 214, 244);
+ @define-color subtext1 #bac2de;
+ @define-color subtext1-rgb rgb(186, 194, 222);
+ @define-color subtext0 #a6adc8;
+ @define-color subtext0-rgb rgb(166, 173, 200);
+ @define-color overlay2 #9399b2;
+ @define-color overlay2-rgb rgb(147, 153, 178);
+ @define-color overlay1 #7f849c;
+ @define-color overlay1-rgb rgb(127, 132, 156);
+ @define-color overlay0 #6c7086;
+ @define-color overlay0-rgb rgb(108, 112, 134);
+ @define-color surface2 #585b70;
+ @define-color surface2-rgb rgb(88, 91, 112);
+ @define-color surface1 #45475a;
+ @define-color surface1-rgb rgb(69, 71, 90);
+ @define-color surface0 #313244;
+ @define-color surface0-rgb rgb(49, 50, 68);
+ @define-color base #1e1e2e;
+ @define-color base-rgb rgb(30, 30, 46);
+ @define-color mantle #181825;
+ @define-color mantle-rgb rgb(24, 24, 37);
+ @define-color crust #11111b;
+ @define-color crust-rgb rgb(17, 17, 27);
- /* Window */
- window {
- margin: 0px;
- padding: 10px;
- border: 0.16em solid @lavender;
- border-radius: 0.1em;
- background-color: @base;
- animation: slideIn 0.5s ease-in-out both;
- }
+ ,* {
+ font-family: 'Iosevka Nerd Font', monospace;
+ font-size: 14px;
+ }
- /* Slide In */
- @keyframes slideIn {
- 0% {
- opacity: 0;
- }
+ /* Window */
+ window {
+ margin: 0px;
+ padding: 10px;
+ border: 0.16em solid @lavender;
+ border-radius: 0.1em;
+ background-color: @base;
+ animation: slideIn 0.5s ease-in-out both;
+ }
- 100% {
- opacity: 1;
- }
- }
+ /* Slide In */
+ @keyframes slideIn {
+ 0% {
+ opacity: 0;
+ }
- /* Inner Box */
- #inner-box {
- margin: 5px;
- padding: 10px;
- border: none;
- background-color: @base;
- animation: fadeIn 0.5s ease-in-out both;
- }
+ 100% {
+ opacity: 1;
+ }
+ }
- /* Fade In */
- @keyframes fadeIn {
- 0% {
- opacity: 0;
- }
+ /* Inner Box */
+ #inner-box {
+ margin: 5px;
+ padding: 10px;
+ border: none;
+ background-color: @base;
+ animation: fadeIn 0.5s ease-in-out both;
+ }
- 100% {
- opacity: 1;
- }
- }
+ /* Fade In */
+ @keyframes fadeIn {
+ 0% {
+ opacity: 0;
+ }
- /* Outer Box */
- #outer-box {
- margin: 5px;
- padding: 10px;
- border: none;
- background-color: @base;
- }
+ 100% {
+ opacity: 1;
+ }
+ }
- /* Scroll */
- #scroll {
- margin: 0px;
- padding: 10px;
- border: none;
- background-color: @base;
- }
+ /* Outer Box */
+ #outer-box {
+ margin: 5px;
+ padding: 10px;
+ border: none;
+ background-color: @base;
+ }
- /* Input */
- #input {
- margin: 5px 20px;
- padding: 10px;
- border: none;
- border-radius: 0.1em;
- color: @text;
- background-color: @base;
- animation: fadeIn 0.5s ease-in-out both;
- }
+ /* Scroll */
+ #scroll {
+ margin: 0px;
+ padding: 10px;
+ border: none;
+ background-color: @base;
+ }
- #input image {
- border: none;
- color: @red;
- }
+ /* Input */
+ #input {
+ margin: 5px 20px;
+ padding: 10px;
+ border: none;
+ border-radius: 0.1em;
+ color: @text;
+ background-color: @base;
+ animation: fadeIn 0.5s ease-in-out both;
+ }
- #input * {
- outline: 4px solid @red!important;
- }
+ #input image {
+ border: none;
+ color: @red;
+ }
- /* Text */
- #text {
- margin: 5px;
- border: none;
- color: @text;
- animation: fadeIn 0.5s ease-in-out both;
- }
+ #input * {
+ outline: 4px solid @red!important;
+ }
- #entry {
- background-color: @base;
- }
+ /* Text */
+ #text {
+ margin: 5px;
+ border: none;
+ color: @text;
+ animation: fadeIn 0.5s ease-in-out both;
+ }
- #entry arrow {
- border: none;
- color: @lavender;
- }
+ #entry {
+ background-color: @base;
+ }
- /* Selected Entry */
- #entry:selected {
- border: 0.11em solid @lavender;
- }
+ #entry arrow {
+ border: none;
+ color: @lavender;
+ }
- #entry:selected #text {
- color: @mauve;
- }
+ /* Selected Entry */
+ #entry:selected {
+ border: 0.11em solid @lavender;
+ }
- #entry:drop(active) {
- background-color: @lavender!important;
- }
- '';
- };
+ #entry:selected #text {
+ color: @mauve;
+ }
- programs.kitty = {
- enable = true;
- settings = {
- enable_audio_bell = false;
- font_family = "Fira Code";
- font_size = 12;
- confirm_os_window_close = -1;
- background_opacity = "0.9";
+ #entry:drop(active) {
+ background-color: @lavender!important;
+ }
+ '';
};
- extraConfig = ''
- # The basic colors
- foreground #CDD6F4
- background #1E1E2E
- selection_foreground #1E1E2E
- selection_background #F5E0DC
- # Cursor colors
- cursor #F5E0DC
- cursor_text_color #1E1E2E
+ programs.kitty = {
+ enable = true;
+ settings = {
+ enable_audio_bell = false;
+ font_family = "Fira Code";
+ font_size = 12;
+ confirm_os_window_close = -1;
+ background_opacity = "0.9";
+ };
+ extraConfig = ''
+ # The basic colors
+ foreground #CDD6F4
+ background #1E1E2E
+ selection_foreground #1E1E2E
+ selection_background #F5E0DC
- # URL underline color when hovering with mouse
- url_color #F5E0DC
+ # Cursor colors
+ cursor #F5E0DC
+ cursor_text_color #1E1E2E
- # Kitty window border colors
- active_border_color #B4BEFE
- inactive_border_color #6C7086
- bell_border_color #F9E2AF
+ # URL underline color when hovering with mouse
+ url_color #F5E0DC
- # OS Window titlebar colors
- wayland_titlebar_color #1E1E2E
- macos_titlebar_color #1E1E2E
+ # Kitty window border colors
+ active_border_color #B4BEFE
+ inactive_border_color #6C7086
+ bell_border_color #F9E2AF
- # Tab bar colors
- active_tab_foreground #11111B
- active_tab_background #CBA6F7
- inactive_tab_foreground #CDD6F4
- inactive_tab_background #181825
- tab_bar_background #11111B
+ # OS Window titlebar colors
+ wayland_titlebar_color #1E1E2E
+ macos_titlebar_color #1E1E2E
- # 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
+ # Tab bar colors
+ active_tab_foreground #11111B
+ active_tab_background #CBA6F7
+ inactive_tab_foreground #CDD6F4
+ inactive_tab_background #181825
+ tab_bar_background #11111B
- # The 16 terminal colors
+ # 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
- # black
- color0 #45475A
- color8 #585B70
+ # The 16 terminal colors
- # red
- color1 #F38BA8
- color9 #F38BA8
+ # black
+ color0 #45475A
+ color8 #585B70
- # green
- color2 #A6E3A1
- color10 #A6E3A1
+ # red
+ color1 #F38BA8
+ color9 #F38BA8
- # yellow
- color3 #F9E2AF
- color11 #F9E2AF
+ # green
+ color2 #A6E3A1
+ color10 #A6E3A1
- # blue
- color4 #89B4FA
- color12 #89B4FA
+ # yellow
+ color3 #F9E2AF
+ color11 #F9E2AF
- # magenta
- color5 #F5C2E7
- color13 #F5C2E7
+ # blue
+ color4 #89B4FA
+ color12 #89B4FA
- # cyan
- color6 #94E2D5
- color14 #94E2D5
+ # magenta
+ color5 #F5C2E7
+ color13 #F5C2E7
- # white
- color7 #BAC2DE
- color15 #A6ADC8
- '';
- };
- programs.firefox = {
- policies = {
- EnableTrackingProtection = true;
- OfferToSaveLogins = false;
+ # cyan
+ color6 #94E2D5
+ color14 #94E2D5
+
+ # white
+ color7 #BAC2DE
+ color15 #A6ADC8
+ '';
};
- enable = true;
- profiles = {
- default = {
- id = 0;
- name = "default";
- isDefault = true;
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- tree-style-tab
- firefox-color
- vimium
- ];
- extraConfig = ''
- //
- /* You may copy+paste this file and use it as it is.
- *
- * If you make changes to your about:config while the program is running, the
- * changes will be overwritten by the user.js when the application restarts.
- *
- * To make lasting changes to preferences, you will have to edit the user.js.
- */
+ programs.firefox = {
+ policies = {
+ EnableTrackingProtection = true;
+ OfferToSaveLogins = false;
+ };
+ enable = true;
+ profiles = {
+ default = {
+ id = 0;
+ name = "default";
+ isDefault = true;
+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+ ublock-origin
+ tree-style-tab
+ firefox-color
+ vimium
+ ];
+ extraConfig = ''
+ //
+ /* You may copy+paste this file and use it as it is.
+ ,*
+ ,* If you make changes to your about:config while the program is running, the
+ ,* changes will be overwritten by the user.js when the application restarts.
+ ,*
+ ,* To make lasting changes to preferences, you will have to edit the user.js.
+ ,*/
- /****************************************************************************
- * Betterfox *
- * "Ad meliora" *
- * version: 122 *
- * url: https://github.com/yokoffing/Betterfox *
- ****************************************************************************/
+ /****************************************************************************
+ ,* Betterfox *
+ ,* "Ad meliora" *
+ ,* version: 122 *
+ ,* url: https://github.com/yokoffing/Betterfox *
+ ,****************************************************************************/
- /****************************************************************************
- * SECTION: FASTFOX *
- ****************************************************************************/
- /** GENERAL ***/
- user_pref("content.notify.interval", 100000);
+ /****************************************************************************
+ ,* SECTION: FASTFOX *
+ ,****************************************************************************/
+ /** GENERAL ***/
+ user_pref("content.notify.interval", 100000);
- /** GFX ***/
- user_pref("gfx.canvas.accelerated.cache-items", 4096);
- user_pref("gfx.canvas.accelerated.cache-size", 512);
- user_pref("gfx.content.skia-font-cache-size", 20);
+ /** GFX ***/
+ user_pref("gfx.canvas.accelerated.cache-items", 4096);
+ user_pref("gfx.canvas.accelerated.cache-size", 512);
+ user_pref("gfx.content.skia-font-cache-size", 20);
- /** DISK CACHE ***/
- user_pref("browser.cache.jsbc_compression_level", 3);
+ /** DISK CACHE ***/
+ user_pref("browser.cache.jsbc_compression_level", 3);
- /** MEDIA CACHE ***/
- user_pref("media.memory_cache_max_size", 65536);
- user_pref("media.cache_readahead_limit", 7200);
- user_pref("media.cache_resume_threshold", 3600);
+ /** MEDIA CACHE ***/
+ user_pref("media.memory_cache_max_size", 65536);
+ user_pref("media.cache_readahead_limit", 7200);
+ user_pref("media.cache_resume_threshold", 3600);
- /** IMAGE CACHE ***/
- user_pref("image.mem.decode_bytes_at_a_time", 32768);
+ /** IMAGE CACHE ***/
+ user_pref("image.mem.decode_bytes_at_a_time", 32768);
- /** NETWORK ***/
- user_pref("network.buffer.cache.size", 262144);
- user_pref("network.buffer.cache.count", 128);
- user_pref("network.http.max-connections", 1800);
- user_pref("network.http.max-persistent-connections-per-server", 10);
- user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
- user_pref("network.http.pacing.requests.enabled", false);
- user_pref("network.dnsCacheExpiration", 3600);
- user_pref("network.dns.max_high_priority_threads", 8);
- user_pref("network.ssl_tokens_cache_capacity", 10240);
+ /** NETWORK ***/
+ user_pref("network.buffer.cache.size", 262144);
+ user_pref("network.buffer.cache.count", 128);
+ user_pref("network.http.max-connections", 1800);
+ user_pref("network.http.max-persistent-connections-per-server", 10);
+ user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
+ user_pref("network.http.pacing.requests.enabled", false);
+ user_pref("network.dnsCacheExpiration", 3600);
+ user_pref("network.dns.max_high_priority_threads", 8);
+ user_pref("network.ssl_tokens_cache_capacity", 10240);
- /** SPECULATIVE LOADING ***/
- user_pref("network.dns.disablePrefetch", true);
- user_pref("network.prefetch-next", false);
- user_pref("network.predictor.enabled", false);
+ /** SPECULATIVE LOADING ***/
+ user_pref("network.dns.disablePrefetch", true);
+ user_pref("network.prefetch-next", false);
+ user_pref("network.predictor.enabled", false);
- /** EXPERIMENTAL ***/
- user_pref("layout.css.grid-template-masonry-value.enabled", true);
- user_pref("dom.enable_web_task_scheduling", true);
- user_pref("layout.css.has-selector.enabled", true);
- user_pref("dom.security.sanitizer.enabled", true);
+ /** EXPERIMENTAL ***/
+ user_pref("layout.css.grid-template-masonry-value.enabled", true);
+ user_pref("dom.enable_web_task_scheduling", true);
+ user_pref("layout.css.has-selector.enabled", true);
+ user_pref("dom.security.sanitizer.enabled", true);
- /****************************************************************************
- * SECTION: SECUREFOX *
- ****************************************************************************/
- /** TRACKING PROTECTION ***/
- user_pref("browser.contentblocking.category", "strict");
- user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
- user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
- user_pref("network.cookie.sameSite.noneRequiresSecure", true);
- user_pref("browser.download.start_downloads_in_tmp_dir", true);
- user_pref("browser.helperApps.deleteTempFileOnExit", true);
- user_pref("browser.uitour.enabled", false);
- user_pref("privacy.globalprivacycontrol.enabled", true);
+ /****************************************************************************
+ ,* SECTION: SECUREFOX *
+ ,****************************************************************************/
+ /** TRACKING PROTECTION ***/
+ user_pref("browser.contentblocking.category", "strict");
+ user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
+ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
+ user_pref("network.cookie.sameSite.noneRequiresSecure", true);
+ user_pref("browser.download.start_downloads_in_tmp_dir", true);
+ user_pref("browser.helperApps.deleteTempFileOnExit", true);
+ user_pref("browser.uitour.enabled", false);
+ user_pref("privacy.globalprivacycontrol.enabled", true);
- /** OCSP & CERTS / HPKP ***/
- user_pref("security.OCSP.enabled", 0);
- user_pref("security.remote_settings.crlite_filters.enabled", true);
- user_pref("security.pki.crlite_mode", 2);
+ /** OCSP & CERTS / HPKP ***/
+ user_pref("security.OCSP.enabled", 0);
+ user_pref("security.remote_settings.crlite_filters.enabled", true);
+ user_pref("security.pki.crlite_mode", 2);
- /** SSL / TLS ***/
- user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
- user_pref("browser.xul.error_pages.expert_bad_cert", true);
- user_pref("security.tls.enable_0rtt_data", false);
+ /** SSL / TLS ***/
+ user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
+ user_pref("browser.xul.error_pages.expert_bad_cert", true);
+ user_pref("security.tls.enable_0rtt_data", false);
- /** DISK AVOIDANCE ***/
- user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
- user_pref("browser.sessionstore.interval", 60000);
+ /** DISK AVOIDANCE ***/
+ user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
+ user_pref("browser.sessionstore.interval", 60000);
- /** SHUTDOWN & SANITIZING ***/
- /** L **/
- user_pref("privacy.history.custom", true);
+ /** SHUTDOWN & SANITIZING ***/
+ /** L **/
+ user_pref("privacy.history.custom", true);
- /** SEARCH / URL BAR ***/
- user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
- user_pref("browser.urlbar.update2.engineAliasRefresh", true);
- user_pref("browser.search.suggest.enabled", false);
- user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
- user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
- user_pref("browser.formfill.enable", false);
- user_pref("security.insecure_connection_text.enabled", true);
- user_pref("security.insecure_connection_text.pbmode.enabled", true);
- user_pref("network.IDN_show_punycode", true);
+ /** SEARCH / URL BAR ***/
+ user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
+ user_pref("browser.urlbar.update2.engineAliasRefresh", true);
+ user_pref("browser.search.suggest.enabled", false);
+ user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
+ user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
+ user_pref("browser.formfill.enable", false);
+ user_pref("security.insecure_connection_text.enabled", true);
+ user_pref("security.insecure_connection_text.pbmode.enabled", true);
+ user_pref("network.IDN_show_punycode", true);
- /** HTTPS-FIRST POLICY ***/
- user_pref("dom.security.https_first", true);
- user_pref("dom.security.https_first_schemeless", true);
+ /** HTTPS-FIRST POLICY ***/
+ user_pref("dom.security.https_first", true);
+ user_pref("dom.security.https_first_schemeless", true);
- /** PASSWORDS ***/
- user_pref("signon.formlessCapture.enabled", false);
- user_pref("signon.privateBrowsingCapture.enabled", false);
- user_pref("network.auth.subresource-http-auth-allow", 1);
- user_pref("editor.truncate_user_pastes", false);
+ /** PASSWORDS ***/
+ user_pref("signon.formlessCapture.enabled", false);
+ user_pref("signon.privateBrowsingCapture.enabled", false);
+ user_pref("network.auth.subresource-http-auth-allow", 1);
+ user_pref("editor.truncate_user_pastes", false);
- /** MIXED CONTENT + CROSS-SITE ***/
- user_pref("security.mixed_content.block_display_content", true);
- user_pref("security.mixed_content.upgrade_display_content", true);
- user_pref("security.mixed_content.upgrade_display_content.image", true);
- user_pref("pdfjs.enableScripting", false);
- user_pref("extensions.postDownloadThirdPartyPrompt", false);
+ /** MIXED CONTENT + CROSS-SITE ***/
+ user_pref("security.mixed_content.block_display_content", true);
+ user_pref("security.mixed_content.upgrade_display_content", true);
+ user_pref("security.mixed_content.upgrade_display_content.image", true);
+ user_pref("pdfjs.enableScripting", false);
+ user_pref("extensions.postDownloadThirdPartyPrompt", false);
- /** HEADERS / REFERERS ***/
- user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
+ /** HEADERS / REFERERS ***/
+ user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
- /** CONTAINERS ***/
- user_pref("privacy.userContext.ui.enabled", true);
+ /** CONTAINERS ***/
+ user_pref("privacy.userContext.ui.enabled", true);
- /** WEBRTC ***/
- user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
- user_pref("media.peerconnection.ice.default_address_only", true);
+ /** WEBRTC ***/
+ user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
+ user_pref("media.peerconnection.ice.default_address_only", true);
- /** SAFE BROWSING ***/
- user_pref("browser.safebrowsing.downloads.remote.enabled", false);
+ /** SAFE BROWSING ***/
+ user_pref("browser.safebrowsing.downloads.remote.enabled", false);
- /** MOZILLA ***/
- user_pref("permissions.default.desktop-notification", 2);
- user_pref("permissions.default.geo", 2);
- user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
- user_pref("permissions.manager.defaultsUrl", "");
- user_pref("webchannel.allowObject.urlWhitelist", "");
+ /** MOZILLA ***/
+ user_pref("permissions.default.desktop-notification", 2);
+ user_pref("permissions.default.geo", 2);
+ user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
+ user_pref("permissions.manager.defaultsUrl", "");
+ user_pref("webchannel.allowObject.urlWhitelist", "");
- /** TELEMETRY ***/
- user_pref("datareporting.policy.dataSubmissionEnabled", false);
- user_pref("datareporting.healthreport.uploadEnabled", false);
- user_pref("toolkit.telemetry.unified", false);
- user_pref("toolkit.telemetry.enabled", false);
- user_pref("toolkit.telemetry.server", "data:,");
- user_pref("toolkit.telemetry.archive.enabled", false);
- user_pref("toolkit.telemetry.newProfilePing.enabled", false);
- user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
- user_pref("toolkit.telemetry.updatePing.enabled", false);
- user_pref("toolkit.telemetry.bhrPing.enabled", false);
- user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
- user_pref("toolkit.telemetry.coverage.opt-out", true);
- user_pref("toolkit.coverage.opt-out", true);
- user_pref("toolkit.coverage.endpoint.base", "");
- user_pref("browser.ping-centre.telemetry", false);
- user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
- user_pref("browser.newtabpage.activity-stream.telemetry", false);
+ /** TELEMETRY ***/
+ user_pref("datareporting.policy.dataSubmissionEnabled", false);
+ user_pref("datareporting.healthreport.uploadEnabled", false);
+ user_pref("toolkit.telemetry.unified", false);
+ user_pref("toolkit.telemetry.enabled", false);
+ user_pref("toolkit.telemetry.server", "data:,");
+ user_pref("toolkit.telemetry.archive.enabled", false);
+ user_pref("toolkit.telemetry.newProfilePing.enabled", false);
+ user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
+ user_pref("toolkit.telemetry.updatePing.enabled", false);
+ user_pref("toolkit.telemetry.bhrPing.enabled", false);
+ user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
+ user_pref("toolkit.telemetry.coverage.opt-out", true);
+ user_pref("toolkit.coverage.opt-out", true);
+ user_pref("toolkit.coverage.endpoint.base", "");
+ user_pref("browser.ping-centre.telemetry", false);
+ user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
+ user_pref("browser.newtabpage.activity-stream.telemetry", false);
- /** EXPERIMENTS ***/
- user_pref("app.shield.optoutstudies.enabled", false);
- user_pref("app.normandy.enabled", false);
- user_pref("app.normandy.api_url", "");
+ /** EXPERIMENTS ***/
+ user_pref("app.shield.optoutstudies.enabled", false);
+ user_pref("app.normandy.enabled", false);
+ user_pref("app.normandy.api_url", "");
- /** CRASH REPORTS ***/
- user_pref("breakpad.reportURL", "");
- user_pref("browser.tabs.crashReporting.sendReport", false);
- user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
+ /** CRASH REPORTS ***/
+ user_pref("breakpad.reportURL", "");
+ user_pref("browser.tabs.crashReporting.sendReport", false);
+ user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
- /** DETECTION ***/
- user_pref("captivedetect.canonicalURL", "");
- user_pref("network.captive-portal-service.enabled", false);
- user_pref("network.connectivity-service.enabled", false);
+ /** DETECTION ***/
+ user_pref("captivedetect.canonicalURL", "");
+ user_pref("network.captive-portal-service.enabled", false);
+ user_pref("network.connectivity-service.enabled", false);
- /****************************************************************************
- * SECTION: PESKYFOX *
- ****************************************************************************/
- /** MOZILLA UI ***/
- /** format on save please? **/
- user_pref("browser.privatebrowsing.vpnpromourl", "");
- user_pref("extensions.getAddons.showPane", false);
- user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
- user_pref("browser.discovery.enabled", false);
- user_pref("browser.shell.checkDefaultBrowser", false);
- user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
- user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
- user_pref("browser.preferences.moreFromMozilla", false);
- user_pref("browser.tabs.tabmanager.enabled", false);
- user_pref("browser.aboutConfig.showWarning", false);
- user_pref("browser.aboutwelcome.enabled", false);
+ /****************************************************************************
+ ,* SECTION: PESKYFOX *
+ ,****************************************************************************/
+ /** MOZILLA UI ***/
+ /** format on save please? **/
+ user_pref("browser.privatebrowsing.vpnpromourl", "");
+ user_pref("extensions.getAddons.showPane", false);
+ user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
+ user_pref("browser.discovery.enabled", false);
+ user_pref("browser.shell.checkDefaultBrowser", false);
+ user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
+ user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
+ user_pref("browser.preferences.moreFromMozilla", false);
+ user_pref("browser.tabs.tabmanager.enabled", false);
+ user_pref("browser.aboutConfig.showWarning", false);
+ user_pref("browser.aboutwelcome.enabled", false);
- /** THEME ADJUSTMENTS ***/
- user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
- user_pref("browser.compactmode.show", true);
- user_pref("browser.display.focus_ring_on_anything", true);
- user_pref("browser.display.focus_ring_style", 0);
- user_pref("browser.display.focus_ring_width", 0);
- user_pref("layout.css.prefers-color-scheme.content-override", 2);
- user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
+ /** THEME ADJUSTMENTS ***/
+ user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
+ user_pref("browser.compactmode.show", true);
+ user_pref("browser.display.focus_ring_on_anything", true);
+ user_pref("browser.display.focus_ring_style", 0);
+ user_pref("browser.display.focus_ring_width", 0);
+ user_pref("layout.css.prefers-color-scheme.content-override", 2);
+ user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
- /** COOKIE BANNER HANDLING ***/
- user_pref("cookiebanners.service.mode", 1);
- user_pref("cookiebanners.service.mode.privateBrowsing", 1);
+ /** COOKIE BANNER HANDLING ***/
+ user_pref("cookiebanners.service.mode", 1);
+ user_pref("cookiebanners.service.mode.privateBrowsing", 1);
- /** FULLSCREEN NOTICE ***/
- user_pref("full-screen-api.transition-duration.enter", "0 0");
- user_pref("full-screen-api.transition-duration.leave", "0 0");
- user_pref("full-screen-api.warning.delay", -1);
- user_pref("full-screen-api.warning.timeout", 0);
+ /** FULLSCREEN NOTICE ***/
+ user_pref("full-screen-api.transition-duration.enter", "0 0");
+ user_pref("full-screen-api.transition-duration.leave", "0 0");
+ user_pref("full-screen-api.warning.delay", -1);
+ user_pref("full-screen-api.warning.timeout", 0);
- /** URL BAR ***/
- user_pref("browser.urlbar.suggest.calculator", true);
- user_pref("browser.urlbar.unitConversion.enabled", true);
- user_pref("browser.urlbar.trending.featureGate", false);
+ /** URL BAR ***/
+ user_pref("browser.urlbar.suggest.calculator", true);
+ user_pref("browser.urlbar.unitConversion.enabled", true);
+ user_pref("browser.urlbar.trending.featureGate", false);
- /** NEW TAB PAGE ***/
- user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
- user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
+ /** NEW TAB PAGE ***/
+ user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
+ user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
- /** POCKET ***/
- user_pref("extensions.pocket.enabled", false);
+ /** POCKET ***/
+ user_pref("extensions.pocket.enabled", false);
- /** DOWNLOADS ***/
- user_pref("browser.download.always_ask_before_handling_new_types", true);
- user_pref("browser.download.manager.addToRecentDocs", false);
+ /** DOWNLOADS ***/
+ user_pref("browser.download.always_ask_before_handling_new_types", true);
+ user_pref("browser.download.manager.addToRecentDocs", false);
- /** PDF ***/
- user_pref("browser.download.open_pdf_attachments_inline", true);
+ /** PDF ***/
+ user_pref("browser.download.open_pdf_attachments_inline", true);
- /** TAB BEHAVIOR ***/
- user_pref("browser.bookmarks.openInTabClosesMenu", false);
- user_pref("browser.menu.showViewImageInfo", true);
- user_pref("findbar.highlightAll", true);
- user_pref("layout.word_select.eat_space_to_next_word", false);
- '';
- };
+ /** TAB BEHAVIOR ***/
+ user_pref("browser.bookmarks.openInTabClosesMenu", false);
+ user_pref("browser.menu.showViewImageInfo", true);
+ user_pref("findbar.highlightAll", true);
+ user_pref("layout.word_select.eat_space_to_next_word", false);
+ '';
+ };
+ };
};
- };
- programs.waybar = {
- enable = true;
- style = ''
- * {
- border: none;
- border-radius: 0px;
- /*font-family: Fira Code, Iosevka Nerd Font, Noto Sans CJK;*/
- font-family: Iosevka, FontAwesome, Noto Sans CJK;
- font-size: 14px;
- font-style: normal;
- min-height: 0;
- }
+ programs.waybar = {
+ enable = true;
+ style = ''
+ ,* {
+ border: none;
+ border-radius: 0px;
+ /*font-family: Fira Code, Iosevka Nerd Font, Noto Sans CJK;*/
+ font-family: Iosevka, FontAwesome, Noto Sans CJK;
+ font-size: 14px;
+ font-style: normal;
+ min-height: 0;
+ }
- window#waybar {
- background: rgba(30, 30, 46, 0.5);
- border-bottom: 1px solid #45475a;
- color: #cdd6f4;
- }
+ window#waybar {
+ background: rgba(30, 30, 46, 0.5);
+ border-bottom: 1px solid #45475a;
+ color: #cdd6f4;
+ }
- #workspaces {
- background: #45475a;
- margin: 5px 5px 5px 5px;
- padding: 0px 5px 0px 5px;
- border-radius: 16px;
- border: solid 0px #f4d9e1;
- font-weight: normal;
- font-style: normal;
- }
- #workspaces button {
- padding: 0px 5px;
- border-radius: 16px;
- color: #a6adc8;
- }
+ #workspaces {
+ background: #45475a;
+ margin: 5px 5px 5px 5px;
+ padding: 0px 5px 0px 5px;
+ border-radius: 16px;
+ border: solid 0px #f4d9e1;
+ font-weight: normal;
+ font-style: normal;
+ }
+ #workspaces button {
+ padding: 0px 5px;
+ border-radius: 16px;
+ color: #a6adc8;
+ }
- #workspaces button.active {
- color: #f4d9e1;
- background-color: transparent;
- border-radius: 16px;
- }
+ #workspaces button.active {
+ color: #f4d9e1;
+ background-color: transparent;
+ border-radius: 16px;
+ }
- #workspaces button:hover {
- background-color: #cdd6f4;
- color: black;
- border-radius: 16px;
- }
+ #workspaces button:hover {
+ background-color: #cdd6f4;
+ color: black;
+ border-radius: 16px;
+ }
- #custom-date, #clock, #battery, #pulseaudio, #network, #custom-randwall, #custom-launcher {
- background: transparent;
- padding: 5px 5px 5px 5px;
- margin: 5px 5px 5px 5px;
- border-radius: 8px;
- border: solid 0px #f4d9e1;
- }
+ #custom-date, #clock, #battery, #pulseaudio, #network, #custom-randwall, #custom-launcher {
+ background: transparent;
+ padding: 5px 5px 5px 5px;
+ margin: 5px 5px 5px 5px;
+ border-radius: 8px;
+ border: solid 0px #f4d9e1;
+ }
- #custom-date {
- color: #D3869B;
- }
+ #custom-date {
+ color: #D3869B;
+ }
- #custom-power {
- color: #24283b;
- background-color: #db4b4b;
- border-radius: 5px;
- margin-right: 10px;
- margin-top: 5px;
- margin-bottom: 5px;
- margin-left: 0px;
- padding: 5px 10px;
- }
+ #custom-power {
+ color: #24283b;
+ background-color: #db4b4b;
+ border-radius: 5px;
+ margin-right: 10px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-left: 0px;
+ padding: 5px 10px;
+ }
- #tray {
- background: #45475a;
- margin: 5px 5px 5px 5px;
- border-radius: 16px;
- padding: 0px 5px;
- /*border-right: solid 1px #282738;*/
- }
+ #tray {
+ background: #45475a;
+ margin: 5px 5px 5px 5px;
+ border-radius: 16px;
+ padding: 0px 5px;
+ /*border-right: solid 1px #282738;*/
+ }
- #clock {
- color: #cdd6f4;
- background-color: #45475a;
- border-radius: 0px 0px 0px 24px;
- padding-left: 13px;
- padding-right: 15px;
- margin-right: 0px;
- margin-left: 10px;
- margin-top: 0px;
- margin-bottom: 0px;
- font-weight: bold;
- /*border-left: solid 1px #282738;*/
- }
+ #clock {
+ color: #cdd6f4;
+ background-color: #45475a;
+ border-radius: 0px 0px 0px 24px;
+ padding-left: 13px;
+ padding-right: 15px;
+ margin-right: 0px;
+ margin-left: 10px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ font-weight: bold;
+ /*border-left: solid 1px #282738;*/
+ }
- #battery {
- color: #89b4fa;
- }
+ #battery {
+ color: #89b4fa;
+ }
- #battery.charging {
- color: #a6e3a1;
- }
+ #battery.charging {
+ color: #a6e3a1;
+ }
- #battery.warning:not(.charging) {
- background-color: #f7768e;
- color: #f38ba8;
- border-radius: 5px 5px 5px 5px;
- }
+ #battery.warning:not(.charging) {
+ background-color: #f7768e;
+ color: #f38ba8;
+ border-radius: 5px 5px 5px 5px;
+ }
- #backlight {
- background-color: #24283b;
- color: #db4b4b;
- border-radius: 0px 0px 0px 0px;
- margin: 5px;
- margin-left: 0px;
- margin-right: 0px;
- padding: 0px 0px;
- }
+ #backlight {
+ background-color: #24283b;
+ color: #db4b4b;
+ border-radius: 0px 0px 0px 0px;
+ margin: 5px;
+ margin-left: 0px;
+ margin-right: 0px;
+ padding: 0px 0px;
+ }
- #network {
- color: #f4d9e1;
- border-radius: 8px;
- margin-right: 5px;
- }
+ #network {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-right: 5px;
+ }
- #pulseaudio {
- color: #f4d9e1;
- border-radius: 8px;
- margin-left: 0px;
- }
+ #pulseaudio {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-left: 0px;
+ }
- #pulseaudio.muted {
- background: transparent;
- color: #928374;
- border-radius: 8px;
- margin-left: 0px;
- }
+ #pulseaudio.muted {
+ background: transparent;
+ color: #928374;
+ border-radius: 8px;
+ margin-left: 0px;
+ }
- #custom-randwall {
- color: #f4d9e1;
- border-radius: 8px;
- margin-right: 0px;
- }
+ #custom-randwall {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-right: 0px;
+ }
- #custom-launcher {
- color: #e5809e;
- background-color: #45475a;
- border-radius: 0px 24px 0px 0px;
- margin: 0px 0px 0px 0px;
- padding: 0 20px 0 13px;
- /*border-right: solid 1px #282738;*/
- font-size: 20px;
- }
+ #custom-launcher {
+ color: #e5809e;
+ background-color: #45475a;
+ border-radius: 0px 24px 0px 0px;
+ margin: 0px 0px 0px 0px;
+ padding: 0 20px 0 13px;
+ /*border-right: solid 1px #282738;*/
+ font-size: 20px;
+ }
- #custom-launcher button:hover {
- background-color: #FB4934;
- color: transparent;
- border-radius: 8px;
- margin-right: -5px;
- margin-left: 10px;
- }
+ #custom-launcher button:hover {
+ background-color: #FB4934;
+ color: transparent;
+ border-radius: 8px;
+ margin-right: -5px;
+ margin-left: 10px;
+ }
- #custom-playerctl {
- background: #45475a;
- padding-left: 15px;
- padding-right: 14px;
- border-radius: 16px;
- /*border-left: solid 1px #282738;*/
- /*border-right: solid 1px #282738;*/
- margin-top: 5px;
- margin-bottom: 5px;
- margin-left: 0px;
- font-weight: normal;
- font-style: normal;
- font-size: 16px;
- }
+ #custom-playerctl {
+ background: #45475a;
+ padding-left: 15px;
+ padding-right: 14px;
+ border-radius: 16px;
+ /*border-left: solid 1px #282738;*/
+ /*border-right: solid 1px #282738;*/
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-left: 0px;
+ font-weight: normal;
+ font-style: normal;
+ font-size: 16px;
+ }
- #custom-playerlabel {
- background: transparent;
- padding-left: 10px;
- padding-right: 15px;
- border-radius: 16px;
- /*border-left: solid 1px #282738;*/
- /*border-right: solid 1px #282738;*/
- margin-top: 5px;
- margin-bottom: 5px;
- font-weight: normal;
- font-style: normal;
- }
+ #custom-playerlabel {
+ background: transparent;
+ padding-left: 10px;
+ padding-right: 15px;
+ border-radius: 16px;
+ /*border-left: solid 1px #282738;*/
+ /*border-right: solid 1px #282738;*/
+ margin-top: 5px;
+ margin-bottom: 5px;
+ font-weight: normal;
+ font-style: normal;
+ }
- #window {
- background: #45475a;
- padding-left: 15px;
- padding-right: 15px;
- border-radius: 16px;
- /*border-left: solid 1px #282738;*/
- /*border-right: solid 1px #282738;*/
- margin-top: 5px;
- margin-bottom: 5px;
- font-weight: normal;
- font-style: normal;
- }
+ #window {
+ background: #45475a;
+ padding-left: 15px;
+ padding-right: 15px;
+ border-radius: 16px;
+ /*border-left: solid 1px #282738;*/
+ /*border-right: solid 1px #282738;*/
+ margin-top: 5px;
+ margin-bottom: 5px;
+ font-weight: normal;
+ font-style: normal;
+ }
- #custom-wf-recorder {
- padding: 0 20px;
- color: #e5809e;
- background-color: #1E1E2E;
- }
+ #custom-wf-recorder {
+ padding: 0 20px;
+ color: #e5809e;
+ background-color: #1E1E2E;
+ }
- #cpu {
- background-color: #45475a;
- /*color: #FABD2D;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #cpu {
+ background-color: #45475a;
+ /*color: #FABD2D;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #memory {
- background-color: #45475a;
- /*color: #83A598;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #memory {
+ background-color: #45475a;
+ /*color: #83A598;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #disk {
- background-color: #45475a;
- /*color: #8EC07C;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #disk {
+ background-color: #45475a;
+ /*color: #8EC07C;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #custom-hyprpicker {
- background-color: #45475a;
- /*color: #8EC07C;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 11px 0px 9px;
- font-weight: bold;
- }
- '';
- settings = {
- mainBar = {
- layer = "top";
- position = "top";
- height = 30;
+ #custom-hyprpicker {
+ background-color: #45475a;
+ /*color: #8EC07C;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 11px 0px 9px;
+ font-weight: bold;
+ }
+ '';
+ settings = {
+ mainBar = {
+ layer = "top";
+ position = "top";
+ height = 30;
- output = [
- "LVDS-1"
- ];
+ output = [
+ "LVDS-1"
+ ];
- modules-left = [ "hyprland/workspaces" ];
- modules-center = [ "hyprland/window" ];
- modules-right = [ "battery" "clock" ];
+ modules-left = [ "hyprland/workspaces" ];
+ modules-center = [ "hyprland/window" ];
+ modules-right = [ "battery" "clock" ];
- battery = {
- bat = "BAT0";
- format = "{capacity}% {icon}";
- format-icons = [ "" "" "" "" "" ];
- };
+ battery = {
+ bat = "BAT0";
+ format = "{capacity}% {icon}";
+ format-icons = [ "" "" "" "" "" ];
+ };
- clock = {
- format = "{:%a %d, %b %H:%M}";
- };
- };
+ clock = {
+ format = "{:%a %d, %b %H:%M}";
+ };
+ };
+ };
};
- };
- programs.zsh = {
- enable = true;
- initExtra = ''
- source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
- '';
- shellAliases = {
- c = "clear";
- g = "git";
- v = "vim";
- h = "Hyprland";
+ programs.zsh = {
+ enable = true;
+ initExtra = ''
+ source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
+ '';
+ shellAliases = {
+ c = "clear";
+ g = "git";
+ v = "vim";
+ h = "Hyprland";
+ };
};
- };
- programs.emacs = {
- enable = true;
- package = pkgs.emacs29-pgtk;
- extraConfig = ''
- (setq debug-on-error t)
- (org-babel-load-file
- (expand-file-name "~/org/website/config/emacs.org"))'';
- extraPackages = epkgs: [
- epkgs.nix-mode
- epkgs.emms
- epkgs.magit
- epkgs.vterm
- epkgs.auctex
- epkgs.use-package
- epkgs.evil
- epkgs.evil-collection
- epkgs.org-roam
- epkgs.org-journal
- epkgs.general
- epkgs.which-key
- epkgs.gruvbox-theme
- epkgs.elfeed
- epkgs.elfeed-org
- epkgs.doom-modeline
- epkgs.dashboard
- epkgs.org-superstar
- epkgs.projectile
- epkgs.lsp-mode
- epkgs.ivy
- epkgs.lsp-ivy
- epkgs.all-the-icons
- epkgs.page-break-lines
- epkgs.counsel
- epkgs.mu4e
- epkgs.yasnippet
- epkgs.company
- epkgs.pinentry
- epkgs.pdf-tools
- epkgs.circe
- epkgs.ivy-pass
- epkgs.magit-delta
- epkgs.sudo-edit
- epkgs.evil-commentary
- epkgs.evil-org
- epkgs.catppuccin-theme
- epkgs.htmlize
- epkgs.web-mode
- epkgs.emmet-mode
- epkgs.ement
- epkgs.rustic
- epkgs.chatgpt-shell
+ programs.emacs = {
+ enable = true;
+ package = pkgs.emacs29-pgtk;
+ extraConfig = ''
+ (setq debug-on-error t)
+ (org-babel-load-file
+ (expand-file-name "~/org/website/config/emacs.org"))'';
+ extraPackages = epkgs: [
+ epkgs.nix-mode
+ epkgs.emms
+ epkgs.magit
+ epkgs.vterm
+ epkgs.auctex
+ epkgs.use-package
+ epkgs.evil
+ epkgs.evil-collection
+ epkgs.org-roam
+ epkgs.org-journal
+ epkgs.general
+ epkgs.which-key
+ epkgs.gruvbox-theme
+ epkgs.elfeed
+ epkgs.elfeed-org
+ epkgs.doom-modeline
+ epkgs.dashboard
+ epkgs.org-superstar
+ epkgs.projectile
+ epkgs.lsp-mode
+ epkgs.ivy
+ epkgs.lsp-ivy
+ epkgs.all-the-icons
+ epkgs.page-break-lines
+ epkgs.counsel
+ epkgs.mu4e
+ epkgs.yasnippet
+ epkgs.company
+ epkgs.pinentry
+ epkgs.pdf-tools
+ epkgs.circe
+ epkgs.ivy-pass
+ epkgs.magit-delta
+ epkgs.sudo-edit
+ epkgs.evil-commentary
+ epkgs.evil-org
+ epkgs.catppuccin-theme
+ epkgs.htmlize
+ epkgs.web-mode
+ epkgs.emmet-mode
+ epkgs.ement
+ epkgs.rustic
+ epkgs.chatgpt-shell
- ];
- };
+ ];
+ };
- programs.mbsync = {
- enable = true;
- extraConfig = ''
- IMAPAccount prestonpan
- Host mail.nullring.xyz
- User preston
- PassCmd "pass Mail"
- Port 993
- SSLType IMAPS
- AuthMechs *
- CertificateFile /etc/ssl/certs/ca-certificates.crt
+ programs.mbsync = {
+ enable = true;
+ extraConfig = ''
+ IMAPAccount prestonpan
+ Host mail.nullring.xyz
+ User preston
+ PassCmd "pass Mail"
+ Port 993
+ SSLType IMAPS
+ AuthMechs *
+ CertificateFile /etc/ssl/certs/ca-certificates.crt
- IMAPStore prestonpan-remote
- Account prestonpan
+ IMAPStore prestonpan-remote
+ Account prestonpan
- MaildirStore prestonpan-local
- Path ~/email/mbsyncmail/
- Inbox ~/email/mbsyncmail/INBOX
- SubFolders Verbatim
+ MaildirStore prestonpan-local
+ Path ~/email/mbsyncmail/
+ Inbox ~/email/mbsyncmail/INBOX
+ SubFolders Verbatim
- Channel prestonpan
- Far :prestonpan-remote:
- Near :prestonpan-local:
- Patterns *
- Create Near
- Sync All
- Expunge None
- SyncState *
- '';
- };
+ Channel prestonpan
+ Far :prestonpan-remote:
+ Near :prestonpan-local:
+ Patterns *
+ Create Near
+ Sync All
+ Expunge None
+ SyncState *
+ '';
+ };
- programs.msmtp = {
- enable = true;
- extraConfig = ''
- # Set default values for all following accounts.
- defaults
- auth on
- tls on
- tls_trust_file /etc/ssl/certs/ca-certificates.crt
- logfile ~/.msmtp.log
+ programs.msmtp = {
+ enable = true;
+ extraConfig = ''
+ # Set default values for all following accounts.
+ defaults
+ auth on
+ tls on
+ tls_trust_file /etc/ssl/certs/ca-certificates.crt
+ logfile ~/.msmtp.log
- # Gmail
- account preston
- host mail.nullring.xyz
- port 587
- from preston@nullring.xyz
- user preston
- passwordeval "pass Mail"
+ # Gmail
+ account preston
+ host mail.nullring.xyz
+ port 587
+ from preston@nullring.xyz
+ user preston
+ passwordeval "pass Mail"
- # Set a default account
- account default : preston
- '';
- };
+ # Set a default account
+ account default : preston
+ '';
+ };
- programs.bash = {
- enable = true;
- };
+ programs.bash = {
+ enable = true;
+ };
- programs.qutebrowser = {
- enable = true;
- searchEngines = {
- w = "https://en.wikipedia.org/wiki/Special:Search?search={}&amp;go=Go&amp;ns0=1";
- aw = "https://wiki.archlinux.org/?search={}";
- nw = "https://nixos.wiki/index.php?search={}";
- g = "https://www.google.com/search?hl=en&amp;q={}";
- DEFAULT = "https://www.google.com/search?hl=en&amp;q={}";
+ programs.qutebrowser = {
+ enable = true;
+ searchEngines = {
+ w = "https://en.wikipedia.org/wiki/Special:Search?search={}&amp;go=Go&amp;ns0=1";
+ aw = "https://wiki.archlinux.org/?search={}";
+ nw = "https://nixos.wiki/index.php?search={}";
+ g = "https://www.google.com/search?hl=en&amp;q={}";
+ DEFAULT = "https://www.google.com/search?hl=en&amp;q={}";
+ };
+ settings = { };
+ extraConfig = ''
+ import os
+ from urllib.request import urlopen
+
+ if not os.path.exists(config.configdir / "theme.py"):
+ theme = "https://raw.githubusercontent.com/catppuccin/qutebrowser/main/setup.py"
+ with urlopen(theme) as themehtml:
+ with open(config.configdir / "theme.py", "a") as file:
+ file.writelines(themehtml.read().decode("utf-8"))
+
+ if os.path.exists(config.configdir / "theme.py"):
+ import theme
+ theme.setup(c, 'mocha', True)
+ '';
+ };
+ programs.git = {
+ enable = true;
+ userName = "Preston Pan";
+ userEmail = "preston@nullring.xyz";
+ signing.key = "2B749D1FB976E81613858E490290504780B30E20";
+ aliases = {
+ co = "checkout";
+ c = "commit";
+ a = "add";
+ s = "switch";
+ b = "branch";
+ };
};
- settings = { };
- extraConfig = ''
- import os
- from urllib.request import urlopen
- if not os.path.exists(config.configdir / "theme.py"):
- theme = "https://raw.githubusercontent.com/catppuccin/qutebrowser/main/setup.py"
- with urlopen(theme) as themehtml:
- with open(config.configdir / "theme.py", "a") as file:
- file.writelines(themehtml.read().decode("utf-8"))
+ wayland.windowManager.hyprland = {
+ enable = true;
+ package = pkgs.hyprland;
+ xwayland.enable = true;
+ systemd.enable = true;
+ settings = {
+ "$mod" = "SUPER";
- if os.path.exists(config.configdir / "theme.py"):
- import theme
- theme.setup(c, 'mocha', True)
- '';
- };
- programs.git = {
- enable = true;
- userName = "Preston Pan";
- userEmail = "preston@nullring.xyz";
- signing.key = "2B749D1FB976E81613858E490290504780B30E20";
- aliases = {
- co = "checkout";
- c = "commit";
- a = "add";
- s = "switch";
- b = "branch";
+ exec-once = [
+ "waybar"
+ "swww init"
+ "swww img /home/preston/wallpapers/bigrobot.png"
+ ];
+ blurls = [
+ "waybar"
+ ];
+ bind = [
+ "$mod, F, exec, firefox"
+ "$mod, Return, exec, kitty"
+ "$mod, E, exec, emacs"
+ "$mod, v, exec, vencorddesktop"
+ "$mod, d, exec, wofi --show run"
+ ", Print, exec, grimblast copy area"
+ "$mod, Q, killactive"
+ "$mod SHIFT, H, movewindow, l"
+ "$mod SHIFT, L, movewindow, r"
+ "$mod SHIFT, K, movewindow, u"
+ "$mod SHIFT, J, movewindow, d"
+ "$mod, H, movefocus, l"
+ "$mod, L, movefocus, r"
+ "$mod, K, movefocus, u"
+ "$mod, J, movefocus, d"
+ ]
+ ++ (
+ builtins.concatLists (builtins.genList
+ (
+ x:
+ let
+ ws =
+ let
+ c = (x + 1) / 10;
+ in
+ builtins.toString (x + 1 - (c * 10));
+ in
+ [
+ "$mod, ${ws}, workspace, ${toString (x + 1)}"
+ "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
+ ]
+ )
+ 10)
+ );
+ decoration = {
+ blur = {
+ enabled = true;
+ size = 5;
+ passes = 2;
+ };
+ rounding = 5;
+ shadow_offset = "0 5";
+ "col.shadow" = "rgba(00000099)";
+ };
+ input = {
+ kb_options = "caps:swapescape";
+ repeat_delay = 300;
+ repeat_rate = 50;
+ };
+ bindm = [
+ "$mod, mouse:272, movewindow"
+ "$mod, mouse:273, resizewindow"
+ "$mod ALT, mouse:272, resizewindow"
+ ];
+ binde = [
+ ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
+ ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
+ ", XF86AudioPlay, exec, mpc toggle"
+ ", XF86AudioNext, exec, mpc next"
+ ", XF86AudioPrev, exec, mpc prev"
+ ];
+ };
};
};
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ programs.zsh.enable = true;
- wayland.windowManager.hyprland = {
+ security.sudo = {
enable = true;
- package = pkgs.hyprland;
- xwayland.enable = true;
- systemd.enable = true;
- settings = {
- "$mod" = "SUPER";
-
- exec-once = [
- "waybar"
- "swww init"
- "swww img /home/preston/wallpapers/bigrobot.png"
- ];
- blurls = [
- "waybar"
- ];
- bind = [
- "$mod, F, exec, firefox"
- "$mod, Return, exec, kitty"
- "$mod, E, exec, emacs"
- "$mod, v, exec, vencorddesktop"
- "$mod, d, exec, wofi --show run"
- ", Print, exec, grimblast copy area"
- "$mod, Q, killactive"
- "$mod SHIFT, H, movewindow, l"
- "$mod SHIFT, L, movewindow, r"
- "$mod SHIFT, K, movewindow, u"
- "$mod SHIFT, J, movewindow, d"
- "$mod, H, movefocus, l"
- "$mod, L, movefocus, r"
- "$mod, K, movefocus, u"
- "$mod, J, movefocus, d"
- ]
- ++ (
- builtins.concatLists (builtins.genList
- (
- x:
- let
- ws =
- let
- c = (x + 1) / 10;
- in
- builtins.toString (x + 1 - (c * 10));
- in
- [
- "$mod, ${ws}, workspace, ${toString (x + 1)}"
- "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
- ]
- )
- 10)
- );
- decoration = {
- blur = {
- enabled = true;
- size = 5;
- passes = 2;
- };
- rounding = 5;
- shadow_offset = "0 5";
- "col.shadow" = "rgba(00000099)";
- };
- input = {
- kb_options = "caps:swapescape";
- repeat_delay = 300;
- repeat_rate = 50;
- };
- bindm = [
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
- "$mod ALT, mouse:272, resizewindow"
- ];
- binde = [
- ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
- ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
- ", XF86AudioPlay, exec, mpc toggle"
- ", XF86AudioNext, exec, mpc next"
- ", XF86AudioPrev, exec, mpc prev"
- ];
- };
+ extraRules = [{
+ commands = [
+ {
+ command = "${pkgs.systemd}/bin/systemctl suspend";
+ options = [ "NOPASSWD" ];
+ }
+ {
+ command = "${pkgs.systemd}/bin/reboot";
+ options = [ "NOPASSWD" ];
+ }
+ {
+ command = "${pkgs.systemd}/bin/poweroff";
+ options = [ "NOPASSWD" ];
+ }
+ {
+ command = "${pkgs.light}/bin/light";
+ options = [ "NOPASSWD" ];
+ }
+ ];
+ groups = [ "wheel" ];
+ }];
};
- };
- # Define a user account. Don't forget to set a password with ‘passwd’.
- programs.zsh.enable = true;
- security.sudo = {
- enable = true;
- extraRules = [{
- commands = [
- {
- command = "${pkgs.systemd}/bin/systemctl suspend";
- options = [ "NOPASSWD" ];
- }
- {
- command = "${pkgs.systemd}/bin/reboot";
- options = [ "NOPASSWD" ];
- }
- {
- command = "${pkgs.systemd}/bin/poweroff";
- options = [ "NOPASSWD" ];
- }
- {
- command = "${pkgs.light}/bin/light";
- options = [ "NOPASSWD" ];
- }
+ users.users.preston = {
+ isNormalUser = true;
+ description = "Preston Pan";
+ extraGroups = [ "networkmanager" "wheel" ];
+ shell = pkgs.zsh;
+ packages = with pkgs; [
+ # thunderbird
];
- groups = [ "wheel" ];
- }];
- };
-
- users.users.preston = {
- isNormalUser = true;
- description = "Preston Pan";
- extraGroups = [ "networkmanager" "wheel" ];
- shell = pkgs.zsh;
- packages = with pkgs; [
- # thunderbird
- ];
- };
+ };
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
+ # Allow unfree packages
+ nixpkgs.config.allowUnfree = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- nixpkgs.config.packageOverrides = pkgs: {
- nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
- inherit pkgs;
+ # List packages installed in system profile. To search, run:
+ # $ nix search wget
+ nixpkgs.config.packageOverrides = pkgs: {
+ nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
+ inherit pkgs;
+ };
};
- };
- environment.systemPackages = with pkgs; [
- # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
- # wget
- nixpkgs-fmt
- rnix-lsp
- light
- ];
+ environment.systemPackages = with pkgs; [
+ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
+ # wget
+ nixpkgs-fmt
+ rnix-lsp
+ light
+ ];
- xdg.portal = {
- enable = true;
- wlr.enable = true;
- extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
- config.common.default = "*";
- };
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
+ xdg.portal = {
+ enable = true;
+ wlr.enable = true;
+ extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+ config.common.default = "*";
+ };
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
- # List services that you want to enable:
+ # List services that you want to enable:
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
+ # Enable the OpenSSH daemon.
+ # services.openssh.enable = true;
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "23.11"; # Did you read the comment?
-}
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "23.11"; # Did you read the comment?
+ }
#+end_src
diff --git a/index.org b/index.org
index 59e30e6..95816d6 100644
--- a/index.org
+++ b/index.org
@@ -64,7 +64,7 @@ website:
#+begin_src shell :exports code :results silent
cd ~/org/website
git add .
-git commit -m "publish nix config"
+git commit -m "change readme"
git push origin main
rsync -azvP ~/website_html/ root@nullring.xyz:/var/www/ret2pop/
#+end_src
diff --git a/journal/20240301.org b/journal/20240301.org
new file mode 100644
index 0000000..78169f7
--- /dev/null
+++ b/journal/20240301.org
@@ -0,0 +1,11 @@
+#+TITLE: Daily Journal
+#+STARTUP: showeverything
+#+DESCRIPTION: My daily journal entry
+#+AUTHOR: Preston Pan
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" />
+#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
+#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+#+options: broken-links:t
+* Friday, 01 March 2024
+** 16:44
+If I don't journal, that's because I am in Victoria. I am currently boarding the ferry.
diff --git a/mindmap/limit.org b/mindmap/limit.org
new file mode 100644
index 0000000..946e4d2
--- /dev/null
+++ b/mindmap/limit.org
@@ -0,0 +1,48 @@
+:PROPERTIES:
+:ID: 122fd244-ffeb-47d0-89ce-bf9bc6f01b70
+:END:
+#+title: limit
+#+author: Preston Pan
+#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" />
+#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
+#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+#+options: broken-links:t
+
+* Introduction
+A limit in mathematics is a tool used to describe the intuitive process
+of a value or a set of values tending towards another. First, we will define
+limits as they pertain to sequences, and then we will define them on [[id:b1f9aa55-5f1e-4865-8118-43e5e5dc7752][functions]].
+For a sequence $\{s_{n}\}$:
+
+\begin{align*}
+\lim s_{n} = s \iff \forall \epsilon > 0, \exists N , n > N \implies | s_{n} - s | < \epsilon
+\end{align*}
+
+What this means is that at some point in the sequence, for some choice of epsilon, no matter how small
+it is, there has to be an index where every term after that index is closer to $s$ than epsilon. If
+some single number $s$ and sequence $\{s_{n}\}$ fulfills this criteria, then it is said that the limit
+of the sequence is $s$. Generally speaking, we use the set $\mathbb{R} \cup \{ -\infty, +\infty \}$, where there is a natural
+ordering:
+
+\begin{align*}
+\forall a \in \mathbb{R}, - \infty < a < +\infty
+\end{align*}
+defined. Note that we can define equivalence relations on these symbols, but algebra reamins undefined.
+** Limits on Monotone Sequences
+An increasing sequence is a sequence $\{s_{n}\}$ defined such that:
+\begin{align*}
+\forall n \in \mathbb{N}, \forall m \in \mathbb{N}, n \ge m \implies s_{n} \ge s_{m}.
+\end{align*}
+and now we wish to prove that the limit of monotone sequences always exist.
+
+\begin{align*}
+\lim s_{n} = s \iff \forall \epsilon > 0, \exists N, n > N \implies | s_{n} - s | < \epsilon \\
+\end{align*}
+
+#+begin_theorem
+If I am bad, then you are too.
+#+end_theorem
+
+#+begin_proof
+
+#+end_proof
diff --git a/mindmap/ltximg/org-ltximg_02aa3ea174cc91456ea23713ffe95af053dcb277.png b/mindmap/ltximg/org-ltximg_02aa3ea174cc91456ea23713ffe95af053dcb277.png
new file mode 100644
index 0000000..78e0534
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_02aa3ea174cc91456ea23713ffe95af053dcb277.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_0447ca2e63ccd0dd90f39c00f82c80bc1cbe8691.png b/mindmap/ltximg/org-ltximg_0447ca2e63ccd0dd90f39c00f82c80bc1cbe8691.png
new file mode 100644
index 0000000..0e0623a
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_0447ca2e63ccd0dd90f39c00f82c80bc1cbe8691.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_117619bf26ee5cdc69145c7ed2c2b224b89157f1.png b/mindmap/ltximg/org-ltximg_117619bf26ee5cdc69145c7ed2c2b224b89157f1.png
new file mode 100644
index 0000000..caca7ec
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_117619bf26ee5cdc69145c7ed2c2b224b89157f1.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_19e116a4a198d0ce1dc6d9f9887790227d19e957.png b/mindmap/ltximg/org-ltximg_19e116a4a198d0ce1dc6d9f9887790227d19e957.png
new file mode 100644
index 0000000..0fab66a
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_19e116a4a198d0ce1dc6d9f9887790227d19e957.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_1c29e37ce0eb6a769c8b3f764b69522814cd276f.png b/mindmap/ltximg/org-ltximg_1c29e37ce0eb6a769c8b3f764b69522814cd276f.png
new file mode 100644
index 0000000..6c2e031
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_1c29e37ce0eb6a769c8b3f764b69522814cd276f.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_23da09acf7c1c8d9e80aa074db5770053e61da4f.png b/mindmap/ltximg/org-ltximg_23da09acf7c1c8d9e80aa074db5770053e61da4f.png
new file mode 100644
index 0000000..442a11f
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_23da09acf7c1c8d9e80aa074db5770053e61da4f.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_27244e5b74b849f9b81d99797b3bd149296780fc.png b/mindmap/ltximg/org-ltximg_27244e5b74b849f9b81d99797b3bd149296780fc.png
new file mode 100644
index 0000000..c5e4774
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_27244e5b74b849f9b81d99797b3bd149296780fc.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_2e882e7c90999ce3a67b3c7a8ff96f2a52c73f11.png b/mindmap/ltximg/org-ltximg_2e882e7c90999ce3a67b3c7a8ff96f2a52c73f11.png
new file mode 100644
index 0000000..f67e1c0
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_2e882e7c90999ce3a67b3c7a8ff96f2a52c73f11.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_3031ae29e601c6ac7ecc06693f894f145327ab9d.png b/mindmap/ltximg/org-ltximg_3031ae29e601c6ac7ecc06693f894f145327ab9d.png
new file mode 100644
index 0000000..ab2fe2d
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_3031ae29e601c6ac7ecc06693f894f145327ab9d.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_311efb83a45287d808391c0fb75227a21d372f1c.png b/mindmap/ltximg/org-ltximg_311efb83a45287d808391c0fb75227a21d372f1c.png
new file mode 100644
index 0000000..5002da6
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_311efb83a45287d808391c0fb75227a21d372f1c.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_3494ac98fc90ad51d44be7f0bddfda7149ce8042.png b/mindmap/ltximg/org-ltximg_3494ac98fc90ad51d44be7f0bddfda7149ce8042.png
new file mode 100644
index 0000000..2cc2bc9
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_3494ac98fc90ad51d44be7f0bddfda7149ce8042.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_362848eb7906c9ed12c9c604b7ea46dcbb475963.png b/mindmap/ltximg/org-ltximg_362848eb7906c9ed12c9c604b7ea46dcbb475963.png
new file mode 100644
index 0000000..b319524
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_362848eb7906c9ed12c9c604b7ea46dcbb475963.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_36a9152abe257356e10d6bcf14b90f467755ea8a.png b/mindmap/ltximg/org-ltximg_36a9152abe257356e10d6bcf14b90f467755ea8a.png
new file mode 100644
index 0000000..b319524
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_36a9152abe257356e10d6bcf14b90f467755ea8a.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_3910faf9acf212232795e93c3510d0fe97468015.png b/mindmap/ltximg/org-ltximg_3910faf9acf212232795e93c3510d0fe97468015.png
new file mode 100644
index 0000000..2233fea
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_3910faf9acf212232795e93c3510d0fe97468015.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_3b801c9dd1e409d443c9c7a9e6e56cec2659e2c7.png b/mindmap/ltximg/org-ltximg_3b801c9dd1e409d443c9c7a9e6e56cec2659e2c7.png
new file mode 100644
index 0000000..fd7bcb5
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_3b801c9dd1e409d443c9c7a9e6e56cec2659e2c7.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_4a00d3f9faf6b95dcf6784b6f9242a10c0490d4b.png b/mindmap/ltximg/org-ltximg_4a00d3f9faf6b95dcf6784b6f9242a10c0490d4b.png
new file mode 100644
index 0000000..ff1c7ad
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_4a00d3f9faf6b95dcf6784b6f9242a10c0490d4b.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_4d0d3071a4f57e81d06a60024812fa709c226a13.png b/mindmap/ltximg/org-ltximg_4d0d3071a4f57e81d06a60024812fa709c226a13.png
new file mode 100644
index 0000000..0fab66a
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_4d0d3071a4f57e81d06a60024812fa709c226a13.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_4ea98c9bb08f07f584f8c5412432c67c3b0a6e6f.png b/mindmap/ltximg/org-ltximg_4ea98c9bb08f07f584f8c5412432c67c3b0a6e6f.png
new file mode 100644
index 0000000..80e5640
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_4ea98c9bb08f07f584f8c5412432c67c3b0a6e6f.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_6902b949dc40801941d169abb6484f949be7deca.png b/mindmap/ltximg/org-ltximg_6902b949dc40801941d169abb6484f949be7deca.png
new file mode 100644
index 0000000..8ab51ce
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_6902b949dc40801941d169abb6484f949be7deca.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_7257612d877b79f25160876e21c09f4a477eb402.png b/mindmap/ltximg/org-ltximg_7257612d877b79f25160876e21c09f4a477eb402.png
new file mode 100644
index 0000000..23456d8
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_7257612d877b79f25160876e21c09f4a477eb402.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_8975639a2a55c6690a74f716ea57a8b344d56465.png b/mindmap/ltximg/org-ltximg_8975639a2a55c6690a74f716ea57a8b344d56465.png
new file mode 100644
index 0000000..07bc866
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_8975639a2a55c6690a74f716ea57a8b344d56465.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_89fffb6e58aaca63705d0802a5198e2a44b521ee.png b/mindmap/ltximg/org-ltximg_89fffb6e58aaca63705d0802a5198e2a44b521ee.png
new file mode 100644
index 0000000..9c7ed35
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_89fffb6e58aaca63705d0802a5198e2a44b521ee.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_8daf51c4403546d8b411e27b57b947181766471b.png b/mindmap/ltximg/org-ltximg_8daf51c4403546d8b411e27b57b947181766471b.png
new file mode 100644
index 0000000..88b8306
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_8daf51c4403546d8b411e27b57b947181766471b.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_9418fd90c2cdbf77a1865932d89612ee24845a24.png b/mindmap/ltximg/org-ltximg_9418fd90c2cdbf77a1865932d89612ee24845a24.png
new file mode 100644
index 0000000..d0755a9
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_9418fd90c2cdbf77a1865932d89612ee24845a24.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_9dae828b4101a47202d449c337e4e360e5b9032e.png b/mindmap/ltximg/org-ltximg_9dae828b4101a47202d449c337e4e360e5b9032e.png
new file mode 100644
index 0000000..c4e2d20
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_9dae828b4101a47202d449c337e4e360e5b9032e.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_a313fb998dcfa9c71cf9f6a0599dda7092c147c3.png b/mindmap/ltximg/org-ltximg_a313fb998dcfa9c71cf9f6a0599dda7092c147c3.png
new file mode 100644
index 0000000..fe029ee
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_a313fb998dcfa9c71cf9f6a0599dda7092c147c3.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_a4b84a731b6c881bbdc914223bc8e34684a5e351.png b/mindmap/ltximg/org-ltximg_a4b84a731b6c881bbdc914223bc8e34684a5e351.png
new file mode 100644
index 0000000..ab2fe2d
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_a4b84a731b6c881bbdc914223bc8e34684a5e351.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_a51cf9411c47550152d2e408a23ef1f32d81e13a.png b/mindmap/ltximg/org-ltximg_a51cf9411c47550152d2e408a23ef1f32d81e13a.png
new file mode 100644
index 0000000..0809c61
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_a51cf9411c47550152d2e408a23ef1f32d81e13a.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_b22bea268ced4d8ef1dfa95434f2ac46b41cd376.png b/mindmap/ltximg/org-ltximg_b22bea268ced4d8ef1dfa95434f2ac46b41cd376.png
new file mode 100644
index 0000000..fefec5c
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_b22bea268ced4d8ef1dfa95434f2ac46b41cd376.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_bd02c2602c5f17e82648a9b183440f1dac90bb9c.png b/mindmap/ltximg/org-ltximg_bd02c2602c5f17e82648a9b183440f1dac90bb9c.png
new file mode 100644
index 0000000..b3af05e
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_bd02c2602c5f17e82648a9b183440f1dac90bb9c.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_bd64b6295265bbcd10591dbdda2a7089a6930bc0.png b/mindmap/ltximg/org-ltximg_bd64b6295265bbcd10591dbdda2a7089a6930bc0.png
new file mode 100644
index 0000000..e1f1efc
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_bd64b6295265bbcd10591dbdda2a7089a6930bc0.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_c6a81bcc6ef74a723c73b2b8e30030118c53f95d.png b/mindmap/ltximg/org-ltximg_c6a81bcc6ef74a723c73b2b8e30030118c53f95d.png
new file mode 100644
index 0000000..9e43921
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_c6a81bcc6ef74a723c73b2b8e30030118c53f95d.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_c94999ae9316287e809dabd9fc494e1c9b34a387.png b/mindmap/ltximg/org-ltximg_c94999ae9316287e809dabd9fc494e1c9b34a387.png
new file mode 100644
index 0000000..fe08625
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_c94999ae9316287e809dabd9fc494e1c9b34a387.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_ca153f1fdee390f625c656282b2c40d4e0a291d6.png b/mindmap/ltximg/org-ltximg_ca153f1fdee390f625c656282b2c40d4e0a291d6.png
new file mode 100644
index 0000000..245100b
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_ca153f1fdee390f625c656282b2c40d4e0a291d6.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_d6bcca9d646fcb8ca99c61db97e8acb458b2b8f2.png b/mindmap/ltximg/org-ltximg_d6bcca9d646fcb8ca99c61db97e8acb458b2b8f2.png
new file mode 100644
index 0000000..238c4e4
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_d6bcca9d646fcb8ca99c61db97e8acb458b2b8f2.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_dfcad877d792037fb38843d7883bdeeb82eaad9d.png b/mindmap/ltximg/org-ltximg_dfcad877d792037fb38843d7883bdeeb82eaad9d.png
new file mode 100644
index 0000000..5bae963
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_dfcad877d792037fb38843d7883bdeeb82eaad9d.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_e80960665bf0d91ee0770469f237c39dcfe22b98.png b/mindmap/ltximg/org-ltximg_e80960665bf0d91ee0770469f237c39dcfe22b98.png
new file mode 100644
index 0000000..fe08625
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_e80960665bf0d91ee0770469f237c39dcfe22b98.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_ebd769de777728ae8dde51dc94c51ad64963244e.png b/mindmap/ltximg/org-ltximg_ebd769de777728ae8dde51dc94c51ad64963244e.png
new file mode 100644
index 0000000..7f42214
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_ebd769de777728ae8dde51dc94c51ad64963244e.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_ef4bb2859aff03c92a09e6a971ada1b8f17a9c39.png b/mindmap/ltximg/org-ltximg_ef4bb2859aff03c92a09e6a971ada1b8f17a9c39.png
new file mode 100644
index 0000000..b319524
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_ef4bb2859aff03c92a09e6a971ada1b8f17a9c39.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_f9d4fb0fcdd5debe5b000b7b272bd04d6d8298b9.png b/mindmap/ltximg/org-ltximg_f9d4fb0fcdd5debe5b000b7b272bd04d6d8298b9.png
new file mode 100644
index 0000000..f49aca8
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_f9d4fb0fcdd5debe5b000b7b272bd04d6d8298b9.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_fa16adefafa2a4d0f294d224c776253425d38b95.png b/mindmap/ltximg/org-ltximg_fa16adefafa2a4d0f294d224c776253425d38b95.png
new file mode 100644
index 0000000..a5ac0b1
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_fa16adefafa2a4d0f294d224c776253425d38b95.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_fc2b866227121d901dcbc062e4a8f3fbbc121bf8.png b/mindmap/ltximg/org-ltximg_fc2b866227121d901dcbc062e4a8f3fbbc121bf8.png
new file mode 100644
index 0000000..b319524
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_fc2b866227121d901dcbc062e4a8f3fbbc121bf8.png
Binary files differ
diff --git a/mindmap/ltximg/org-ltximg_fe265cc5bfe020b69154d212c1f40dcd7cc2cfd6.png b/mindmap/ltximg/org-ltximg_fe265cc5bfe020b69154d212c1f40dcd7cc2cfd6.png
new file mode 100644
index 0000000..96beb3c
--- /dev/null
+++ b/mindmap/ltximg/org-ltximg_fe265cc5bfe020b69154d212c1f40dcd7cc2cfd6.png
Binary files differ
diff --git a/mindmap/partial derivative.org b/mindmap/partial derivative.org
index ac1c5d2..54ab922 100644
--- a/mindmap/partial derivative.org
+++ b/mindmap/partial derivative.org
@@ -11,4 +11,4 @@
* Definition
The operator \(\frac{\partial}{\partial x_{n}}\) takes the [[id:31d3944a-cddc-496c-89a3-67a56e821de3][derivative]] of a function \(f(\vec{x})\) with respect to \(x_{n}\) in
the direction of the \(x_{n}\) axis. In other words, we take the derivative \(f(\vec{x})\) as if all variables
-except \(x_{n}\) is constant.
+except \(x_{n}\) is constant; this is useful in cases where you only care about one variable.