]> Untitled Git - monorepo.git/commitdiff
update NixOS configuration and journal twice
authorPreston Pan <ret2pop@gmail.com>
Sat, 28 Jun 2025 21:02:43 +0000 (14:02 -0700)
committerPreston Pan <ret2pop@gmail.com>
Sat, 28 Jun 2025 21:02:43 +0000 (14:02 -0700)
12 files changed:
agenda.org
config/nix.org
journal/20250602.org [new file with mode: 0644]
journal/20250626.org [new file with mode: 0644]
nix/flake.lock
nix/modules/configuration.nix
nix/modules/home/default.nix
nix/modules/home/firefox.nix
nix/modules/home/mako.nix
nix/modules/home/user.nix
nix/modules/home/zsh.nix
nix/modules/pipewire.nix

index 61e474a64b4229998cf6ab990b6ca9a6541fbfce..6a7226192ba8eb9478c61493e7dfe79828bf49f7 100644 (file)
@@ -35,21 +35,21 @@ I want to start making YouTube videos.
 ** TODO [#C] Analogue Computer
 I want to make an analogue computer.
 * Skills
+** TODO Learn Supercollider Languages
 ** TODO Learn Blender
 ** TODO Drawing with Krita
-** TODO Circuit Design
+** DONE Circuit Design
 ** TODO Learn More Solidity
 ** TODO Learn Haskell
 ** TODO Learn Coq Theorem Prover
-
 * Academic
 ** TODO QFT
 ** TODO GM
 ** TODO Real and Complex Analysis
+*** DONE Real Analysis
 ** TODO Measure Theory
 ** TODO Category Theory
 ** TODO ZK Proof Deep Dive
-
 * Scheduled tasks
 These are one-time tasks that are scheduled at a particular date, and that don't require regular
 schedules.
@@ -82,7 +82,11 @@ SCHEDULED: <2025-03-22 Sat .+1d>
 - State "DONE"       from "TODO"       [2025-03-11 Tue 00:16]
 I want to be healthy.
 ** TODO Run
-SCHEDULED: <2025-02-11 Tue .+1d>
+SCHEDULED: <2025-06-27 Fri .+1d>
+:PROPERTIES:
+:LAST_REPEAT: [2025-06-26 Thu 23:22]
+:END:
+- State "DONE"       from "TODO"       [2025-06-26 Thu 23:22]
 I want to be able to run or bike every day so that I get my exercise in.
 ** TODO Stretch
 SCHEDULED: <2025-02-12 Wed .+1d>
@@ -93,10 +97,11 @@ SCHEDULED: <2025-02-12 Wed .+1d>
 - State "DONE"       from "TODO"       [2025-01-11 Sat 02:26]
 I want to stretch every day so that I can become more flexible.
 ** TODO Journal
-SCHEDULED: <2025-03-22 Sat .+1d>
+SCHEDULED: <2025-06-27 Fri .+1d>
 :PROPERTIES:
-:LAST_REPEAT: [2025-03-21 Fri 04:49]
+:LAST_REPEAT: [2025-06-26 Thu 23:21]
 :END:
+- State "DONE"       from "TODO"       [2025-06-26 Thu 23:21]
 - State "DONE"       from "TODO"       [2025-03-21 Fri 04:49]
 - State "DONE"       from "TODO"       [2025-03-13 Thu 09:55]
 - State "DONE"       from "TODO"       [2025-03-11 Tue 00:57]
index 36fbee2027c5d3ecbb2c427f13f40b0c898e9a7c..9109d44f81d0437ad3b6ac530f2daeaacea417e2 100644 (file)
@@ -33,7 +33,7 @@ so that adding new configurations that add modifications is made simple.
         inputs.nixpkgs.follows = "nixpkgs";
       };
       home-manager = {
-           url = "github:nix-community/home-manager/release-24.11";
+           url = "github:nix-community/home-manager/release-25.05";
            inputs.nixpkgs.follows = "nixpkgs";
       };
       disko = {
@@ -370,38 +370,48 @@ My low latency pipewire configuration is used for music production, as well as f
 desktop usage. Pipewire is much better than pulseaudio because it supports jack with the same
 underlying interface and it breaks significantly less often.
 #+begin_src nix :tangle ../nix/modules/pipewire.nix
-{ lib, config, ... }:
-{
-  services.pipewire = {
-    enable = lib.mkDefault config.monorepo.profiles.pipewire.enable;
-    alsa = {
-      enable = true;
-      support32Bit = true;
-    };
-    pulse.enable = true;
-    jack.enable = true;
-    wireplumber.enable = true;
-    extraConfig.pipewire-pulse."92-low-latency" = {
-      "context.properties" = [
-        {
-          name = "libpipewire-module-protocol-pulse";
-          args = { };
-        }
-      ];
-      "pulse.properties" = {
-        "pulse.min.req" = "32/48000";
-        "pulse.default.req" = "32/48000";
-        "pulse.max.req" = "32/48000";
-        "pulse.min.quantum" = "32/48000";
-        "pulse.max.quantum" = "32/48000";
-      };
-      "stream.properties" = {
-        "node.latency" = "32/48000";
-        "resample.quality" = 1;
+  { lib, config, ... }:
+  {
+    services.pipewire = {
+      enable = lib.mkDefault config.monorepo.profiles.pipewire.enable;
+      alsa = {
+        enable = true;
+        support32Bit = true;
+      };
+      pulse.enable = true;
+      jack.enable = true;
+      wireplumber.enable = true;
+      extraConfig = {
+        pipewire."92-low-latency" = {
+          "context.properties" = {
+            "default.clock.rate" = 48000;
+            "default.clock.quantum" = 256;
+            "default.clock.min-quantum" = 32;
+            "default.clock.max-quantum" = 512;
+          };
+          pipewire-pulse."92-low-latency" = {
+            "context.properties" = [
+              {
+                name = "libpipewire-module-protocol-pulse";
+                args = { };
+              }
+            ];
+            "pulse.properties" = {
+              "pulse.min.req" = "32/48000";
+              "pulse.default.req" = "32/48000";
+              "pulse.max.req" = "32/48000";
+              "pulse.min.quantum" = "32/48000";
+              "pulse.max.quantum" = "32/48000";
+            };
+            "stream.properties" = {
+              "node.latency" = "32/48000";
+              "resample.quality" = 1;
+            };
+          };
+        };
       };
     };
-  };
-}
+  }
 #+end_src
 ** SSH
 My SSH daemon configuration.
@@ -931,10 +941,7 @@ because they enhance security.
          "spectre_v2=on"
          "spec_store_bypass_disable=on"
          "tsx=off"
-         "tsx_async_abort=full,nosmt"
-         "mds=full,nosmt"
          "l1tf=full,force"
-         "nosmt=force"
          "kvm.nx_huge_pages=force"
 
          # hardened
@@ -986,6 +993,7 @@ because they enhance security.
          "kernel.kptr_restrict" = 2;
 
          # madaidan
+              "kernel.smtcontrol" = "on";
          "vm.swappiness" = 1;
          "vm.unprivileged_userfaultfd" = 0;
          "dev.tty.ldisc_autoload" = 0;
@@ -1090,7 +1098,7 @@ because they enhance security.
 
       lockKernelModules = true;
       protectKernelImage = true;
-      allowSimultaneousMultithreading = false;
+      allowSimultaneousMultithreading = true;
       forcePageTableIsolation = true;
 
       tpm2 = {
@@ -1485,15 +1493,16 @@ I have many imports that we'll go through next.
                                              ardour
                                              audacity
                                                    blender
+                        foxdot
                                        fluidsynth
                                        qjackctl
                                        qsynth
                                        qpwgraph
                                        imagemagick
+                        supercollider
                                        inkscape
                                        kdePackages.kdenlive
                                        kicad
-                        reaper
                         murmur
                                                  ]) else []);
 
@@ -1542,7 +1551,7 @@ be straightforward.
           name = "default";
           isDefault = true;
 
-          extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+          extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
             ublock-origin
             tree-style-tab
             firefox-color
@@ -2089,6 +2098,10 @@ to use this component will come soon.
           };
           rounding = 5;
         };
