Compare commits

..
194 Commits
Author SHA1 Message Date
Chest 9d3d197f9c pycharm fix 2026-07-18 15:45:59 +03:00
Chest 639ae61b89 vpn config fix 2026-07-18 15:45:59 +03:00
Sweetbread 0dbc397a82 fixup! fixup! fixup! Inaho: new host 2026-07-10 19:37:36 +03:00
Sweetbread 7b0b898a4d Inaho: add games 2026-07-10 17:32:27 +03:00
Sweetbread d22c828605 pkgs: nmtui to wifitui 2026-07-09 02:48:20 +03:00
Sweetbread bc273bf0be fixup! fixup! Inaho: new host 2026-07-09 02:48:04 +03:00
Sweetbread 33feb660f0 fixup! Inaho: new host 2026-07-09 00:40:53 +03:00
Sweetbread 527bfddbc4 Inaho: new host 2026-07-08 20:05:15 +03:00
Sweetbread 9a5ac146cb fixup! fixup! Update 2026-07-07 13:46:05 +03:00
Sweetbread ff7596742f fixup! Update 2026-07-06 14:57:02 +03:00
Sweetbread 9ff43dcc2c Update 2026-07-06 07:46:32 +03:00
Sweetbread 1ac87ff9b6 helix: steel 2026-07-06 07:46:18 +03:00
Sweetbread cb04781be6 vpn: set capabilities 2026-07-06 07:45:55 +03:00
Sweetbread 320c5e4b16 fixup! pkgs: wob 2026-07-06 07:45:14 +03:00
Sweetbread ac11428642 ygg: change peers 2026-07-06 07:44:55 +03:00
Sweetbread fbc26c1562 Rias: openrgb 2026-07-06 07:44:14 +03:00
Sweetbread 3c8c43f90b wallpaper-changer: add progress bar 2026-06-08 03:47:46 +03:00
Sweetbread 3de3a14d0b mako: remove shit code 2026-06-08 03:25:29 +03:00
Sweetbread 98434b79cf stylix: add accent color
I spent an hour just to add one f*ing option
2026-06-08 03:25:28 +03:00
Sweetbread c8b5900985 Update 2026-06-06 02:52:41 +03:00
Sweetbread ae74e79b8e fixup! wip: quickshell: control-panel 2026-06-06 01:43:13 +03:00
Sweetbread 3fd67e08bc pkgs: move smth to stable 2026-06-06 01:42:57 +03:00
Sweetbread e2527a20d1 ui: fuzzel to walker 2026-06-05 20:14:31 +03:00
Sweetbread 03fbc1e1b7 fixup! font: change to pixel fonts 2026-06-05 02:16:23 +03:00
Sweetbread 5b93b31de3 pkgs: add pear-desktop 2026-06-04 21:57:07 +03:00
Sweetbread 9332b07729 font: change to pixel fonts 2026-06-04 21:57:07 +03:00
Sweetbread 211dafc241 pkgs: wob 2026-06-04 21:57:07 +03:00
Sweetbread cb5771e2a3 wip: quickshell: control-panel 2026-06-04 21:57:06 +03:00
Sweetbread 3fc3f5fa3a fixup! Replace AGS with waybar 2026-06-03 01:42:24 +03:00
Sweetbread 2ffedb7835 yazi: filechooser 2026-06-01 18:42:50 +03:00
Sweetbread 5b2fbe0db4 yazi: open from other apps 2026-06-01 18:42:49 +03:00
Sweetbread 7ea803d7cd Update 2026-06-01 18:42:49 +03:00
Sweetbread 16cfa90286 vpn: change client 2026-05-31 14:53:41 +03:00
Sweetbread 89dfed99cb ghostty: add cursor shader 2026-05-31 14:53:41 +03:00
Sweetbread 36be1d4912 Rias: change mount type 2026-05-31 14:53:40 +03:00
Sweetbread 9d687a19d1 Update 2026-05-31 14:53:40 +03:00
Sweetbread 9a74a3572d ygg: change node 2026-05-31 14:51:53 +03:00
Sweetbread 1eace564e5 Impreza: add wallpaper 2026-05-31 14:51:53 +03:00
Sweetbread 88f9d0bc57 nvidia: fix backlight 2026-05-31 14:51:53 +03:00
Chest e52ee5b09f waybar for mee<3 2026-05-31 14:51:53 +03:00
Chest fd9a6db867 vpn for gpt 2026-05-31 14:51:53 +03:00
Sweetbread acf0041fbc vpn: change engine 2026-05-31 14:51:52 +03:00
Sweetbread 435423f6e1 Update system 2026-05-31 14:51:52 +03:00
Sweetbread 61b6256a14 wip: cava 2026-05-31 14:51:52 +03:00
Sweetbread cdfdeffc07 starship: fix os icon 2026-05-31 14:51:52 +03:00
Sweetbread 6156fda36d hyprland: add zoom 2026-05-31 14:51:52 +03:00
Sweetbread 9f8a14849e tty: fix Cyrillic 2026-05-31 14:51:52 +03:00
Sweetbread 9eea524875 ssh: keepalive 2026-05-31 14:51:52 +03:00
Sweetbread f84b6b1f6d Replace AGS with waybar 2026-05-31 14:51:52 +03:00
Sweetbread 46cf31e49a Update system 2026-05-31 14:51:51 +03:00
Sweetbread 91ccf1078f Style hyprland 2026-05-31 14:51:51 +03:00
Sweetbread e890c350c6 Make VPN list via flake
Wow, I didn't know I can do this...
2026-05-31 14:51:51 +03:00
Sweetbread 9d395d0dae Update system 2026-05-31 14:51:51 +03:00
Chest cc3d356513 vpn 2026-03-17 19:22:08 +03:00
Chest 617ecbaf20 meow 2026-03-17 19:22:08 +03:00
Sweetbread bc24313d57 Fix FileChooser in Hyprland 2026-03-17 19:22:07 +03:00
Sweetbread c54814b63e Update VPN 2026-03-17 19:22:07 +03:00
Sweetbread e1794a8dd3 Repath mounts 2026-03-17 19:22:07 +03:00
Sweetbread 092e73822d Update system 2026-03-17 19:22:07 +03:00
Sweetbread a185fa4d85 Change domain 2026-03-17 19:22:07 +03:00
Sweetbread 514d3a45d9 yazi: add some stuff 2026-03-17 19:22:01 +03:00
Sweetbread 9c3698839c Replace wofi with fuzzel 2025-12-13 03:13:26 +03:00
Sweetbread 1d18bad6fa Sort imports 2025-12-13 03:12:12 +03:00
Sweetbread aeecd99aca Change README 2025-12-06 23:26:10 +03:00
Sweetbread f45ab786f9 helix: change cursor shape and add a ruler 2025-12-06 22:48:56 +03:00
Sweetbread 80f25abdd5 ags: add another accent for chest 2025-12-03 15:37:14 +03:00
Sweetbread 718d20da06 system: update channels 2025-12-03 15:37:14 +03:00
Sweetbread ce4e5e3d50 ref: remove host.laptop from user modules 2025-12-03 15:36:33 +03:00
Sweetbread 3835443178 sops: fix link 2025-12-03 15:36:33 +03:00
Sweetbread 47b17c70ad flake: add custom cache 2025-12-03 15:36:33 +03:00
Sweetbread bd810a6a2a hypr: change border color 2025-12-03 15:36:33 +03:00
Chest 6cf26a1e18 pkgs: add ZZZ 2025-12-03 15:36:33 +03:00
Chest b556847dcf Eclipse: add VirtualBox 2025-12-03 15:36:33 +03:00
Sweetbread 3f06268365 zsh: add more aliases 2025-12-03 15:36:32 +03:00
Sweetbread b02a17a7d9 boot: left os prober only for Impreza 2025-12-03 15:36:32 +03:00
Sweetbread 5ebffd5e41 flake: remove devshell 2025-12-03 15:36:32 +03:00
Sweetbread 0c9e6b31aa flake: remove host definition dublication 2025-12-03 15:36:22 +03:00
Sweetbread 885dca9738 zsh: config history 2025-12-01 19:14:15 +03:00
Sweetbread 08a3195d43 zsh: optimise aliases 2025-12-01 19:14:15 +03:00
Sweetbread d934e358c0 hyprland: separate settings for user and host 2025-12-01 19:14:15 +03:00
Sweetbread 7356fbe8f6 Update system 2025-12-01 19:14:06 +03:00
Sweetbread cae32c1b4f pkgs: return office to everyone 2025-11-15 20:09:47 +03:00
Sweetbread a0ea0dd7f1 pdf 2025-11-15 20:09:47 +03:00
Sweetbread a42b17d363 fixup! Add Miku cursor 2025-11-02 19:35:06 +03:00
Sweetbread f970e20730 system: update 2025-10-31 13:40:32 +03:00
Sweetbread 4c34c5c364 pkgs: add torrent client 2025-10-24 13:15:25 +03:00
Sweetbread c4ceb67dfc Add Miku cursor 2025-10-10 00:51:20 +03:00
Sweetbread 9706b7954c Add Kurumi cursor 2025-10-10 00:50:52 +03:00
Sweetbread 396db61e5e nvidia: set envvar 2025-09-29 17:50:36 +03:00
Sweetbread 063cfe0ac0 style: set dark mode 2025-09-29 17:49:38 +03:00
Sweetbread 82e9a0e807 pkgs: add opentabletdriver 2025-09-26 00:12:45 +03:00
Sweetbread 3304573292 system: update 2025-09-26 00:12:45 +03:00
Sweetbread 26753a5b98 hypr: add focus 2025-09-24 18:29:37 +03:00
Sweetbread 51280986ed tex: add packages 2025-09-19 00:57:03 +03:00
Sweetbread 6a6be514df pkgs: add vivaldi 2025-09-07 20:00:31 +03:00
Sweetbread 0b7bf06f58 fix: set imv as a image viewer 2025-09-04 19:00:49 +03:00
Sweetbread c11584e31e yazi: set up plugins 2025-09-01 20:39:31 +03:00
Sweetbread 6fc5cee147 system: update 2025-09-01 15:48:20 +03:00
Sweetbread adc82860eb feat: scanning 2025-09-01 15:47:40 +03:00
Sweetbread bd9bf6ccc7 wip: fix: clipboard 2025-09-01 15:47:40 +03:00
Sweetbread 75bb7846f9 pkgs: replace grimblast with hyprshot 2025-08-24 20:01:35 +03:00
Sweetbread 7747587e69 pkgs: fastfetch instead of neofetch 2025-08-24 20:01:35 +03:00
Sweetbread 7c37e7122f system: update 2025-08-24 20:01:35 +03:00
Sweetbread 02aef91f3a system: change mount path to partlabel 2025-07-22 22:17:18 +03:00
Chest ba0aac7807 New install 2025-07-22 22:17:04 +03:00
Chest b27399db29 flake: update aagl 2025-07-02 15:15:52 +03:00
Chest a98c3f84ce feat: F disk 2025-07-02 15:15:52 +03:00
Sweetbread 7069a9e1f0 yazi: do not preload .crdownload 2025-06-26 19:50:54 +03:00
Sweetbread 86a972fd61 hyprland: add media app binds 2025-06-25 17:25:12 +03:00
Sweetbread d793b0e635 hyprland: add media binds 2025-06-24 23:30:29 +03:00
Sweetbread 1f034a5ebc pkgs: add texstudio 2025-06-09 16:28:02 +03:00
Sweetbread b96b2986f0 system: update 2025-06-08 02:53:46 +03:00
Sweetbread 4570dfb4b4 chore: something... 2025-06-08 01:18:25 +03:00
Sweetbread 88efa96ac7 pkgs: remove libreoffice for chest 2025-05-21 17:02:09 +03:00
Sweetbread 48ce8bdf9d system: update 2025-05-05 17:21:43 +03:00
Sweetbread 724633d928 system: change channels 2025-05-05 16:46:17 +03:00
Sweetbread 7eedb9098a pkgs(chest): turn off some packages 2025-05-03 23:27:53 +03:00
Sweetbread 6432eb6171 style: decrease gaps 2025-04-22 11:49:15 +03:00
Sweetbread 4b7d0a0980 system: update nixpkgs-fixed 2025-04-22 00:33:22 +03:00
Sweetbread de77adcfcb style: ags 2025-04-22 00:33:22 +03:00
Sweetbread 16f84aaa04 system: update 2025-04-22 00:33:22 +03:00
Sweetbread 24f013c765 refactor: move utils to a separate file 2025-04-18 02:52:44 +03:00
Sweetbread a84a509cf8 pkgs: add krita and gimp 2025-04-18 02:46:26 +03:00
Sweetbread df54654750 fix: wallpapers 2025-04-18 02:46:26 +03:00
Chest cddf52d5d3 add binwalk 2025-04-16 00:21:35 +03:00
Chest 01c5f62314 aagl 2025-04-16 00:21:35 +03:00
Sweetbread 3279001345 Remove hyprlock 2025-04-16 00:20:20 +03:00
Sweetbread 2ea3557973 feat: add intel graphics config 2025-04-13 19:38:10 +03:00
Sweetbread 9cdd54c6e8 feat: add dependencies to host in home-manager 2025-04-13 18:22:04 +03:00
Sweetbread 28bf565203 pkgs: add pinentry 2025-04-12 00:20:59 +03:00
Sweetbread b1df12ae65 fix(ags): set margins 2025-04-11 23:49:16 +03:00
Chest 5912338271 host: Impreza 2025-04-11 23:49:16 +03:00
Sweetbread a5d2aad596 fix: change nick 2025-04-09 17:30:37 +03:00
Sweetbread 56add43822 feat: yggdrasil 2025-04-09 17:30:37 +03:00
Sweetbread d524383340 style: cursor 2025-04-09 17:30:37 +03:00
Sweetbread 51566b7224 style: font 2025-04-09 17:30:37 +03:00
Sweetbread 2d322ab1f2 system: update 2025-04-09 17:30:37 +03:00
Sweetbread 8c39e606e3 feat(yazi): add d drive shortcut 2025-04-03 23:39:04 +03:00
Sweetbread d275bc88b2 feat: add my custom dns server 2025-04-03 23:39:04 +03:00
Sweetbread 3acbf43b4e feat: add pulsemixer 2025-04-03 23:39:04 +03:00
Sweetbread 729fe36326 fix: brightness setting 2025-04-03 23:39:04 +03:00
Sweetbread 530be0cf44 feat: kitty to ghostty 2025-04-03 23:39:04 +03:00
Sweetbread 6105e157c7 pkgs: add some utils 2025-04-03 23:39:04 +03:00
Sweetbread 4b0e3a61e9 feat(ags): add battery bar 2025-04-03 23:39:04 +03:00
Sweetbread 680b3cd3d6 fix(ags): wifi widget 2025-04-03 23:39:04 +03:00
Sweetbread 830336ee06 feat: postgres 2025-04-03 23:39:04 +03:00
Sweetbread 01bc1610bf system: Update 2025-03-13 15:11:27 +03:00
Sweetbread d26818f47a git: Change mail 2025-03-12 20:52:32 +03:00
Sweetbread ca50e2af2b pkgs: Add prismlauncher 2025-03-10 16:42:31 +03:00
Sweetbread 0cc88081d1 system: Update 2025-03-01 22:41:11 +03:00
Chest dee91dd001 Add pkgs 2025-03-01 22:22:27 +03:00
Sweetbread 510e179b78 system: Update 2025-02-13 23:53:19 +03:00
Sweetbread ea39ab9992 perf: Home-manager to module
feat: Optionise config
2025-02-13 23:53:19 +03:00
Sweetbread f2c215460b fix(helix): No end newline 2025-01-31 19:45:16 +03:00
Sweetbread 96d83ec1b4 pkgs: Add trashy 2025-01-27 13:57:18 +03:00
Sweetbread a3f6c55b93 style: Change opacity and wallpaper 2025-01-27 13:55:48 +03:00
Sweetbread 879ea3474a system: Update 2025-01-27 13:55:48 +03:00
Sweetbread 41cf1a5894 pkgs: litecli 2025-01-27 13:55:48 +03:00
Sweetbread b294b8c8ee feat(zsh): lg alias 2025-01-27 13:55:48 +03:00
Sweetbread e677754de3 style: Reduce gap 2025-01-25 20:00:59 +03:00
Sweetbread 4f11c8139f wip: console
Font changes to default after reload
2025-01-25 19:38:13 +03:00
Sweetbread e46c205fe3 ags: To derivation 2025-01-25 19:38:13 +03:00
Sweetbread 290b694877 pkgs: Udiskie 2025-01-25 19:38:13 +03:00
Sweetbread 8ad47d16eb system: Update 2025-01-25 19:38:13 +03:00
Sweetbread e3f8430193 pkgs: Remove extra packages 2025-01-25 19:38:13 +03:00
Sweetbread 46d4249637 style: Btop 2025-01-25 19:38:13 +03:00
Sweetbread 8c1f94d05a feat(devshell): Add pkgs for helix and switching to zsh 2025-01-25 19:38:13 +03:00
Sweetbread bac068cf69 fix(starship): Remove extra space 2025-01-25 19:38:13 +03:00
Sweetbread 6cbc8b393d pkgs: Update aagl 2025-01-25 19:38:13 +03:00
Sweetbread ac3eee4bb0 pkgs: git-lfs 2025-01-25 19:38:13 +03:00
Sweetbread 045f44e2d2 pkgs: To 24.11 2025-01-25 19:38:13 +03:00
Sweetbread a198789a17 ags: Add keyboard layout widget 2025-01-25 19:38:13 +03:00
Sweetbread 7fa285f0cc docs: Change screenshot 2025-01-25 19:38:13 +03:00
Sweetbread bebf7e8b6d pkgs: Add Pycharm to chest 2025-01-25 19:38:13 +03:00
Sweetbread 6f2c1bed14 ags: style 2025-01-25 19:38:13 +03:00
Sweetbread dfa96985d6 pkgs: Remove dev packages 2025-01-25 19:38:13 +03:00
Sweetbread 2a6196cc70 fix: Show GPU stats in BTop 2025-01-25 19:38:13 +03:00
Sweetbread 23a0e060ef grub: Add theme 2025-01-25 19:38:13 +03:00
Sweetbread 040923c626 fix: Bootloader 2025-01-25 19:38:13 +03:00
Sweetbread 2c3de69e72 fix: Icons 2025-01-25 19:38:13 +03:00
Sweetbread 8ea1207bb9 feat: ags 2025-01-10 22:15:02 +03:00
Sweetbread 21fe030dc7 pkgs: New utils 2024-12-28 20:00:44 +03:00
Sweetbread f6950c7e78 system: Update 2024-12-28 20:00:44 +03:00
Sweetbread f76b88cf4b vpn: Update 2024-12-28 20:00:44 +03:00
Sweetbread 6e5568e330 pkgs: Add rtorrent 2024-12-28 20:00:44 +03:00
Sweetbread 1308aae228 syncthing: New device 2024-12-28 20:00:44 +03:00
Sweetbread ded07cb14a pkgs: Add aseprite 2024-12-28 20:00:44 +03:00
Sweetbread 81ab925d88 pkgs: Add libreoffice 2024-12-28 20:00:44 +03:00
Sweetbread e909e76c9e develop: Add Rust 2024-12-28 20:00:44 +03:00
Sweetbread 3fc9f416f9 feat: Drag and Drop in yazi 2024-12-28 20:00:44 +03:00
Sweetbread c3672ea118 system: Update 2024-12-28 20:00:44 +03:00
Sweetbread 1dee7a5769 vpn: Update 2024-12-28 20:00:44 +03:00
Sweetbread e0a0721dea pkgs: Flakify AAGL 2024-12-28 20:00:44 +03:00
Sweetbread 5cad49555e pkgs: Syncthing 2024-12-28 20:00:44 +03:00
38 changed files with 702 additions and 1070 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ creation_rules:
key_groups:
- age:
- *primary
- path_regex: host/(Rias|Senko|Inaho|Eclipse)/secrets/.+$
- path_regex: host/(Rias|Senko|Eclipse)/secrets/.+$
key_groups:
- age:
- *primary
-60
View File
@@ -1,60 +0,0 @@
{ lib
, pkgs
, mumble ? pkgs.mumble
}:
let
# PipeWire 1.4.0 removed client-rt.conf, changing how clients negotiate
# realtime scheduling. Mumble never adapted, so its PipeWire data-loop
# thread stalls mid-negotiation and its own RT watchdog SIGKILLs the
# whole process almost immediately on every launch (confirmed via
# bpftrace: signal_generate shows Mumble's own "data-loop.0" thread
# sending itself SIGKILL). Reproduced identically on both the packaged
# 1.5.915 (Qt5) and a from-source 1.6.870 RC (Qt6) build, so it's the
# shared PipeWire client integration at fault, not Mumble's UI stack.
#
# Upstream: https://github.com/mumble-voip/mumble/issues/6780
# Bisected there to PipeWire 1.2.7 (last known-good) vs 1.4.1+ (broken).
#
# Fix: give Mumble an old, compatible libpipewire-0.3.so to dlopen at
# runtime. The system's actual PipeWire daemon is untouched (still
# whatever version NixOS ships) - only the client library Mumble talks
# through is pinned back.
pipewireGoodPkgs = import (fetchTarball {
url = "https://channels.nixos.org/nixos-24.11/nixexprs.tar.xz";
sha256 = "189lwv8l10bm9fnksfkzy05pm86gmziy9z3bdn13zc8d636ylchj"; # nix-prefetch-url --unpack https://channels.nixos.org/nixos-24.11/nixexprs.tar.xz
}) { inherit (pkgs) system; };
pipewireGood = pipewireGoodPkgs.pipewire;
# Mumble's own build is Qt5-based; QT_PLUGIN_PATH isn't set by its
# wrapper for the platform/sql plugins mumble actually needs when we
# bypass that wrapper below, so it has to be supplied explicitly.
qt5PluginPath = lib.makeSearchPath "lib/qt-${pkgs.qt5.qtbase.version}/plugins" [
pkgs.qt5.qtbase.bin
pkgs.qt5.qtsvg.bin
pkgs.qt5.qtwayland.bin
];
in
pkgs.symlinkJoin {
name = "mumble-pipewire-fixed-${mumble.version}";
paths = [ mumble ];
nativeBuildInputs = [ pkgs.makeWrapper ];
# mumble's own wrapper always prepends its own (broken, too-new)
# PipeWire path in front of anything we set, so wrapping it a second
# time can't win that ordering fight. Instead we skip straight to the
# real unwrapped binary and set env ourselves.
postBuild = ''
rm -f $out/bin/mumble
makeWrapper ${mumble}/bin/.mumble-wrapped $out/bin/mumble \
--prefix LD_LIBRARY_PATH : "${pipewireGood}/lib" \
--set QT_PLUGIN_PATH "${qt5PluginPath}"
'';
meta = mumble.meta // {
description = mumble.meta.description
+ " (patched: pinned PipeWire client lib to 1.2.7 to work around SIGKILL-on-launch with PipeWire >=1.4.0, see mumble#6780)";
};
}
Generated
+232 -166
View File
@@ -3,17 +3,15 @@
"aagl": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1789138122,
"narHash": "sha256-mh+ZiGCtHAo0xIi1yaNjHsftfnlWz9JiYwHCyT16yIE=",
"lastModified": 1783003291,
"narHash": "sha256-BYXGP1e9WDEPse3Ux6KoxW/v8KIJJLR+fn1cw3CIZ/Y=",
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "d82d6d6f66caf4b63fb154e62fad83c627874127",
"rev": "4e8fc67bd94f4376aa455833fc5aa68b0731549d",
"type": "github"
},
"original": {
@@ -25,9 +23,7 @@
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1744557573,
@@ -64,11 +60,11 @@
]
},
"locked": {
"lastModified": 1784368054,
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
"lastModified": 1772460678,
"narHash": "sha256-NYaWs8fYJ38IgFld0hGSdT2LEVhrgO8SiRReBjIH7YY=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
"rev": "5d2cb726b16ee349df443f84b64cff53221b6983",
"type": "github"
},
"original": {
@@ -189,11 +185,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1783570805,
"narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=",
"lastModified": 1779670703,
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "5602ed62d638142c1ab31dccd01dfbfb28841225",
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
"type": "github"
},
"original": {
@@ -234,22 +230,6 @@
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -258,11 +238,11 @@
]
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -305,38 +285,56 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1776175984,
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
"type": "gitlab"
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "50.1",
"repo": "gnome-shell",
"type": "gitlab"
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
}
},
"helix-steel": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_3",
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1788213353,
"narHash": "sha256-vJ7VgxuM/Dp7vyVlu6EXjP/ES14TALy64jgzyuYZl6g=",
"lastModified": 1782088553,
"narHash": "sha256-bGfByNnjuzENdvTW97s4UhwglYY7ydBk54gOZmnaM4Q=",
"owner": "mattwparas",
"repo": "helix",
"rev": "ba5b022c1000a0ce28d4ce1d09acdd062a83a020",
"rev": "0522d519fd5227f77ecef387a87e51b732907562",
"type": "github"
},
"original": {
@@ -353,11 +351,11 @@
]
},
"locked": {
"lastModified": 1789320570,
"narHash": "sha256-1Js4AJiWLV7U1SF3ok0J2tKbBEJYE5YpElGU+7fMbfo=",
"lastModified": 1783222121,
"narHash": "sha256-E/ElL373TO8lQ2aMvYyzN+k4xkVaUGoRqoa8AtM71tI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "87b3c74df02a2b2e691a24f3c82774f48a70c1bd",
"rev": "a1645f40777620c4bd2b6d854b290c2fc354a266",
"type": "github"
},
"original": {
@@ -382,11 +380,11 @@
]
},
"locked": {
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"lastModified": 1772461003,
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
"type": "github"
},
"original": {
@@ -411,11 +409,11 @@
]
},
"locked": {
"lastModified": 1782566056,
"narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=",
"lastModified": 1772461523,
"narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8",
"rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
"type": "github"
},
"original": {
@@ -435,22 +433,22 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_4",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1785170029,
"narHash": "sha256-8CKDx282HhxlD1pwXPnC4uK29Abn1Jsnh7LgPzeIXxI=",
"lastModified": 1773149218,
"narHash": "sha256-m5Ewi+rgn18qPP54Um4O2zwZ02oiomlZssHvXYEUv3U=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "5c9377c15f85c50648f35ca5a213754f95b93ca0",
"rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
"type": "github"
},
"original": {
"owner": "hyprwm",
"ref": "v0.56.1",
"ref": "v0.54.2-b",
"repo": "Hyprland",
"type": "github"
}
@@ -488,11 +486,11 @@
]
},
"locked": {
"lastModified": 1784196523,
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
"lastModified": 1772467975,
"narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
"rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
"type": "github"
},
"original": {
@@ -518,11 +516,11 @@
]
},
"locked": {
"lastModified": 1788563182,
"narHash": "sha256-e2Q7i5T+iQY0o/uxFNnXxWpXZ1e5f6VV4eHdKk7l6kc=",
"lastModified": 1782769258,
"narHash": "sha256-HAhqQOoz4S0gzIOMnClL49B+rMT7zdp3UDWeqxtMs/k=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "722f15a77768eab13f01f5e5dce024bd2f61f270",
"rev": "71b8953d7d92dbebe87a6ff9895bdd30e7495873",
"type": "github"
},
"original": {
@@ -572,11 +570,11 @@
]
},
"locked": {
"lastModified": 1777320127,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
"lastModified": 1772459629,
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
"type": "github"
},
"original": {
@@ -624,11 +622,11 @@
]
},
"locked": {
"lastModified": 1782554491,
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=",
"lastModified": 1772462885,
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35",
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
"type": "github"
},
"original": {
@@ -649,11 +647,11 @@
]
},
"locked": {
"lastModified": 1784323413,
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
"lastModified": 1772459870,
"narHash": "sha256-xxkK2Cvqxpf/4UGcJ/TyCwrvmiNWsKsJfFzHMp2bxis=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "5f03477ab3a005ff27c527486f551883535aea2f",
"rev": "e63f3a79334dec49f8eb1691f66f18115df04085",
"type": "github"
},
"original": {
@@ -674,11 +672,11 @@
]
},
"locked": {
"lastModified": 1777159683,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
"lastModified": 1772459835,
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
"type": "github"
},
"original": {
@@ -703,11 +701,11 @@
]
},
"locked": {
"lastModified": 1778410714,
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
"lastModified": 1772463520,
"narHash": "sha256-GIjASzYnV4fK19HnyJKmHyqyxHxIpjusK9foEA4Yo+4=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
"rev": "4e1933ae5602b350c5b6633f5c932549c9b8aca2",
"type": "github"
},
"original": {
@@ -718,15 +716,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1784356753,
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
"owner": "NixOS",
"lastModified": 1782723713,
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -750,11 +748,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"lastModified": 1783148766,
"narHash": "sha256-uslt2pqShTIXDdAHRHv2QkYLsVdY8Oqwz0EA48/RSM8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
"type": "github"
},
"original": {
@@ -766,11 +764,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1789149629,
"narHash": "sha256-H6GwaZzZf+4npqv0tph94w9tZddSjFjmQrVsW0z78uk=",
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "eaad089433ca2bb662274377d33df3d0e51ef28b",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"type": "github"
},
"original": {
@@ -780,6 +778,102 @@
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1775036866,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1772542754,
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1783224372,
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1782175435,
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1779877693,
"narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
@@ -792,11 +886,11 @@
]
},
"locked": {
"lastModified": 1785549842,
"narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=",
"lastModified": 1780281641,
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
"owner": "nix-community",
"repo": "NUR",
"rev": "a9f987b57594e845e3e5cdd423b9a70846d70308",
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
"type": "github"
},
"original": {
@@ -808,17 +902,18 @@
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"type": "github"
},
"original": {
@@ -836,12 +931,11 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_5",
"nixpkgs-pinned": "nixpkgs-pinned",
"nixpkgs-stable": "nixpkgs-stable",
"sops-nix": "sops-nix",
"stylix": "stylix",
"waybar": "waybar",
"yazi": "yazi",
"yazi-plugins": "yazi-plugins"
}
@@ -854,11 +948,11 @@
]
},
"locked": {
"lastModified": 1785476452,
"narHash": "sha256-/CXwCFPS41rb/JI2VitKCgVK6V5E6/sfw5ke3B9zyVQ=",
"lastModified": 1782875958,
"narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6ef009bf4c4873cdc1a621826722bdea7c03e62c",
"rev": "13139aefa973f3d96c60c0fbab801de058ae25ca",
"type": "github"
},
"original": {
@@ -896,11 +990,11 @@
]
},
"locked": {
"lastModified": 1783320166,
"narHash": "sha256-l7C/OsjcnWDOk2K3ssj+SBduwL67LashjBqis9+t468=",
"lastModified": 1779851998,
"narHash": "sha256-UkkMh3bX9QW4Luqkm98nUaOqKWrU6i65mUnph3WeSSw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "20ee15370c9256669d66968b89ee20a4b0a4e673",
"rev": "6cddd512fa2bf7231f098d3a2f92f6e4cff71e0a",
"type": "github"
},
"original": {
@@ -911,16 +1005,14 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1788914643,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
"lastModified": 1783174389,
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
"type": "github"
},
"original": {
@@ -938,9 +1030,7 @@
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_7",
"nur": "nur",
"systems": "systems_2",
"tinted-kitty": "tinted-kitty",
@@ -949,11 +1039,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1787771653,
"narHash": "sha256-DkkJSBOXWV/mja5Vy8az5g1KpZlsbUwlmH0BsQhowaQ=",
"lastModified": 1783307741,
"narHash": "sha256-c/FqXr+r16WM3ad/o+fzDcDSnqmItPkMbbJ/9FhO81Q=",
"owner": "danth",
"repo": "stylix",
"rev": "5e3809851f486e7fc7e84b40f174c74b60ecc784",
"rev": "9837fb7867cc0356d86e02c3398ea876d43826c1",
"type": "github"
},
"original": {
@@ -979,16 +1069,15 @@
},
"systems_2": {
"locked": {
"lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"ref": "future-26.11",
"repo": "default",
"type": "github"
}
@@ -1027,11 +1116,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1785153830,
"narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=",
"lastModified": 1777806186,
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8",
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
"type": "github"
},
"original": {
@@ -1043,11 +1132,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1785031658,
"narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=",
"lastModified": 1778379944,
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257",
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
"type": "github"
},
"original": {
@@ -1059,11 +1148,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1785030526,
"narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=",
"lastModified": 1778378178,
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02",
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
"type": "github"
},
"original": {
@@ -1072,27 +1161,6 @@
"type": "github"
}
},
"waybar": {
"inputs": {
"flake-compat": "flake-compat_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1789627973,
"narHash": "sha256-OJBVQSIpW0Ozb3czGP3+TQyDC5BBqMQtx2asPsspFHo=",
"owner": "Alexays",
"repo": "Waybar",
"rev": "1687ec724a89756e79371784a2ba3f9700f8e5c6",
"type": "github"
},
"original": {
"owner": "Alexays",
"repo": "Waybar",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
@@ -1121,11 +1189,11 @@
]
},
"locked": {
"lastModified": 1784371182,
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
"lastModified": 1772476586,
"narHash": "sha256-N/ZwsRLULLpBP5ecvAUzNq8E/CgLRwPwSrHyY3xB5KM=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
"rev": "eb6c02a2ead882f3474f3d7f2fbe966b64ed5110",
"type": "github"
},
"original": {
@@ -1137,17 +1205,15 @@
"yazi": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_8",
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1789171366,
"narHash": "sha256-b7B5VQC96NJx0/q5pTVWqgGjyCiO0Cz1aPfVJcBXLfA=",
"lastModified": 1783245985,
"narHash": "sha256-dbtTQlBu2IMJF/mcwzOmzCWcJnDdWR6K/IfQj5j8oHo=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "b8973fb4c2b9b184aad03cfc717c1fefe4140c40",
"rev": "c92c4aba884c16d318a92f6bc0517ee0d2bcc414",
"type": "github"
},
"original": {
@@ -1159,11 +1225,11 @@
"yazi-plugins": {
"flake": false,
"locked": {
"lastModified": 1788955781,
"narHash": "sha256-kwf9+KXOL5JXGDoEGdtwq+JujP8GVoOwDgz76FBM3xk=",
"lastModified": 1783246245,
"narHash": "sha256-f4y952sUF/lrHMX6enQts/obk2DeatqAcaVHfjTD65k=",
"owner": "yazi-rs",
"repo": "plugins",
"rev": "58c4f4e2f4835cc9bf6751f39e3f7c574fc7f55a",
"rev": "8cd50c622898d3ace3ca821f540241965308289a",
"type": "github"
},
"original": {
+18 -55
View File
@@ -19,72 +19,35 @@
};
inputs = {
aagl = {
url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = {
url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
inputs.nixpkgs.follows = "nixpkgs";
};
aagl.url = "github:ezKEa/aagl-gtk-on-nix";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-pinned.url = "github:nixos/nixpkgs/ec942ba042dad5ef097e2ef3a3effc034241f011";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix.url = "github:Mic92/sops-nix";
stylix.url = "github:danth/stylix";
ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
helix-steel.url = "github:mattwparas/helix/steel-event-system";
helix-steel = {
url = "github:mattwparas/helix/steel-event-system";
inputs.nixpkgs.follows = "nixpkgs";
yazi.url = "github:sxyazi/yazi";
yazi-plugins = {
url = "github:yazi-rs/plugins";
flake = false;
};
hyprland.url = "github:hyprwm/Hyprland/v0.54.2-b";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland/v0.56.1";
# inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs = {
hyprland.follows = "hyprland";
# nixpkgs.follows = "nixpkgs";
};
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-pinned.url = "github:nixos/nixpkgs/ec942ba042dad5ef097e2ef3a3effc034241f011";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
waybar = {
url = "github:Alexays/Waybar";
inputs.nixpkgs.follows = "nixpkgs";
};
yazi = {
url = "github:sxyazi/yazi";
inputs.nixpkgs.follows = "nixpkgs";
};
yazi-plugins = {
url = "github:yazi-rs/plugins";
flake = false;
};
};
outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-pinned, home-manager, ... }@inputs: let
+21 -34
View File
@@ -1,40 +1,27 @@
{ pkgs, lib, ... }:
let
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
wallpaper = pkgs.fetchurl {
name = "miku_wallpaper.jpg";
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
};
in {
wayland.windowManager.hyprland.settings = {
monitor = [
{
output = "DP-3";
mode = "1920x1080@165";
position = "0x0";
scale = 1;
}
{
output = "HDMI-A-1";
mode = "preferred";
position = "-1080x0";
scale = 1;
transform = 1;
}
];
{ pkgs, lib, ... }: {
wayland.windowManager.hyprland = let
wallpaper = pkgs.fetchurl {
name = "miku_wallpaper.jpg";
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
};
in {
settings = {
monitor = [
"DP-3 , 1920x1080@165, 0x0 , 1"
"HDMI-A-1, preferred , -1080x0, 1, transform, 1"
];
workspace_rule = [
{ workspace = "1"; monitor = "DP-3"; default = true; }
{ workspace = "10"; monitor = "HDMI-A-1"; default = true; }
];
workspace = [
"1, monitor:DP-3, default:true"
"10, monitor:HDMI-A-1, default:true"
];
on = [
(hyprLua.onStart [
"hyprctl dispatch 'hl.dsp.focus({ workspace = 1 })'"
exec-once = [
"hyprctl dispatch workspace 1"
"${lib.getExe pkgs.swww} img -o HDMI-A-1 ${wallpaper}"
"${lib.getExe pkgs.linux-wallpaperengine} ~/.local/share/wpe/wallpaper --assets-dir ~/.local/share/wpe/assets --screen-root DP-3 --noautomute"
])
];
];
};
};
}
+13 -13
View File
@@ -1,15 +1,15 @@
{ pkgs, lib, ... }:
let
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
wallpaper = pkgs.fetchurl {
name = "miku_wallpaper.jpg";
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
{ pkgs, lib, ... }: {
wayland.windowManager.hyprland = let
wallpaper = pkgs.fetchurl {
name = "miku_wallpaper.jpg";
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
};
in {
settings = {
exec-once = [
"${lib.getExe pkgs.swww} img -o eDP-1 ${wallpaper}"
];
};
};
in {
wayland.windowManager.hyprland.settings.on = [
(hyprLua.onStart [
"${lib.getExe pkgs.swww} img -o eDP-1 ${wallpaper}"
])
];
}
-4
View File
@@ -4,7 +4,6 @@
./disko.nix
./secrets/secrets.nix
./modules/grub.nix
./modules/syncthing.nix
../modules/thinkpad.nix
../modules/gpu/intel.nix
@@ -29,9 +28,6 @@
hardware.bluetooth.enable = true;
host.laptop = true;
hardware.usb-modeswitch.enable = true;
networking.modemmanager.enable = true;
programs.steam = {
enable = true;
gamescopeSession.enable = true;
+7 -8
View File
@@ -1,10 +1,9 @@
{
wayland.windowManager.hyprland.settings.monitor = [
{
output = "eDP-1";
mode = "1920x1080@60";
position = "0x0";
scale = 1;
}
];
wayland.windowManager.hyprland = {
settings = {
monitor = [
"eDP-1, 1920x1080@60, 0x0, 1"
];
};
};
}
-39
View File
@@ -1,39 +0,0 @@
{ config, ... }: {
services.syncthing = {
enable = true;
openDefaultPorts = true;
user = "sweetbread";
dataDir = "/home/sweetbread/.config/syncthing";
key = config.sops.secrets.syncthing_key.path;
cert = config.sops.secrets.syncthing_cert.path;
settings = {
devices = {
Rias.id = "EC5AGVN-2RKJDHN-NOSB7PQ-IRYCEEW-NPPDUGX-6QGSLUU-YIT5ZZZ-RVPTHQ6";
Akeno.id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX";
Koneko.id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB";
};
folders = {
"Music" = {
path = "/home/sweetbread/Music";
devices = [ "Rias" "Akeno" "Koneko" ];
};
"Obsidian" = {
path = "/home/sweetbread/Documents/Obsidian";
devices = [ "Rias" "Akeno" "Koneko" ];
};
"Documents" = {
path = "/home/sweetbread/Documents";
devices = [ "Rias" ];
};
};
};
};
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
}
-9
View File
@@ -6,15 +6,6 @@
format = "binary";
sopsFile = ../../Rias/secrets/vpn_bolt.db;
};
syncthing_cert = {
format = "binary";
sopsFile = ./syncthing_cert.pem;
};
syncthing_key = {
format = "binary";
sopsFile = ./syncthing_key.pem;
};
};
};
}
-14
View File
@@ -1,14 +0,0 @@
{
"data": "ENC[AES256_GCM,data:rMr83F9VyGV5dp2XqXGAh3X2sCczUb0chH/2Hn9N9tijfRsOLGqHuy/zy29aOHR0PJ4euTU3bhmxWrBV/7oTnnEfI7DFF0vX4eBDaK8BzwAzrzXHYJOAgcwuYSqEEyWiLvTGABuLhTEto9kIMLxVIssa679s7zQSRwemVJSA3fEdtYD0BLAiO/ZtiAEmitgEt4EBRp9DhJPqlh2YfMmP6DpkDSy0hk+S+0NZg7eyrp7fivldiLzjsYDwCsugFcZQtWOqLMHY0kYhou8c2CKXu8UyqVVx24DyWfBfD1TH2pOk1ZsXFsxhFFKp5wcsfi0xDF1BG4hANcHVa6pR6y5JxNzh53xaH3NuvNJFEQSGJw5fNMuCrDnkYLDpU3xezzjvvxI01y7i2A00zsLli1fc9HA67ZlP1OBzsI7FyMgZlnOXQpbqnkj+kZdYAdOTjjMzQvrPusVS3RvqvcWj1qZtnHa1ZGmWh7xG0J10lQB4uDmTSxWoUUi7VmLXTC16HQNMySd8GbFmD/4Nj+/SxDShgsiug7L4hICjPC8Isosy99tE2wRXpjmMYUdlD7zu/vyEMxVPhkWnJyZZPXG+DjGBc/Diaw4ufYNxUs4yIRDceMArirubt/sN/eUoGOBGVWxvGm0/olTott7Yr+YKRSrDyWo9SWCz1qgz/ydpXm+xE7bPtbj9eAObZwneB/0tZTyo8o1WKd9yUST89m91EMQ31R97yCBwDW19VftWVCZH2w+QHNunih4ZUNiALQS745T2petbvc63iNiZswu0l3qoVM8x3y1RhAPLbsZpwQWSca307iDfBTB6uVW4HwLtL30=,iv:ajC3mjCYKUqS7XGIN64NiJoG6wHMvGdcHhazSO860ms=,tag:31fWG7m2neW2Pft9TjmBGg==,type:str]",
"sops": {
"age": [
{
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuQUNTSDVIeDRuMmtTWXZD\nU0x4OVJrUStFeW5QV0pOZ2hEZnJZQ09UbW5RCmwxbjhuWis1Q3BCTGtOdS8zNE0w\nL0pDK3dBY1hxZ2dCNG96RlA0dkNWVWMKLS0tIHFld2hUdm11dk5hT2ZtRXpId0VG\nRDM0L05jS0lGcnJBYWVNWElIazdlaUEKugvBGcCzYTZL6aC6mI6GCzhiPFYql75z\nSBfalDmqSVU2k1IBqsNHIYSxzOXwUiGS3MSHJUCf7M2y9X3dHJGeyw==\n-----END AGE ENCRYPTED FILE-----\n",
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk"
}
],
"lastmodified": "2026-07-21T20:27:59Z",
"mac": "ENC[AES256_GCM,data:lYZH1f3TyvcgqWI9hVOP3l2xImRh+LL0volXVUYSdGBnQTsAJfzMdsol/SsETwNNn+KrANC3ucO0/MXOWDK7ZPJ5Oq9R+OQnM8LK9/5mNfbzgodTw0RaH8FsrrtBCtHn3H2rlrBoPFEArblWKOh0G9iyrmufT09OREGt/G0tE5o=,iv:vmB1CY3sVajvLS8zAS/0I+NgnAOStbUkzQdw6XY45y4=,tag:mZP/eZVn+DJq+OT1ghtOkQ==,type:str]",
"version": "3.13.2"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"data": "ENC[AES256_GCM,data:2nMwCxU1y0zE5VtnmEf3lT4XyI9e8dokPkipo3TXpxuRJZ9OXCOb0n4pHb4Xx9OlDgAeW2UX70cR1Wtj7QPQx9h/HYZTmUeIP4rvlTPhaxs/2F33ud1lPKceV2DK2q8G/EvPLnlCcLWMvy6BVsqBlNmjAzNonWI=,iv:7H0o0i3zp7K2demt1O2Pw4BNt+2q4PhHBw1K/jC7OH4=,tag:Bx82eo5kQqwlb6egYmopgQ==,type:str]",
"sops": {
"age": [
{
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Vzl3M3pFblY5SmRQRUtI\nNWFCbWZJQTJTOWFHdTd1YkJEbXFGOFhBTUNNClBKdWhGdmh3Q2dUNkpMUUU3Zmdq\nUFd1M2twNW1KRGErRHUvc1BLY2pMT3MKLS0tIElVZ0RVVFQrb1FuYnJ0OU44RWZK\nbnpJZnFLR3kzV3VRaytQRDMrYkg5S2sKkr97EwJmtcIsRYH4di+tadTWnWzuCDa9\ngY+CKCVEPUgD1AXSgCwCP2AVd/zaKUbm6d6UA2QzZyqGsRim56WFsQ==\n-----END AGE ENCRYPTED FILE-----\n",
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk"
}
],
"lastmodified": "2026-07-21T20:28:23Z",
"mac": "ENC[AES256_GCM,data:ohYjzIYDilW7lsmZFZXpF629yevO2p8laA7Zl0+NCvZ8dB4nthLUePsnLTYCrEo5ADbboM5Cka11FiYbmB1IMR4mEdRwTN37EsQtyYLZbZ+j4XPsuXO0UT0NmWWiFNJlQEWfTVbhaZRDQXcPpVvm+6qQfRub018/0C59oWpmbyA=,iv:SX1QDDUWZyxE0zODAImcGGHJI7KGKYx9/6Q9F+9SVCQ=,tag:AExTZIfAKTCeU9c3Qj+IUw==,type:str]",
"version": "3.13.2"
}
}
+3 -7
View File
@@ -11,10 +11,6 @@
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
environment.etc.crypttab.text = ''
storage UUID=9327148b-788a-4c23-ac73-28464ffabe1b none luks
'';
fileSystems."/" = {
device = "/dev/disk/by-label/NixOS";
fsType = "ext4";
@@ -27,9 +23,9 @@
};
fileSystems."/mnt/D" = {
device = "/dev/mapper/storage";
fsType = "ext4";
options = [ "noatime" "nofail" ];
device = "/dev/disk/by-label/Data";
fsType = "ntfs3";
options = ["umask=0022" "gid=100" "uid=1000" "nofail" ];
};
swapDevices = [ ];
+37 -43
View File
@@ -1,50 +1,44 @@
{ pkgs, lib, ... }:
let
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
{ pkgs, lib, ...}: {
wayland.windowManager.hyprland = let
monitor-switcher = pkgs.writers.writeBashBin "monitor_switcher" /*bash*/ ''
MODE=$1
monitor-switcher = pkgs.writers.writeBashBin "monitor_switcher" /*bash*/ ''
MODE=$1
case $MODE in
"tv")
hyprctl keyword monitor "DP-3, 1920x1080@60, 3840x0, 1"
hyprctl keyword monitor "HDMI-A-1, 3840x2160@60, 0x0, 1"
notify-send "TV mode"
;;
case $MODE in
"tv")
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "1920x1080@60", position = "3840x0", scale = 1 })'
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "3840x2160@60", position = "0x0", scale = 1 })'
notify-send "TV mode"
;;
"mirror")
hyprctl keyword monitor "HDMI-A-1, 3840x2160@60, 0x0, 1"
hyprctl keyword monitor "DP-3, preferred, auto, 1, mirror, HDMI-A-1"
notify-send "TV-only mode"
;;
"mirror")
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "3840x2160@60", position = "0x0", scale = 1 })'
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "preferred", position = "auto", scale = 1, mirror = "HDMI-A-1" })'
notify-send "TV-only mode"
;;
"display"|*)
hyprctl keyword monitor "HDMI-A-1, disable"
hyprctl keyword monitor "DP-3, 3440x1440@165, 0x0, 1"
notify-send "Display mode"
;;
"display"|*)
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", disabled = true })'
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "3440x1440@165", position = "0x0", scale = 1 })'
notify-send "Display mode"
;;
esac
'';
in {
wayland.windowManager.hyprland.settings = {
monitor = [
{
output = "DP-3";
mode = "3440x1440@165";
position = "auto-right";
scale = 1;
}
{
output = "HDMI-A-1";
disabled = true;
}
];
esac
'';
in {
settings = {
monitor = [
"DP-3, 3440x1440@165, auto-right, 1"
# "HDMI-A-1, 3840x2160@60, auto-left, 2"
"HDMI-A-1, disabled"
];
bind = [
(hyprLua.bind "XF86Calculator" (hyprLua.exec "ghostty --title=pulsemixer -e pulsemixer"))
(hyprLua.bind "SUPER + F1" (hyprLua.exec "${lib.getExe monitor-switcher} tv"))
(hyprLua.bind "SUPER + F2" (hyprLua.exec "${lib.getExe monitor-switcher} mirror"))
(hyprLua.bind "SUPER + F3" (hyprLua.exec "${lib.getExe monitor-switcher}"))
];
bind = [
'', XF86Calculator, exec, ghostty --title=pulsemixer -e pulsemixer''
''$mainMod, F1, exec, ${lib.getExe monitor-switcher} tv''
''$mainMod, F2, exec, ${lib.getExe monitor-switcher} mirror''
''$mainMod, F3, exec, ${lib.getExe monitor-switcher}''
];
};
};
}
+3 -14
View File
@@ -11,9 +11,8 @@
settings = {
devices = {
Akeno.id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX";
Koneko.id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB";
Inaho.id = "GEHWQFQ-MPIMQ7R-QEWSOEB-BIZAHSZ-5YOFATK-KDIXFMV-JX3OF6G-ZPNZMA4";
Akeno = { id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX"; };
Koneko = { id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB"; };
};
folders = {
@@ -34,17 +33,7 @@
"Music" = {
path = "/home/sweetbread/Music";
devices = [ "Akeno" "Koneko" "Inaho" ];
};
"Obsidian" = {
path = "/mnt/D/Obsidian";
devices = [ "Koneko" "Inaho" ];
};
"Documents" = {
path = "/home/sweetbread/Documents";
devices = [ "Inaho" ];
devices = [ "Akeno" "Koneko" ];
};
};
};
+7 -8
View File
@@ -1,10 +1,9 @@
{
wayland.windowManager.hyprland.settings.monitor = [
{
output = "eDP-1";
mode = "1920x1080@60";
position = "0x0";
scale = 1;
}
];
wayland.windowManager.hyprland = {
settings = {
monitor = [
"eDP-1, 1920x1080@60, 0x0, 1"
];
};
};
}
+1 -1
View File
@@ -30,7 +30,7 @@
nix.settings = {
keep-going = true;
extra-substituters = [ "https://nix.lair.moe/main" ];
extra-trusted-public-keys = [ "main:tR2gNhCBJHKAlVgohPNHBhGnWL55tB8SxXmMWJe5lo8=" ];
extra-trusted-public-keys = [ "main:kpwMe+9BsGJ/IUb7i3iadaV38y5/Yuqoct0mf7wI9ds=" ];
experimental-features = [ "nix-command" "flakes" ];
};
networking.hostName = hostname;
+3 -3
View File
@@ -44,8 +44,8 @@
fprintd.enable = true;
logind.settings.Login = {
HandleLidSwitch = "suspend-then-hibernate";
HandleLidSwitchExternalPower = "suspend-then-hibernate";
HandleLidSwitch = "suspend";
HandleLidSwitchExternalPower = "suspend";
HandlePowerKey = "poweroff";
};
@@ -53,7 +53,7 @@
# Preserve batteries when the laptop is usually on AC.
# Raise STOP_* to 100 if maximum autonomy matters more than battery wear.
START_CHARGE_THRESH_BAT0 = 70;
STOP_CHARGE_THRESH_BAT0 = 95;
STOP_CHARGE_THRESH_BAT0 = 85;
START_CHARGE_THRESH_BAT1 = 70;
STOP_CHARGE_THRESH_BAT1 = 85;
RESTORE_THRESHOLDS_ON_BAT = 1;
+1 -1
View File
@@ -15,7 +15,6 @@
./host/virtmanager.nix
./host/vpn.nix
./host/yggdrasil.nix
./host/mtp.nix
];
programs = {
@@ -49,6 +48,7 @@
};
services = {
udisks2.enable = true;
fstrim.enable = true;
upower.enable = true;
};
+1 -1
View File
@@ -9,7 +9,7 @@ lib.mkIf config.programs.gamemode.enable {
environment.systemPackages = with pkgs; [
mangohud
protonup-ng
bottles
pkgs-stable.bottles
pkgs-stable.heroic
prismlauncher
];
-5
View File
@@ -1,5 +0,0 @@
{ pkgs, ... }: {
environment.systemPackages = [ pkgs.glib ];
programs.fuse.enable = true;
services.gvfs.enable = true;
}
+1 -1
View File
@@ -1,7 +1,7 @@
{ pkgs, lib, ... }:
let
sol = pkgs.writers.writePython3 "shutdown-on-lan.py" {
libraries = ps: [ ps.psutil ];
libraries = [ pkgs.python313Packages.psutil ];
flakeIgnore = [ "E302" "E305" "E501" "E701" ];
} /*py*/ ''
# https://habr.com/ru/articles/816765/
+7 -77
View File
@@ -1,4 +1,4 @@
{ inputs, pkgs, lib, config, ... }: let
{ inputs, pkgs, ... }: let
helixSteel =
inputs.helix-steel.packages.${pkgs.system}.default.overrideAttrs (old: {
cargoBuildFlags = (old.cargoBuildFlags or []) ++ [
@@ -68,40 +68,11 @@
PY
'';
in {
home.packages = with pkgs; [
asm-lsp
fasm
steel
wakatime-cli
];
home.activation.installWakatimeHx = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
export PATH="${pkgs.steel}/bin:$PATH"
export STEEL_HOME="${config.xdg.dataHome}/steel"
if [ ! -f "$STEEL_HOME/cogs/wakatime/wakatime.scm" ]; then
forge pkg install --git https://github.com/Xerxes-2/wakatime.hx.git
fi
'';
programs.helix = {
enable = true;
package = helixSteel;
defaultEditor = true;
languages = {
language-server.asm-lsp.command = "asm-lsp";
language = [
{
name = "nasm";
file-types = [ "asm" "inc" ];
comment-token = ";";
language-servers = [ "asm-lsp" ];
}
];
};
settings = {
# theme = "catppuccin-mocha";
editor = {
@@ -125,51 +96,22 @@ in {
};
keys.normal = {
space = {
C-a = {
b = ":fasm-build";
r = ":fasm-run";
c = ":fasm-clean";
};
C-c = {
h = ":comment-h1";
j = ":comment-h2";
k = ":comment-h3";
d = ":comment-divider";
};
space.C-c = {
h = ":comment-h1";
j = ":comment-h2";
k = ":comment-h3";
d = ":comment-divider";
};
S-down = ["extend_to_line_bounds" "delete_selection" "paste_after"];
S-up = ["extend_to_line_bounds" "delete_selection" "move_line_up" "paste_before"];
};
};
};
xdg.configFile = {
"asm-lsp/.asm-lsp.toml".text = ''
[default_config]
assembler = "fasm"
instruction_set = "x86/x86-64"
[opts]
compiler = "fasm"
diagnostics = true
default_diagnostics = true
'';
"helix/cogs/comment_headers.scm".source = patched-comment-headers;
"helix/helix.scm".text = ''
(require (prefix-in div. "cogs/comment_headers.scm"))
(require (prefix-in helix. "helix/commands.scm"))
(provide comment-h1
comment-h2
comment-h3
comment-divider
fasm-build
fasm-run
fasm-clean)
(provide comment-h1 comment-h2 comment-h3 comment-divider)
(define (comment-h1)
(div.insert-h1!))
@@ -182,21 +124,9 @@ in {
(define (comment-divider)
(div.insert-divider! 80 "~"))
(define (fasm-build)
(helix.write)
(helix.run-shell-command "just" "build"))
(define (fasm-run)
(helix.write)
(helix.run-shell-command "just" "run"))
(define (fasm-clean)
(helix.run-shell-command "just" "clean"))
'';
"helix/init.scm".text = ''
;; Steel init file
(require "wakatime/wakatime.scm")
'';
};
}
+174 -150
View File
@@ -1,26 +1,6 @@
{ pkgs, lib, config, osConfig, inputs, username, ... }:
let
{ pkgs, lib, config, osConfig, inputs, username, ... }: let
optImport = path: lib.optional (builtins.pathExists path) path;
hostname = osConfig.networking.hostName;
hyprLua = import ./hyprland/lua.nix { inherit lib; };
inherit (hyprLua) bind bindWithFlags exec onStart;
direction = {
left = "l";
right = "r";
up = "u";
down = "d";
};
workspaceBinds = lib.concatMap (workspace:
let
key = if workspace == 10 then "0" else toString workspace;
workspaceValue = toString workspace;
in [
(bind "SUPER + ${key}" "hl.dsp.focus({ workspace = ${workspaceValue} })")
(bind "SUPER + SHIFT + ${key}" "hl.dsp.window.move({ workspace = ${workspaceValue}, follow = false })")
]
) (lib.range 1 10);
in {
imports = [
./hyprland/zoom.nix
@@ -39,9 +19,11 @@ in {
wifitui
];
wayland.windowManager.hyprland = {
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
in {
enable = true;
configType = "lua";
configType = "hyprlang";
xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
@@ -50,158 +32,200 @@ in {
];
settings = {
config = {
ecosystem = {
no_donation_nag = true;
no_update_news = true;
};
"$mainMod" = "SUPER";
cursor.no_hardware_cursors = 1;
debug = {
disable_logs = false;
enable_stdout_logs = true;
};
general."col.inactive_border" = lib.mkForce "rgba(00000000)";
decoration = {
inactive_opacity = lib.mkDefault 0.95;
border_part_of_window = false;
};
misc.focus_on_activate = true;
input = {
kb_layout = "us,ru";
kb_options = "grp:caps_toggle";
numlock_by_default = true;
follow_mouse = 1;
touchpad.natural_scroll = false;
sensitivity = 0;
};
gestures = {
workspace_swipe_invert = true;
workspace_swipe_distance = 200;
workspace_swipe_forever = true;
};
ecosystem = {
no_donation_nag = true;
no_update_news = true;
};
env = [
{ _args = [ "XDG_SESSION_TYPE" "wayland" ]; }
{ _args = [ "QT_QPA_PLATFORM" "wayland" ]; }
{ _args = [ "QT_QPA_PLATFORMTHEME" "xdgdesktopportal" ]; }
{ _args = [ "GTK_USE_PORTAL" "1" ]; }
{ _args = [ "TDESKTOP_USE_GTK_FILE_DIALOG" "1" ]; }
{ _args = [ "NIXOS_OZONE_WL" "1" ]; }
{ _args = [ "ELECTRON_OZONE_PLATFORM_HINT" "auto" ]; }
{ _args = [ "XDG_CURRENT_DESKTOP" "Hyprland" ]; }
{ _args = [ "XDG_SESSION_DESKTOP" "Hyprland" ]; }
{ _args = [ "XCURSOR_SIZE" (toString config.stylix.cursor.size) ]; }
{ _args = [ "XCURSOR_THEME" config.stylix.cursor.name ]; }
{ _args = [ "XDG_SCREENSHOTS_DIR" "~/screens" ]; }
"XDG_SESSION_TYPE,wayland"
"QT_QPA_PLATFORM,wayland"
"QT_QPA_PLATFORMTHEME,xdgdesktopportal"
"GTK_USE_PORTAL,1"
"TDESKTOP_USE_GTK_FILE_DIALOG,1"
"NIXOS_OZONE_WL,1"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_DESKTOP,Hyprland"
"XCURSOR_SIZE, ${toString config.stylix.cursor.size}"
"XCURSOR_THEME, ${config.stylix.cursor.name}"
"XDG_SCREENSHOTS_DIR,~/screens"
];
cursor.no_hardware_cursors = true;
debug = {
disable_logs = false;
enable_stdout_logs = true;
};
general = {
"col.inactive_border" = lib.mkForce "rgba(00000000)";
};
decoration.inactive_opacity = lib.mkDefault .95;
decoration.border_part_of_window = false;
misc = {
focus_on_activate = true;
};
input = {
kb_layout = "us,ru";
kb_options = "grp:caps_toggle";
numlock_by_default = true;
follow_mouse = 1;
touchpad = {
natural_scroll = false;
};
sensitivity = 0;
};
gestures = {
workspace_swipe_invert = true;
workspace_swipe_distance = 200;
workspace_swipe_forever = true;
};
gesture = [
{
fingers = 3;
direction = "horizontal";
action = "workspace";
}
"3, horizontal, workspace"
];
workspace_rule = [
{
workspace = "w[t1]";
gaps_out = 0;
}
workspace = [
"w[t1], gapsout:0"
];
window_rule = [
{ match.class = "imv"; float = true; }
{ match.class = "feh"; float = true; }
{ match.class = "mpv"; float = true; }
{ match.title = "Список друзей"; float = true; }
{ match.title = "wifitui"; float = true; }
{ match.title = "pulsemixer"; float = true; }
{ match.title = "clipse"; float = true; }
{ match.title = "clipse"; size = [ 622 652 ]; }
{ match.focus = true; rounding = 0; }
{
match = {
float = false;
workspace = "w[t1]";
};
border_size = 0;
}
windowrule = [
"match:class imv, float 1"
"match:class feh, float 1"
"match:class mpv, float 1"
"match:title Список друзей, float 1"
"match:title wifitui, float 1"
"match:title pulsemixer, float 1"
"match:title clipse, float 1"
"match:title clipse, size 622 652"
"match:focus 1, rounding 0"
"match:float 0, match:workspace w[t1], border_size 0"
];
on = lib.mkBefore [
(onStart [
"systemctl --user start plasma-polkit-agent"
"${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --systemd --all"
"systemctl --user import-environment XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE WAYLAND_DISPLAY DISPLAY GTK_USE_PORTAL QT_QPA_PLATFORMTHEME TDESKTOP_USE_GTK_FILE_DIALOG NIXOS_OZONE_WL ELECTRON_OZONE_PLATFORM_HINT"
"awww-daemon"
"wl-clip-persist --clipboard both"
"clipse -listen"
"${lib.getExe' pkgs.udiskie "udiskie"}"
])
exec-once = lib.mkBefore [
"systemctl --user start plasma-polkit-agent"
"${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --systemd --all"
"systemctl --user import-environment XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE WAYLAND_DISPLAY DISPLAY GTK_USE_PORTAL QT_QPA_PLATFORMTHEME TDESKTOP_USE_GTK_FILE_DIALOG NIXOS_OZONE_WL ELECTRON_OZONE_PLATFORM_HINT"
"awww-daemon"
"wl-clip-persist --clipboard both"
"clipse -listen"
"${lib.getExe' pkgs.udiskie "udiskie"}"
];
bind = [
(bind "SUPER + V" (exec "ghostty --title=clipse -e clipse"))
(bind "SUPER + RETURN" (exec "ghostty"))
(bind "SUPER + Q" "hl.dsp.window.close()")
(bind "SUPER + M" "hl.dsp.exit()")
(bind "SUPER + E" (exec "ghostty -e sh -c yazi"))
(bind "SUPER + F" "hl.dsp.window.float({ action = \"toggle\" })")
(bind "SUPER + P" "hl.dsp.window.pseudo({ action = \"toggle\" })")
(bind "SUPER + J" "hl.dsp.layout(\"togglesplit\")")
(bind "SUPER + K" "hl.dsp.layout(\"swapsplit\")")
"$mainMod, V, exec, ghostty --title=clipse -e clipse"
(bind "SUPER + LEFT" "hl.dsp.focus({ direction = \"${direction.left}\" })")
(bind "SUPER + RIGHT" "hl.dsp.focus({ direction = \"${direction.right}\" })")
(bind "SUPER + UP" "hl.dsp.focus({ direction = \"${direction.up}\" })")
(bind "SUPER + DOWN" "hl.dsp.focus({ direction = \"${direction.down}\" })")
"$mainMod, Return, exec, ghostty"
"$mainMod, Q, killactive,"
"$mainMod, M, exit,"
"$mainMod, E, exec, ghostty -e sh -c yazi"
"$mainMod, F, togglefloating,"
"$mainMod, P, pseudo, # dwindle"
"$mainMod, J, layoutmsg, togglesplit"
"$mainMod, K, layoutmsg, swapsplit"
(bind "SUPER + SHIFT + LEFT" "hl.dsp.window.swap({ direction = \"${direction.left}\" })")
(bind "SUPER + SHIFT + RIGHT" "hl.dsp.window.swap({ direction = \"${direction.right}\" })")
(bind "SUPER + SHIFT + UP" "hl.dsp.window.swap({ direction = \"${direction.up}\" })")
(bind "SUPER + SHIFT + DOWN" "hl.dsp.window.swap({ direction = \"${direction.down}\" })")
# Move focus with mainMod + arrow keys
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
(bind "SUPER + CTRL + LEFT" "hl.dsp.window.resize({ x = -60, y = 0, relative = true })")
(bind "SUPER + CTRL + RIGHT" "hl.dsp.window.resize({ x = 60, y = 0, relative = true })")
(bind "SUPER + CTRL + UP" "hl.dsp.window.resize({ x = 0, y = -60, relative = true })")
(bind "SUPER + CTRL + DOWN" "hl.dsp.window.resize({ x = 0, y = 60, relative = true })")
] ++ workspaceBinds ++ [
(bind "SUPER + SHIFT + F" "hl.dsp.window.fullscreen({ action = \"toggle\", mode = \"fullscreen\" })")
(bind "SUPER + mouse_down" "hl.dsp.focus({ workspace = \"e-1\" })")
(bind "SUPER + mouse_up" "hl.dsp.focus({ workspace = \"e+1\" })")
# Moving windows
"$mainMod SHIFT, left, swapwindow, l"
"$mainMod SHIFT, right, swapwindow, r"
"$mainMod SHIFT, up, swapwindow, u"
"$mainMod SHIFT, down, swapwindow, d"
(bind "SUPER + F3" (exec "${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set +33%"))
(bind "SUPER + F2" (exec "${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set 33%-"))
# Window resizing X Y
"$mainMod CTRL, left, resizeactive, -60 0"
"$mainMod CTRL, right, resizeactive, 60 0"
"$mainMod CTRL, up, resizeactive, 0 -60"
"$mainMod CTRL, down, resizeactive, 0 60"
(bind "XF86AudioMute" (exec "pamixer -t"))
(bind "XF86AudioMicMute" (exec "pamixer --default-source -m"))
(bind "XF86AudioPlay" (exec "${lib.getExe pkgs.playerctl} play-pause"))
(bind "XF86Explorer" (exec "ghostty -e sh -c yazi"))
(bind "XF86Mail" (exec "thunderbird"))
(bind "XF86WWW" (exec "google-chrome-stable"))
# Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
(bind "XF86MonBrightnessDown" (exec "${lib.getExe pkgs.brightnessctl} set 5%-"))
(bind "XF86MonBrightnessUp" (exec "${lib.getExe pkgs.brightnessctl} set +5%"))
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"$mainMod SHIFT, 1, movetoworkspacesilent, 1"
"$mainMod SHIFT, 2, movetoworkspacesilent, 2"
"$mainMod SHIFT, 3, movetoworkspacesilent, 3"
"$mainMod SHIFT, 4, movetoworkspacesilent, 4"
"$mainMod SHIFT, 5, movetoworkspacesilent, 5"
"$mainMod SHIFT, 6, movetoworkspacesilent, 6"
"$mainMod SHIFT, 7, movetoworkspacesilent, 7"
"$mainMod SHIFT, 8, movetoworkspacesilent, 8"
"$mainMod SHIFT, 9, movetoworkspacesilent, 9"
"$mainMod SHIFT, 0, movetoworkspacesilent, 10"
(bindWithFlags "XF86AudioRaiseVolume" (exec "pamixer -i 5") { repeating = true; })
(bindWithFlags "XF86AudioLowerVolume" (exec "pamixer -d 5") { repeating = true; })
"$mainMod SHIFT, F, fullscreen"
(bindWithFlags "XF86AudioPrev" (exec "${lib.getExe pkgs.playerctl} position 5-") { click = true; })
(bindWithFlags "XF86AudioNext" (exec "${lib.getExe pkgs.playerctl} position 5+") { click = true; })
(bindWithFlags "XF86AudioPrev" (exec "${lib.getExe pkgs.playerctl} previous") { long_press = true; })
(bindWithFlags "XF86AudioNext" (exec "${lib.getExe pkgs.playerctl} next") { long_press = true; })
# Scroll through existing workspaces with mainMod + scroll
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
(bindWithFlags "SUPER + mouse:272" "hl.dsp.window.drag()" { mouse = true; })
(bindWithFlags "SUPER + mouse:273" "hl.dsp.window.resize()" { mouse = true; })
# Keyboard backlight
"$mainMod, F3, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set +33%"
"$mainMod, F2, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set 33%-"
# Volume and Media Control
", XF86AudioMute, exec, pamixer -t"
", XF86AudioMicMute, exec, pamixer --default-source -m"
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
", XF86Explorer, exec, ghostty -e sh -c yazi"
", XF86Mail, exec, thunderbird"
", XF86WWW, exec, google-chrome-stable" # TODO: Replace hard-code to some variable
# Brightness control
", XF86MonBrightnessDown, exec, ${lib.getExe pkgs.brightnessctl} set 5%- "
", XF86MonBrightnessUp, exec, ${lib.getExe pkgs.brightnessctl} set +5% "
];
binde = [
", XF86AudioRaiseVolume, exec, pamixer -i 5 "
", XF86AudioLowerVolume, exec, pamixer -d 5 "
];
bindc = [
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} position 5-"
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} position 5+"
];
bindo = [
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
];
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
};
-35
View File
@@ -1,35 +0,0 @@
{ lib }:
let
inline = lib.generators.mkLuaInline;
quote = builtins.toJSON;
in rec {
inherit inline;
exec = command: "hl.dsp.exec_cmd(${quote command})";
bind = keys: dispatcher: {
_args = [
keys
(inline dispatcher)
];
};
bindWithFlags = keys: dispatcher: flags: {
_args = [
keys
(inline dispatcher)
flags
];
};
onStart = commands: {
_args = [
"hyprland.start"
(inline (
"function()\n"
+ lib.concatMapStringsSep "\n" (command: " hl.exec_cmd(${quote command})") commands
+ "\nend"
))
];
};
}
+18 -29
View File
@@ -1,32 +1,21 @@
{ lib, ... }:
let
hyprLua = import ./lua.nix { inherit lib; };
inherit (hyprLua) bind bindWithFlags;
{
wayland.windowManager.hyprland.settings = {
bind = [
# "$mainMod, mouse_down, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
# "$mainMod, mouse_up , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
resetZoom = ''function()
hl.config({ cursor = { zoom_factor = 1 } })
end'';
"$mainMod SHIFT, mouse_up , exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod SHIFT, mouse_down , exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod SHIFT, minus , exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod SHIFT, KP_SUBTRACT, exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod SHIFT, 0 , exec, hyprctl -q keyword cursor:zoom_factor 1"
];
zoomIn = ''function()
local current = hl.get_config("cursor.zoom_factor")
hl.config({ cursor = { zoom_factor = current * 1.1 } })
end'';
zoomOut = ''function()
local current = hl.get_config("cursor.zoom_factor")
hl.config({ cursor = { zoom_factor = math.max(1, current * 0.9) } })
end'';
in {
wayland.windowManager.hyprland.settings.bind = [
(bind "SUPER + SHIFT + mouse_up" resetZoom)
(bind "SUPER + SHIFT + mouse_down" resetZoom)
(bind "SUPER + SHIFT + minus" resetZoom)
(bind "SUPER + SHIFT + KP_SUBTRACT" resetZoom)
(bind "SUPER + SHIFT + 0" resetZoom)
(bindWithFlags "SUPER + equal" zoomIn { repeating = true; })
(bindWithFlags "SUPER + minus" zoomOut { repeating = true; })
(bindWithFlags "SUPER + KP_ADD" zoomIn { repeating = true; })
(bindWithFlags "SUPER + KP_SUBTRACT" zoomOut { repeating = true; })
];
binde = [
"$mainMod, equal , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
"$mainMod, minus , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
"$mainMod, KP_ADD , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
"$mainMod, KP_SUBTRACT, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
];
};
}
+2 -6
View File
@@ -1,11 +1,7 @@
{ config, pkgs, lib, ... }:
let
hyprLua = import ./hyprland/lua.nix { inherit lib; };
in
lib.mkIf config.programs.hyprlock.enable {
wayland.windowManager.hyprland.settings.on = [
(hyprLua.onStart [ "hyprlock" ])
];
wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ];
programs.hyprlock = let
image = pkgs.fetchurl {
-1
View File
@@ -10,6 +10,5 @@
thunderbird
libreoffice
pear-desktop
( pkgs.callPackage ../../../drv/mumble.nix {} )
];
}
+32
View File
@@ -0,0 +1,32 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
texstudio
(texlive.combine {
inherit (texlive)
babel-russian
cm-super
cyrillic
hyphen-russian
hyphenat
titlesec
caption
float
xcolor
listings
pagecolor
moresize
raleway
fontawesome5
luatexbase
fontspec
ragged2e
enumitem
extsizes
multirow
varwidth
paracol
anyfontsize
scheme-basic;
})
];
}
+2 -5
View File
@@ -1,7 +1,4 @@
{ lib, ... }:
let
hyprLua = import ./hyprland/lua.nix { inherit lib; };
in {
{
services = {
walker = {
enable = true;
@@ -12,6 +9,6 @@ in {
};
wayland.windowManager.hyprland.settings.bind = [
(hyprLua.bind "SUPER + D" (hyprLua.exec "walker"))
"$mainMod, D, exec, walker"
];
}
+12 -21
View File
@@ -18,8 +18,6 @@
percent="$(${lib.getExe pkgs.brightnessctl} -m | ${lib.getExe' pkgs.coreutils "cut"} -d, -f4 | ${lib.getExe' pkgs.coreutils "tr"} -d '%')"
printf '%s brightness\n' "$percent" > ${wobSocket}
'';
hyprLua = import ./hyprland/lua.nix { inherit lib; };
in {
systemd.user = {
services.wob.Install.WantedBy = lib.mkForce [ ];
@@ -55,23 +53,16 @@ in {
};
};
wayland.windowManager.hyprland.settings.bind = [
(hyprLua.bindWithFlags "XF86AudioRaiseVolume" (hyprLua.exec "${lib.getExe volumeStep}") {
repeating = true;
locked = true;
})
(hyprLua.bindWithFlags "XF86AudioLowerVolume" (hyprLua.exec "${lib.getExe volumeStep}") {
repeating = true;
locked = true;
})
(hyprLua.bindWithFlags "XF86MonBrightnessUp" (hyprLua.exec "${lib.getExe brightnessStep}") {
repeating = true;
locked = true;
})
(hyprLua.bindWithFlags "XF86MonBrightnessDown" (hyprLua.exec "${lib.getExe brightnessStep}") {
repeating = true;
locked = true;
})
(hyprLua.bind "XF86AudioMute" (hyprLua.exec "${lib.getExe volumeStep} mute"))
];
wayland.windowManager.hyprland.settings = {
bindel = [
", XF86AudioRaiseVolume, exec, ${lib.getExe volumeStep}"
", XF86AudioLowerVolume, exec, ${lib.getExe volumeStep}"
", XF86MonBrightnessUp, exec, ${lib.getExe brightnessStep}"
", XF86MonBrightnessDown, exec, ${lib.getExe brightnessStep}"
];
bind = [
", XF86AudioMute, exec, ${lib.getExe volumeStep} mute"
];
};
}
+7 -54
View File
@@ -188,22 +188,10 @@ in {
Exec=${lib.getExe fileManager1}
'';
wayland.windowManager.hyprland.settings.window_rule = [
{
match.class = "dragon-drop";
move = [
"(cursor_x-(window_w*0.5))"
"(cursor_y-(window_h*0.5))"
];
}
{
match.title = "Yazi File Picker";
float = true;
}
{
match.title = "Yazi File Picker";
size = [ 1200 800 ];
}
wayland.windowManager.hyprland.settings.windowrule = [
"match:class dragon-drop, move cursor_x-window_w/2 cursor_y-window_h/2"
"match:title Yazi File Picker, float 1"
"match:title Yazi File Picker, size 1200 800"
];
programs.yazi = {
@@ -262,11 +250,6 @@ in {
toggle-pane
;
gvfs = {
package = gvfs;
setup = true;
};
full-border = {
package = yaziPlugin "full-border";
setup = true;
@@ -278,7 +261,7 @@ in {
};
git = {
package = yaziPlugin "git";
package = git;
setup = true;
};
};
@@ -317,39 +300,9 @@ in {
desc = "Chmod on selected files";
}
{
on = [ "M" "b" ];
on = ["M"];
run = "plugin mount";
desc = "Open block-device mount menu";
}
{
on = [ "M" "m" ];
run = "plugin gvfs -- select-then-mount --jump";
desc = "Mount GVFS device and jump to it";
}
{
on = [ "M" "u" ];
run = "plugin gvfs -- select-then-unmount";
desc = "Unmount GVFS device";
}
{
on = [ "M" "U" ];
run = "plugin gvfs -- select-then-unmount --eject";
desc = "Unmount and eject GVFS device";
}
{
on = [ "M" "t" ];
run = "plugin gvfs -- automount-when-cd";
desc = "Enable GVFS automount when entering device";
}
{
on = [ "g" "m" ];
run = "plugin gvfs -- jump-to-device";
desc = "Jump to mounted GVFS device";
}
{
on = [ "`" "`" ];
run = "plugin gvfs -- jump-back-prev-cwd";
desc = "Jump back from GVFS device";
desc = "Open mount menu";
}
{
on = [ "<C-n>" ];
-1
View File
@@ -74,7 +74,6 @@
eval "$(zoxide init zsh)"
source "$(fzf-share)/key-bindings.zsh"
source "$(fzf-share)/completion.zsh"
nr() { nix run "nixpkgs#$1" -- "''${@:2}" }
'';
envExtra = ''
+29 -41
View File
@@ -1,22 +1,16 @@
{ pkgs, lib, config, ... }:
let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
in {
wayland.windowManager.hyprland.settings = {
config = {
{ pkgs, lib, config, inputs, ... }: {
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
in {
settings = {
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 2;
"col.active_border" = lib.mkForce {
colors = [
"rgba(${accent}ee)"
"rgba(${colors.base0C}ee)"
];
angle = 45;
};
"col.active_border" = "rgba(${accent}ee) rgba(${colors.base0C}ee) 45deg";
"col.inactive_border" = "rgba(${colors.base05}aa)";
layout = "dwindle";
};
@@ -38,9 +32,25 @@ in {
};
};
animations.enabled = true;
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
smart_split = true;
};
dwindle.smart_split = true;
master.new_status = "master";
misc = {
@@ -48,32 +58,10 @@ in {
animate_mouse_windowdragging = true;
enable_swallow = true;
};
};
curve = {
_args = [
"myBezier"
{
type = "bezier";
points = [
[ 0.05 0.9 ]
[ 0.1 1.05 ]
];
}
bind = [
''$mainMod Shift, S, exec, ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -''
];
};
animation = [
{ leaf = "windows"; enabled = true; speed = 7; bezier = "myBezier"; }
{ leaf = "windowsOut"; enabled = true; speed = 7; bezier = "default"; style = "popin 80%"; }
{ leaf = "border"; enabled = true; speed = 10; bezier = "default"; }
{ leaf = "borderangle"; enabled = true; speed = 8; bezier = "default"; }
{ leaf = "fade"; enabled = true; speed = 7; bezier = "default"; }
{ leaf = "workspaces"; enabled = true; speed = 6; bezier = "default"; }
];
bind = [
(hyprLua.bind "SUPER + SHIFT + S" (hyprLua.exec ''${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -''))
];
};
}
+1 -9
View File
@@ -1,11 +1,4 @@
{
osConfig,
config,
inputs,
pkgs,
lib,
...
}: {
{ osConfig, config, pkgs, lib, ... }: {
home.packages = with pkgs; [
font-awesome
nerd-fonts.symbols-only
@@ -17,7 +10,6 @@
programs.waybar = {
enable = true;
systemd.enable = true;
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
settings.mainBar = {
modules-center = [
+3 -1
View File
@@ -1,4 +1,7 @@
{ pkgs, ... }: {
imports = [
../../modules/user/packages/tex.nix
];
programs.hyprlock.enable = true;
home.packages = with pkgs; [
android-studio
@@ -7,7 +10,6 @@
enableWidevine = true;
})
weechat
insomnia
];
xdg.mimeApps = {
+52 -67
View File
@@ -2,7 +2,6 @@
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
wallpaper_changer = pkgs.writers.writePython3Bin "wallpaper_changer" {
libraries = [ pkgs.python3Packages.requests ];
@@ -127,83 +126,69 @@
'';
in {
settings = {
config = {
general = {
gaps_in = 2;
gaps_out = 10;
border_size = 3;
"col.active_border" = lib.mkForce {
colors = [
"rgba(${colors.base0C}aa)"
"rgba(${accent}aa)"
];
angle = 45;
};
layout = "dwindle";
};
general = {
gaps_in = 2;
gaps_out = 10;
border_size = 3;
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${accent}aa) 45deg";
decoration = {
rounding = 10;
blur = {
enabled = true;
size = 16;
passes = 2;
new_optimizations = true;
};
shadow.enabled = false;
};
animations.enabled = true;
dwindle.smart_split = true;
master.new_status = "master";
misc = {
animate_manual_resizes = true;
animate_mouse_windowdragging = true;
enable_swallow = true;
};
layout = "dwindle";
};
curve = {
_args = [
"myBezier"
{
type = "bezier";
points = [
[ 0.05 0.9 ]
[ 0.1 1.05 ]
];
}
decoration = {
rounding = 10;
blur = {
enabled = true;
size = 16;
passes = 2;
new_optimizations = true;
};
shadow.enabled = false;
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
animation = [
{ leaf = "windows"; enabled = true; speed = 7; bezier = "myBezier"; }
{ leaf = "windowsOut"; enabled = true; speed = 7; bezier = "default"; style = "popin 80%"; }
{ leaf = "border"; enabled = true; speed = 10; bezier = "default"; }
{ leaf = "borderangle"; enabled = true; speed = 8; bezier = "default"; }
{ leaf = "fade"; enabled = true; speed = 7; bezier = "default"; }
{ leaf = "workspaces"; enabled = true; speed = 6; bezier = "default"; }
dwindle = {
smart_split = true;
};
master.new_status = "master";
misc = {
animate_manual_resizes = true;
animate_mouse_windowdragging = true;
enable_swallow = true;
};
exec-once = [
"${lib.getExe wallpaper_changer}"
];
on = [
(hyprLua.onStart [ "${lib.getExe wallpaper_changer}" ])
];
workspace_rule = [
{
workspace = "2";
layout = "scrolling";
}
workspace = [
"2, layout:scrolling"
];
bind = [
(hyprLua.bind "Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m output"))
(hyprLua.bind "CTRL + Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m region"))
(hyprLua.bind "ALT + Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m window"))
(hyprLua.bind "SUPER + W" (hyprLua.exec "${lib.getExe wallpaper_changer}"))
" , Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m output"
"CTRL, Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m region"
"ALT , Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m window"
"$mainMod, W, exec, ${lib.getExe wallpaper_changer}"
];
};
};
+8 -66
View File
@@ -1,28 +1,17 @@
{
osConfig,
config,
inputs,
pkgs,
lib,
...
}: {
{ osConfig, config, pkgs, lib, ... }: {
home.packages = with pkgs; [
playerctl
cava
pulsemixer
libnotify
monocraft
font-awesome
nerd-fonts.symbols-only
];
programs.waybar = let
multibat = osConfig.networking.hostName == "Inaho";
in {
programs.waybar = {
enable = true;
systemd.enable = true;
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
settings.mainBar = {
spacing = 8;
@@ -42,7 +31,7 @@
"tray"
"group/system"
"pulseaudio"
( if multibat then "group/bat" else "battery" )
"battery"
"clock"
];
@@ -82,19 +71,6 @@
dynamic-order = [ "title" "artist" "album" ];
};
"group/bat" = lib.mkIf multibat {
orientation = "inherit";
drawer = {
transition-duration = 500;
transition-left-to-right = false;
};
modules = [
"battery"
"battery#int"
"battery#ext"
];
};
battery = {
interval = 5;
states = {
@@ -106,33 +82,6 @@
default = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
charging = ["󰢟" "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅"];
};
events = {
on-discharging-warning = "notify-send -u normal 'Low Battery'";
on-discharging-critical = "notify-send -u critical 'Very Low Battery'";
};
};
"battery#int" = lib.mkIf multibat {
bat = "BAT0";
interval = 5;
states = {
warning = 30;
critical = 15;
};
format = "I: {capacity}%";
};
"battery#ext" = lib.mkIf multibat {
bat = "BAT1";
interval = 5;
states = {
warning = 30;
critical = 15;
};
format = "E: {capacity}%";
events = {
on-discharging-critical = "notify-send -u normal 'External battery is critical";
};
};
"keyboard-state" = {
@@ -300,9 +249,8 @@
}
}
#system,
#bat {
& .drawer-child > * { margin-right: 4px }
#system .drawer-child > * {
margin-right: 4px
}
#keyboard-state label.locked {
@@ -311,6 +259,7 @@
}
#battery {
&.plugged { color: ${colors.base0D}; }
&.charging { color: ${accent}; }
&:not(.charging) {
&.warning {
@@ -331,10 +280,6 @@
color: ${colors.base00};
background: ${accent};
}
&.plugged {
color: ${colors.base00};
background: ${colors.base0D};
}
}
@keyframes blink {
@@ -351,10 +296,7 @@
in builtins.readFile cssFile;
};
wayland.windowManager.hyprland.settings.layer_rule = [
{
match.namespace = "waybar";
blur = true;
}
wayland.windowManager.hyprland.settings.layerrule = [
"blur on, match:namespace waybar"
];
}