diff --git a/flake.lock b/flake.lock
index 546de95..3ff47dd 100644
--- a/flake.lock
+++ b/flake.lock
@@ -150,11 +150,11 @@
"blocklist-hosts": {
"flake": false,
"locked": {
- "lastModified": 1711027794,
- "narHash": "sha256-aT+e3dh4rRL0uKGY95tqwIHV31OM7Mv8kctpNpDaI88=",
+ "lastModified": 1712150903,
+ "narHash": "sha256-mXtiXj+4Sm8nfHYI/cNItG/tOLeP1Rs9LEEgxYxY8rc=",
"owner": "StevenBlack",
"repo": "hosts",
- "rev": "cf3c7f5740192c9ebaa7270e5e487c6fa0f47859",
+ "rev": "4d96abf2bc07773124ebc348a347254ba0601179",
"type": "github"
},
"original": {
@@ -247,16 +247,16 @@
},
"emacs-pin-nixpkgs": {
"locked": {
- "lastModified": 1707268954,
- "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
+ "lastModified": 1711731143,
+ "narHash": "sha256-P3rID/C2N9+emVlCr4ta0X591usRvFxqk1wON/2j+Dg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
+ "rev": "f72123158996b8d4449de481897d855bc47c7bf6",
"type": "github"
},
"original": {
"id": "nixpkgs",
- "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
+ "rev": "f72123158996b8d4449de481897d855bc47c7bf6",
"type": "indirect"
}
},
@@ -481,11 +481,11 @@
]
},
"locked": {
- "lastModified": 1711122977,
- "narHash": "sha256-EnHux7wf7/7r+YMv8d/Ym1OTllp4sqqq0Bws1a4s2Zo=",
+ "lastModified": 1712093955,
+ "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "19b87b9ae6ecfd81104a2a36ef8364f1de1b54b1",
+ "rev": "80546b220e95a575c66c213af1b09fe255299438",
"type": "github"
},
"original": {
@@ -519,11 +519,11 @@
"hyprland-plugins": {
"flake": false,
"locked": {
- "lastModified": 1711047490,
- "narHash": "sha256-uyUenHmRzOdXajeYWA70C2+uzDeiqkiMcaBr3uKs28s=",
+ "lastModified": 1712142571,
+ "narHash": "sha256-cwe70xoqlBqTNiZltjMMx3CLahiAnaPBkysUmSCpkdk=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
- "rev": "adec334acfb453014cdff1e5f070bb7c1c4e4a9b",
+ "rev": "4334510363a8420f17d88505d13405d5126eabf0",
"type": "github"
},
"original": {
@@ -581,7 +581,7 @@
"nix-straight"
],
"nixpkgs": [
- "nixpkgs"
+ "emacs-pin-nixpkgs"
],
"nose": "nose",
"ob-racket": "ob-racket",
@@ -628,11 +628,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1711001935,
- "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=",
+ "lastModified": 1712122226,
+ "narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "20f77aa09916374aa3141cbc605c955626762c9a",
+ "rev": "08b9151ed40350725eb40b1fe96b0b86304a654b",
"type": "github"
},
"original": {
@@ -643,11 +643,11 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1710951922,
- "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=",
+ "lastModified": 1711668574,
+ "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f091af045dff8347d66d186a62d42aceff159456",
+ "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659",
"type": "github"
},
"original": {
@@ -656,21 +656,6 @@
"type": "indirect"
}
},
- "nixpkgs-staging-next": {
- "locked": {
- "lastModified": 1711995917,
- "narHash": "sha256-KffQxoGwUTz4gaKp1woRXgunuJ+pjRd7KYjjJZuAb7c=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "4cad0502dbb4e9ca487b7b59d8f936d5ad64b7f8",
- "type": "github"
- },
- "original": {
- "id": "nixpkgs",
- "ref": "staging-next",
- "type": "indirect"
- }
- },
"nixpkgs_2": {
"locked": {
"lastModified": 1706487304,
@@ -767,6 +752,22 @@
"type": "github"
}
},
+ "org-krita": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1619935377,
+ "narHash": "sha256-+HI8P0/LI8gdiCD7OiPKTAtLKrPt0REnQ+6oblHSHzU=",
+ "owner": "lepisma",
+ "repo": "org-krita",
+ "rev": "7e334951b8de8f2f1c8cbe5068e7dfe6b9e9808f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lepisma",
+ "repo": "org-krita",
+ "type": "github"
+ }
+ },
"org-nursery": {
"flake": false,
"locked": {
@@ -818,11 +819,11 @@
"org-yaap": {
"flake": false,
"locked": {
- "lastModified": 1698161278,
- "narHash": "sha256-as0mZLRoArfo1vMeqm/l1r4Cqy9ABi7gcjEupzXJyaw=",
+ "lastModified": 1711640914,
+ "narHash": "sha256-eWoRaE10QPOPeE0TnHBn3o+Hz6fX0yDZnfrqVlj1De8=",
"owner": "tygrdev",
"repo": "org-yaap",
- "rev": "b3fa87454b1d96d1a2477ca9aae8976a2bbc5dc4",
+ "rev": "fcf675382d914f369591052ddb8440cfc714ce74",
"type": "gitlab"
},
"original": {
@@ -909,7 +910,7 @@
"nix-straight": "nix-straight",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
- "nixpkgs-staging-next": "nixpkgs-staging-next",
+ "org-krita": "org-krita",
"org-nursery": "org-nursery",
"org-side-tree": "org-side-tree",
"org-timeblock": "org-timeblock",
@@ -941,11 +942,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1711073443,
- "narHash": "sha256-PpNb4xq7U5Q/DdX40qe7CijUsqhVVM3VZrhN0+c6Lcw=",
+ "lastModified": 1712110341,
+ "narHash": "sha256-8LU2IM4ctHz043hlzoFUwQS1QIdhiMGEH/oIfPCxoWU=",
"owner": "oxalica",
"repo": "rust-overlay",
- "rev": "eec55ba9fcde6be4c63942827247e42afef7fafe",
+ "rev": "74deb67494783168f5b6d2071d73177e6bccab65",
"type": "github"
},
"original": {
@@ -987,11 +988,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1711106191,
- "narHash": "sha256-WX1Tyb94jB3ksSQ5UtlTY/1UBsO7FlFNPjG3BXt9/0Q=",
+ "lastModified": 1712154372,
+ "narHash": "sha256-2HFQm/gpmxtMokn6pInHlTlU7mBONLb3Y1aN8SlY0tc=",
"owner": "danth",
"repo": "stylix",
- "rev": "4da2d793e586f3f45a54fb9755ee9bf39d3cd52e",
+ "rev": "f9b9bc7c8e69942cd2583a3309f86fc5260f1275",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 7779111..f56a62e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,10 +1,10 @@
{
description = "Flake of LibrePhoenix";
- outputs = inputs@{ self, nixpkgs, nixpkgs-staging-next, nixpkgs-stable, emacs-pin-nixpkgs,
+ outputs = inputs@{ self, nixpkgs, 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, mini-frame, ... }:
+ org-side-tree, org-timeblock, org-krita, phscroll, mini-frame, ... }:
let
# ---- SYSTEM SETTINGS ---- #
systemSettings = {
@@ -67,10 +67,6 @@
overlays = [ rust-overlay.overlays.default ];
};
- pkgs-staging-next = import nixpkgs-staging-next {
- system = systemSettings.system;
- };
-
pkgs-stable = import nixpkgs-stable {
system = systemSettings.system;
config = {
@@ -112,7 +108,6 @@
extraSpecialArgs = {
# pass config variables from above
inherit pkgs-stable;
- inherit pkgs-staging-next;
inherit pkgs-emacs;
inherit pkgs-kdenlive;
inherit systemSettings;
@@ -122,6 +117,7 @@
inherit (inputs) org-yaap;
inherit (inputs) org-side-tree;
inherit (inputs) org-timeblock;
+ inherit (inputs) org-krita;
inherit (inputs) phscroll;
inherit (inputs) mini-frame;
#inherit (inputs) nix-flatpak;
@@ -140,7 +136,6 @@
specialArgs = {
# pass config variables from above
inherit pkgs-stable;
- inherit pkgs-staging-next;
inherit systemSettings;
inherit userSettings;
inherit (inputs) stylix;
@@ -174,15 +169,14 @@
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
- nixpkgs-staging-next.url = "nixpkgs/staging-next";
- emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1";
+ emacs-pin-nixpkgs.url = "nixpkgs/f72123158996b8d4449de481897d855bc47c7bf6";
kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94";
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
- nix-doom-emacs.inputs.nixpkgs.follows = "nixpkgs";
+ nix-doom-emacs.inputs.nixpkgs.follows = "emacs-pin-nixpkgs";
nix-straight.url = "github:librephoenix/nix-straight.el/pgtk-patch";
nix-straight.flake = false;
@@ -212,6 +206,10 @@
url = "github:ichernyshovvv/org-timeblock";
flake = false;
};
+ org-krita = {
+ url = "github:lepisma/org-krita";
+ flake = false;
+ };
phscroll = {
url = "github:misohena/phscroll";
flake = false;
diff --git a/profiles/homelab/base.nix b/profiles/homelab/base.nix
index a62cbdc..a66ac09 100644
--- a/profiles/homelab/base.nix
+++ b/profiles/homelab/base.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }:
+{ lib, pkgs, systemSettings, userSettings, ... }:
{
imports =
@@ -9,14 +9,6 @@
( import ../../system/app/docker.nix {storageDriver = null; inherit pkgs userSettings lib;} )
];
- # xz trojan https://github.com/NixOS/nixpkgs/issues/300055
- system.replaceRuntimeDependencies = [
- {
- original = pkgs.xz;
- replacement = pkgs-staging-next.xz;
- }
- ];
-
# Fix nix path
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=$HOME/dotfiles/system/configuration.nix"
diff --git a/profiles/work/configuration.nix b/profiles/work/configuration.nix
index 4993aa1..e1104f0 100644
--- a/profiles/work/configuration.nix
+++ b/profiles/work/configuration.nix
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
-{ pkgs, pkgs-staging-next, lib, systemSettings, userSettings, ... }:
+{ pkgs, lib, systemSettings, userSettings, ... }:
{
imports =
[ ../../system/hardware-configuration.nix
@@ -27,14 +27,6 @@
../../system/style/stylix.nix
];
- # xz trojan https://github.com/NixOS/nixpkgs/issues/300055
- system.replaceRuntimeDependencies = [
- {
- original = pkgs.xz;
- replacement = pkgs-staging-next.xz;
- }
- ];
-
# Fix nix path
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=$HOME/dotfiles/system/configuration.nix"
@@ -64,6 +56,7 @@
# Networking
networking.hostName = systemSettings.hostname; # Define your hostname.
networking.networkmanager.enable = true; # Use networkmanager
+ networking.networkmanager.wifi.backend = "iwd"; # wpa_supplicant broken :(
# Timezone and locale
time.timeZone = systemSettings.timezone; # time zone
@@ -97,6 +90,7 @@
git
cryptsetup
home-manager
+ wpa_supplicant
];
# I use zsh btw
diff --git a/profiles/wsl/configuration.nix b/profiles/wsl/configuration.nix
index cc9532e..9d83988 100644
--- a/profiles/wsl/configuration.nix
+++ b/profiles/wsl/configuration.nix
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
-{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }:
+{ lib, pkgs, systemSettings, userSettings, ... }:
with lib;
let
@@ -39,14 +39,6 @@ in
};
- # xz trojan https://github.com/NixOS/nixpkgs/issues/300055
- system.replaceRuntimeDependencies = [
- {
- original = pkgs.xz;
- replacement = pkgs-staging-next.xz;
- }
- ];
-
# Fix nix path
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=$HOME/dotfiles/system/configuration.nix"
diff --git a/system/wm/wayland.nix b/system/wm/wayland.nix
index d8d4156..35e8b7c 100644
--- a/system/wm/wayland.nix
+++ b/system/wm/wayland.nix
@@ -33,6 +33,7 @@
wayland.enable = true;
enableHidpi = true;
theme = "chili";
+ package = pkgs.sddm;
};
};
}
diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el
index 8bbc078..d3834b0 100644
--- a/user/app/doom-emacs/config.el
+++ b/user/app/doom-emacs/config.el
@@ -434,6 +434,30 @@ same directory as the org-buffer and insert a link to this file."
))
(openwith-mode 1)))
+(add-load-path! "~/.emacs.d/org-krita")
+(require 'org-krita)
+(add-hook 'org-mode-hook 'org-krita-mode)
+
+(defun org-krita-show-link (link)
+ (org-krita-hide-link link)
+ (let* ((start (org-element-property :begin link))
+ (end (org-element-property :end link))
+ (overlay (make-overlay (+ start 0) (+ end 0)))
+ (kra-path (org-element-property :path link)))
+ (overlay-put overlay 'display (create-image (org-krita-extract-png kra-path) 'png t :scale 0.5))
+ (push (cons kra-path overlay) org-krita-overlays)))
+
+(defun org-krita-edit (path &optional full-mode)
+ "Edit given PATH in krita canvasonly mode.
+
+If FULL-MODE is not null, run full krita."
+ (let ((kra-path (expand-file-name path)))
+ (when (f-exists-p kra-path)
+ (if full-mode
+ (call-process org-krita-executable nil 0 nil kra-path)
+ (call-process org-krita-executable nil 0 nil kra-path))
+ (org-krita-add-watcher kra-path))))
+
(defun org-copy-link-to-clipboard-at-point ()
"Copy current link at point into clipboard (useful for images and links)"
;; Remember to press C-g to kill this foreground process if it hangs!
@@ -956,6 +980,8 @@ same directory as the org-buffer and insert a link to this file."
'(org-agenda-date-weekend :ineherit outline-2 :height 1.15)
'(org-agenda-date-weekend-today :inherit outline-4 :height 1.15)
'(org-super-agenda-header :inherit custom-button :weight bold :height 1.05)
+ '(link :foreground unspecified :underline nil :background "#46354a")
+ '(org-link :foreground unspecified)
)
;; Toggle completed entries function
@@ -1276,7 +1302,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)."
"q" 'helpful-kill-buffers)
;;;------ helpful configuration ------;;;
-(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8")
+(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2")
(require 'mu4e)
(require 'mu4e-contrib)
(require 'mu4e-actions)
diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix
index 2376924..1df0023 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, mini-frame, ... }:
+ org-nursery, org-yaap, org-side-tree, org-timeblock, org-krita, phscroll, mini-frame, ... }:
let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
@@ -97,6 +97,10 @@ in
source = "${org-nursery}";
};
+ home.file.".emacs.d/org-krita" = {
+ source = "${org-krita}";
+ };
+
home.file.".emacs.d/dashboard-logo.png".source = dashboardLogo;
home.file.".emacs.d/scripts/copy-link-or-file/copy-link-or-file-to-clipboard.sh" = {
source = ./scripts/copy-link-or-file/copy-link-or-file-to-clipboard.sh;
diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org
index 116aa9b..0c2b6a1 100644
--- a/user/app/doom-emacs/doom.org
+++ b/user/app/doom-emacs/doom.org
@@ -511,6 +511,30 @@ same directory as the org-buffer and insert a link to this file."
))
(openwith-mode 1)))
+(add-load-path! "~/.emacs.d/org-krita")
+(require 'org-krita)
+(add-hook 'org-mode-hook 'org-krita-mode)
+
+(defun org-krita-show-link (link)
+ (org-krita-hide-link link)
+ (let* ((start (org-element-property :begin link))
+ (end (org-element-property :end link))
+ (overlay (make-overlay (+ start 0) (+ end 0)))
+ (kra-path (org-element-property :path link)))
+ (overlay-put overlay 'display (create-image (org-krita-extract-png kra-path) 'png t :scale 0.5))
+ (push (cons kra-path overlay) org-krita-overlays)))
+
+(defun org-krita-edit (path &optional full-mode)
+ "Edit given PATH in krita canvasonly mode.
+
+If FULL-MODE is not null, run full krita."
+ (let ((kra-path (expand-file-name path)))
+ (when (f-exists-p kra-path)
+ (if full-mode
+ (call-process org-krita-executable nil 0 nil kra-path)
+ (call-process org-krita-executable nil 0 nil kra-path))
+ (org-krita-add-watcher kra-path))))
+
#+END_SRC
*** Copy Links/Files into Clipboard
#+BEGIN_SRC emacs-lisp :tangle config.el
@@ -1113,6 +1137,8 @@ On Wayland, EAF doesn't work.
'(org-agenda-date-weekend :ineherit outline-2 :height 1.15)
'(org-agenda-date-weekend-today :inherit outline-4 :height 1.15)
'(org-super-agenda-header :inherit custom-button :weight bold :height 1.05)
+ '(link :foreground unspecified :underline nil :background "#46354a")
+ '(org-link :foreground unspecified)
)
;; Toggle completed entries function
@@ -1153,6 +1179,18 @@ On Wayland, EAF doesn't work.
))
#+END_SRC
+
+#+RESULTS:
+| Teaching.p | () | nil | nil | :ascent | center |
+| Family.s | () | nil | nil | :ascent | center |
+| Producer.p | () | nil | nil | :ascent | center |
+| Bard.p | () | nil | nil | :ascent | center |
+| Stories.s | () | nil | nil | :ascent | center |
+| Author.p | () | nil | nil | :ascent | center |
+| Gamedev.s | () | nil | nil | :ascent | center |
+| Knowledge.p | () | nil | nil | :ascent | center |
+| Personal.p | () | nil | nil | :ascent | center |
+
*** Org Agenda Convenience Functions
#+BEGIN_SRC emacs-lisp :tangle config.el
(defun org-categorize-by-roam-db-on-save ()
@@ -1499,7 +1537,7 @@ I don't have this active right now since it's kinda weird with pgtk...
** mu4e Configuration
#+BEGIN_SRC emacs-lisp :tangle config.el
;;;------ helpful configuration ------;;;
-(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8")
+(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2")
(require 'mu4e)
(require 'mu4e-contrib)
(require 'mu4e-actions)
@@ -1931,6 +1969,7 @@ Any git package can be configured for a particular commit or branch:
(package! embark :pin "0908eea")
(package! dashboard)
(package! direnv)
+(package! org :pin "5bdfc02c6fa1b9ad4f075ac1ad1e4086ead310db")
(package! org-modern)
(package! org-super-agenda)
(package! emacsql :pin "c1a4407")
@@ -1965,7 +2004,7 @@ Any git package can be configured for a particular commit or branch:
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, mini-frame, ... }:
+ org-nursery, org-yaap, org-side-tree, org-timeblock, org-krita, phscroll, mini-frame, ... }:
let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
@@ -2063,6 +2102,10 @@ in
source = "${org-nursery}";
};
+ home.file.".emacs.d/org-krita" = {
+ source = "${org-krita}";
+ };
+
home.file.".emacs.d/dashboard-logo.png".source = dashboardLogo;
home.file.".emacs.d/scripts/copy-link-or-file/copy-link-or-file-to-clipboard.sh" = {
source = ./scripts/copy-link-or-file/copy-link-or-file-to-clipboard.sh;
diff --git a/user/app/doom-emacs/packages.el b/user/app/doom-emacs/packages.el
index c590dfb..2d797b7 100644
--- a/user/app/doom-emacs/packages.el
+++ b/user/app/doom-emacs/packages.el
@@ -1,6 +1,7 @@
(package! embark :pin "0908eea")
(package! dashboard)
(package! direnv)
+(package! org :pin "5bdfc02c6fa1b9ad4f075ac1ad1e4086ead310db")
(package! org-modern)
(package! org-super-agenda)
(package! emacsql :pin "c1a4407")
diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix
index 91095f2..0b80863 100644
--- a/user/wm/hyprland/hyprland.nix
+++ b/user/wm/hyprland/hyprland.nix
@@ -41,7 +41,7 @@
exec-once = waybar
exec-once = emacs --daemon
- exec-once = swayidle -w timeout 90 '${config.programs.swaylock.package}/bin/swaylock -f' timeout 210 'suspend-unless-render' resume '${pkgs.hyprland}/bin/hyprctl dispatch dpms on' before-sleep "${config.programs.swaylock.package}/bin/swaylock -f"
+ exec-once = hypridle
exec-once = obs-notification-mute-daemon
exec = ~/.swaybg-stylix
@@ -136,8 +136,8 @@
bind=,code:255,exec,airplane-mode
bind=SUPER,C,exec,wl-copy $(hyprpicker)
- bind=SUPERSHIFT,S,exec,swaylock --grace 0 & sleep 1 && systemctl suspend
- bind=SUPERCTRL,L,exec,swaylock --grace 0
+ bind=SUPERSHIFT,S,exec,hyprlock & sleep 1 && systemctl suspend
+ bind=SUPERCTRL,L,exec,hyprlock
bind=SUPER,H,movefocus,l
bind=SUPER,J,movefocus,d
@@ -159,6 +159,11 @@
bind=SUPER,8,exec,hyprworkspace 8
bind=SUPER,9,exec,hyprworkspace 9
+ bind=SUPERCTRL,right,exec,hyprnome
+ bind=SUPERCTRL,left,exec,hyprnome --previous
+ bind=SUPERSHIFT,right,exec,hyprnome --move
+ bind=SUPERSHIFT,left,exec,hyprnome --previous --move
+
bind=SUPERSHIFT,1,movetoworkspace,1
bind=SUPERSHIFT,2,movetoworkspace,2
bind=SUPERSHIFT,3,movetoworkspace,3
@@ -173,7 +178,6 @@
bind=SUPER,F,exec,pypr toggle ranger && hyprctl dispatch bringactivetotop
bind=SUPER,N,exec,pypr toggle musikcube && hyprctl dispatch bringactivetotop
bind=SUPER,B,exec,pypr toggle btm && hyprctl dispatch bringactivetotop
- bind=SUPER,E,exec,pypr toggle geary && hyprctl dispatch bringactivetotop
bind=SUPER,code:172,exec,pypr toggle pavucontrol && hyprctl dispatch bringactivetotop
$scratchpadsize = size 80% 85%
@@ -183,12 +187,6 @@
windowrulev2 = workspace special silent,$scratchpad
windowrulev2 = center,$scratchpad
- $gearyscratchpad = class:^(geary)$
- windowrulev2 = float,$gearyscratchpad
- windowrulev2 = $scratchpadsize,$gearyscratchpad
- windowrulev2 = workspace special silent,$gearyscratchpad
- windowrulev2 = center,$gearyscratchpad
-
$pavucontrol = class:^(pavucontrol)$
windowrulev2 = float,$pavucontrol
windowrulev2 = size 86% 40%,$pavucontrol
@@ -206,7 +204,6 @@
windowrulev2 = float,class:^(pokefinder)$
- windowrulev2 = opacity 0.85,$gearyscratchpad
windowrulev2 = opacity 0.80,title:ORUI
windowrulev2 = opacity 0.80,title:Heimdall
windowrulev2 = opacity 0.80,title:^(LibreWolf)$
@@ -223,9 +220,6 @@
bind=SUPER,code:21,exec,pypr zoom
bind=SUPER,code:21,exec,hyprctl reload
- bind=SUPERCTRL,right,workspace,+1
- bind=SUPERCTRL,left,workspace,-1
-
bind=SUPER,I,exec,networkmanager_dmenu
bind=SUPER,P,exec,keepmenu
bind=SUPERSHIFT,P,exec,hyprprofile-dmenu
@@ -247,7 +241,7 @@
force_zero_scaling = true
}
- env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0
+ env = WLR_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1
env = QT_QPA_PLATFORMTHEME,qt5ct
input {
@@ -296,7 +290,9 @@
wl-clipboard
hyprland-protocols
hyprpicker
- swayidle
+ hypridle
+ hyprlock
+ hyprnome
swaybg
fnott
fuzzel
@@ -382,6 +378,110 @@
'')
];
+ home.file.".config/hypr/hypridle.conf".text = ''
+ general {
+ lock_cmd = hyprlock
+ unlock_cmd =
+ before_sleep_cmd = hyprlock
+ after_sleep_cmd =
+ ignore_dbus_inhibit = false
+ }
+
+ listener {
+ timeout = 360 # in seconds
+ on-timeout = hyprlock
+ on-resume =
+ timeout = 720 # in seconds
+ on-timeout = systemctl suspend
+ on-resume =
+ }
+ '';
+ home.file.".config/hypr/hyprlock.conf".text = ''
+ background {
+ monitor =
+ path = screenshot
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_passes = 4
+ blur_size = 5
+ noise = 0.0117
+ contrast = 0.8916
+ brightness = 0.8172
+ vibrancy = 0.1696
+ vibrancy_darkness = 0.0
+ }
+
+ # doesn't work yet
+ image {
+ monitor =
+ path = /home/emmet/.dotfiles/user/wm/hyprland/nix-dark.png
+ size = 150 # lesser side if not 1:1 ratio
+ rounding = -1 # negative values mean circle
+ border_size = 0
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 200
+ halign = center
+ valign = center
+ }
+
+ input-field {
+ monitor =
+ size = 200, 50
+ outline_thickness = 3
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = false
+ dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
+ outer_color = rgb(151515)
+ inner_color = rgb(200, 200, 200)
+ font_color = rgb(10, 10, 10)
+ fade_on_empty = true
+ fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
+ placeholder_text = Input Password... # Text rendered in the input box when it's empty.
+ hide_input = false
+ rounding = -1 # -1 means complete rounding (circle/oval)
+ check_color = rgb(204, 136, 34)
+ fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
+ fail_text = $FAIL ($ATTEMPTS) # can be set to empty
+ fail_transition = 300 # transition time in ms between normal outer_color and fail_color
+ capslock_color = -1
+ numlock_color = -1
+ bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
+ invert_numlock = false # change color if numlock is off
+ swap_font_color = false # see below
+
+ position = 0, -20
+ halign = center
+ valign = center
+ }
+
+ label {
+ monitor =
+ text = Hello, Emmet
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 25
+ font_family = Intel One Mono
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 160
+ halign = center
+ valign = center
+ }
+
+ label {
+ monitor =
+ text = $TIME
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 20
+ font_family = Intel One Mono
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 80
+ halign = center
+ valign = center
+ }
+ '';
home.file.".config/hypr/pyprland.json".text = ''
{
"pyprland": {
@@ -404,10 +504,6 @@
"command": "alacritty --class scratchpad -e btm",
"margin": 50
},
- "geary": {
- "command": "geary",
- "margin": 50
- },
"pavucontrol": {
"command": "pavucontrol",
"margin": 50,
@@ -474,7 +570,6 @@
"scratch_ranger" = "_";
"scratch_musikcube" = "_";
"scratch_btm" = "_";
- "scratch_geary" = "_";
"scratch_pavucontrol" = "_";
};
"on-click" = "activate";
@@ -755,37 +850,6 @@
services.udiskie.enable = true;
services.udiskie.tray = "always";
- programs.swaylock = {
- enable = true;
- package = pkgs.swaylock-effects;
- settings = {
- color = "#"+config.lib.stylix.colors.base00;
- inside-color = "#"+config.lib.stylix.colors.base00+"cc";
- inside-caps-lock-color = "#"+config.lib.stylix.colors.base09;
- inside-clear-color = "#"+config.lib.stylix.colors.base0A;
- inside-wrong-color = "#"+config.lib.stylix.colors.base08;
- inside-ver-color = "#"+config.lib.stylix.colors.base0D;
- line-color = "#"+config.lib.stylix.colors.base00;
- line-caps-lock-color = "#"+config.lib.stylix.colors.base00;
- line-clear-color = "#"+config.lib.stylix.colors.base00;
- line-wrong-color = "#"+config.lib.stylix.colors.base00;
- line-ver-color = "#"+config.lib.stylix.colors.base00;
- ring-color = "#"+config.lib.stylix.colors.base00;
- ring-caps-lock-color = "#"+config.lib.stylix.colors.base09;
- ring-clear-color = "#"+config.lib.stylix.colors.base0A;
- ring-wrong-color = "#"+config.lib.stylix.colors.base08;
- ring-ver-color = "#"+config.lib.stylix.colors.base0D;
- text-color = "#"+config.lib.stylix.colors.base00;
- key-hl-color = "#"+config.lib.stylix.colors.base0B;
- font = config.stylix.fonts.monospace.name;
- font-size = 20;
- fade-in = 0.5;
- grace = 5;
- indicator-radius = 100;
- screenshots = true;
- effect-blur = "10x10";
- };
- };
programs.fuzzel.enable = true;
programs.fuzzel.settings = {
main = {