+        device = {
+          name = "beken-usb-gaming-mouse-1";
+          sensitivity = -0.5;
+        };
         input = {
           kb_options = "caps:swapescape";
           repeat_delay = 300;
@@ -2172,21 +2185,21 @@ I've set my terminal, kitty, to use catppuccin colors.
 This is my notification system. My flake automatically fetches the notification sound, so you
 are all set from the get-go!
 #+begin_src nix :tangle ../nix/modules/home/mako.nix
-{ lib, config, sounds, ... }:
-{
-  services.mako = {
-    enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
-    backgroundColor = "#11111bf8";
-    textColor = "#cdd6f4";
-    borderColor = "#89b4faff";
-    borderRadius = 1;
-    font = "Fira Code 10";
-    defaultTimeout = 3000;
-    extraConfig = ''
-on-notify=exec mpv ${sounds}/polite.ogg --no-config --no-video
-'';
-  };
-}
+  { lib, config, sounds, ... }:
+  {
+    services.mako = {
+      enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
+      settings = {
+        on-notify = "exec mpv ${sounds}/polite.ogg --no-config --no-video";
+        background-color = "#11111bf8";
+        text-color = "#cdd6f4";
+        border-color = "#89b4faff";
+        border-radius = 1;
+        font = "Fira Code 10";
+        default-timeout = 3000;
+      };
+    };
+  }
 #+end_src
 *** Mbsync
 Note that in order to use my email configuration, your imaps and smtps servers must be
@@ -2369,280 +2382,280 @@ the yaml file specified. Yes, this is safe to include in the repo.
 This is the bar I use for my hyprland configuration. You will need to adjust the monitors field
 in the ~default.nix~ for it to really appear.
 #+begin_src nix :tangle ../nix/modules/home/waybar.nix
-{ lib, config, ... }:
-{
-  programs.waybar = {
-    enable = lib.mkDefault config.monorepo.profiles.hyprland.enable;
-    style = ''
-      * {
-          border: none;
-          border-radius: 0px;
-          font-family: Iosevka Nerd Font, 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;
-      }
+  { lib, config, ... }:
+  {
+    programs.waybar = {
+      enable = lib.mkDefault config.monorepo.profiles.hyprland.enable;
+      style = ''
+        ,* {
+            border: none;
+            border-radius: 0px;
+            font-family: Iosevka Nerd Font, FontAwesome, Noto Sans CJK;
+            font-size: 14px;
+            font-style: normal;
+            min-height: 0;
+        }
 
-      #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;
-      }
+        window#waybar {
+            background: rgba(30, 30, 46, 0.5);
+            border-bottom: 1px solid #45475a;
+            color: #cdd6f4;
+        }
 
-      #workspaces button.active {
-          color: #f4d9e1;
-          background-color: transparent;
+        #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:hover {
-       background-color: #cdd6f4;
-       color: black;
-       border-radius: 16px;
-      }
+        #workspaces button.active {
+            color: #f4d9e1;
+            background-color: transparent;
+            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;
-      }
+        #workspaces button:hover {
+               background-color: #cdd6f4;
+               color: black;
+               border-radius: 16px;
+        }
 
