From: Preston Pan Date: Sat, 28 Jun 2025 21:02:43 +0000 (-0700) Subject: update NixOS configuration and journal twice X-Git-Url: https://ret2pop.net/gitweb/monorepo.git?a=commitdiff_plain;h=147b01347fabbbe76ee6efb75ae0d3730ae52c0b;p=monorepo.git update NixOS configuration and journal twice --- diff --git a/agenda.org b/agenda.org index 61e474a..6a72261 100644 --- a/agenda.org +++ b/agenda.org @@ -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] diff --git a/config/nix.org b/config/nix.org index 36fbee2..9109d44 100644 --- a/config/nix.org +++ b/config/nix.org @@ -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 index 0000000..4f7114d --- /dev/null +++ b/journal/20250602.org @@ -0,0 +1,12 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: +#+html_head: +#+html_head: +#+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 index 0000000..5302955 --- /dev/null +++ b/journal/20250626.org @@ -0,0 +1,14 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: +#+html_head: +#+html_head: +#+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. diff --git a/nix/flake.lock b/nix/flake.lock index 523d2c5..42dba61 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -239,16 +239,16 @@ ] }, "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" } diff --git a/nix/modules/configuration.nix b/nix/modules/configuration.nix index 4fd49d2..65c566e 100644 --- a/nix/modules/configuration.nix +++ b/nix/modules/configuration.nix @@ -156,6 +156,7 @@ "kernel.kptr_restrict" = 2; # madaidan + "kernel.smtcontrol" = "on"; "vm.swappiness" = 1; "vm.unprivileged_userfaultfd" = 0; "dev.tty.ldisc_autoload" = 0; @@ -260,7 +261,7 @@ lockKernelModules = true; protectKernelImage = true; - allowSimultaneousMultithreading = false; + allowSimultaneousMultithreading = true; forcePageTableIsolation = true; tpm2 = { diff --git a/nix/modules/home/default.nix b/nix/modules/home/default.nix index d068383..bebd670 100644 --- a/nix/modules/home/default.nix +++ b/nix/modules/home/default.nix @@ -159,15 +159,16 @@ ardour audacity blender + foxdot fluidsynth qjackctl qsynth qpwgraph imagemagick + supercollider inkscape kdePackages.kdenlive kicad - reaper murmur ]) else []); diff --git a/nix/modules/home/firefox.nix b/nix/modules/home/firefox.nix index 986fccf..7e51433 100644 --- a/nix/modules/home/firefox.nix +++ b/nix/modules/home/firefox.nix @@ -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 diff --git a/nix/modules/home/mako.nix b/nix/modules/home/mako.nix index d9a4610..14edde8 100644 --- a/nix/modules/home/mako.nix +++ b/nix/modules/home/mako.nix @@ -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; + }; }; } diff --git a/nix/modules/home/user.nix b/nix/modules/home/user.nix index 1087ebc..709caf0 100644 --- a/nix/modules/home/user.nix +++ b/nix/modules/home/user.nix @@ -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 diff --git a/nix/modules/home/zsh.nix b/nix/modules/home/zsh.nix index 263cc58..ef0f5fd 100644 --- a/nix/modules/home/zsh.nix +++ b/nix/modules/home/zsh.nix @@ -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 diff --git a/nix/modules/pipewire.nix b/nix/modules/pipewire.nix index 14b4654..1ed2082 100644 --- a/nix/modules/pipewire.nix +++ b/nix/modules/pipewire.nix @@ -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; + }; + }; }; }; };