nixos/users/malte/hypr.nix
Malte Tammena 2c61e77e94 chore: update lockfile
• Updated input 'devshell':
    'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20)
  → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01)
  → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01)
  → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20)
  → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12)
• Updated input 'hydra':
    'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03)
  → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20)
• Updated input 'hydra/nix':
    'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06)
  → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20)
  → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03)
  → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29)
  → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12)
• Updated input 'jovian-nixos':
    'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16)
  → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12)
• Updated input 'nix-colors':
    'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21)
  → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22)
• Updated input 'nix-colors/base16-schemes':
    'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05)
  → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16)
• Updated input 'nix-colors/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02)
  → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18)
  → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21)
  → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20)
  → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12)
• Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils':
    'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
  → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20)
  → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17)
  → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts':
    'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01)
  → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
• Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions':
    'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03)
• Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs':
    follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs'
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs':
    'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17)
  → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix':
    'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12)
  → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12)
• Updated input 'nixpkgs-wayland/nixpkgs':
    'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
• Removed input 'nixpkgs-wayland/nixpkgs_sirula'
• Updated input 'pre-commit-hooks-nix':
    'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17)
  → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06)
• Updated input 'qmk-udev-rules':
    'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21)
  → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20)
  → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20)
  → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20)
  → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12)
• Updated input 'treefmt-nix/nixpkgs':
    'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
  → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25)
• Updated input 'xdg-desktop-portal-hyprland':
    'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05)
• Updated input 'xdg-desktop-portal-hyprland/nixpkgs':
    'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02)
  → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)• Updated input 'devshell':
    'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20)
  → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01)
  → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01)
  → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20)
  → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12)
• Updated input 'hydra':
    'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03)
  → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20)
• Updated input 'hydra/nix':
    'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06)
  → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20)
  → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03)
  → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29)
  → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12)
• Updated input 'jovian-nixos':
    'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16)
  → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12)
• Updated input 'nix-colors':
    'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21)
  → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22)
• Updated input 'nix-colors/base16-schemes':
    'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05)
  → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16)
• Updated input 'nix-colors/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02)
  → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18)
  → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21)
  → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20)
  → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12)
• Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils':
    'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
  → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20)
  → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17)
  → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts':
    'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01)
  → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
• Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions':
    'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03)
• Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs':
    follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs'
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs':
    'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17)
  → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix':
    'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12)
  → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12)
• Updated input 'nixpkgs-wayland/nixpkgs':
    'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
• Removed input 'nixpkgs-wayland/nixpkgs_sirula'
• Updated input 'pre-commit-hooks-nix':
    'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17)
  → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06)
• Updated input 'qmk-udev-rules':
    'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21)
  → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20)
  → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20)
  → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20)
  → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12)
• Updated input 'treefmt-nix/nixpkgs':
    'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
  → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25)
• Updated input 'xdg-desktop-portal-hyprland':
    'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05)
• Updated input 'xdg-desktop-portal-hyprland/nixpkgs':
    'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02)
  → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)

fix: darkman is now part of home-manager
fix: remove pulseeffects-pw package
fix: force luks keyFile setting (weird bug?)
fix: helix config with new multi-language-server support
fix: replace exa -> eza
fix: pin nvidia version, since this update breaks backlights on the thinkpad
fix: drop waybar overlay and use new hyprland/workspaces module
fix: update darkman to fix reference to /bin/bash
2023-11-16 09:26:01 +01:00

370 lines
12 KiB
Nix

