diff --git a/flake.lock b/flake.lock index 3ff47dd..546de95 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1712150903, - "narHash": "sha256-mXtiXj+4Sm8nfHYI/cNItG/tOLeP1Rs9LEEgxYxY8rc=", + "lastModified": 1711027794, + "narHash": "sha256-aT+e3dh4rRL0uKGY95tqwIHV31OM7Mv8kctpNpDaI88=", "owner": "StevenBlack", "repo": "hosts", - "rev": "4d96abf2bc07773124ebc348a347254ba0601179", + "rev": "cf3c7f5740192c9ebaa7270e5e487c6fa0f47859", "type": "github" }, "original": { @@ -247,16 +247,16 @@ }, "emacs-pin-nixpkgs": { "locked": { - "lastModified": 1711731143, - "narHash": "sha256-P3rID/C2N9+emVlCr4ta0X591usRvFxqk1wON/2j+Dg=", + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f72123158996b8d4449de481897d855bc47c7bf6", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "github" }, "original": { "id": "nixpkgs", - "rev": "f72123158996b8d4449de481897d855bc47c7bf6", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "indirect" } }, @@ -481,11 +481,11 @@ ] }, "locked": { - "lastModified": 1712093955, - "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", + "lastModified": 1711122977, + "narHash": "sha256-EnHux7wf7/7r+YMv8d/Ym1OTllp4sqqq0Bws1a4s2Zo=", "owner": "nix-community", "repo": "home-manager", - "rev": "80546b220e95a575c66c213af1b09fe255299438", + "rev": "19b87b9ae6ecfd81104a2a36ef8364f1de1b54b1", "type": "github" }, "original": { @@ -519,11 +519,11 @@ "hyprland-plugins": { "flake": false, "locked": { - "lastModified": 1712142571, - "narHash": "sha256-cwe70xoqlBqTNiZltjMMx3CLahiAnaPBkysUmSCpkdk=", + "lastModified": 1711047490, + "narHash": "sha256-uyUenHmRzOdXajeYWA70C2+uzDeiqkiMcaBr3uKs28s=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "4334510363a8420f17d88505d13405d5126eabf0", + "rev": "adec334acfb453014cdff1e5f070bb7c1c4e4a9b", "type": "github" }, "original": { @@ -581,7 +581,7 @@ "nix-straight" ], "nixpkgs": [ - "emacs-pin-nixpkgs" + "nixpkgs" ], "nose": "nose", "ob-racket": "ob-racket", @@ -628,11 +628,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712122226, - "narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08b9151ed40350725eb40b1fe96b0b86304a654b", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -643,11 +643,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1711668574, - "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", + "lastModified": 1710951922, + "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", + "rev": "f091af045dff8347d66d186a62d42aceff159456", "type": "github" }, "original": { @@ -656,6 +656,21 @@ "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, @@ -752,22 +767,6 @@ "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": { @@ -819,11 +818,11 @@ "org-yaap": { "flake": false, "locked": { - "lastModified": 1711640914, - "narHash": "sha256-eWoRaE10QPOPeE0TnHBn3o+Hz6fX0yDZnfrqVlj1De8=", + "lastModified": 1698161278, + "narHash": "sha256-as0mZLRoArfo1vMeqm/l1r4Cqy9ABi7gcjEupzXJyaw=", "owner": "tygrdev", "repo": "org-yaap", - "rev": "fcf675382d914f369591052ddb8440cfc714ce74", + "rev": "b3fa87454b1d96d1a2477ca9aae8976a2bbc5dc4", "type": "gitlab" }, "original": { @@ -910,7 +909,7 @@ "nix-straight": "nix-straight", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", - "org-krita": "org-krita", + "nixpkgs-staging-next": "nixpkgs-staging-next", "org-nursery": "org-nursery", "org-side-tree": "org-side-tree", "org-timeblock": "org-timeblock", @@ -942,11 +941,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1712110341, - "narHash": "sha256-8LU2IM4ctHz043hlzoFUwQS1QIdhiMGEH/oIfPCxoWU=", + "lastModified": 1711073443, + "narHash": "sha256-PpNb4xq7U5Q/DdX40qe7CijUsqhVVM3VZrhN0+c6Lcw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "74deb67494783168f5b6d2071d73177e6bccab65", + "rev": "eec55ba9fcde6be4c63942827247e42afef7fafe", "type": "github" }, "original": { @@ -988,11 +987,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1712154372, - "narHash": "sha256-2HFQm/gpmxtMokn6pInHlTlU7mBONLb3Y1aN8SlY0tc=", + "lastModified": 1711106191, + "narHash": "sha256-WX1Tyb94jB3ksSQ5UtlTY/1UBsO7FlFNPjG3BXt9/0Q=", "owner": "danth", "repo": "stylix", - "rev": "f9b9bc7c8e69942cd2583a3309f86fc5260f1275", + "rev": "4da2d793e586f3f45a54fb9755ee9bf39d3cd52e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f56a62e..7779111 100644 --- a/flake.nix +++ b/flake.nix @@ -1,10 +1,10 @@ { description = "Flake of LibrePhoenix"; - outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, + 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, org-krita, phscroll, mini-frame, ... }: + org-side-tree, org-timeblock, phscroll, mini-frame, ... }: let # ---- SYSTEM SETTINGS ---- # systemSettings = { @@ -67,6 +67,10 @@ overlays = [ rust-overlay.overlays.default ]; }; + pkgs-staging-next = import nixpkgs-staging-next { + system = systemSettings.system; + }; + pkgs-stable = import nixpkgs-stable { system = systemSettings.system; config = { @@ -108,6 +112,7 @@ extraSpecialArgs = { # pass config variables from above inherit pkgs-stable; + inherit pkgs-staging-next; inherit pkgs-emacs; inherit pkgs-kdenlive; inherit systemSettings; @@ -117,7 +122,6 @@ 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; @@ -136,6 +140,7 @@ specialArgs = { # pass config variables from above inherit pkgs-stable; + inherit pkgs-staging-next; inherit systemSettings; inherit userSettings; inherit (inputs) stylix; @@ -169,14 +174,15 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.11"; - emacs-pin-nixpkgs.url = "nixpkgs/f72123158996b8d4449de481897d855bc47c7bf6"; + nixpkgs-staging-next.url = "nixpkgs/staging-next"; + emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1"; 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 = "emacs-pin-nixpkgs"; + nix-doom-emacs.inputs.nixpkgs.follows = "nixpkgs"; nix-straight.url = "github:librephoenix/nix-straight.el/pgtk-patch"; nix-straight.flake = false; @@ -206,10 +212,6 @@ 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 a66ac09..a62cbdc 100644 --- a/profiles/homelab/base.nix +++ b/profiles/homelab/base.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, systemSettings, userSettings, ... }: +{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }: { imports = @@ -9,6 +9,14 @@ ( 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 e1104f0..4993aa1 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, lib, systemSettings, userSettings, ... }: +{ pkgs, pkgs-staging-next, lib, systemSettings, userSettings, ... }: { imports = [ ../../system/hardware-configuration.nix @@ -27,6 +27,14 @@ ../../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" @@ -56,7 +64,6 @@ # 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 @@ -90,7 +97,6 @@ git cryptsetup home-manager - wpa_supplicant ]; # I use zsh btw diff --git a/profiles/wsl/configuration.nix b/profiles/wsl/configuration.nix index 9d83988..cc9532e 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, systemSettings, userSettings, ... }: +{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }: with lib; let @@ -39,6 +39,14 @@ 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 35e8b7c..d8d4156 100644 --- a/system/wm/wayland.nix +++ b/system/wm/wayland.nix @@ -33,7 +33,6 @@ 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 d3834b0..8bbc078 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -434,30 +434,6 @@ 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! @@ -980,8 +956,6 @@ If FULL-MODE is not null, run full krita." '(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 @@ -1302,7 +1276,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.12.2") +(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8") (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 1df0023..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, org-krita, phscroll, mini-frame, ... }: + 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"; @@ -97,10 +97,6 @@ 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 0c2b6a1..116aa9b 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -511,30 +511,6 @@ 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 @@ -1137,8 +1113,6 @@ 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 @@ -1179,18 +1153,6 @@ 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 () @@ -1537,7 +1499,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.12.2") +(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8") (require 'mu4e) (require 'mu4e-contrib) (require 'mu4e-actions) @@ -1969,7 +1931,6 @@ 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") @@ -2004,7 +1965,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, org-krita, phscroll, mini-frame, ... }: + 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"; @@ -2102,10 +2063,6 @@ 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 2d797b7..c590dfb 100644 --- a/user/app/doom-emacs/packages.el +++ b/user/app/doom-emacs/packages.el @@ -1,7 +1,6 @@ (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 0b80863..91095f2 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 = hypridle + 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 = 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,hyprlock & sleep 1 && systemctl suspend - bind=SUPERCTRL,L,exec,hyprlock + bind=SUPERSHIFT,S,exec,swaylock --grace 0 & sleep 1 && systemctl suspend + bind=SUPERCTRL,L,exec,swaylock --grace 0 bind=SUPER,H,movefocus,l bind=SUPER,J,movefocus,d @@ -159,11 +159,6 @@ 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 @@ -178,6 +173,7 @@ 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% @@ -187,6 +183,12 @@ 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 @@ -204,6 +206,7 @@ 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)$ @@ -220,6 +223,9 @@ 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 @@ -241,7 +247,7 @@ force_zero_scaling = true } - env = WLR_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1 + env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 env = QT_QPA_PLATFORMTHEME,qt5ct input { @@ -290,9 +296,7 @@ wl-clipboard hyprland-protocols hyprpicker - hypridle - hyprlock - hyprnome + swayidle swaybg fnott fuzzel @@ -378,110 +382,6 @@ '') ]; - 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": { @@ -504,6 +404,10 @@ "command": "alacritty --class scratchpad -e btm", "margin": 50 }, + "geary": { + "command": "geary", + "margin": 50 + }, "pavucontrol": { "command": "pavucontrol", "margin": 50, @@ -570,6 +474,7 @@ "scratch_ranger" = "_󰴉"; "scratch_musikcube" = "_"; "scratch_btm" = "_"; + "scratch_geary" = "_"; "scratch_pavucontrol" = "_󰍰"; }; "on-click" = "activate"; @@ -850,6 +755,37 @@ 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 = {