aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorPreston Pan <preston@nullring.xyz>2024-03-01 23:59:45 -0800
committerPreston Pan <preston@nullring.xyz>2024-03-01 23:59:45 -0800
commitff214773f5752bef66e5ac5fd666dafd6b5ac271 (patch)
treea6c8f2dc14d0687f4c4820832d1d53beed7f376b /config
parent9551c7d783b76edff579287238ab3b85d37efe25 (diff)
change readme
Diffstat (limited to 'config')
-rw-r--r--config/emacs.el20
-rw-r--r--config/emacs.org20
-rw-r--r--config/nix.org2516
3 files changed, 1288 insertions, 1268 deletions
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’).
-
-{ config, pkgs, ... }:
-
-{
- imports =
- [
- # Include the results of the hardware scan.
- ./hardware-configuration.nix
- <home-manager/nixos>
- ];
+#+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, ... }:
+
+ {
+ 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;
-
- networking.hostName = "continuity"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- networking.networkmanager.enable = true;
-
- # Set your time zone.
- time.timeZone = "America/Vancouver";
-
- # Select internationalisation properties.
- i18n.defaultLocale = "en_CA.UTF-8";
-
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- services.xserver.displayManager.startx.enable = true;
-
- # Configure keymap in X11
- services.xserver = {
- layout = "us";
- xkbVariant = "";
- xkbOptions = "caps:escape";
- };
-
- # Enable CUPS to print documents.
- services.printing.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;
-
- # 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 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
- ];
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
- fonts.fontconfig.enable = true;
- xsession.enable = true;
- home.stateVersion = "23.11";
+ networking.hostName = "continuity"; # Define your hostname.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- services.gpg-agent = {
- enable = true;
- pinentryFlavor = "emacs";
- extraConfig = ''
- allow-emacs-pinentry
- allow-loopback-pinentry
- '';
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Enable networking
+ networking.networkmanager.enable = true;
+
+ # Set your time zone.
+ time.timeZone = "America/Vancouver";
+
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_CA.UTF-8";
+
+ # Enable the X11 windowing system.
+ services.xserver.enable = true;
+ services.xserver.displayManager.startx.enable = true;
+
+ # Configure keymap in X11
+ services.xserver = {
+ layout = "us";
+ xkbVariant = "";
+ xkbOptions = "caps:escape";
};
- services.mpd = {
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+ # Enable sound with pipewire.
+ sound.enable = true;
+ hardware.pulseaudio.enable = false;
+ security.rtkit.enable = true;
+ services.pipewire = {
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"
- }
- '';
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ #jack.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;
};
- 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;
+ # 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
+ ];
- 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);
-
- * {
- font-family: 'Iosevka Nerd Font', monospace;
- font-size: 14px;
- }
-
- /* 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;
- }
-
- /* Slide In */
- @keyframes slideIn {
- 0% {
- opacity: 0;
- }
-
- 100% {
- opacity: 1;
- }
- }
-
- /* Inner Box */
- #inner-box {
- margin: 5px;
- padding: 10px;
- border: none;
- background-color: @base;
- animation: fadeIn 0.5s ease-in-out both;
- }
-
- /* Fade In */
- @keyframes fadeIn {
- 0% {
- opacity: 0;
- }
-
- 100% {
- opacity: 1;
- }
- }
-
- /* Outer Box */
- #outer-box {
- margin: 5px;
- padding: 10px;
- border: none;
- background-color: @base;
- }
-
- /* Scroll */
- #scroll {
- margin: 0px;
- 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;
- }
-
- #input image {
- border: none;
- color: @red;
- }
-
- #input * {
- outline: 4px solid @red!important;
- }
-
- /* Text */
- #text {
- margin: 5px;
- border: none;
- color: @text;
- animation: fadeIn 0.5s ease-in-out both;
- }
-
- #entry {
- background-color: @base;
- }
-
- #entry arrow {
- border: none;
- color: @lavender;
- }
-
- /* Selected Entry */
- #entry:selected {
- border: 0.11em solid @lavender;
- }
-
- #entry:selected #text {
- color: @mauve;
- }
-
- #entry:drop(active) {
- background-color: @lavender!important;
- }
- '';
- };
+ fonts.fontconfig.enable = true;
+ xsession.enable = true;
+ home.stateVersion = "23.11";
+
+ services.gpg-agent = {
+ enable = true;
+ pinentryFlavor = "emacs";
+ extraConfig = ''
+ allow-emacs-pinentry
+ allow-loopback-pinentry
+ '';
+ };
- 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";
+ 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"
+ }
+ '';
};
- extraConfig = ''
- # The basic colors
- foreground #CDD6F4
- background #1E1E2E
- selection_foreground #1E1E2E
- selection_background #F5E0DC
-
- # Cursor colors
- cursor #F5E0DC
- cursor_text_color #1E1E2E
-
- # URL underline color when hovering with mouse
- url_color #F5E0DC
-
- # Kitty window border colors
- active_border_color #B4BEFE
- inactive_border_color #6C7086
- bell_border_color #F9E2AF
-
- # OS Window titlebar colors
- wayland_titlebar_color #1E1E2E
- macos_titlebar_color #1E1E2E
-
- # Tab bar colors
- active_tab_foreground #11111B
- active_tab_background #CBA6F7
- inactive_tab_foreground #CDD6F4
- inactive_tab_background #181825
- tab_bar_background #11111B
-
- # Colors for marks (marked text in the terminal)
- mark1_foreground #1E1E2E
- mark1_background #B4BEFE
- mark2_foreground #1E1E2E
- mark2_background #CBA6F7
- mark3_foreground #1E1E2E
- mark3_background #74C7EC
-
- # The 16 terminal colors
-
- # black
- color0 #45475A
- color8 #585B70
-
- # red
- color1 #F38BA8
- color9 #F38BA8
-
- # green
- color2 #A6E3A1
- color10 #A6E3A1
-
- # yellow
- color3 #F9E2AF
- color11 #F9E2AF
-
- # blue
- color4 #89B4FA
- color12 #89B4FA
-
- # magenta
- color5 #F5C2E7
- color13 #F5C2E7
-
- # cyan
- color6 #94E2D5
- color14 #94E2D5
-
- # white
- color7 #BAC2DE
- color15 #A6ADC8
- '';
- };
- programs.firefox = {
- policies = {
- EnableTrackingProtection = true;
- OfferToSaveLogins = false;
+
+ 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;
+ };
+
+ 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);
+
+ ,* {
+ font-family: 'Iosevka Nerd Font', monospace;
+ font-size: 14px;
+ }
+
+ /* 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;
+ }
+
+ /* Slide In */
+ @keyframes slideIn {
+ 0% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+ }
+
+ /* Inner Box */
+ #inner-box {
+ margin: 5px;
+ padding: 10px;
+ border: none;
+ background-color: @base;
+ animation: fadeIn 0.5s ease-in-out both;
+ }
+
+ /* Fade In */
+ @keyframes fadeIn {
+ 0% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+ }
+
+ /* Outer Box */
+ #outer-box {
+ margin: 5px;
+ padding: 10px;
+ border: none;
+ background-color: @base;
+ }
+
+ /* Scroll */
+ #scroll {
+ margin: 0px;
+ 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;
+ }
+
+ #input image {
+ border: none;
+ color: @red;
+ }
+
+ #input * {
+ outline: 4px solid @red!important;
+ }
+
+ /* Text */
+ #text {
+ margin: 5px;
+ border: none;
+ color: @text;
+ animation: fadeIn 0.5s ease-in-out both;
+ }
+
+ #entry {
+ background-color: @base;
+ }
+
+ #entry arrow {
+ border: none;
+ color: @lavender;
+ }
+
+ /* Selected Entry */
+ #entry:selected {
+ border: 0.11em solid @lavender;
+ }
+
+ #entry:selected #text {
+ color: @mauve;
+ }
+
+ #entry:drop(active) {
+ background-color: @lavender!important;
+ }
+ '';
};
- 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 *
- ****************************************************************************/
-
- /****************************************************************************
- * 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);
-
- /** 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);
-
- /** 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);
-
- /** 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);
-
- /****************************************************************************
- * 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);
-
- /** 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);
-
- /** 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);
-
- /** 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);
-
- /** 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);
-
- /** 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);
-
- /** 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", "");
-
- /** 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