{
pkgs,
config,
lib,
nixosConfig,
...
}: let
cfg = config.settings.hyprland;
bemenu = pkgs.callPackage ../../pkgs/bemenu-configured.nix {color = config.colorsDark.colors;};
doNotDisturb = pkgs.callPackage ../../pkgs/do-not-disturb.nix {};
hyprpaperConfig = ''
preload = ~/Downloads/wallpaper.jpg
wallpaper = eDP-1,~/Downloads/wallpaper.jpg
'';
wobFifo = "~/.local/share/wob/fifo";
runWob = pkgs.writeShellApplication {
name = "run-wob";
runtimeInputs = [
pkgs.coreutils
pkgs.wob
];
text = ''
mkdir -p "$(dirname ${wobFifo})"
mkfifo ${wobFifo} || echo "Fifo already exists"
tail -f ${wobFifo} | wob
'';
};
wobConfig = ''
anchor = bottom center
height = 30
margin = 100
border_size = 2
border_offset = 0
bar_padding = 2
timeout = 1000
background_color = fbf1c7
overflow_background_color = fbf1c7
border_color = 282828
overflow_border_color = 282828
bar_color = d65d0e
overflow_bar_color = fb4934
'';
ponymixToggle = pkgs.writeShellApplication {
name = "ponymix-toggle";
runtimeInputs = [pkgs.coreutils pkgs.ponymix];
text = ''
if ponymix is-muted
then echo 0 > ${wobFifo}
else ponymix get-volume > ${wobFifo}
fi
ponymix toggle
if ponymix is-muted
then echo 0 > ${wobFifo}
else ponymix get-volume > ${wobFifo}
fi
'';
};
ponymixToggleInput = pkgs.writeShellApplication {
name = "ponymix-toggle-input";
runtimeInputs = [pkgs.coreutils pkgs.ponymix];
text = ''
if ponymix --input is-muted
then echo 0 > ${wobFifo}
else ponymix --input get-volume > ${wobFifo}
fi
ponymix --input toggle
if ponymix --input is-muted
then echo 0 > ${wobFifo}
else ponymix --input get-volume > ${wobFifo}
fi
'';
};
hyprlandConfig = ''
${
if nixosConfig.settings.nvidiaUsed
then ''
# Prevent cursor from disappering under nvidia :')
env = WLR_NO_HARDWARE_CURSORS,1
''
else ""
}
# See https://wiki.hyprland.org/Configuring/Monitors/
${
if nixosConfig.networking.hostName == "helix-texta"
then "monitor = eDP-1,3840x2160@60,0x0,2"
else ""
}
monitor = desc:BNQ BenQ GW2270 P9J02423SL0, 1920x1080, 0x0, 1
monitor = desc:BNQ BenQ GW2270 P9J02423SL0, transform, 3
monitor = desc:LG Electronics IPS226 SerialNumber, 1920x1080, 1080x420, 1
monitor = ,preferred,auto,1
$mainMod = SUPER
$blue = 458588
$green = 98971a
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once=${pkgs.waybar}/bin/waybar
exec-once=${pkgs.hyprpaper}/bin/hyprpaper
exec-once=${runWob}/bin/run-wob
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_variant = workman
kb_options = ${
if nixosConfig.networking.hostName == "helix-texta"
then "compose:rctrl"
else "compose:rwin"
}
kb_rules =
follow_mouse = 1
sensitivity = 0
accel_profile = flat
touchpad {
natural_scroll = yes
tap-to-click = yes
drag_lock = yes
tap-and-drag = yes
}
}
device:usb-hid-keyboard {
kb_options = compose:rwin
}
device:at-translated-set-2-keyboard {
kb_options = "compose:rctrl"
}
device:keyboardio-atreus {
kb_variant =
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 3
gaps_out = 3
border_size = 1
col.active_border = rgba($bluecc) rgba($greencc) 45deg
col.inactive_border = rgba(282828cc)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 2
blur {
enabled = yes
size = 3
passes = 1
new_optimizations = on
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
dim_inactive = true;
dim_strength = 0.1;
}
animations {
enabled = yes
bezier = switchWorkspaces, 0.75, 0 , 0.25, 1
bezier = easeOutBack , 0.34, 1.16, 0.64, 1
bezier = easeOutExpo , 0.16, 1 , 0.3 , 1
bezier = easeOutQuint , 0.22, 1 , 0.36, 1
bezier = easeInOutQuint , 0.83, 0 , 0.17, 1
animation = windows , 1, 3, easeOutExpo
animation = windowsOut, 1, 2, default , popin 80%
animation = border , 1, 3, easeOutExpo
animation = fade , 1, 2, default
animation = workspaces, 1, 2, switchWorkspaces, slidevert
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
force_split = 2
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
workspace_swipe_distance = 100;
}
# Pinentry fancyness
windowrule = float,class:^(pinentry-qt)$
windowrule = pin,class:^(pinentry-qt)$
windowrule = bordercolor rgb(ff0000) rgb(ff0000),class:^(pinentry-qt)$
windowrule = center,class:^(pinentry-qt)$
windowrule = animation popin,class:^(pinentry-qt)$
windowrule = bordercolor rgb(ff0000),xwayland:1
# Yikes, firefox sharing indicator!
windowrule = float,title:^(Firefox Sharing Indicator)$
windowrule = move 100%-57 100%-31,title:^(Firefox Sharing Indicator)$
windowrule = nofocus,title:^(Firefox Sharing Indicator)$
windowrule = noborder,title:^(Firefox Sharing Indicator)$
windowrule = nofullscreenrequest,title:^(Firefox Sharing Indicator)$
windowrule = animation popin,title:^(Firefox Sharing Indicator)$
# Float picture-in-picture videos
windowrulev2 = float,title:^(Picture-in-Picture)$,class:^(firefox)$
windowrulev2 = pin,title:^(Picture-in-Picture)$,class:^(firefox)$
# Fix various steam windows
windowrulev2 = workspace 7,class:^(Steam)$
windowrulev2 = float,title:^(Friends List)$,class:^(Steam)$
windowrulev2 = float,title:^(Steam - News)$,class:^(Steam)$
bind = $mainMod , return, exec , kitty
bind = $mainMod SHIFT, Q , killactive ,
bind = $mainMod SHIFT, E , exit ,
bind = $mainMod SHIFT, space , togglefloating,
bind = $mainMod SHIFT, P , pseudo , # dwindle
bind = $mainMod , E , togglesplit , # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod , H, movefocus , l
bind = $mainMod , L, movefocus , r
bind = $mainMod , K, movefocus , u
bind = $mainMod , J, movefocus , d
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
# Move active window to a workspace and follow it
bind = $mainMod CTRL SHIFT, 1, movetoworkspace, 1
bind = $mainMod CTRL SHIFT, 2, movetoworkspace, 2
bind = $mainMod CTRL SHIFT, 3, movetoworkspace, 3
bind = $mainMod CTRL SHIFT, 4, movetoworkspace, 4
bind = $mainMod CTRL SHIFT, 5, movetoworkspace, 5
bind = $mainMod CTRL SHIFT, 6, movetoworkspace, 6
bind = $mainMod CTRL SHIFT, 7, movetoworkspace, 7
bind = $mainMod CTRL SHIFT, 8, movetoworkspace, 8
bind = $mainMod CTRL SHIFT, 9, movetoworkspace, 9
# Move active window to a workspace without following it
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, T, togglegroup
bind = $mainMod, T, changegroupactive, f
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fullscreen, 1
bind = $mainMod CTRL SHIFT, F, fakefullscreen
bind = $mainMod, U, pin, active
bind = $mainMod CTRL SHIFT, L, movecurrentworkspacetomonitor, r
bind = $mainMod CTRL SHIFT, H, movecurrentworkspacetomonitor, l
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Menu
bind = $mainMod, D, exec, ${bemenu}/bin/bemenu-run-configured -p 'Program:'
# Passwords
bind = $mainMod, P, exec, passmenu-bemenu
# Colorpicker
bind = $mainMod SHIFT, C, exec, ${pkgs.hyprpicker}/bin/hyprpicker -a
# Screenshot
bind = $mainMod CTRL SHIFT, S, exec, ${pkgs.grimblast}/bin/grimblast --notify copy area
bind = $mainMod CTRL , S, exec, ${pkgs.grimblast}/bin/grimblast --notify copy output
bind = $mainMod SHIFT, S, exec, ${pkgs.grimblast}/bin/grimblast --notify copy active
# Toggle DO-NOT-DISTURB mode
bind = $mainMod, N, exec, ${doNotDisturb}/bin/do-not-disturb toggle
# Sound control
bindel =, XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix increase 5% > ${wobFifo}
bindel =, XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix decrease 5% > ${wobFifo}
bindl =, XF86AudioMute, exec, ${ponymixToggle}/bin/ponymix-toggle
bindl =, XF86AudioMicMute, exec, ${ponymixToggleInput}/bin/ponymix-toggle-input
# Discord mute and deafmute
bind = CTRL_R, Insert, pass, .*[Dd]iscord.*
bind = CTRL_R, Delete, pass, .*[Dd]iscord.*
'';
in {
imports = [
./waybar.nix
./gtk.nix
./qt.nix
./pass.nix
./mako.nix
./kanshi.nix
];
options.settings.hyprland = with lib; {
enable = mkEnableOption "Enable hyperland config";
};
config = lib.mkIf cfg.enable {
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
};
home.packages = [
pkgs.hyprpicker
pkgs.grimblast
];
home.pointerCursor = {
package = pkgs.vanilla-dmz;
name = "Vanilla-DMZ";
size = 48;
};
# If running from tty2 start hyprland
xdg.configFile."fish/conf.d/hyprland.fish".text = ''
set TTY1 (tty)
if test -z \"$DISPLAY\"; and test $TTY1 = '/dev/tty1'
systemd-cat -t Hyprland Hyprland
end
'';
# Configure hyprpaper
xdg.configFile."hypr/hyprpaper.conf".text = hyprpaperConfig;
# Configure wob
xdg.configFile."wob/wob.ini".text = wobConfig;
# Main config
xdg.configFile."hypr/hyprland.conf".text = hyprlandConfig;
};
}