-      #custom-date {
-       color: #D3869B;
-      }
+        #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-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-date {
+               color: #D3869B;
+        }
 
-      #tray {
-          background: #45475a;
-          margin: 5px 5px 5px 5px;
-          border-radius: 16px;
-          padding: 0px 5px;
-          /*border-right: solid 1px #282738;*/
-      }
+        #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;
+        }
 
-      #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;*/
-      }
+        #tray {
+            background: #45475a;
+            margin: 5px 5px 5px 5px;
+            border-radius: 16px;
+            padding: 0px 5px;
+            /*border-right: solid 1px #282738;*/
+        }
 
-      #battery {
-          color: #89b4fa;
-      }
+        #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.charging {
-          color: #a6e3a1;
-      }
+        #battery {
+            color: #89b4fa;
+        }
 
-      #battery.warning:not(.charging) {
-          background-color: #f7768e;
-          color: #f38ba8;
-          border-radius: 5px 5px 5px 5px;
-      }
+        #battery.charging {
+            color: #a6e3a1;
+        }
 
-      #backlight {
-          background-color: #24283b;
-          color: #db4b4b;
-          border-radius: 0px 0px 0px 0px;
-          margin: 5px;
-          margin-left: 0px;
-          margin-right: 0px;
-          padding: 0px 0px;
-      }
+        #battery.warning:not(.charging) {
+            background-color: #f7768e;
+            color: #f38ba8;
+            border-radius: 5px 5px 5px 5px;
+        }
 
