From 5afc0acf77c2f0bc079824a233572545e5ef869f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:11:54 +0200 Subject: [PATCH 01/46] librewolf profiles selector: added tor-browser --- modules/applications/browser.nix | 2 +- modules/applications/hyprland.nix | 4 ++-- ...olfprofiles.nix => custom-browserprofiles.nix} | 15 +++++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) rename modules/packages/{custom-librewolfprofiles.nix => custom-browserprofiles.nix} (59%) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 6841165..8cad7d4 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -7,7 +7,7 @@ environment.systemPackages = with pkgs; [ chromium # used only to flash the firmware on my framework laptop 16 (keyboard.frame.work) as only chromium based browser support webHID. pkgs-unstable.tor-browser - self.packages.${pkgs.system}.custom-librewolfprofiles + self.packages.${pkgs.system}.custom-browserprofiles ]; }; flake.homeModules.librewolf = _: { diff --git a/modules/applications/hyprland.nix b/modules/applications/hyprland.nix index 3c9f9fa..d2c3c4a 100644 --- a/modules/applications/hyprland.nix +++ b/modules/applications/hyprland.nix @@ -74,7 +74,7 @@ "$editor" = "nvim"; "$notes" = "kitty --class \"custom-obsidianvaults\" --name \"Select Obsidian vault\" --hold custom-obsidianvaults"; "$file" = "dolphin"; - "$browser" = "kitty --class \"custom-librewolfprofiles\" --name \"Select LibreWolf profile\" --hold custom-librewolfprofiles"; + "$browser" = "kitty --class \"custom-browserprofiles\" --name \"Select browser profile\" --hold custom-browserprofiles"; # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ animations = { @@ -487,7 +487,7 @@ "float on, match:class ^(kitty)$, match:title ^(htop)$" "float on, match:class ^(vlc)$" "float on, match:class ^(eog)$" - "float on, size 400 225, match:class ^(custom-librewolfprofiles)$" + "float on, size 400 225, match:class ^(custom-browserprofiles)$" "float on, size 1050 200, match:class ^(custom-changeAudioOutput)$" "float on, size 400 175, match:class ^(custom-obsidianvaults)$" "float on, size 600 600, match:initial_class ^(custom-pomodoro)$" diff --git a/modules/packages/custom-librewolfprofiles.nix b/modules/packages/custom-browserprofiles.nix similarity index 59% rename from modules/packages/custom-librewolfprofiles.nix rename to modules/packages/custom-browserprofiles.nix index df79ed3..cc5275e 100644 --- a/modules/packages/custom-librewolfprofiles.nix +++ b/modules/packages/custom-browserprofiles.nix @@ -1,18 +1,19 @@ _: { perSystem = {pkgs, ...}: { # fzf librewolf profile selector - packages.custom-librewolfprofiles = pkgs.writeShellApplication { - name = "custom-librewolfprofiles"; + packages.custom-browserprofiles = pkgs.writeShellApplication { + name = "custom-browserprofiles"; runtimeInputs = with pkgs; [ zsh fzf + tor-browser ]; text = '' # List of profiles - profiles=("work" "other" "private window") + profiles=("work" "other" "private window" "tor-browser) # Use fzf to select - selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select LibreWolf profile:") + selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select browser profile:") # If user cancels, exit [[ -z "$selected" ]] && exit 0 @@ -20,10 +21,12 @@ _: { # Launch LibreWolf detached, keeping environment if [[ "$selected" == "private window" ]]; then setsid librewolf --private-window --no-remote >/dev/null 2>&1 & - pkill -f "kitty.*Select LibreWolf profile" + pkill -f "kitty.*Select browser profile" + elif [[ "$selected" == "tor-browser" ]]; then + setsid tor-browser >/dev/null 2>&1 & pkill -f "kitty.*Select browser profile" else setsid librewolf -P "$selected" --no-remote >/dev/null 2>&1 & - pkill -f "kitty.*Select LibreWolf profile" + pkill -f "kitty.*Select browser profile" fi # Exit the kitty terminal after selection From 99ab54cc8b80cad7db98642311425a24eff80de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:12:43 +0200 Subject: [PATCH 02/46] fix: home.file --- modules/utilities/nixGitCherryPicker.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 44d2a5e..7578607 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -20,7 +20,7 @@ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default ]; }; - home.file-".config/nix-git-cherry-picker/config.json" = { + home.file.".config/nix-git-cherry-picker/config.json" = { enable = true; text = '' { @@ -31,4 +31,4 @@ ''; force = true; }; -} \ No newline at end of file +} From abf652e21b8ed9d41d698bb894e84516136a96dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:14:47 +0200 Subject: [PATCH 03/46] fix: cherry-picker-desktop --- modules/utilities/nixGitCherryPicker.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 7578607..37868a5 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -19,16 +19,16 @@ home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default ]; - }; - home.file.".config/nix-git-cherry-picker/config.json" = { - enable = true; - text = '' - { - "localBranch": "desktop", - "remoteBranch": "laptop", - "nixConfigPath": "/home/tomasr/nixos/" - } - ''; - force = true; + home.file.".config/nix-git-cherry-picker/config.json" = { + enable = true; + text = '' + { + "localBranch": "desktop", + "remoteBranch": "laptop", + "nixConfigPath": "/home/tomasr/nixos/" + } + ''; + force = true; + }; }; } From e3089e1d5976d40f39e8d27e4849ba197fa5393b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Mon, 8 Jun 2026 22:20:24 +0200 Subject: [PATCH 04/46] fix: custom-browserprofiles --- modules/packages/custom-browserprofiles.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/packages/custom-browserprofiles.nix b/modules/packages/custom-browserprofiles.nix index cc5275e..fda0578 100644 --- a/modules/packages/custom-browserprofiles.nix +++ b/modules/packages/custom-browserprofiles.nix @@ -10,7 +10,7 @@ _: { ]; text = '' # List of profiles - profiles=("work" "other" "private window" "tor-browser) + profiles=("work" "other" "private window" "tor-browser") # Use fzf to select selected=$(printf "%s\n" "''${profiles[@]}" | fzf --height 6 --reverse --prompt="Select browser profile:") From 19adc625f10ad5c2ac11fde7930f28c6ce9f52ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 11:51:52 +0200 Subject: [PATCH 05/46] patent: use flake.nix --- modules/utilities/development.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/utilities/development.nix b/modules/utilities/development.nix index d8cec56..49f46ce 100644 --- a/modules/utilities/development.nix +++ b/modules/utilities/development.nix @@ -35,6 +35,7 @@ gnupg pinentry-curses inputs.nixpkgs-notifier.packages.${pkgs.system}.default + inputs.patent.packages.${pkgs.system}.default ]; }; flake.homeModules.development = _: { From 4b6a5ffa59b4d77a37fed3ec46436b11c74d453f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:18:15 +0200 Subject: [PATCH 06/46] patent in flake.nix --- flake.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flake.nix b/flake.nix index 49139ac..a95a4ee 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,11 @@ inputs.flake-utils.follows = "flake-utils"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + patent = { + url = "github:r14dd/patent"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; caelestia-shell = { # based on quickshell. See https://github.com/caelestia-dots/shell url = "github:caelestia-dots/shell"; From 8b2a086a4d7e68754aead4034fbd2e6f9e7c2202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:22:59 +0200 Subject: [PATCH 07/46] patent flake.lock --- flake.lock | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index f262f02..92c8dc5 100644 --- a/flake.lock +++ b/flake.lock @@ -338,6 +338,30 @@ "type": "github" } }, + "patent": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-unstable" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1780942898, + "narHash": "sha256-cP4gUX4YE1kFe+15Zd1CbqL08XytPm1UXZuaXjYLG94=", + "owner": "r14dd", + "repo": "patent", + "rev": "bbad654b6b65264d2ba267b5c87e8be0bd89b78e", + "type": "github" + }, + "original": { + "owner": "r14dd", + "repo": "patent", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -374,7 +398,29 @@ "nixpkgs-master": "nixpkgs-master", "nixpkgs-notifier": "nixpkgs-notifier", "nixpkgs-unstable": "nixpkgs-unstable", - "notewrapper": "notewrapper" + "notewrapper": "notewrapper", + "patent": "patent" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "patent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1780888890, + "narHash": "sha256-MUQPFiskEENaJ2N82TRIqpKlHXGXJJkPfKH6W788oQo=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "7d5f8d75fc195a236b46633d7679139698aeb35f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "systems": { From d340b9c08b7f576faa2029755c8908401af96eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:26:34 +0200 Subject: [PATCH 08/46] micro-vivify: comment out from flake.nix --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index a95a4ee..363ea8a 100644 --- a/flake.nix +++ b/flake.nix @@ -45,10 +45,10 @@ url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; - microPlugins-vivify = { + /*microPlugins-vivify = { url = "git+https://codeberg.org/gibbert/micro-vivify"; flake = false; - }; + };*/ flake-parts = { url = "github:hercules-ci/flake-parts"; }; From 7e0ba6278c32367c6a25fc03be9a58b72c94315c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:39:17 +0200 Subject: [PATCH 09/46] snapshot pre-cleanup-2026-06-09T14-39-17Z From b1edbc9378f4bdda92f3ea76841d0cb593453339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 16:39:36 +0200 Subject: [PATCH 10/46] Auto: cleanup-2026-06-09T14-39-17Z --- flake.lock | 17 ---- flake.nix | 6 +- modules/applications/git.nix | 6 +- modules/applications/kdrive.nix | 14 ++-- modules/applications/zsh.nix | 2 +- modules/hardware/disko/disko-config.nix | 2 +- modules/hardware/hardware-configuration.nix | 86 +++++++++++---------- modules/hardware/nvidia.nix | 2 +- modules/utilities/development.nix | 3 +- 9 files changed, 66 insertions(+), 72 deletions(-) diff --git a/flake.lock b/flake.lock index 92c8dc5..c660d8e 100644 --- a/flake.lock +++ b/flake.lock @@ -156,22 +156,6 @@ "type": "github" } }, - "microPlugins-vivify": { - "flake": false, - "locked": { - "lastModified": 1770382657, - "narHash": "sha256-yWmIgT90mC9PhzyH/itDbRMmRTiZiwW+Yo0dsHW7ni8=", - "ref": "refs/heads/main", - "rev": "3c5cb25facf3fc4143bfea9323a60eda65ef8485", - "revCount": 8, - "type": "git", - "url": "https://codeberg.org/gibbert/micro-vivify" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/gibbert/micro-vivify" - } - }, "nix-git-cherry-picker": { "inputs": { "flake-utils": [ @@ -391,7 +375,6 @@ "flake-utils": "flake-utils", "home-manager": "home-manager", "import-tree": "import-tree", - "microPlugins-vivify": "microPlugins-vivify", "nix-git-cherry-picker": "nix-git-cherry-picker", "nixos-grub-themes": "nixos-grub-themes", "nixpkgs": "nixpkgs_2", diff --git a/flake.nix b/flake.nix index 363ea8a..c86261b 100644 --- a/flake.nix +++ b/flake.nix @@ -45,10 +45,12 @@ url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; - /*microPlugins-vivify = { + /* + microPlugins-vivify = { url = "git+https://codeberg.org/gibbert/micro-vivify"; flake = false; - };*/ + }; + */ flake-parts = { url = "github:hercules-ci/flake-parts"; }; diff --git a/modules/applications/git.nix b/modules/applications/git.nix index 02a2c6e..4d12f77 100644 --- a/modules/applications/git.nix +++ b/modules/applications/git.nix @@ -2,9 +2,11 @@ _: { flake.homeModules.git = _: { programs.git = { enable = true; - /*settings = { + /* + settings = { init.defaultBranch = "main"; - };*/ + }; + */ }; programs.gh = { enable = true; diff --git a/modules/applications/kdrive.nix b/modules/applications/kdrive.nix index e7cac9a..d432f13 100644 --- a/modules/applications/kdrive.nix +++ b/modules/applications/kdrive.nix @@ -25,22 +25,24 @@ systemd.user.services.kdrive-sync = { serviceConfig = { ExecStart = "${self.packages.${pkgs.system}.custom-synckdrive-desktop}/bin/custom-synckdrive"; - - Nice = 19; # lowest CPU scheduling priority + + Nice = 19; # lowest CPU scheduling priority IOSchedulingClass = "idle"; IOSchedulingPriority = 7; - + # Optional: - CPUWeight = 1; # minimum relative CPU share + CPUWeight = 1; # minimum relative CPU share }; }; - /*systemd.user.timers.kdrive-sync = { + /* + systemd.user.timers.kdrive-sync = { wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "1m"; OnUnitActiveSec = "5m"; }; - };*/ + }; + */ }; perSystem = {pkgs, ...}: { packages.custom-checkKdrive = pkgs.writeShellApplication { diff --git a/modules/applications/zsh.nix b/modules/applications/zsh.nix index 59525d7..c58545b 100644 --- a/modules/applications/zsh.nix +++ b/modules/applications/zsh.nix @@ -33,7 +33,7 @@ _: { command cat "$@" fi } - + custom-eza() { # behaves differently if we just call it or if we pipe initContent if [[ -t 1 ]]; then eza -hlF -aa --color=always --hyperlink --group-directories-first --show-symlinks --icons=always --git --no-permissions "$@" diff --git a/modules/hardware/disko/disko-config.nix b/modules/hardware/disko/disko-config.nix index 53cee37..f78d8dd 100644 --- a/modules/hardware/disko/disko-config.nix +++ b/modules/hardware/disko/disko-config.nix @@ -30,7 +30,7 @@ _: { content = { type = "btrfs"; - extraArgs = [ "-f" ]; + extraArgs = ["-f"]; subvolumes = { "@root" = { diff --git a/modules/hardware/hardware-configuration.nix b/modules/hardware/hardware-configuration.nix index 1cbe592..9087fa0 100644 --- a/modules/hardware/hardware-configuration.nix +++ b/modules/hardware/hardware-configuration.nix @@ -33,49 +33,53 @@ _: { nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; -flake.nixosModules.hardware-configuration-desktop = # Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: + flake.nixosModules.hardware-configuration-desktop = + # Do not modify this file! It was generated by ‘nixos-generate-config’ + # and may be overwritten by future invocations. Please make changes + # to /etc/nixos/configuration.nix instead. + { + config, + lib, + modulesPath, + ... + }: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + boot.initrd.availableKernelModules = ["vmd" "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; - boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + fileSystems."/" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + }; - fileSystems."/" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + options = ["subvol=home"]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + options = ["subvol=nix"]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/BAB4-34F6"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/ce6f9a68-0517-4f8a-b375-66f2173efe59";} + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; - - fileSystems."/home" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; - options = [ "subvol=home" ]; - }; - - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; - options = [ "subvol=nix" ]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/BAB4-34F6"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/ce6f9a68-0517-4f8a-b375-66f2173efe59"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -}; } diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix index 911c8d5..adb4a80 100644 --- a/modules/hardware/nvidia.nix +++ b/modules/hardware/nvidia.nix @@ -1,7 +1,7 @@ _: { flake.nixosModules.nvidia = _: { hardware.graphics.enable = true; - services.xserver.videoDrivers = [ "nvidia" ]; + services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia.open = true; }; } diff --git a/modules/utilities/development.nix b/modules/utilities/development.nix index 49f46ce..a851b63 100644 --- a/modules/utilities/development.nix +++ b/modules/utilities/development.nix @@ -24,7 +24,8 @@ gnumake go direnv - git gh + git + gh cling # c interpreter used for coding # lsp clang-tools From 68d81d5c4b5d71bd20a32eb865c90eb8a7f215ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Tue, 9 Jun 2026 20:11:13 +0200 Subject: [PATCH 11/46] mathematics: init module with lean4 --- modules/applications/mathematics.nix | 7 +++++++ modules/hosts/desktop.nix | 1 + modules/hosts/laptop.nix | 1 + 3 files changed, 9 insertions(+) create mode 100644 modules/applications/mathematics.nix diff --git a/modules/applications/mathematics.nix b/modules/applications/mathematics.nix new file mode 100644 index 0000000..2d8ce6e --- /dev/null +++ b/modules/applications/mathematics.nix @@ -0,0 +1,7 @@ +_: { + flake.nixosModules.mathematics = {pkgs, ...}: { + environment.systemPackages = with pkgs; [ + elan + ]; + }; +} diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index b46a235..fa83317 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -35,6 +35,7 @@ kdrive-desktop # we will setup this later latex ly + mathematics mullvad networking notifications diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index f6b1400..85fe064 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -36,6 +36,7 @@ kdrive-laptop latex ly + mathematics mullvad networking notifications From 433bb52cde2961b8b28f4914d04d9e9c1e2ba516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Wed, 10 Jun 2026 10:26:16 +0200 Subject: [PATCH 12/46] CI: weekly PR merge to main from desktop and laptop --- .github/workflows/sync-main.yml | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/sync-main.yml diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml new file mode 100644 index 0000000..d92f97f --- /dev/null +++ b/.github/workflows/sync-main.yml @@ -0,0 +1,58 @@ +name: Sync branches into main + +on: + schedule: + - cron: "0 14 * * 1" + + - cron: "0 14 * * 3" + + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + sync: + runs-on: ubuntu-latest + + steps: + - name: Determine source branch + id: branch + run: | + DOW=$(date -u +%u) + + if [ "$DOW" = "1" ]; then + echo "source=laptop" >> "$GITHUB_OUTPUT" + elif [ "$DOW" = "3" ]; then + echo "source=desktop" >> "$GITHUB_OUTPUT" + else + echo "Not a scheduled sync day" + exit 1 + fi + + - name: Create pull request + id: cpr + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.GITHUB_TOKEN }} + base: main + branch: ${{ steps.branch.outputs.source }} + title: "Weekly sync: ${{ steps.branch.outputs.source }} → main" + body: | + This pull request was created automatically by GitHub Actions. + + If the branch can be merged cleanly, auto-merge will merge it automatically. + + If there are merge conflicts, this PR will remain open until they are resolved. + draft: false + + - name: Enable auto-merge + if: steps.cpr.outputs.pull-request-number + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr merge \ + ${{ steps.cpr.outputs.pull-request-number }} \ + --auto \ + --merge From 2c95860f5b9689c42fb634170375f2eacfe8ff4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Wed, 10 Jun 2026 20:14:49 +0200 Subject: [PATCH 13/46] CI: fix auto merge action --- .github/workflows/sync-main.yml | 81 +++++++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 19 deletions(-) diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml index d92f97f..6a9fb9d 100644 --- a/.github/workflows/sync-main.yml +++ b/.github/workflows/sync-main.yml @@ -2,11 +2,18 @@ name: Sync branches into main on: schedule: - - cron: "0 14 * * 1" - - - cron: "0 14 * * 3" + - cron: "0 14 * * 1" # Monday + - cron: "0 14 * * 3" # Wednesday workflow_dispatch: + inputs: + source: + description: Branch to sync into main + required: true + type: choice + options: + - laptop + - desktop permissions: contents: write @@ -20,6 +27,11 @@ jobs: - name: Determine source branch id: branch run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + echo "source=${{ inputs.source }}" >> "$GITHUB_OUTPUT" + exit 0 + fi + DOW=$(date -u +%u) if [ "$DOW" = "1" ]; then @@ -27,32 +39,63 @@ jobs: elif [ "$DOW" = "3" ]; then echo "source=desktop" >> "$GITHUB_OUTPUT" else - echo "Not a scheduled sync day" + echo "No sync scheduled today." exit 1 fi - - name: Create pull request - id: cpr - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - base: main - branch: ${{ steps.branch.outputs.source }} - title: "Weekly sync: ${{ steps.branch.outputs.source }} → main" - body: | - This pull request was created automatically by GitHub Actions. + - name: Check for existing PR + id: existing + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + PR_NUMBER=$(gh pr list \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --state open \ + --json number \ + --jq '.[0].number') - If the branch can be merged cleanly, auto-merge will merge it automatically. + echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" - If there are merge conflicts, this PR will remain open until they are resolved. - draft: false + - name: Create PR if needed + id: pr + if: steps.existing.outputs.number == '' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + PR_URL=$(gh pr create \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \ + --body "$(cat <> "$GITHUB_OUTPUT" + echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" + + - name: Determine PR number + id: final + run: | + if [ -n "${{ steps.existing.outputs.number }}" ]; then + echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT" + else + echo "number=${{ steps.pr.outputs.number }}" >> "$GITHUB_OUTPUT" + fi - name: Enable auto-merge - if: steps.cpr.outputs.pull-request-number + if: steps.final.outputs.number != '' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh pr merge \ - ${{ steps.cpr.outputs.pull-request-number }} \ + "${{ steps.final.outputs.number }}" \ --auto \ --merge From c92a868718e83edf3fe42a75a83908bec3456988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Wed, 10 Jun 2026 20:17:57 +0200 Subject: [PATCH 14/46] CI: fix git repo --- .github/workflows/sync-main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml index 6a9fb9d..a08095c 100644 --- a/.github/workflows/sync-main.yml +++ b/.github/workflows/sync-main.yml @@ -47,9 +47,11 @@ jobs: id: existing env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} run: | PR_NUMBER=$(gh pr list \ --base main \ + --repo "$REPO" \ --head "${{ steps.branch.outputs.source }}" \ --state open \ --json number \ @@ -65,6 +67,7 @@ jobs: run: | PR_URL=$(gh pr create \ --base main \ + --repo "$REPO" \ --head "${{ steps.branch.outputs.source }}" \ --title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \ --body "$(cat < Date: Wed, 10 Jun 2026 20:19:26 +0200 Subject: [PATCH 15/46] CI: rewrite with checkout --- .github/workflows/sync-main.yml | 80 ++++++++++++++++----------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml index a08095c..8b95eba 100644 --- a/.github/workflows/sync-main.yml +++ b/.github/workflows/sync-main.yml @@ -24,6 +24,9 @@ jobs: runs-on: ubuntu-latest steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Determine source branch id: branch run: | @@ -34,24 +37,47 @@ jobs: DOW=$(date -u +%u) - if [ "$DOW" = "1" ]; then - echo "source=laptop" >> "$GITHUB_OUTPUT" - elif [ "$DOW" = "3" ]; then - echo "source=desktop" >> "$GITHUB_OUTPUT" - else - echo "No sync scheduled today." - exit 1 - fi + case "$DOW" in + 1) + echo "source=laptop" >> "$GITHUB_OUTPUT" + ;; + 3) + echo "source=desktop" >> "$GITHUB_OUTPUT" + ;; + *) + echo "No sync scheduled today." + exit 1 + ;; + esac - name: Check for existing PR id: existing env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - REPO: ${{ github.repository }} run: | PR_NUMBER=$(gh pr list \ --base main \ - --repo "$REPO" \ + --head "${{ steps.branch.outputs.source }}" \ + --state open \ + --json number \ + --jq '.[0].number // empty') + + echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" + + - name: Create PR + id: create + if: steps.existing.outputs.number == '' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr create \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \ + --body "This pull request was created automatically by GitHub Actions." + + PR_NUMBER=$(gh pr list \ + --base main \ --head "${{ steps.branch.outputs.source }}" \ --state open \ --json number \ @@ -59,47 +85,21 @@ jobs: echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" - - name: Create PR if needed - id: pr - if: steps.existing.outputs.number == '' - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - PR_URL=$(gh pr create \ - --base main \ - --repo "$REPO" \ - --head "${{ steps.branch.outputs.source }}" \ - --title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \ - --body "$(cat <> "$GITHUB_OUTPUT" - echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" - - name: Determine PR number - id: final + id: pr run: | if [ -n "${{ steps.existing.outputs.number }}" ]; then echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT" else - echo "number=${{ steps.pr.outputs.number }}" >> "$GITHUB_OUTPUT" + echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT" fi - name: Enable auto-merge - if: steps.final.outputs.number != '' + if: steps.pr.outputs.number != '' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh pr merge \ - "${{ steps.final.outputs.number }}" \ - --repo "$REPO" \ + "${{ steps.pr.outputs.number }}" \ --auto \ --merge From f56e535ff6fb9ebbd993a6f716b88b61f16725e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:07:06 +0200 Subject: [PATCH 16/46] bootloader: reunited desktop and laptop config --- modules/hardware/bootloader.nix | 16 +--------------- modules/hosts/desktop.nix | 2 +- modules/hosts/laptop.nix | 2 +- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index cd6ad2a..c6ebf4f 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -1,19 +1,5 @@ _: { - flake.nixosModules.bootloader-laptop = { - inputs, - pkgs, - ... - }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme - }; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - }; - flake.nixosModules.bootloader-desktop = { + flake.nixosModules.bootloader = { inputs, pkgs, ... diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index fa83317..24a51d8 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -20,7 +20,7 @@ autoCleanup-desktop autoUpdate-desktop bluetooth - bootloader-desktop + bootloader browsers caelestia development diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 85fe064..24d548f 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -20,7 +20,7 @@ autoUpdate-laptop #battery-laptop bluetooth - bootloader-laptop + bootloader browsers caelestia development From 99f1dd3ec8ee6154fb897beb250e7051671241e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:07:06 +0200 Subject: [PATCH 17/46] bootloader: reunited desktop and laptop config --- modules/hardware/bootloader.nix | 16 +--------------- modules/hosts/desktop.nix | 2 +- modules/hosts/laptop.nix | 2 +- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index cd6ad2a..c6ebf4f 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -1,19 +1,5 @@ _: { - flake.nixosModules.bootloader-laptop = { - inputs, - pkgs, - ... - }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme - }; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - }; - flake.nixosModules.bootloader-desktop = { + flake.nixosModules.bootloader = { inputs, pkgs, ... diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index fa83317..24a51d8 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -20,7 +20,7 @@ autoCleanup-desktop autoUpdate-desktop bluetooth - bootloader-desktop + bootloader browsers caelestia development diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 85fe064..24d548f 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -20,7 +20,7 @@ autoUpdate-laptop #battery-laptop bluetooth - bootloader-laptop + bootloader browsers caelestia development From 59f5d84de065ecd75e240d70a591b27d5770660f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:10:42 +0200 Subject: [PATCH 18/46] bootloader: limine --- flake.nix | 1 - modules/hardware/bootloader.nix | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index c86261b..e491ce5 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,6 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # used for some packages - nixos-grub-themes.url = "github:jeslie0/nixos-grub-themes"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached # This one is only used when testing some packaging. You must change the path to the correct nixpkgs clone diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index c6ebf4f..67f72b2 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -4,13 +4,15 @@ _: { pkgs, ... }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme + # disable other bootloaders + boot.loader.systemd-boot.enable = false; + boot.loader.grub.enable = false; + + boot.loader.limine = { + enable = true; + efiSupport = true; }; - # Bootloader. - boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; }; } From 763bbbacd4f74e70174cf7d5221efdf6f478ad62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:10:42 +0200 Subject: [PATCH 19/46] bootloader: limine --- flake.nix | 1 - modules/hardware/bootloader.nix | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 363ea8a..d340f1d 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,6 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # used for some packages - nixos-grub-themes.url = "github:jeslie0/nixos-grub-themes"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached # This one is only used when testing some packaging. You must change the path to the correct nixpkgs clone diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index c6ebf4f..67f72b2 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -4,13 +4,15 @@ _: { pkgs, ... }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme + # disable other bootloaders + boot.loader.systemd-boot.enable = false; + boot.loader.grub.enable = false; + + boot.loader.limine = { + enable = true; + efiSupport = true; }; - # Bootloader. - boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; }; } From 34cde6f6f45402144a0a71451470e6f9eb993977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:21:26 +0200 Subject: [PATCH 20/46] flake.lock: update --- flake.lock | 45 +++++---------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/flake.lock b/flake.lock index c660d8e..0cd8243 100644 --- a/flake.lock +++ b/flake.lock @@ -179,36 +179,18 @@ "type": "github" } }, - "nixos-grub-themes": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1769794759, - "narHash": "sha256-1doG74WkbtUpawduk9f8szyzWsw3Liblrh2z+2jQnw4=", - "owner": "jeslie0", - "repo": "nixos-grub-themes", - "rev": "5e75f9b3ea9061dca6c53d34e166e08bf9ebc7c7", - "type": "github" - }, - "original": { - "owner": "jeslie0", - "repo": "nixos-grub-themes", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1780734595, + "narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "9b696460ac78b5ccfc17c854d8c976f20456e943", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } @@ -283,22 +265,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1780734595, - "narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9b696460ac78b5ccfc17c854d8c976f20456e943", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, "notewrapper": { "inputs": { "flake-utils": [ @@ -376,8 +342,7 @@ "home-manager": "home-manager", "import-tree": "import-tree", "nix-git-cherry-picker": "nix-git-cherry-picker", - "nixos-grub-themes": "nixos-grub-themes", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", "nixpkgs-notifier": "nixpkgs-notifier", "nixpkgs-unstable": "nixpkgs-unstable", From bd86051c136557fb80c37ebdc2edea68b210fbed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:37:43 +0200 Subject: [PATCH 21/46] hosts: forgot to use nixUtils module --- modules/hardware/bootloader.nix | 2 ++ modules/hosts/desktop.nix | 1 + modules/hosts/laptop.nix | 2 ++ modules/utilities/nixUtils.nix | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index 67f72b2..600d893 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -11,6 +11,8 @@ _: { boot.loader.limine = { enable = true; efiSupport = true; + extraConfig = '' + ''; }; boot.loader.efi.canTouchEfiVariables = true; diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index 24a51d8..b56cb9d 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -38,6 +38,7 @@ mathematics mullvad networking + nixUtils notifications nvidia office diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 24d548f..0ff6de1 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -39,6 +39,8 @@ mathematics mullvad networking + nixUtils-laptop + nixUtils notifications office #ollama diff --git a/modules/utilities/nixUtils.nix b/modules/utilities/nixUtils.nix index a7c4531..93d8f9b 100644 --- a/modules/utilities/nixUtils.nix +++ b/modules/utilities/nixUtils.nix @@ -10,7 +10,7 @@ nix.optimise = { automatic = true; persistent = true; - randomDelaySec = "30min"; + randomizedDelaySec = "30min"; dates = "Thu *-*-* 16:00:00"; }; # Garbage collector of generations From 2a318bdced01be829663c83277eb1eb67974f486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:37:43 +0200 Subject: [PATCH 22/46] hosts: forgot to use nixUtils module --- modules/hardware/bootloader.nix | 2 ++ modules/hosts/desktop.nix | 1 + modules/hosts/laptop.nix | 2 ++ modules/utilities/nixUtils.nix | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index 67f72b2..600d893 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -11,6 +11,8 @@ _: { boot.loader.limine = { enable = true; efiSupport = true; + extraConfig = '' + ''; }; boot.loader.efi.canTouchEfiVariables = true; diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index 24a51d8..b56cb9d 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -38,6 +38,7 @@ mathematics mullvad networking + nixUtils notifications nvidia office diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 24d548f..0ff6de1 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -39,6 +39,8 @@ mathematics mullvad networking + nixUtils-laptop + nixUtils notifications office #ollama diff --git a/modules/utilities/nixUtils.nix b/modules/utilities/nixUtils.nix index a7c4531..93d8f9b 100644 --- a/modules/utilities/nixUtils.nix +++ b/modules/utilities/nixUtils.nix @@ -10,7 +10,7 @@ nix.optimise = { automatic = true; persistent = true; - randomDelaySec = "30min"; + randomizedDelaySec = "30min"; dates = "Thu *-*-* 16:00:00"; }; # Garbage collector of generations From f8255c42ed4a8b31c6a532a0b3c69202c199f5a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:46:20 +0200 Subject: [PATCH 23/46] nixUtils: add custom-trimmer --- modules/utilities/nixUtils.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/utilities/nixUtils.nix b/modules/utilities/nixUtils.nix index 93d8f9b..36964b6 100644 --- a/modules/utilities/nixUtils.nix +++ b/modules/utilities/nixUtils.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{inputs, self, ...}: { flake.nixosModules.nixUtils-laptop = _: { # nixpkgs-review crashed my laptop multiple times. We must reduce how much ressources it can take. # for reference, my laptop is a 12 core ryzen 7 @@ -40,6 +40,7 @@ vimPluginsUpdater # used for building plugins nix-index statix + self.packages.${pkgs-unstable.system}.custom-trimmer ]; }; perSystem = {pkgs, ...}: { From 29554e41cae5a6b02999b7214b8aab2bb235279b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:46:20 +0200 Subject: [PATCH 24/46] nixUtils: add custom-trimmer --- modules/utilities/nixUtils.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/utilities/nixUtils.nix b/modules/utilities/nixUtils.nix index 93d8f9b..36964b6 100644 --- a/modules/utilities/nixUtils.nix +++ b/modules/utilities/nixUtils.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{inputs, self, ...}: { flake.nixosModules.nixUtils-laptop = _: { # nixpkgs-review crashed my laptop multiple times. We must reduce how much ressources it can take. # for reference, my laptop is a 12 core ryzen 7 @@ -40,6 +40,7 @@ vimPluginsUpdater # used for building plugins nix-index statix + self.packages.${pkgs-unstable.system}.custom-trimmer ]; }; perSystem = {pkgs, ...}: { From c1354a3b985b736b9acd31f3b5c572edec7fb412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:58:17 +0200 Subject: [PATCH 25/46] limine: rice --- modules/hardware/bootloader.nix | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index 600d893..10720b3 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -1,9 +1,11 @@ -_: { - flake.nixosModules.bootloader = { - inputs, - pkgs, - ... - }: { +_: let + wallpaper1 = ../../assets/wallpaper1.jpg; + wallpaper2 = ../../assets/wallpaper2.jpg; + wallpaper3 = ../../assets/wallpaper3.jpg; + wallpaper4 = ../../assets/wallpaper4.jpg; + wallpaper5 = ../../assets/wallpaper5.jpg; +in { + flake.nixosModules.bootloader = _: { # disable other bootloaders boot.loader.systemd-boot.enable = false; boot.loader.grub.enable = false; @@ -11,8 +13,17 @@ _: { boot.loader.limine = { enable = true; efiSupport = true; - extraConfig = '' - ''; + maxGenerations = 128; + style = { + wallpaperStyle = "centered"; + wallpapers = [ + wallpaper1 + wallpaper2 + wallpaper3 + wallpaper4 + wallpaper5 + ]; + }; }; boot.loader.efi.canTouchEfiVariables = true; From d49c7ba99e0296aa7b8b283f724e212014c359eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 15:58:17 +0200 Subject: [PATCH 26/46] limine: rice --- modules/hardware/bootloader.nix | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index 600d893..10720b3 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -1,9 +1,11 @@ -_: { - flake.nixosModules.bootloader = { - inputs, - pkgs, - ... - }: { +_: let + wallpaper1 = ../../assets/wallpaper1.jpg; + wallpaper2 = ../../assets/wallpaper2.jpg; + wallpaper3 = ../../assets/wallpaper3.jpg; + wallpaper4 = ../../assets/wallpaper4.jpg; + wallpaper5 = ../../assets/wallpaper5.jpg; +in { + flake.nixosModules.bootloader = _: { # disable other bootloaders boot.loader.systemd-boot.enable = false; boot.loader.grub.enable = false; @@ -11,8 +13,17 @@ _: { boot.loader.limine = { enable = true; efiSupport = true; - extraConfig = '' - ''; + maxGenerations = 128; + style = { + wallpaperStyle = "centered"; + wallpapers = [ + wallpaper1 + wallpaper2 + wallpaper3 + wallpaper4 + wallpaper5 + ]; + }; }; boot.loader.efi.canTouchEfiVariables = true; From 5039b2a37c564aaad449a89280b67db6744e719d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Fri, 12 Jun 2026 16:18:16 +0200 Subject: [PATCH 27/46] snapshot pre-autoupdate-2026-06-12T14-18-16Z From 247174146299edefce435a1dbce2fcb0c7d7ca4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:19:09 +0200 Subject: [PATCH 28/46] snapshot pre-autoupdate-2026-06-13T07-19-09Z From 406baf2a5dac332cdf6300cbfded62252d8d4514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:21:11 +0200 Subject: [PATCH 29/46] merge conflict handled --- modules/utilities/nixGitCherryPicker.nix | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 8b13c75..bd649ce 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -1,5 +1,4 @@ {inputs, ...}: { -<<<<<<< desktop flake.homeModules.nix-git-cherry-picker-laptop = {pkgs, ...}: { home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default @@ -16,25 +15,6 @@ force = true; }; }; - flake.homeModules.nix-git-cherry-picker-desktop = {pkgs, ...}: { -======= - flake.homeModules.nixGitCherryPicker-laptop = {pkgs, ...}: { ->>>>>>> main - home.packages = [ - inputs.nix-git-cherry-picker.packages.${pkgs.system}.default - ]; - home.file.".config/nix-git-cherry-picker/config.json" = { - enable = true; - text = '' - { - "localBranch": "laptop", - "remoteBranch": "desktop", - "nixConfigPath": "/home/tomasr/nixos/" - } - ''; - force = true; - }; - }; flake.homeModules.nix-git-cherry-picker-desktop = {pkgs, ...}: { home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default From d20f0d87d5136531b4f6f3970074ad80a6908538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:26:20 +0200 Subject: [PATCH 30/46] flake-parts: use flakehub cache --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d340f1d..baeaecd 100644 --- a/flake.nix +++ b/flake.nix @@ -49,7 +49,7 @@ flake = false; };*/ flake-parts = { - url = "github:hercules-ci/flake-parts"; + url = "https://flakehub.com/f/hercules-ci/flake-parts/*"; # flakehub caches results }; import-tree.url = "github:vic/import-tree"; # imports ./modules recursively }; From 143f699365241dc16af1307cc86cd745123f2812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:27:44 +0200 Subject: [PATCH 31/46] flake-utils: use flakehub cache --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index baeaecd..7666042 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { - url = "github:numtide/flake-utils"; + url = "https://flakehub.com/f/numtide/flake-utils/*"; # flakehub caches results }; notewrapper = { url = "github:tomasriveral/notewrapper"; From e4eb23f10f38a09b1dba615869c5f3a2b65416a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:21:11 +0200 Subject: [PATCH 32/46] merge conflict handled --- modules/hosts/laptop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 0ff6de1..13553ba 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -69,7 +69,7 @@ librewolf mullvad neovim - nixGitCherryPicker-laptop + nix-git-cherry-picker-laptop notewrapper oh-my-zsh ripgrep From 66ff0dc4066b39555d2d82ecca5c452f15d78372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:26:20 +0200 Subject: [PATCH 33/46] flake-parts: use flakehub cache --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e491ce5..caa546f 100644 --- a/flake.nix +++ b/flake.nix @@ -51,7 +51,7 @@ }; */ flake-parts = { - url = "github:hercules-ci/flake-parts"; + url = "https://flakehub.com/f/hercules-ci/flake-parts/*"; # flakehub caches results }; import-tree.url = "github:vic/import-tree"; # imports ./modules recursively }; From 065012ed84231600709bb606bbf9950933639a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:27:44 +0200 Subject: [PATCH 34/46] flake-utils: use flakehub cache --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index caa546f..e4b3891 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { - url = "github:numtide/flake-utils"; + url = "https://flakehub.com/f/numtide/flake-utils/*"; # flakehub caches results }; notewrapper = { url = "github:tomasriveral/notewrapper"; From 3b30916261fa586ac3007d62c2c90e83c5eb9210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:29:14 +0200 Subject: [PATCH 35/46] flake.lock: update --- flake.lock | 38 ++++++++++---------------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 2df4118..88f782c 100644 --- a/flake.lock +++ b/flake.lock @@ -74,15 +74,14 @@ "locked": { "lastModified": 1778716662, "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", - "owner": "hercules-ci", - "repo": "flake-parts", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", - "type": "github" + "revCount": 475, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.475%2Brev-f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb/019e2533-0324-7e90-93eb-29b02e1a61cd/source.tar.gz" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/hercules-ci/flake-parts/%2A" } }, "flake-utils": { @@ -92,15 +91,14 @@ "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" + "revCount": 102, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.102%2Brev-11707dc2f618dd54ca8739b309ec4fc024de578b/0193276d-5b8f-7dbc-acf1-41cb7b54ad2e/source.tar.gz" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/numtide/flake-utils/%2A" } }, "home-manager": { @@ -265,22 +263,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1780902259, - "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, "notewrapper": { "inputs": { "flake-utils": [ From 4bf8fe10c9a38d1a01d78afcc3436a2a898ee266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:30:14 +0200 Subject: [PATCH 36/46] snapshot pre-autoupdate-2026-06-13T07-30-14Z From 89c87b82427fb4a435e2ea2a95ca427bfdae20e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:34:56 +0200 Subject: [PATCH 37/46] flake.lock: autoupdate-2026-06-13T07-30-14Z --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 88f782c..76f78c7 100644 --- a/flake.lock +++ b/flake.lock @@ -34,11 +34,11 @@ "quickshell": "quickshell" }, "locked": { - "lastModified": 1780996864, - "narHash": "sha256-OIDk3FiSKjYLV4Dvfv6fMeVcV3Dk9+MBBKTORNqMsUg=", + "lastModified": 1781178648, + "narHash": "sha256-z6V1T7MHShM7TfFIMCDp94Bi1Wk9LJfK96vm8YFGY5M=", "owner": "caelestia-dots", "repo": "shell", - "rev": "c46593d438a75fce42f28529662b678b79d94693", + "rev": "a16c957a8bd13e0cfd09928ca0a22fecd3681e44", "type": "github" }, "original": { @@ -54,11 +54,11 @@ ] }, "locked": { - "lastModified": 1780894562, - "narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=", + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", "owner": "nix-community", "repo": "disko", - "rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1780883961, - "narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=", + "lastModified": 1781319724, + "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=", "owner": "nix-community", "repo": "home-manager", - "rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa", + "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae", "type": "github" }, "original": { @@ -140,17 +140,17 @@ "m3shapes": { "flake": false, "locked": { - "lastModified": 1777812556, - "narHash": "sha256-E5nqOucRQBWKuT31AMekmfgMywRdHgSbU86R7t4BKKA=", + "lastModified": 1781017666, + "narHash": "sha256-kfHyzZaPHgqZML48OA+5JwBOsLdQJ2ci/aGPShvUB4Y=", "owner": "soramanew", "repo": "m3shapes", - "rev": "356825d31f16052a782735cce264331cba0cb71b", + "rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "type": "github" }, "original": { "owner": "soramanew", "repo": "m3shapes", - "rev": "356825d31f16052a782735cce264331cba0cb71b", + "rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "type": "github" } }, @@ -179,11 +179,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1780734595, - "narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=", + "lastModified": 1780902259, + "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b696460ac78b5ccfc17c854d8c976f20456e943", + "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", "type": "github" }, "original": { @@ -210,11 +210,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1780997039, - "narHash": "sha256-8pPXOCZkrySE3zwtix2MYxm9NzzHT/XQr0mHJsf3lis=", + "lastModified": 1781334907, + "narHash": "sha256-UiFcXd+Qrb7oaNPhXqMty2lSRSFBNtz6LhQLNDuQ4w8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "872eb0174d0d5a1bc37388ff84eea2bca44b1065", + "rev": "d34e9cd74d51daeadd9724178281ac380893f8ac", "type": "github" }, "original": { @@ -234,11 +234,11 @@ ] }, "locked": { - "lastModified": 1780489272, - "narHash": "sha256-hMWKTal0SqG2OdtT/wB6wj9jLaES40yJlUQAjtbjTpA=", + "lastModified": 1781273662, + "narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=", "owner": "tomasriveral", "repo": "nixpkgs-notifier", - "rev": "276b61aecaf9c2700e7c3cb7310bac5c6a9e5b5a", + "rev": "12183f26e8b196d9906f82dc05f9672793c61038", "type": "github" }, "original": { @@ -249,11 +249,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1780930886, - "narHash": "sha256-rppURzHviaQN131F+nLiLdGfcb0uCd9gGP0E5+iw9MI=", + "lastModified": 1781268102, + "narHash": "sha256-Zn5KTggEmUB3lXn/ccERNcBdddE6IaOFber9dWViWDg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8c3cede7ddc26bd659d2d383b5610efbd2c7a16e", + "rev": "49a4bd0573c376468dd7996ddb6f9fa31d8c4d97", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1780942898, - "narHash": "sha256-cP4gUX4YE1kFe+15Zd1CbqL08XytPm1UXZuaXjYLG94=", + "lastModified": 1781158593, + "narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=", "owner": "r14dd", "repo": "patent", - "rev": "bbad654b6b65264d2ba267b5c87e8be0bd89b78e", + "rev": "68772d068088d62a030619090959165af5e71ed1", "type": "github" }, "original": { From ff1469dea25c543f3acda52508e840c03a38ac66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:37:01 +0200 Subject: [PATCH 38/46] nixpkgs-master: follow unstable when unused --- flake.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e4b3891..ffcc356 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,10 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # used for some packages - nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached + + # Only uncomment when needed. This uses a lot of space and compute ressources for sometimes not that much. If not used, make it follow unstable + nixpkgs-master.follows = "nixpkgs-unstable"; + #nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached # This one is only used when testing some packaging. You must change the path to the correct nixpkgs clone #nixpkgs-local.url = "path:/home/tomasr/devel/fugit2-gpgme"; From c32e8112c693d4ab8247572c60fb569fc9f91bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:37:38 +0200 Subject: [PATCH 39/46] flake.lock: update --- flake.lock | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 76f78c7..f68edf3 100644 --- a/flake.lock +++ b/flake.lock @@ -208,22 +208,6 @@ "type": "github" } }, - "nixpkgs-master": { - "locked": { - "lastModified": 1781334907, - "narHash": "sha256-UiFcXd+Qrb7oaNPhXqMty2lSRSFBNtz6LhQLNDuQ4w8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d34e9cd74d51daeadd9724178281ac380893f8ac", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-notifier": { "inputs": { "flake-utils": [ @@ -341,7 +325,9 @@ "import-tree": "import-tree", "nix-git-cherry-picker": "nix-git-cherry-picker", "nixpkgs": "nixpkgs", - "nixpkgs-master": "nixpkgs-master", + "nixpkgs-master": [ + "nixpkgs-unstable" + ], "nixpkgs-notifier": "nixpkgs-notifier", "nixpkgs-unstable": "nixpkgs-unstable", "notewrapper": "notewrapper", From 37f76a4439ef87a5368babb5efe24c94a3ca193b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:37:01 +0200 Subject: [PATCH 40/46] nixpkgs-master: follow unstable when unused --- flake.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 7666042..c807291 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,10 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # used for some packages - nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached + + # Only uncomment when needed. This uses a lot of space and compute ressources for sometimes not that much. If not used, make it follow unstable + nixpkgs-master.follows = "nixpkgs-unstable"; + #nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached # This one is only used when testing some packaging. You must change the path to the correct nixpkgs clone #nixpkgs-local.url = "path:/home/tomasr/devel/fugit2-gpgme"; From 6525d6d5999411a0aafd669e072b4133d532d637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:41:05 +0200 Subject: [PATCH 41/46] librewolf: add temp-mail.org bookmark --- modules/applications/browser.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 8cad7d4..e110a54 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -386,6 +386,12 @@ keyword = "nix reference manual"; url = "https://nix.dev/manual/nix/2.34/nix-2.34.html"; } + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } ]; }; search = { @@ -622,6 +628,17 @@ # }; #}; }; + bookmarks = { + force = true; + settings = [ + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } + ]; + }; search = { force = true; default = "quant"; From ba4727f4532a298cde729c72d9ee1157dcb9f498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:43:10 +0200 Subject: [PATCH 42/46] librewolf: add r/Piracy megathread bookmark --- modules/applications/browser.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index e110a54..52f65a7 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -637,6 +637,12 @@ keyword = "disposable temporary email"; url = "https://temp-mail.org"; } + { + name = "r/Piracy megathread"; + tags = ["piracy" "megathread" "reddit"]; + keyword = "piracy megathread"; + url = "https://old.reddit.com/r/Piracy/wiki/megathread"; + } ]; }; search = { From a140ce95604c1d0648bcb9623afe10b5c4419be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:45:00 +0200 Subject: [PATCH 43/46] librewolf: add rryan-tm logs bookmark --- modules/applications/browser.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 52f65a7..db75d9f 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -392,6 +392,12 @@ keyword = "disposable temporary email"; url = "https://temp-mail.org"; } + { + name = "nix-update-script Rryan-tm logs"; + tags = ["nixpkgs" "nix" "log" "rryan-tm"]; + keyword = "rryan-tm logs"; + url = "https://nixpkgs-update-logs.nix-community.org"; + } ]; }; search = { From f1e9c76d02c522394908550865e20b0316798bbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:41:05 +0200 Subject: [PATCH 44/46] librewolf: add temp-mail.org bookmark --- modules/applications/browser.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 8cad7d4..e110a54 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -386,6 +386,12 @@ keyword = "nix reference manual"; url = "https://nix.dev/manual/nix/2.34/nix-2.34.html"; } + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } ]; }; search = { @@ -622,6 +628,17 @@ # }; #}; }; + bookmarks = { + force = true; + settings = [ + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } + ]; + }; search = { force = true; default = "quant"; From 5b7c43c8f9f014263964417b007156d32f4a2b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:43:10 +0200 Subject: [PATCH 45/46] librewolf: add r/Piracy megathread bookmark --- modules/applications/browser.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index e110a54..52f65a7 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -637,6 +637,12 @@ keyword = "disposable temporary email"; url = "https://temp-mail.org"; } + { + name = "r/Piracy megathread"; + tags = ["piracy" "megathread" "reddit"]; + keyword = "piracy megathread"; + url = "https://old.reddit.com/r/Piracy/wiki/megathread"; + } ]; }; search = { From 552d898680e6cdd4acc64a7a3a9e8fcc1d92aa5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 09:45:00 +0200 Subject: [PATCH 46/46] librewolf: add rryan-tm logs bookmark --- modules/applications/browser.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 52f65a7..db75d9f 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -392,6 +392,12 @@ keyword = "disposable temporary email"; url = "https://temp-mail.org"; } + { + name = "nix-update-script Rryan-tm logs"; + tags = ["nixpkgs" "nix" "log" "rryan-tm"]; + keyword = "rryan-tm logs"; + url = "https://nixpkgs-update-logs.nix-community.org"; + } ]; }; search = {