Compare commits

...

6 commits

Author SHA1 Message Date
Emmet 9c342040ef Hyprland conf improvements (mainly hyprlock + hypridle) 2024-04-04 04:12:33 -05:00
Emmet 7dccfa7eb3 Fix for monitors not being detected 2024-04-03 14:47:16 -05:00
Emmet 4e4aeba29e Updated to latest nixos-unstable with xz trojan fix 2024-04-03 14:46:38 -05:00
Emmet 99fe2336c5 Updated emacs + org according to security advisory 2024-04-03 00:09:55 -05:00
Emmet fee67b2c6e Experimenting with org-krita 2024-04-02 23:14:02 -05:00
Emmet f4c52cc68e Experimenting with org-krita 2024-04-02 23:13:28 -05:00
11 changed files with 255 additions and 139 deletions

View file

@ -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": {

View file

@ -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;

View file

@ -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"

View file

@ -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

View file

@ -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"

View file

@ -33,6 +33,7 @@
wayland.enable = true;
enableHidpi = true;
theme = "chili";
package = pkgs.sddm;
};
};
}

View file

@ -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)

View file

@ -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;

View file

@ -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;

View file

@ -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")

View file

@ -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 = <i>Input Password...</i> # 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 = <i>$FAIL <b>($ATTEMPTS)</b></i> # 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 = {