-      #network {
-          color: #f4d9e1;
-          border-radius: 8px;
-          margin-right: 5px;
-      }
+        #backlight {
+            background-color: #24283b;
+            color: #db4b4b;
+            border-radius: 0px 0px 0px 0px;
+            margin: 5px;
+            margin-left: 0px;
+            margin-right: 0px;
+            padding: 0px 0px;
+        }
 
-      #pulseaudio {
-          color: #f4d9e1;
-          border-radius: 8px;
-          margin-left: 0px;
-      }
+        #network {
+            color: #f4d9e1;
+            border-radius: 8px;
+            margin-right: 5px;
+        }
 
-      #pulseaudio.muted {
-          background: transparent;
-          color: #928374;
-          border-radius: 8px;
-          margin-left: 0px;
-      }
+        #pulseaudio {
+            color: #f4d9e1;
+            border-radius: 8px;
+            margin-left: 0px;
+        }
 
-      #custom-randwall {
-          color: #f4d9e1;
-          border-radius: 8px;
-          margin-right: 0px;
-      }
+        #pulseaudio.muted {
+            background: transparent;
+            color: #928374;
+            border-radius: 8px;
+            margin-left: 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-randwall {
+            color: #f4d9e1;
+            border-radius: 8px;
+            margin-right: 0px;
+        }
 
-      #custom-launcher button:hover {
-          background-color: #FB4934;
-          color: transparent;
-          border-radius: 8px;
-          margin-right: -5px;
-          margin-left: 10px;
-      }
+        #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-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-launcher button:hover {
+            background-color: #FB4934;
+            color: transparent;
+            border-radius: 8px;
+            margin-right: -5px;
+            margin-left: 10px;
+        }
 
-      #custom-playerlabel {
-          background: transparent;
-          padding-left: 10px;
-          padding-right: 15px;
-          border-radius: 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;
+        }
 
-      #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-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-wf-recorder {
-          padding: 0 20px;
-          color: #e5809e;
-          background-color: #1E1E2E;
-      }
+        #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;
+        }
 
-      #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;
-      }
+        #custom-wf-recorder {
+            padding: 0 20px;
+            color: #e5809e;
+            background-color: #1E1E2E;
+        }
 
-      #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;
-      }
+        #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;
+        }
 
-      #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;
-      }
+        #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;
+        }
 
-      #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 = 50;
+        #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 = 50;
 
-        output = config.monorepo.vars.monitors;
+          output = config.monorepo.vars.monitors;
 
-        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 = {
-          format = "{icon}  {capacity}%";
-          format-icons = ["" "" "" "" "" ];
-        };
+          battery = {
+            format = "{icon}  {capacity}%";
+            format-icons = ["" "" "" "" "" ];
+          };
 
