From b6f621c964e15e351bf76d094ba038f88d0dc3b7 Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 15 Jul 2024 10:42:20 -0500 Subject: [PATCH 01/12] Open ports for syncthing --- system/security/firewall.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/security/firewall.nix b/system/security/firewall.nix index 60d339a..ff582da 100644 --- a/system/security/firewall.nix +++ b/system/security/firewall.nix @@ -4,8 +4,8 @@ # Firewall networking.firewall.enable = true; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ 22000 21027 ]; # syncthing + networking.firewall.allowedUDPPorts = [ 22000 21027 ]; # syncthing # Or disable the firewall altogether. # networking.firewall.enable = false; } From ba2f97ab31325c78373577e964641d88aebad027 Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 08:33:30 -0500 Subject: [PATCH 02/12] Select roam dashboard/inbox from title --- user/app/doom-emacs/config.el | 16 ++++++++++++---- user/app/doom-emacs/doom.org | 20 ++++++++++++++++---- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index b03e110..ec2d418 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -727,8 +727,8 @@ If the path from LINK does not exist, nil is returned." (defun org-roam-open-dashboard () "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" (interactive) - (if (file-exists-p (concat org-roam-directory "/dashboard.org")) - (org-open-file (concat org-roam-directory "/dashboard.org")) + (if (org-roam-node-from-title-or-alias "Overview") + (org-roam-node-open (org-roam-node-from-title-or-alias "Overview")) (dired org-roam-directory)) ) @@ -740,11 +740,19 @@ If the path from LINK does not exist, nil is returned." (message "No inbox found, capture something with M-x org-roam-capture-inbox")) ) +(defun org-roam-open-inbox () + "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" + (interactive) + (if (org-roam-node-from-title-or-alias "Inbox") + (org-roam-node-open (org-roam-node-from-title-or-alias "Inbox")) + (message "No inbox found, capture something with M-x org-roam-capture-inbox")) +) + (defun org-roam-capture-inbox () (interactive) - (org-roam-capture- :node (org-roam-node-create) + (org-roam-capture- :node (org-roam-node-from-title-or-alias "Inbox") :templates '(("i" "inbox" plain "* %?" - :if-new (file+head "inbox.org" "#+title: Inbox\n"))))) + :if-new (file+head "%<%Y%m%d%H%M%S>-inbox.org" "#+title: Inbox\n"))))) (defun org-roam-switch-db (&optional arg silent) "Switch to a different org-roam database, arg" diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index eb51346..bb2b94a 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -866,8 +866,8 @@ exit (defun org-roam-open-dashboard () "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" (interactive) - (if (file-exists-p (concat org-roam-directory "/dashboard.org")) - (org-open-file (concat org-roam-directory "/dashboard.org")) + (if (org-roam-node-from-title-or-alias "Overview") + (org-roam-node-open (org-roam-node-from-title-or-alias "Overview")) (dired org-roam-directory)) ) @@ -879,11 +879,19 @@ exit (message "No inbox found, capture something with M-x org-roam-capture-inbox")) ) +(defun org-roam-open-inbox () + "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" + (interactive) + (if (org-roam-node-from-title-or-alias "Inbox") + (org-roam-node-open (org-roam-node-from-title-or-alias "Inbox")) + (message "No inbox found, capture something with M-x org-roam-capture-inbox")) +) + (defun org-roam-capture-inbox () (interactive) - (org-roam-capture- :node (org-roam-node-create) + (org-roam-capture- :node (org-roam-node-from-title-or-alias "Inbox") :templates '(("i" "inbox" plain "* %?" - :if-new (file+head "inbox.org" "#+title: Inbox\n"))))) + :if-new (file+head "%<%Y%m%d%H%M%S>-inbox.org" "#+title: Inbox\n"))))) (defun org-roam-switch-db (&optional arg silent) "Switch to a different org-roam database, arg" @@ -932,6 +940,10 @@ exit (org-roam-switch-db prev-org-roam-db-choice 1))) #+END_SRC + +#+RESULTS: +: org-roam-switch-db-id-open + *** Org Roam "todos" Tagging for Org Agenda #+BEGIN_SRC emacs-lisp :tangle config.el ;;;------ Org-roam-agenda configuration ------;;; From 8f739d1583407eb84a5c14941b37924b76cad0c5 Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 08:36:19 -0500 Subject: [PATCH 03/12] Bumped stable to 24.05 and added unstable for servers --- flake.lock | 8 ++++---- flake.nix | 11 ++++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 8e893be..8fc1466 100644 --- a/flake.lock +++ b/flake.lock @@ -943,16 +943,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1719957072, - "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", + "lastModified": 1720954236, + "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index a3568f1..e24aefa 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,15 @@ }; }; + pkgs-unstable = import inputs.nixpkgs-patched { + system = systemSettings.system; + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + overlays = [ inputs.rust-overlay.overlays.default ]; + }; + pkgs-emacs = import inputs.emacs-pin-nixpkgs { system = systemSettings.system; }; @@ -192,7 +201,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "nixpkgs/nixos-23.11"; + nixpkgs-stable.url = "nixpkgs/nixos-24.05"; emacs-pin-nixpkgs.url = "nixpkgs/f72123158996b8d4449de481897d855bc47c7bf6"; kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94"; nwg-dock-hyprland-pin-nixpkgs.url = "nixpkgs/2098d845d76f8a21ae4fe12ed7c7df49098d3f15"; From 35c5e4f00ba2f1b518b57a431b1899fe293d87ba Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 08:38:11 -0500 Subject: [PATCH 04/12] Fixes stable home-manager ver --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index e24aefa..494ab68 100644 --- a/flake.nix +++ b/flake.nix @@ -209,7 +209,7 @@ home-manager-unstable.url = "github:nix-community/home-manager/master"; home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs"; - home-manager-stable.url = "github:nix-community/home-manager/release-23.11"; + home-manager-stable.url = "github:nix-community/home-manager/release-24.05"; home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable"; nix-on-droid = { From 8cec3e5299da5f6e8fcc61f230f96b42fdaa06ed Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 08:41:20 -0500 Subject: [PATCH 05/12] Fixes server rebuild error --- profiles/homelab/base.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/profiles/homelab/base.nix b/profiles/homelab/base.nix index 190e145..c0562a5 100644 --- a/profiles/homelab/base.nix +++ b/profiles/homelab/base.nix @@ -89,6 +89,4 @@ # It is ok to leave this unchanged for compatibility purposes system.stateVersion = "22.11"; - news.display = "silent"; - } From c0f7854c2c42402c1c04d11853155bdf323e3857 Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 09:58:42 -0500 Subject: [PATCH 06/12] Updated home-manager-stable lock --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 8fc1466..df2f5aa 100644 --- a/flake.lock +++ b/flake.lock @@ -451,16 +451,16 @@ ] }, "locked": { - "lastModified": 1719827415, - "narHash": "sha256-pvh+1hStXXAZf0sZ1xIJbWGx4u+OGBC1rVx6Wsw0fBw=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2e3c19867262dbe84fdfab42467fc8dd83a2005", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } From bef375ef43988a8bfff2d8fccdd173661f42ba92 Mon Sep 17 00:00:00 2001 From: Emmet Date: Tue, 16 Jul 2024 10:02:28 -0500 Subject: [PATCH 07/12] Fixes for permissions scripts --- harden.sh | 27 ++++++++++++++------------- soften.sh | 2 +- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/harden.sh b/harden.sh index e1d65d5..05477d6 100755 --- a/harden.sh +++ b/harden.sh @@ -19,17 +19,18 @@ else SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) fi pushd $SCRIPT_DIR &> /dev/null; -chown 0:0 .; -chown 0:0 profiles/*; -chown -R 0:0 system; -chown -R 0:0 patches; -chown 0:0 flake.lock; -chown 0:0 flake.nix -chown 0:0 profiles -chown 0:0 profiles/*/configuration.nix; -chown 0:0 harden.sh; -chown 0:0 soften.sh; -chown 0:0 install.sh; -chown 0:0 update.sh; -chown 1000:users **/README.org; +sudo chown 0:0 .; +sudo chown 0:0 profiles/*; +sudo chown -R 0:0 system; +sudo chown -R 0:0 patches; +sudo chown 0:0 flake.lock; +sudo chown 0:0 flake.nix +sudo chown 0:0 profiles +sudo chown 0:0 profiles/*/configuration.nix; +sudo chown 0:0 profiles/homelab/base.nix; +sudo chown 0:0 harden.sh; +sudo chown 0:0 soften.sh; +sudo chown 0:0 install.sh; +sudo chown 0:0 update.sh; +sudo chown 1000:users **/README.org; popd &> /dev/null; diff --git a/soften.sh b/soften.sh index 93476c7..84dde5f 100755 --- a/soften.sh +++ b/soften.sh @@ -23,5 +23,5 @@ else SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) fi pushd $SCRIPT_DIR &> /dev/null; -chown -R 1000:users .; +sudo chown -R 1000:users .; popd &> /dev/null; From 67d1ea26b492abc6379bb09a1220dcf8585ae591 Mon Sep 17 00:00:00 2001 From: Emmet Date: Thu, 18 Jul 2024 07:20:22 -0500 Subject: [PATCH 08/12] Use autoconfig on qb --- user/app/browser/qutebrowser.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/app/browser/qutebrowser.nix b/user/app/browser/qutebrowser.nix index e061a79..0b42860 100644 --- a/user/app/browser/qutebrowser.nix +++ b/user/app/browser/qutebrowser.nix @@ -116,7 +116,7 @@ if (os.path.isfile(secretFile)): secretsExists = True config.set('qt.args',['ignore-gpu-blacklist','enable-gpu-rasterization','enable-native-gpu-memory-buffers','num-raster-threads=4']) -config.load_autoconfig(False) +config.load_autoconfig(True) base00 = "#''+config.lib.stylix.colors.base00+''" base01 = "#''+config.lib.stylix.colors.base01+''" From da89ee5f3839cb48a43f2f59feee1268bab035ed Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 20 Jul 2024 11:32:34 -0500 Subject: [PATCH 09/12] Updated system --- flake.lock | 71 ++++++++++++---------------- patches/emacs-no-version-check.patch | 6 +-- profiles/work/home.nix | 12 ++--- system/wm/fonts.nix | 2 +- 4 files changed, 39 insertions(+), 52 deletions(-) diff --git a/flake.lock b/flake.lock index df2f5aa..e57feea 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1696727917, - "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=", + "lastModified": 1720809814, + "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb", + "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625", "type": "github" }, "original": { @@ -117,11 +117,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1720371934, - "narHash": "sha256-30Hl4Llh1wetlW3au2/bRR+/m5P9D7QvLGFWAYHKbKs=", + "lastModified": 1721090606, + "narHash": "sha256-tS7CDuotk+aAbtOR1x3u3ymyRvPgb3GZjuDcJNm6lZs=", "owner": "StevenBlack", "repo": "hosts", - "rev": "67448bdb863d266fd6031f1330c8958d84eba1a2", + "rev": "87af2c503dbd86ec8b1f7c70ae005a1dae422a60", "type": "github" }, "original": { @@ -472,11 +472,11 @@ ] }, "locked": { - "lastModified": 1720327769, - "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=", + "lastModified": 1721135958, + "narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=", "owner": "nix-community", "repo": "home-manager", - "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71", + "rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d", "type": "github" }, "original": { @@ -832,7 +832,10 @@ "nix-on-droid", "nixpkgs" ], - "nmd": "nmd", + "nmd": [ + "nix-on-droid", + "nmd" + ], "nmt": "nmt" }, "locked": { @@ -860,14 +863,14 @@ ], "nixpkgs-docs": "nixpkgs-docs", "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap", - "nmd": "nmd_2" + "nmd": "nmd" }, "locked": { - "lastModified": 1720396533, - "narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=", + "lastModified": 1720964831, + "narHash": "sha256-UwVKfjrQ6FWTuqks6lF4+VlzPFDC/GR1Ti/iBKTEQco=", "owner": "nix-community", "repo": "nix-on-droid", - "rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25", + "rev": "c00333ee42aa2b4d4825e0388a1049fdeeded6c6", "type": "github" }, "original": { @@ -896,11 +899,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", "type": "github" }, "original": { @@ -943,11 +946,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1720954236, - "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", + "lastModified": 1721226092, + "narHash": "sha256-UBvzVpo5sXSi2S/Av+t+Q+C2mhMIw/LBEZR+d6NMjws=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", + "rev": "c716603a63aca44f39bef1986c13402167450e0a", "type": "github" }, "original": { @@ -989,22 +992,6 @@ } }, "nmd": { - "flake": false, - "locked": { - "lastModified": 1666190571, - "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=", - "owner": "rycee", - "repo": "nmd", - "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmd_2": { "inputs": { "nixpkgs": [ "nix-on-droid", @@ -1351,11 +1338,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1720405186, - "narHash": "sha256-7D57KwmTIbsopE/1g8hFeIbVoeJGgU3wfuGYvTlNQG4=", + "lastModified": 1721269159, + "narHash": "sha256-eHrGuKZKQb762qdCkrfoyyxXLKumYhiXJca1ig0RftE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "f0ca58b37ff4179ce4587589c32205764d9b4a4f", + "rev": "c3e217122ac55680606d69bc693bdf262f14f602", "type": "github" }, "original": { @@ -1411,11 +1398,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1719525570, - "narHash": "sha256-xSO/H67GAHEW0siD2PHoO/e97MbROL3r3s5SpF6A6Dc=", + "lastModified": 1720818679, + "narHash": "sha256-u9PqY7O6TN42SLeb0e6mnYAgQOoQmclaVSHfLKMpmu0=", "owner": "danth", "repo": "stylix", - "rev": "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116", + "rev": "29148118cc33f08b71058e1cda7ca017f5300b51", "type": "github" }, "original": { diff --git a/patches/emacs-no-version-check.patch b/patches/emacs-no-version-check.patch index 55a363e..d668c95 100644 --- a/patches/emacs-no-version-check.patch +++ b/patches/emacs-no-version-check.patch @@ -1,6 +1,6 @@ -diff -crB nixpkgs/pkgs/build-support/emacs/generic.nix nixpkgs-patched/pkgs/build-support/emacs/generic.nix -*** nixpkgs/pkgs/build-support/emacs/generic.nix 2023-09-08 20:42:24.476059868 -0500 ---- nixpkgs-patched/pkgs/build-support/emacs/generic.nix 2023-09-08 21:12:46.637645595 -0500 +diff -crB nixpkgs/pkgs/applications/editors/emacs/build-support/generic.nix nixpkgs-patched/pkgs/applications/editors/emacs/build-support/generic.nix +*** nixpkgs/pkgs/applications/editors/emacs/build-support/generic.nix 2023-09-08 20:42:24.476059868 -0500 +--- nixpkgs-patched/pkgs/applications/editors/emacs/build-support/generic.nix 2023-09-08 21:12:46.637645595 -0500 *************** *** 3,9 **** { lib, stdenv, emacs, texinfo, writeText, gcc, ... }: diff --git a/profiles/work/home.nix b/profiles/work/home.nix index af0cfd4..422c507 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -117,13 +117,13 @@ yt-dlp blender-hip # cura is moderately broken on wayland, so use xwayland - (pkgs.cura.overrideAttrs (oldAttrs: { + (pkgs-stable.cura.overrideAttrs (oldAttrs: { postInstall = oldAttrs.postInstall + ''cp -rf ${(pkgs.makeDesktopItem { name = "com.ultimaker.cura"; icon = "cura-icon"; desktopName = "Cura"; - exec = "env QT_QPA_PLATFORM=xcb ${pkgs.cura}/bin/cura %F"; - tryExec = "env QT_QPA_PLATFORM=xcb ${pkgs.cura}/bin/cura"; + exec = "env QT_QPA_PLATFORM=xcb ${pkgs-stable.cura}/bin/cura %F"; + tryExec = "env QT_QPA_PLATFORM=xcb ${pkgs-stable.cura}/bin/cura"; terminal = false; type = "Application"; categories = ["Graphics"]; @@ -133,8 +133,8 @@ "model/gltf+json" "model/vnd.collada+xml+zip"]; })}/share/applications $out/share''; })) - (pkgs.writeShellScriptBin "curax" ''env QT_QPA_PLATFORM=xcb ${pkgs.cura}/bin/cura'') - curaengine_stable + (pkgs.writeShellScriptBin "curax" ''env QT_QPA_PLATFORM=xcb ${pkgs-stable.cura}/bin/cura'') + (pkgs-stable.curaengine_stable) openscad (stdenv.mkDerivation { name = "cura-slicer"; @@ -154,7 +154,7 @@ sed -i 's+#!/usr/bin/perl+#! /usr/bin/env nix-shell\n#! nix-shell -i perl -p perl538 perl538Packages.JSON+g' $out/bin/cura-slicer sed -i 's+/usr/share+/home/${userSettings.username}/.nix-profile/share+g' $out/bin/cura-slicer ''; - propagatedBuildInputs = with pkgs; [ + propagatedBuildInputs = with pkgs-stable; [ curaengine_stable ]; }) diff --git a/system/wm/fonts.nix b/system/wm/fonts.nix index d4b1793..ca862c8 100644 --- a/system/wm/fonts.nix +++ b/system/wm/fonts.nix @@ -5,7 +5,7 @@ fonts.packages = with pkgs; [ # Fonts nerdfonts - powerline + # powerline # FIXME broken by python 311 -> 312 nixpkgs update ]; } From cabfed6f4b09c0a9818026624155e5c316f3e9a4 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 20 Jul 2024 11:33:05 -0500 Subject: [PATCH 10/12] Switched audio player --- profiles/work/home.nix | 4 ++-- user/wm/hyprland/hyprland.nix | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/profiles/work/home.nix b/profiles/work/home.nix index 422c507..9693c92 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, pkgs-kdenlive, userSettings, ... }: +{ config, pkgs, pkgs-stable, pkgs-kdenlive, userSettings, ... }: { # Home Manager needs a bit of information about you and the paths it should @@ -111,7 +111,7 @@ pinta krita inkscape - musikcube + (pkgs-stable.lollypop.override { youtubeSupport = false; }) vlc mpv yt-dlp diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 2f42f0b..3211fe5 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -173,6 +173,11 @@ in bind=SUPERSHIFT,K,exec,hyprctl kill bind=SUPER,W,exec,nwg-dock-wrapper + bind=,code:172,exec,lollypop -t + bind=,code:174,exec,lollypop -s + bind=,code:171,exec,lollypop -n + bind=,code:173,exec,lollypop -p + bind = SUPER,R,pass,^(com\.obsproject\.Studio)$ bind = SUPERSHIFT,R,pass,^(com\.obsproject\.Studio)$ @@ -259,7 +264,7 @@ in bind=SUPER,Z,exec,pypr toggle term && hyprctl dispatch bringactivetotop bind=SUPER,F,exec,pypr toggle ranger && hyprctl dispatch bringactivetotop bind=SUPER,N,exec,pypr toggle numbat && hyprctl dispatch bringactivetotop - bind=SUPER,M,exec,pypr toggle musikcube && hyprctl dispatch bringactivetotop + bind=SUPER,M,exec,pypr toggle music && hyprctl dispatch bringactivetotop bind=SUPER,B,exec,pypr toggle btm && hyprctl dispatch bringactivetotop bind=SUPER,D,exec,hypr-element bind=SUPER,code:172,exec,pypr toggle pavucontrol && hyprctl dispatch bringactivetotop @@ -275,6 +280,10 @@ in windowrulev2 = size 85% 90%,class:^(Element)$ windowrulev2 = center,class:^(Element)$ + windowrulev2 = float,class:^(lollypop)$ + windowrulev2 = size 85% 90%,class:^(lollypop)$ + windowrulev2 = center,class:^(lollypop)$ + $savetodisk = title:^(Save to Disk)$ windowrulev2 = float,$savetodisk windowrulev2 = size 70% 75%,$savetodisk @@ -299,6 +308,7 @@ in windowrulev2 = opacity 1.0,class:^(org.qutebrowser.qutebrowser),fullscreen:1 windowrulev2 = opacity 0.85,class:^(Element)$ + windowrulev2 = opacity 0.85,class:^(lollypop)$ windowrulev2 = opacity 1.0,class:^(Brave-browser),fullscreen:1 windowrulev2 = opacity 1.0,class:^(librewolf),fullscreen:1 windowrulev2 = opacity 0.85,title:^(My Local Dashboard Awesome Homepage - qutebrowser)$ @@ -726,8 +736,8 @@ in command = "alacritty --class scratchpad -e numbat" margin = 50 - [scratchpads.musikcube] - command = "alacritty --class scratchpad -e musikcube" + [scratchpads.music] + command = "lollypop" margin = 50 [scratchpads.btm] @@ -796,7 +806,7 @@ in "9" = "󱎓"; "scratch_term" = "_"; "scratch_ranger" = "_󰴉"; - "scratch_musikcube" = "_"; + "scratch_music" = "_"; "scratch_btm" = "_"; "scratch_pavucontrol" = "_󰍰"; }; From 868b0db9763b28299af0e81c6ea31f1a6aef44a2 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 20 Jul 2024 11:34:13 -0500 Subject: [PATCH 11/12] Trying lsp-booster --- user/app/doom-emacs/config.el | 36 ++++++++++++++++++++++++++++++++++ user/app/doom-emacs/doom.org | 37 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index ec2d418..b852dcd 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1503,6 +1503,11 @@ If the path from LINK does not exist, nil is returned." (require 'nix-mode) (require 'gdscript-mode) +(add-hook 'nix-mode-hook 'lsp-deferred) +(add-hook 'gdscript-mode-hook 'lsp-deferred) + +(setq gdscript-godot-executable "godot4") + (setq lsp-java-workspace-dir (concat user-home-directory "/.local/share/doom/java-workspace")) (setq lsp-treemacs-deps-position-params @@ -1520,6 +1525,37 @@ If the path from LINK does not exist, nil is returned." (setq +format-on-save-enabled-modes '(not emacs-lisp-mode sql-mode tex-mode latex-mode org-msg-edit-mode nix-mode)) +(defun lsp-booster--advice-json-parse (old-fn &rest args) + "Try to parse bytecode instead of json." + (or + (when (equal (following-char) ?#) + (let ((bytecode (read (current-buffer)))) + (when (byte-code-function-p bytecode) + (funcall bytecode)))) + (apply old-fn args))) +(advice-add (if (progn (require 'json) + (fboundp 'json-parse-buffer)) + 'json-parse-buffer + 'json-read) + :around + #'lsp-booster--advice-json-parse) + +(defun lsp-booster--advice-final-command (old-fn cmd &optional test?) + "Prepend emacs-lsp-booster command to lsp CMD." + (let ((orig-result (funcall old-fn cmd test?))) + (if (and (not test?) ;; for check lsp-server-present? + (not (file-remote-p default-directory)) ;; see lsp-resolve-final-command, it would add extra shell wrapper + lsp-use-plists + (not (functionp 'json-rpc-connection)) ;; native json-rpc + (executable-find "emacs-lsp-booster")) + (progn + (when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH) + (setcar orig-result command-from-exec-path)) + (message "Using emacs-lsp-booster for %s!" orig-result) + (cons "emacs-lsp-booster" orig-result)) + orig-result))) +(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command) + (add-to-list 'tramp-remote-path 'tramp-own-remote-path) (after! vterm (add-to-list 'vterm-tramp-shells '("ssh" "zsh")) ;; I use zsh on all my servers diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index bb2b94a..87dbe3d 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1775,6 +1775,11 @@ I don't have this active right now since it's kinda weird with pgtk... (require 'nix-mode) (require 'gdscript-mode) +(add-hook 'nix-mode-hook 'lsp-deferred) +(add-hook 'gdscript-mode-hook 'lsp-deferred) + +(setq gdscript-godot-executable "godot4") + (setq lsp-java-workspace-dir (concat user-home-directory "/.local/share/doom/java-workspace")) (setq lsp-treemacs-deps-position-params @@ -1792,6 +1797,37 @@ I don't have this active right now since it's kinda weird with pgtk... (setq +format-on-save-enabled-modes '(not emacs-lisp-mode sql-mode tex-mode latex-mode org-msg-edit-mode nix-mode)) +(defun lsp-booster--advice-json-parse (old-fn &rest args) + "Try to parse bytecode instead of json." + (or + (when (equal (following-char) ?#) + (let ((bytecode (read (current-buffer)))) + (when (byte-code-function-p bytecode) + (funcall bytecode)))) + (apply old-fn args))) +(advice-add (if (progn (require 'json) + (fboundp 'json-parse-buffer)) + 'json-parse-buffer + 'json-read) + :around + #'lsp-booster--advice-json-parse) + +(defun lsp-booster--advice-final-command (old-fn cmd &optional test?) + "Prepend emacs-lsp-booster command to lsp CMD." + (let ((orig-result (funcall old-fn cmd test?))) + (if (and (not test?) ;; for check lsp-server-present? + (not (file-remote-p default-directory)) ;; see lsp-resolve-final-command, it would add extra shell wrapper + lsp-use-plists + (not (functionp 'json-rpc-connection)) ;; native json-rpc + (executable-find "emacs-lsp-booster")) + (progn + (when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH) + (setcar orig-result command-from-exec-path)) + (message "Using emacs-lsp-booster for %s!" orig-result) + (cons "emacs-lsp-booster" orig-result)) + orig-result))) +(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command) + #+END_SRC ** Terminal #+BEGIN_SRC emacs-lisp :tangle config.el @@ -2136,6 +2172,7 @@ in }; home.packages = (with pkgs-emacs; [ + emacs-lsp-booster nil nixfmt file From 5570e49412301ac34cb5e7d2806aae9ec9116195 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 20 Jul 2024 11:34:21 -0500 Subject: [PATCH 12/12] Fix org agenda date faces --- user/app/doom-emacs/config.el | 9 ++++----- user/app/doom-emacs/doom.nix | 1 + user/app/doom-emacs/doom.org | 9 ++++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index b852dcd..2b40c02 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1050,13 +1050,12 @@ If the path from LINK does not exist, nil is returned." ;; Custom styles for dates in agenda (custom-set-faces! '(org-agenda-date :inherit outline-1 :height 1.15) - '(org-agenda-date-today :inherit diary :height 1.15) - '(org-agenda-date-weekend :ineherit outline-2 :height 1.15) - '(org-agenda-date-weekend-today :inherit outline-4 :height 1.15) + '(org-agenda-date-today :inherit outline-2 :height 1.15) + '(org-agenda-date-weekend :inherit outline-1 :height 1.15) + '(org-agenda-date-weekend-today :inherit outline-2 :height 1.15) '(org-super-agenda-header :inherit custom-button :weight bold :height 1.05) `(link :foreground unspecified :underline nil :background ,(nth 1 (nth 7 doom-themes--colors))) - '(org-link :foreground unspecified) - ) + '(org-link :foreground unspecified)) ;; Toggle completed entries function (defun org-agenda-toggle-completed () diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix index b1544f4..a07b00f 100644 --- a/user/app/doom-emacs/doom.nix +++ b/user/app/doom-emacs/doom.nix @@ -47,6 +47,7 @@ in }; home.packages = (with pkgs-emacs; [ + emacs-lsp-booster nil nixfmt file diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 87dbe3d..8a6172b 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1222,13 +1222,12 @@ On Wayland, EAF doesn't work. ;; Custom styles for dates in agenda (custom-set-faces! '(org-agenda-date :inherit outline-1 :height 1.15) - '(org-agenda-date-today :inherit diary :height 1.15) - '(org-agenda-date-weekend :ineherit outline-2 :height 1.15) - '(org-agenda-date-weekend-today :inherit outline-4 :height 1.15) + '(org-agenda-date-today :inherit outline-2 :height 1.15) + '(org-agenda-date-weekend :inherit outline-1 :height 1.15) + '(org-agenda-date-weekend-today :inherit outline-2 :height 1.15) '(org-super-agenda-header :inherit custom-button :weight bold :height 1.05) `(link :foreground unspecified :underline nil :background ,(nth 1 (nth 7 doom-themes--colors))) - '(org-link :foreground unspecified) - ) + '(org-link :foreground unspecified)) ;; Toggle completed entries function (defun org-agenda-toggle-completed ()