From caf3a7861b8268d34f1c6c364d301c9489dbcfbd Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 1 Apr 2024 21:08:41 -0500 Subject: [PATCH 1/5] Mini-frame is cool, but has a lot of latency --- flake.lock | 17 +++++++++++++++++ flake.nix | 7 ++++++- user/app/doom-emacs/config.el | 26 ++++++++++++++++---------- user/app/doom-emacs/doom.org | 26 ++++++++++++++++---------- user/app/doom-emacs/packages.el | 1 - 5 files changed, 55 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index c59b34f..546de95 100644 --- a/flake.lock +++ b/flake.lock @@ -547,6 +547,22 @@ "type": "indirect" } }, + "mini-frame": { + "flake": false, + "locked": { + "lastModified": 1685981796, + "narHash": "sha256-HsGEu37oq2uuQFfE2m++VH1SwyGC89ChnmrBVFC/WME=", + "owner": "muffinmad", + "repo": "emacs-mini-frame", + "rev": "f420020aa33a1b00407000addd995170a36e026e", + "type": "github" + }, + "original": { + "owner": "muffinmad", + "repo": "emacs-mini-frame", + "type": "github" + } + }, "nix-doom-emacs": { "inputs": { "doom-emacs": "doom-emacs", @@ -888,6 +904,7 @@ "home-manager": "home-manager", "hyprland-plugins": "hyprland-plugins", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", + "mini-frame": "mini-frame", "nix-doom-emacs": "nix-doom-emacs", "nix-straight": "nix-straight", "nixpkgs": "nixpkgs", diff --git a/flake.nix b/flake.nix index 32507ec..7779111 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ outputs = inputs@{ self, nixpkgs, nixpkgs-staging-next, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs, nix-straight, stylix, blocklist-hosts, hyprland-plugins, rust-overlay, org-nursery, org-yaap, - org-side-tree, org-timeblock, phscroll, ... }: + org-side-tree, org-timeblock, phscroll, mini-frame, ... }: let # ---- SYSTEM SETTINGS ---- # systemSettings = { @@ -123,6 +123,7 @@ inherit (inputs) org-side-tree; inherit (inputs) org-timeblock; inherit (inputs) phscroll; + inherit (inputs) mini-frame; #inherit (inputs) nix-flatpak; inherit (inputs) stylix; inherit (inputs) hyprland-plugins; @@ -215,6 +216,10 @@ url = "github:misohena/phscroll"; flake = false; }; + mini-frame = { + url = "github:muffinmad/emacs-mini-frame"; + flake = false; + }; stylix.url = "github:danth/stylix"; diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index f54d629..0cb69e6 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -190,16 +190,22 @@ ;; For camelCase (global-subword-mode 1) -;; Mini-frames -(setq mini-frame-show-parameters - '((left . 0.5) - (top . 10) - (width . 0.6) - (height . 15)) -) -(setq mini-frame-resize nil) -(setq mini-frame-standalone t) -(mini-frame-mode -1) ;; don't enable this for now since it's kinda slow on my system +;; Mini-frames ;; cool but kinda suboptimal atm +;(add-load-path! "~/.emacs.d/mini-frame") +;(require 'mini-frame) +;(setq mini-frame-ignore-commands '(evil-ex-search-forward helpful-variable helpful-callable)) +;(setq mini-frame-show-parameters +; '((left . 216) +; (top . 240) +; (width . 0.78) +; (height . 20) +; (alpha-background . 90)) +;) +;(setq mini-frame-detach-on-hide nil) +;(setq mini-frame-resize t) +;(setq resize-mini-frames t) +;(setq mini-frame-standalone nil) +;(mini-frame-mode 1) ;;;------ Registers ------;;; diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index d9b1858..bc915f1 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -253,16 +253,22 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu ;; For camelCase (global-subword-mode 1) -;; Mini-frames -(setq mini-frame-show-parameters - '((left . 0.5) - (top . 10) - (width . 0.6) - (height . 15)) -) -(setq mini-frame-resize nil) -(setq mini-frame-standalone t) -(mini-frame-mode -1) ;; don't enable this for now since it's kinda slow on my system +;; Mini-frames ;; cool but kinda suboptimal atm +;(add-load-path! "~/.emacs.d/mini-frame") +;(require 'mini-frame) +;(setq mini-frame-ignore-commands '(evil-ex-search-forward helpful-variable helpful-callable)) +;(setq mini-frame-show-parameters +; '((left . 216) +; (top . 240) +; (width . 0.78) +; (height . 20) +; (alpha-background . 90)) +;) +;(setq mini-frame-detach-on-hide nil) +;(setq mini-frame-resize t) +;(setq resize-mini-frames t) +;(setq mini-frame-standalone nil) +;(mini-frame-mode 1) #+END_SRC ** Registers diff --git a/user/app/doom-emacs/packages.el b/user/app/doom-emacs/packages.el index 7961f59..c590dfb 100644 --- a/user/app/doom-emacs/packages.el +++ b/user/app/doom-emacs/packages.el @@ -30,4 +30,3 @@ (package! org-ql) (package! persist) (package! sudo-edit) -(package! mini-frame) From b663ba1f517ca0fdea604512c45bd676bd5c7611 Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 1 Apr 2024 21:09:19 -0500 Subject: [PATCH 2/5] Fix audio project file links in emacs --- user/app/doom-emacs/config.el | 6 +++++- user/app/doom-emacs/doom.org | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 0cb69e6..2acf16a 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -425,7 +425,11 @@ same directory as the org-buffer and insert a link to this file." '(file)) (list (openwith-make-extension-regexp '("flp")) - "~/.local/bin/flstudio" + "flstudio" + '(file)) + (list (openwith-make-extension-regexp + '("mid")) + "rosegarden" '(file)) )) (openwith-mode 1))) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index bc915f1..e599d8e 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -502,7 +502,11 @@ same directory as the org-buffer and insert a link to this file." '(file)) (list (openwith-make-extension-regexp '("flp")) - "~/.local/bin/flstudio" + "flstudio" + '(file)) + (list (openwith-make-extension-regexp + '("mid")) + "rosegarden" '(file)) )) (openwith-mode 1))) From 51cc2a95728389f7f791ce2da756508295a08dd9 Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 1 Apr 2024 21:09:55 -0500 Subject: [PATCH 3/5] Adds mini-frame from git --- user/app/doom-emacs/doom.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix index 6327dca..2376924 100644 --- a/user/app/doom-emacs/doom.nix +++ b/user/app/doom-emacs/doom.nix @@ -1,5 +1,5 @@ { config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings, - org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: + org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, mini-frame, ... }: let themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; @@ -107,6 +107,10 @@ in source = "${phscroll}"; }; + home.file.".emacs.d/mini-frame" = { + source = "${mini-frame}"; + }; + home.file.".emacs.d/system-vars.el".text = '' ;;; ~/.emacs.d/config.el -*- lexical-binding: t; -*- From 8e6c9b6340a1276178c8095fecf1df86f291fd98 Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 1 Apr 2024 21:10:08 -0500 Subject: [PATCH 4/5] Opting for performance while on battery --- system/hardware/power.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/hardware/power.nix b/system/hardware/power.nix index eef4d28..8d014be 100644 --- a/system/hardware/power.nix +++ b/system/hardware/power.nix @@ -19,13 +19,13 @@ CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "schedutil"; - CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "performance"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_MIN_PERF_ON_AC = 0; CPU_MAX_PERF_ON_AC = 100; CPU_MIN_PERF_ON_BAT = 0; - CPU_MAX_PERF_ON_BAT = 80; + CPU_MAX_PERF_ON_BAT = 100; }; }; From 9eccb97326948140909f6f32d7361cc72ccdcda5 Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 1 Apr 2024 21:10:24 -0500 Subject: [PATCH 5/5] Some fixes for org transclusion --- user/app/doom-emacs/config.el | 9 +++++++++ user/app/doom-emacs/doom.org | 16 ++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 2acf16a..8bbc078 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -548,6 +548,8 @@ same directory as the org-buffer and insert a link to this file." :desc "Org Transclusion Mode" "t" #'org-transclusion-mode)) (map! :leader :prefix "n" "l" #'org-transclusion-live-sync-start) +(setq org-transclusion-exclude-elements '(property-drawer keyword)) + (add-hook 'org-mode-hook #'org-transclusion-mode) (defun org-jekyll-new-post () @@ -798,13 +800,20 @@ same directory as the org-buffer and insert a link to this file." (setq org-agenda-files (append org-agenda-files (org-roam-list-notes-by-tag "todos"))) ) +(defun org-roam-append-ids-to-org-id-files (db) + (org-roam-switch-db db t) + (setq org-id-files (append org-id-files (org-roam-list-files))) +) + ;; Refreshing org roam agenda (defun org-roam-refresh-agenda-list () (interactive) (setq prev-org-roam-db-choice org-roam-db-choice) (setq org-agenda-files '()) + (setq org-id-files '()) (dolist (DB full-org-roam-db-list-pretty) (org-roam-append-notes-to-agenda "todos" DB) + (org-roam-append-ids-to-org-id-files DB) ) (setq org-agenda-files (-uniq org-agenda-files)) (org-roam-switch-db prev-org-roam-db-choice 1) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index e599d8e..116aa9b 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -665,6 +665,8 @@ exit :desc "Org Transclusion Mode" "t" #'org-transclusion-mode)) (map! :leader :prefix "n" "l" #'org-transclusion-live-sync-start) +(setq org-transclusion-exclude-elements '(property-drawer keyword)) + (add-hook 'org-mode-hook #'org-transclusion-mode) #+END_SRC @@ -931,13 +933,20 @@ exit (setq org-agenda-files (append org-agenda-files (org-roam-list-notes-by-tag "todos"))) ) +(defun org-roam-append-ids-to-org-id-files (db) + (org-roam-switch-db db t) + (setq org-id-files (append org-id-files (org-roam-list-files))) +) + ;; Refreshing org roam agenda (defun org-roam-refresh-agenda-list () (interactive) (setq prev-org-roam-db-choice org-roam-db-choice) (setq org-agenda-files '()) + (setq org-id-files '()) (dolist (DB full-org-roam-db-list-pretty) (org-roam-append-notes-to-agenda "todos" DB) + (org-roam-append-ids-to-org-id-files DB) ) (setq org-agenda-files (-uniq org-agenda-files)) (org-roam-switch-db prev-org-roam-db-choice 1) @@ -1951,13 +1960,12 @@ Any git package can be configured for a particular commit or branch: (package! org-ql) (package! persist) (package! sudo-edit) -(package! mini-frame) #+END_SRC * Nix Integration In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]]. #+BEGIN_SRC nix :tangle doom.nix { config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings, - org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: + org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, mini-frame, ... }: let themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; @@ -2065,6 +2073,10 @@ in source = "${phscroll}"; }; + home.file.".emacs.d/mini-frame" = { + source = "${mini-frame}"; + }; + home.file.".emacs.d/system-vars.el".text = '' ;;; ~/.emacs.d/config.el -*- lexical-binding: t; -*-