-        clock = {
-          format = "⏰ {:%a %d, %b %H:%M}";
+          clock = {
+            format = "⏰ {:%a %d, %b %H:%M}";
+          };
         };
       };
     };
-  };
-}
+  }
 #+end_src
 *** Wofi
 This is a run launcher for wayland. I also use it for my powermenu.
@@ -2861,7 +2874,7 @@ standard.
   {
     programs.zsh = {
       enable = true;
-      initExtra = ''
+      initContent = ''
       umask 0022
       export EXTRA_CCFLAGS="-I/usr/include"
       source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
@@ -2966,7 +2979,8 @@ for these configurations.
         graphviz jq
 
         # Apps
-        octaveFull vesktop grim swww vim 
+        octaveFull
+        vesktop grim swww vim 
 
         # Sound/media
         pavucontrol alsa-utils imagemagick ffmpeg helvum
@@ -3014,7 +3028,7 @@ for these configurations.
 
     services = {
       gpg-agent = {
-        pinentryPackage = pkgs.pinentry-emacs;
+        pinentry.package = pkgs.pinentry-emacs;
         enable = true;
         extraConfig = ''
         allow-emacs-pinentry
diff --git a/journal/20250602.org b/journal/20250602.org
new file mode 100644 (file)
index 0000000..4f7114d
--- /dev/null
@@ -0,0 +1,12 @@
+#+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
+* Monday, 02 June 2025
+** 20:37 
+I just went to Victoria several times. I need to maintain my monorepo more and update my Nix systems more often,
+because this and my website are important.
diff --git a/journal/20250626.org b/journal/20250626.org
new file mode 100644 (file)
index 0000000..5302955
--- /dev/null
@@ -0,0 +1,14 @@
+#+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
+* Thursday, 26 June 2025
+** 23:16 
+I'm starting to journal again again. I just did some radio mathematics and engineering;
+I'm going to be working on some general relativity as well as aquaponics and programming
+after this stint of radio engineering. I'm also going to be working on some music production
+with algorave software.
index 523d2c57a953b1057792ce81a2be0961a51b9c74..42dba61063b7352bf76ae99efc785e2248da9459 100644 (file)
         ]
       },
       "locked": {
-        "lastModified": 1747688870,
-        "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
+        "lastModified": 1749154018,
+        "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "d5f1f641b289553927b3801580598d200a501863",
+        "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "ref": "release-24.11",
+        "ref": "release-25.05",
         "repo": "home-manager",
         "type": "github"
       }
index 4fd49d2f009e4c82d624445e1156029a6f62e8e6..65c566e9ab0ebe5a54e643d16316c432cd2f68fa 100644 (file)
          "kernel.kptr_restrict" = 2;
 
          # madaidan
+            "kernel.smtcontrol" = "on";
          "vm.swappiness" = 1;
          "vm.unprivileged_userfaultfd" = 0;
          "dev.tty.ldisc_autoload" = 0;
 
     lockKernelModules = true;
     protectKernelImage = true;
-    allowSimultaneousMultithreading = false;
+    allowSimultaneousMultithreading = true;
     forcePageTableIsolation = true;
 
     tpm2 = {
index d068383f5b67a5be2213850a7e3dc4134133d4c2..bebd67068bbfc87e00dd047fe211935b2f14ab08 100644 (file)
                                              ardour
                                              audacity
                                                    blender
+                      foxdot
                                        fluidsynth
                                        qjackctl
                                        qsynth
                                        qpwgraph
                                        imagemagick
+                      supercollider
                                        inkscape
                                        kdePackages.kdenlive
                                        kicad
-                      reaper
                       murmur
                                                  ]) else []);
 
index 986fccfc674734d84da4b60d09fc5f45ce967f33..7e514338538ab596f0d43e5196b22b0753ec6ef7 100644 (file)
@@ -13,7 +13,7 @@
         name = "default";
         isDefault = true;
 
-        extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+        extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
           ublock-origin
           tree-style-tab
           firefox-color
index d9a46101582f50934760e01931fab7a0d70ae5b8..14edde878dd8f33e0f97e116d57ce311c0578d5f 100644 (file)
@@ -2,14 +2,14 @@
 {
   services.mako = {
     enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
-    backgroundColor = "#11111bf8";
-    textColor = "#cdd6f4";
-    borderColor = "#89b4faff";
-    borderRadius = 1;
-    font = "Fira Code 10";
-    defaultTimeout = 3000;
-    extraConfig = ''
-on-notify=exec mpv ${sounds}/polite.ogg --no-config --no-video
-'';
+    settings = {
+      on-notify = "exec mpv ${sounds}/polite.ogg --no-config --no-video";
+      background-color = "#11111bf8";
+      text-color = "#cdd6f4";
+      border-color = "#89b4faff";
+      border-radius = 1;
+      font = "Fira Code 10";
+      default-timeout = 3000;
+    };
   };
 }
index 1087ebce8cf76f08e5921a8db8ae92ecb2304e6c..709caf050ceb30f51c7def8a160ef45896800b75 100644 (file)
@@ -37,7 +37,8 @@
       graphviz jq
 
       # Apps
-      octaveFull vesktop grim swww vim 
+      octaveFull
+      vesktop grim swww vim 
 
       # Sound/media
       pavucontrol alsa-utils imagemagick ffmpeg helvum
@@ -85,7 +86,7 @@ nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-
 
   services = {
     gpg-agent = {
-      pinentryPackage = pkgs.pinentry-emacs;
+      pinentry.package = pkgs.pinentry-emacs;
       enable = true;
       extraConfig = ''
       allow-emacs-pinentry
index 263cc5883a94537c4a580c32856b9b927551420c..ef0f5fd20896a1e5141372d3d103c37e9c9f1fb6 100644 (file)
@@ -2,7 +2,7 @@
 {
   programs.zsh = {
     enable = true;
-    initExtra = ''
+    initContent = ''
     umask 0022
     export EXTRA_CCFLAGS="-I/usr/include"
     source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
index 14b4654ceebc570a2b4ff572512e4e6a89008544..1ed20829e36ea394c7e89734242b17e0f2b2d3cf 100644 (file)
@@ -9,23 +9,33 @@
     pulse.enable = true;
     jack.enable = true;
     wireplumber.enable = true;
-    extraConfig.pipewire-pulse."92-low-latency" = {
-      "context.properties" = [
-        {
-          name = "libpipewire-module-protocol-pulse";
-          args = { };
-        }
-      ];
-      "pulse.properties" = {
-        "pulse.min.req" = "32/48000";
-        "pulse.default.req" = "32/48000";
-        "pulse.max.req" = "32/48000";
-        "pulse.min.quantum" = "32/48000";
-        "pulse.max.quantum" = "32/48000";
-      };
-      "stream.properties" = {
-        "node.latency" = "32/48000";
-        "resample.quality" = 1;
+    extraConfig = {
+      pipewire."92-low-latency" = {
+        "context.properties" = {
+          "default.clock.rate" = 48000;
+          "default.clock.quantum" = 256;
+          "default.clock.min-quantum" = 32;
+          "default.clock.max-quantum" = 512;
+        };
+        pipewire-pulse."92-low-latency" = {
+          "context.properties" = [
+            {
+              name = "libpipewire-module-protocol-pulse";
+              args = { };
+            }
+          ];
+          "pulse.properties" = {
+            "pulse.min.req" = "32/48000";
+            "pulse.default.req" = "32/48000";
+            "pulse.max.req" = "32/48000";
+            "pulse.min.quantum" = "32/48000";
+            "pulse.max.quantum" = "32/48000";
+          };
+          "stream.properties" = {
+            "node.latency" = "32/48000";
+            "resample.quality" = 1;
+          };
+        };
       };
     };
   };