Compare commits

..
202 Commits
Author SHA1 Message Date
Sweetbread a5db402144 Rias: change disk FS 2026-09-21 20:08:18 +03:00
Sweetbread fc1c7a0f61 fixup! fixup! Update 2026-09-21 20:07:17 +03:00
Sweetbread eed510e68b zsh: nr alias 2026-09-18 19:00:13 +03:00
Sweetbread be9e7c0ce8 flake: add nixpkgs.follows 2026-09-17 20:45:34 +03:00
Sweetbread e53efb0472 pkgs: add insomnia 2026-09-17 18:07:25 +03:00
Sweetbread 8acfda2aa5 change key 2026-09-17 18:02:14 +03:00
Sweetbread 0e8763663b tmp 2026-09-17 18:02:14 +03:00
Sweetbread 4180bfd391 syncthing: add documents 2026-09-17 18:00:30 +03:00
Sweetbread 0c07e7be79 fixup! Update 2026-09-17 11:26:16 +03:00
Sweetbread d5832d160c helix: add wakapi 2026-09-16 19:43:04 +03:00
Sweetbread fac73d8508 hyprland: to lua 2026-09-16 19:42:53 +03:00
Sweetbread e57dad8746 Update 2026-09-16 19:42:53 +03:00
Sweetbread 238166668f pkgs: add mumble 2026-08-26 23:56:12 +03:00
Sweetbread ec8fdec87b fixup! Update 2026-08-26 23:55:58 +03:00
Sweetbread e6e6af404f wip: MTP 2026-08-19 22:09:41 +03:00
Sweetbread 7845af1fd1 hyprland: change scroll direction 2026-08-19 22:09:40 +03:00
Sweetbread 4a001529ec helix: add line moving
https://github.com/helix-editor/helix/discussions/5764#discussioncomment-9518381
2026-08-19 22:09:40 +03:00
Sweetbread 357db9432d helix: for FASM 2026-08-19 22:09:40 +03:00
Sweetbread cdc137c2d9 Update 2026-08-19 22:09:40 +03:00
Chest ce03661f12 vpn config fix 2026-08-19 22:09:40 +03:00
Sweetbread c78d0b40a2 Inaho: add games 2026-08-19 22:09:40 +03:00
Sweetbread 3c8a4219a6 pkgs: nmtui to wifitui 2026-08-19 22:09:40 +03:00
Sweetbread 4d77be992e Inaho: new host 2026-08-19 22:09:34 +03:00
Sweetbread 4c65c1b05f Update 2026-08-19 21:41:54 +03:00
Sweetbread 7e8f9439aa helix: steel 2026-08-19 21:41:54 +03:00
Sweetbread fe4052fe73 vpn: set capabilities 2026-08-19 21:41:54 +03:00
Sweetbread e216e9bc7a ygg: change peers 2026-08-19 21:41:54 +03:00
Sweetbread d4504b9705 Rias: openrgb 2026-08-19 21:41:54 +03:00
Sweetbread 8625d875db wallpaper-changer: add progress bar 2026-08-19 21:41:53 +03:00
Sweetbread 17e247fb38 mako: remove shit code 2026-08-19 21:41:53 +03:00
Sweetbread ed2f738a83 stylix: add accent color
I spent an hour just to add one f*ing option
2026-08-19 21:41:53 +03:00
Sweetbread e61bcb7d92 Update 2026-08-19 21:41:53 +03:00
Sweetbread 7b428a0b79 pkgs: move smth to stable 2026-08-19 21:41:53 +03:00
Sweetbread f8edaafdf3 ui: fuzzel to walker 2026-08-19 21:41:53 +03:00
Sweetbread e6e77aeed6 pkgs: add pear-desktop 2026-08-19 21:41:53 +03:00
Sweetbread 8b0298b67c font: change to pixel fonts 2026-08-19 21:41:52 +03:00
Sweetbread f084bdf9b4 pkgs: wob 2026-08-19 21:41:52 +03:00
Sweetbread de76f09730 wip: quickshell: control-panel 2026-08-19 21:41:52 +03:00
Sweetbread 124f3a7cf3 yazi: filechooser 2026-08-19 21:41:52 +03:00
Sweetbread ea289034ca yazi: open from other apps 2026-08-19 21:41:52 +03:00
Sweetbread deba85fd30 Update 2026-08-19 21:41:52 +03:00
Sweetbread 21471838e6 vpn: change client 2026-08-19 21:41:52 +03:00
Sweetbread 8ceca8ee8f ghostty: add cursor shader 2026-08-19 21:41:51 +03:00
Sweetbread dac276d6ed Rias: change mount type 2026-08-19 21:41:51 +03:00
Sweetbread a5e1267370 Update 2026-08-19 21:41:51 +03:00
Sweetbread c79cee4206 ygg: change node 2026-08-19 21:41:51 +03:00
Sweetbread b468c42a9e Impreza: add wallpaper 2026-08-19 21:41:51 +03:00
Sweetbread 61259a2320 nvidia: fix backlight 2026-08-19 21:41:51 +03:00
Chest 41f53f802c waybar for mee<3 2026-08-19 21:41:51 +03:00
Chest 55e4406dc5 vpn for gpt 2026-08-19 21:41:50 +03:00
Sweetbread 32f5cac84d vpn: change engine 2026-08-19 21:41:50 +03:00
Sweetbread a2fc3275af Update system 2026-08-19 21:41:50 +03:00
Sweetbread e51ba243dc wip: cava 2026-08-19 21:41:50 +03:00
Sweetbread aada228357 starship: fix os icon 2026-08-19 21:41:50 +03:00
Sweetbread 60734ee516 hyprland: add zoom 2026-08-19 21:41:50 +03:00
Sweetbread fe204a4d5a tty: fix Cyrillic 2026-08-19 21:41:50 +03:00
Sweetbread ed37f81cfd ssh: keepalive 2026-08-19 21:41:49 +03:00
Sweetbread fdeeb87f13 Replace AGS with waybar 2026-08-19 21:41:49 +03:00
Sweetbread 50a9f73fea Update system 2026-08-19 21:41:49 +03:00
Sweetbread b064e912aa Style hyprland 2026-08-19 21:41:49 +03:00
Sweetbread 10084a5e8e Make VPN list via flake
Wow, I didn't know I can do this...
2026-08-19 21:41:49 +03:00
Sweetbread 9a7b7f0b50 Update system 2026-08-19 21:41:49 +03:00
Chest 7f59ba969e vpn 2026-08-19 21:41:49 +03:00
Chest 0c97dde79f meow 2026-08-19 21:41:48 +03:00
Sweetbread f973b8e5ad Fix FileChooser in Hyprland 2026-08-19 21:41:48 +03:00
Sweetbread b4848028eb Update VPN 2026-08-19 21:41:48 +03:00
Sweetbread 1441647527 Repath mounts 2026-08-19 21:41:48 +03:00
Sweetbread e8350c58cc Update system 2026-08-19 21:41:48 +03:00
Sweetbread 998af9fc41 Change domain 2026-08-19 21:41:48 +03:00
Sweetbread 1ca630a80c yazi: add some stuff 2026-08-19 21:41:48 +03:00
Sweetbread 7ceabba4ab Replace wofi with fuzzel 2026-08-19 21:41:48 +03:00
Sweetbread d56f003982 Sort imports 2026-08-19 21:41:47 +03:00
Sweetbread 6c062088fa Change README 2026-08-19 21:41:47 +03:00
Sweetbread d8eaa5916b helix: change cursor shape and add a ruler 2026-08-19 21:41:47 +03:00
Sweetbread 6da0db4ffd ags: add another accent for chest 2026-08-19 21:41:47 +03:00
Sweetbread 4454eadfaf system: update channels 2026-08-19 21:41:47 +03:00
Sweetbread ada545525a ref: remove host.laptop from user modules 2026-08-19 21:41:47 +03:00
Sweetbread f31dc89efb sops: fix link 2026-08-19 21:41:47 +03:00
Sweetbread 8b8d7fc413 flake: add custom cache 2026-08-19 21:41:46 +03:00
Sweetbread 5f5931a47f hypr: change border color 2026-08-19 21:41:46 +03:00
Chest d9e8f3e4f1 pkgs: add ZZZ 2026-08-19 21:41:46 +03:00
Chest 3f359a91ec Eclipse: add VirtualBox 2026-08-19 21:41:46 +03:00
Sweetbread db46ffd3ec zsh: add more aliases 2026-08-19 21:41:46 +03:00
Sweetbread e560d34515 boot: left os prober only for Impreza 2026-08-19 21:41:46 +03:00
Sweetbread 13af1b5b4e flake: remove devshell 2026-08-19 21:41:46 +03:00
Sweetbread 21df106ace flake: remove host definition dublication 2026-08-19 21:41:45 +03:00
Sweetbread 8f93c5ef2a zsh: config history 2026-08-19 21:41:45 +03:00
Sweetbread 005edb2730 zsh: optimise aliases 2026-08-19 21:41:45 +03:00
Sweetbread d1056472e4 hyprland: separate settings for user and host 2026-08-19 21:41:45 +03:00
Sweetbread db70613838 Update system 2026-08-19 21:41:45 +03:00
Sweetbread d88a2a4871 pkgs: return office to everyone 2026-08-19 21:41:45 +03:00
Sweetbread d2560fa2a7 pdf 2026-08-19 21:41:45 +03:00
Sweetbread 69585ab64a system: update 2026-08-19 21:41:44 +03:00
Sweetbread f106eb0609 pkgs: add torrent client 2026-08-19 21:41:44 +03:00
Sweetbread c9ffbd5964 Add Miku cursor 2026-08-19 21:41:44 +03:00
Sweetbread 7b28ee6b9c Add Kurumi cursor 2026-08-19 21:41:44 +03:00
Sweetbread a30c4f8b68 nvidia: set envvar 2026-08-19 21:41:44 +03:00
Sweetbread 623f7b6425 style: set dark mode 2026-08-19 21:41:44 +03:00
Sweetbread ce84c7ab53 pkgs: add opentabletdriver 2026-08-19 21:41:44 +03:00
Sweetbread 82da0a8bda system: update 2026-08-19 21:41:44 +03:00
Sweetbread 17a5125775 hypr: add focus 2026-08-19 21:41:43 +03:00
Sweetbread 5b2a0997bd tex: add packages 2026-08-19 21:41:43 +03:00
Sweetbread 6ab8cb5724 pkgs: add vivaldi 2026-08-19 21:41:43 +03:00
Sweetbread 3d94a2952c fix: set imv as a image viewer 2026-08-19 21:41:43 +03:00
Sweetbread dfb1e890e5 yazi: set up plugins 2026-08-19 21:41:43 +03:00
Sweetbread a6495ca832 system: update 2026-08-19 21:41:43 +03:00
Sweetbread d976f13a10 feat: scanning 2026-08-19 21:41:43 +03:00
Sweetbread e6f3422b4d wip: fix: clipboard 2026-08-19 21:41:42 +03:00
Sweetbread 4f284d441e pkgs: replace grimblast with hyprshot 2026-08-19 21:41:42 +03:00
Sweetbread 371565c2bd pkgs: fastfetch instead of neofetch 2026-08-19 21:41:42 +03:00
Sweetbread 635cbff519 system: update 2026-08-19 21:41:42 +03:00
Sweetbread 826fe11063 system: change mount path to partlabel 2026-08-19 21:41:42 +03:00
Chest f3aac17934 New install 2026-08-19 21:41:42 +03:00
Chest b789807b47 flake: update aagl 2026-08-19 21:41:42 +03:00
Chest 5861a9e6a0 feat: F disk 2026-08-19 21:41:41 +03:00
Sweetbread 6b106f7948 yazi: do not preload .crdownload 2026-08-19 21:41:41 +03:00
Sweetbread 48b08d23ff hyprland: add media app binds 2026-08-19 21:41:41 +03:00
Sweetbread 1fb4acea88 hyprland: add media binds 2026-08-19 21:41:41 +03:00
Sweetbread e0bcb87b2c pkgs: add texstudio 2026-08-19 21:41:41 +03:00
Sweetbread 01d3b727a1 system: update 2026-08-19 21:41:41 +03:00
Sweetbread d3c08aa4f5 chore: something... 2026-08-19 21:41:41 +03:00
Sweetbread c6e8cf9847 pkgs: remove libreoffice for chest 2026-08-19 21:41:40 +03:00
Sweetbread 36bd415a4e system: update 2026-08-19 21:41:40 +03:00
Sweetbread 6953af7176 system: change channels 2026-08-19 21:41:40 +03:00
Sweetbread a36956b016 pkgs(chest): turn off some packages 2026-08-19 21:41:40 +03:00
Sweetbread 659627a4f1 style: decrease gaps 2026-08-19 21:41:40 +03:00
Sweetbread a00b0ccb33 system: update nixpkgs-fixed 2026-08-19 21:41:40 +03:00
Sweetbread 8e3d4604c4 style: ags 2026-08-19 21:41:40 +03:00
Sweetbread bb09c5f642 system: update 2026-08-19 21:41:39 +03:00
Sweetbread dbd3b513c2 refactor: move utils to a separate file 2026-08-19 21:41:39 +03:00
Sweetbread c83c94817d pkgs: add krita and gimp 2026-08-19 21:41:39 +03:00
Sweetbread de69e7a17f fix: wallpapers 2026-08-19 21:41:39 +03:00
Chest ec4438fff9 add binwalk 2026-08-19 21:41:39 +03:00
Chest 39681985e2 aagl 2026-08-19 21:41:39 +03:00
Sweetbread 47f7494203 Remove hyprlock 2026-08-19 21:41:39 +03:00
Sweetbread 9990ed351e feat: add intel graphics config 2026-08-19 21:41:38 +03:00
Sweetbread 9033cfe614 feat: add dependencies to host in home-manager 2026-08-19 21:41:38 +03:00
Sweetbread 598bf6a35d pkgs: add pinentry 2026-08-19 21:41:38 +03:00
Sweetbread 454cd36176 fix(ags): set margins 2026-08-19 21:41:38 +03:00
Chest 1a4a7b3918 host: Impreza 2026-08-19 21:41:38 +03:00
Sweetbread 492218b1f4 fix: change nick 2026-08-19 21:41:38 +03:00
Sweetbread 378182cff3 feat: yggdrasil 2026-08-19 21:41:38 +03:00
Sweetbread 2e8f33aa56 style: cursor 2026-08-19 21:41:37 +03:00
Sweetbread b384ef60e0 style: font 2026-08-19 21:41:37 +03:00
Sweetbread 4d9729a4dd system: update 2026-08-19 21:41:37 +03:00
Sweetbread 85cd854889 feat(yazi): add d drive shortcut 2026-08-19 21:41:37 +03:00
Sweetbread 15dee2e15d feat: add my custom dns server 2026-08-19 21:41:37 +03:00
Sweetbread cf52a7e7f3 feat: add pulsemixer 2026-08-19 21:41:37 +03:00
Sweetbread b8745ac460 fix: brightness setting 2026-08-19 21:41:37 +03:00
Sweetbread f88917aaf2 feat: kitty to ghostty 2026-08-19 21:41:36 +03:00
Sweetbread 6a545149e9 pkgs: add some utils 2026-08-19 21:41:36 +03:00
Sweetbread bb8e8c079d feat(ags): add battery bar 2026-08-19 21:41:36 +03:00
Sweetbread 281f0ad2da fix(ags): wifi widget 2026-08-19 21:41:36 +03:00
Sweetbread 97e6f6bd31 feat: postgres 2026-08-19 21:41:36 +03:00
Sweetbread 01aa2b8083 system: Update 2026-08-19 21:41:36 +03:00
Sweetbread ad6e7e332f git: Change mail 2026-08-19 21:41:36 +03:00
Sweetbread 478e184312 pkgs: Add prismlauncher 2026-08-19 21:41:36 +03:00
Sweetbread b2f10ff9ea system: Update 2026-08-19 21:41:35 +03:00
Chest 32c6b50dbe Add pkgs 2026-08-19 21:41:35 +03:00
Sweetbread 02dd50200f system: Update 2026-08-19 21:41:35 +03:00
Sweetbread fe7d4c1851 perf: Home-manager to module
feat: Optionise config
2026-08-19 21:41:35 +03:00
Sweetbread 1111288a47 fix(helix): No end newline 2026-08-19 21:41:35 +03:00
Sweetbread b6fe61969d pkgs: Add trashy 2026-08-19 21:41:35 +03:00
Sweetbread 9c4bee71e2 style: Change opacity and wallpaper 2026-08-19 21:41:35 +03:00
Sweetbread dfddc572b2 system: Update 2026-08-19 21:41:34 +03:00
Sweetbread 81a737a43e pkgs: litecli 2026-08-19 21:41:34 +03:00
Sweetbread aed9a6a713 feat(zsh): lg alias 2026-08-19 21:41:34 +03:00
Sweetbread b3f072d851 style: Reduce gap 2026-08-19 21:41:34 +03:00
Sweetbread d5894374f2 wip: console
Font changes to default after reload
2026-08-19 21:41:34 +03:00
Sweetbread 7df28b1a5d ags: To derivation 2026-08-19 21:41:34 +03:00
Sweetbread 71bb0a839e pkgs: Udiskie 2026-08-19 21:41:34 +03:00
Sweetbread f29c8f07cc system: Update 2026-08-19 21:41:33 +03:00
Sweetbread 40f612bad1 pkgs: Remove extra packages 2026-08-19 21:41:33 +03:00
Sweetbread 20950f6774 style: Btop 2026-08-19 21:41:33 +03:00
Sweetbread 765fd10420 feat(devshell): Add pkgs for helix and switching to zsh 2026-08-19 21:41:33 +03:00
Sweetbread a7359b47b5 fix(starship): Remove extra space 2026-08-19 21:41:33 +03:00
Sweetbread debad3cdae pkgs: Update aagl 2026-08-19 21:41:33 +03:00
Sweetbread 6fb6f6e5b5 pkgs: git-lfs 2026-08-19 21:41:33 +03:00
Sweetbread b6bef9e3ed pkgs: To 24.11 2026-08-19 21:41:32 +03:00
Sweetbread f9ae2cb408 ags: Add keyboard layout widget 2026-08-19 21:41:32 +03:00
Sweetbread b85a81882d docs: Change screenshot 2026-08-19 21:41:32 +03:00
Sweetbread e6f27cd3f1 pkgs: Add Pycharm to chest 2026-08-19 21:41:32 +03:00
Sweetbread ff0d402a7c ags: style 2026-08-19 21:41:32 +03:00
Sweetbread 61677eed09 pkgs: Remove dev packages 2026-08-19 21:41:32 +03:00
Sweetbread b68f55c599 fix: Show GPU stats in BTop 2026-08-19 21:41:32 +03:00
Sweetbread baa89ba1d4 grub: Add theme 2026-08-19 21:41:31 +03:00
Sweetbread b889c1d876 fix: Bootloader 2026-08-19 21:41:31 +03:00
Sweetbread 9d3c053acd fix: Icons 2026-08-19 21:41:31 +03:00
Sweetbread 122ab982e6 feat: ags 2026-08-19 21:41:31 +03:00
Sweetbread d07853a8d1 pkgs: New utils 2026-08-19 21:41:31 +03:00
Sweetbread c7a3b353aa system: Update 2026-08-19 21:41:31 +03:00
Sweetbread 0804b164e1 vpn: Update 2026-08-19 21:41:31 +03:00
Sweetbread b3137f6a21 pkgs: Add rtorrent 2026-08-19 21:41:31 +03:00
Sweetbread 8dab87ee21 syncthing: New device 2026-08-19 21:41:30 +03:00
Sweetbread d94737e8de pkgs: Add aseprite 2026-08-19 21:32:56 +03:00
Sweetbread 25fbc9fee0 pkgs: Add libreoffice 2026-08-19 21:32:55 +03:00
Sweetbread f01634bc64 develop: Add Rust 2026-08-19 21:32:55 +03:00
Sweetbread 1b4638c2f9 feat: Drag and Drop in yazi 2026-08-19 21:32:55 +03:00
Sweetbread 6c543e7478 system: Update 2026-08-19 21:32:55 +03:00
Sweetbread e70c545ecb vpn: Update 2026-08-19 21:32:55 +03:00
Sweetbread eb84bf348a pkgs: Flakify AAGL 2026-08-19 21:32:55 +03:00
Sweetbread 59edb25ebe pkgs: Syncthing 2026-08-19 21:32:55 +03:00
40 changed files with 1076 additions and 707 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ creation_rules:
key_groups:
- age:
- *primary
- path_regex: host/(Rias|Senko|Eclipse)/secrets/.+$
- path_regex: host/(Rias|Senko|Inaho|Eclipse)/secrets/.+$
key_groups:
- age:
- *primary
+60
View File
@@ -0,0 +1,60 @@
{ 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
+166 -232
View File
@@ -3,15 +3,17 @@
"aagl": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1783003291,
"narHash": "sha256-BYXGP1e9WDEPse3Ux6KoxW/v8KIJJLR+fn1cw3CIZ/Y=",
"lastModified": 1789138122,
"narHash": "sha256-mh+ZiGCtHAo0xIi1yaNjHsftfnlWz9JiYwHCyT16yIE=",
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "4e8fc67bd94f4376aa455833fc5aa68b0731549d",
"rev": "d82d6d6f66caf4b63fb154e62fad83c627874127",
"type": "github"
},
"original": {
@@ -23,7 +25,9 @@
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": "nixpkgs_2"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1744557573,
@@ -60,11 +64,11 @@
]
},
"locked": {
"lastModified": 1772460678,
"narHash": "sha256-NYaWs8fYJ38IgFld0hGSdT2LEVhrgO8SiRReBjIH7YY=",
"lastModified": 1784368054,
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "5d2cb726b16ee349df443f84b64cff53221b6983",
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
"type": "github"
},
"original": {
@@ -185,11 +189,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1779670703,
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
"lastModified": 1783570805,
"narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
"rev": "5602ed62d638142c1ab31dccd01dfbfb28841225",
"type": "github"
},
"original": {
@@ -230,6 +234,22 @@
"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": [
@@ -238,11 +258,11 @@
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
@@ -285,56 +305,38 @@
"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": {
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"host": "gitlab.gnome.org",
"lastModified": 1776175984,
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "50.1",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
"type": "gitlab"
}
},
"helix-steel": {
"inputs": {
"nixpkgs": "nixpkgs_3",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1782088553,
"narHash": "sha256-bGfByNnjuzENdvTW97s4UhwglYY7ydBk54gOZmnaM4Q=",
"lastModified": 1788213353,
"narHash": "sha256-vJ7VgxuM/Dp7vyVlu6EXjP/ES14TALy64jgzyuYZl6g=",
"owner": "mattwparas",
"repo": "helix",
"rev": "0522d519fd5227f77ecef387a87e51b732907562",
"rev": "ba5b022c1000a0ce28d4ce1d09acdd062a83a020",
"type": "github"
},
"original": {
@@ -351,11 +353,11 @@
]
},
"locked": {
"lastModified": 1783222121,
"narHash": "sha256-E/ElL373TO8lQ2aMvYyzN+k4xkVaUGoRqoa8AtM71tI=",
"lastModified": 1789320570,
"narHash": "sha256-1Js4AJiWLV7U1SF3ok0J2tKbBEJYE5YpElGU+7fMbfo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a1645f40777620c4bd2b6d854b290c2fc354a266",
"rev": "87b3c74df02a2b2e691a24f3c82774f48a70c1bd",
"type": "github"
},
"original": {
@@ -380,11 +382,11 @@
]
},
"locked": {
"lastModified": 1772461003,
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"type": "github"
},
"original": {
@@ -409,11 +411,11 @@
]
},
"locked": {
"lastModified": 1772461523,
"narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
"lastModified": 1782566056,
"narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
"rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8",
"type": "github"
},
"original": {
@@ -433,22 +435,22 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1773149218,
"narHash": "sha256-m5Ewi+rgn18qPP54Um4O2zwZ02oiomlZssHvXYEUv3U=",
"lastModified": 1785170029,
"narHash": "sha256-8CKDx282HhxlD1pwXPnC4uK29Abn1Jsnh7LgPzeIXxI=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
"rev": "5c9377c15f85c50648f35ca5a213754f95b93ca0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"ref": "v0.54.2-b",
"ref": "v0.56.1",
"repo": "Hyprland",
"type": "github"
}
@@ -486,11 +488,11 @@
]
},
"locked": {
"lastModified": 1772467975,
"narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
"lastModified": 1784196523,
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
"type": "github"
},
"original": {
@@ -516,11 +518,11 @@
]
},
"locked": {
"lastModified": 1782769258,
"narHash": "sha256-HAhqQOoz4S0gzIOMnClL49B+rMT7zdp3UDWeqxtMs/k=",
"lastModified": 1788563182,
"narHash": "sha256-e2Q7i5T+iQY0o/uxFNnXxWpXZ1e5f6VV4eHdKk7l6kc=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "71b8953d7d92dbebe87a6ff9895bdd30e7495873",
"rev": "722f15a77768eab13f01f5e5dce024bd2f61f270",
"type": "github"
},
"original": {
@@ -570,11 +572,11 @@
]
},
"locked": {
"lastModified": 1772459629,
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
"lastModified": 1777320127,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
"type": "github"
},
"original": {
@@ -622,11 +624,11 @@
]
},
"locked": {
"lastModified": 1772462885,
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
"lastModified": 1782554491,
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35",
"type": "github"
},
"original": {
@@ -647,11 +649,11 @@
]
},
"locked": {
"lastModified": 1772459870,
"narHash": "sha256-xxkK2Cvqxpf/4UGcJ/TyCwrvmiNWsKsJfFzHMp2bxis=",
"lastModified": 1784323413,
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "e63f3a79334dec49f8eb1691f66f18115df04085",
"rev": "5f03477ab3a005ff27c527486f551883535aea2f",
"type": "github"
},
"original": {
@@ -672,11 +674,11 @@
]
},
"locked": {
"lastModified": 1772459835,
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
"lastModified": 1777159683,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
"type": "github"
},
"original": {
@@ -701,11 +703,11 @@
]
},
"locked": {
"lastModified": 1772463520,
"narHash": "sha256-GIjASzYnV4fK19HnyJKmHyqyxHxIpjusK9foEA4Yo+4=",
"lastModified": 1778410714,
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "4e1933ae5602b350c5b6633f5c932549c9b8aca2",
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
"type": "github"
},
"original": {
@@ -716,15 +718,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1782723713,
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "nixos",
"lastModified": 1784356753,
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -748,11 +750,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1783148766,
"narHash": "sha256-uslt2pqShTIXDdAHRHv2QkYLsVdY8Oqwz0EA48/RSM8=",
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
@@ -764,11 +766,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"lastModified": 1789149629,
"narHash": "sha256-H6GwaZzZf+4npqv0tph94w9tZddSjFjmQrVsW0z78uk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"rev": "eaad089433ca2bb662274377d33df3d0e51ef28b",
"type": "github"
},
"original": {
@@ -778,102 +780,6 @@
"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": [
@@ -886,11 +792,11 @@
]
},
"locked": {
"lastModified": 1780281641,
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
"lastModified": 1785549842,
"narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=",
"owner": "nix-community",
"repo": "NUR",
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
"rev": "a9f987b57594e845e3e5cdd423b9a70846d70308",
"type": "github"
},
"original": {
@@ -902,18 +808,17 @@
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
@@ -931,11 +836,12 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_2",
"nixpkgs-pinned": "nixpkgs-pinned",
"nixpkgs-stable": "nixpkgs-stable",
"sops-nix": "sops-nix",
"stylix": "stylix",
"waybar": "waybar",
"yazi": "yazi",
"yazi-plugins": "yazi-plugins"
}
@@ -948,11 +854,11 @@
]
},
"locked": {
"lastModified": 1782875958,
"narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=",
"lastModified": 1785476452,
"narHash": "sha256-/CXwCFPS41rb/JI2VitKCgVK6V5E6/sfw5ke3B9zyVQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "13139aefa973f3d96c60c0fbab801de058ae25ca",
"rev": "6ef009bf4c4873cdc1a621826722bdea7c03e62c",
"type": "github"
},
"original": {
@@ -990,11 +896,11 @@
]
},
"locked": {
"lastModified": 1779851998,
"narHash": "sha256-UkkMh3bX9QW4Luqkm98nUaOqKWrU6i65mUnph3WeSSw=",
"lastModified": 1783320166,
"narHash": "sha256-l7C/OsjcnWDOk2K3ssj+SBduwL67LashjBqis9+t468=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6cddd512fa2bf7231f098d3a2f92f6e4cff71e0a",
"rev": "20ee15370c9256669d66968b89ee20a4b0a4e673",
"type": "github"
},
"original": {
@@ -1005,14 +911,16 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_6"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1783174389,
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
"lastModified": 1788914643,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
"type": "github"
},
"original": {
@@ -1030,7 +938,9 @@
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts",
"gnome-shell": "gnome-shell",
"nixpkgs": "nixpkgs_7",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"tinted-kitty": "tinted-kitty",
@@ -1039,11 +949,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1783307741,
"narHash": "sha256-c/FqXr+r16WM3ad/o+fzDcDSnqmItPkMbbJ/9FhO81Q=",
"lastModified": 1787771653,
"narHash": "sha256-DkkJSBOXWV/mja5Vy8az5g1KpZlsbUwlmH0BsQhowaQ=",
"owner": "danth",
"repo": "stylix",
"rev": "9837fb7867cc0356d86e02c3398ea876d43826c1",
"rev": "5e3809851f486e7fc7e84b40f174c74b60ecc784",
"type": "github"
},
"original": {
@@ -1069,15 +979,16 @@
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
"type": "github"
},
"original": {
"owner": "nix-systems",
"ref": "future-26.11",
"repo": "default",
"type": "github"
}
@@ -1116,11 +1027,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1777806186,
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
"lastModified": 1785153830,
"narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
"rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8",
"type": "github"
},
"original": {
@@ -1132,11 +1043,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1778379944,
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
"lastModified": 1785031658,
"narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
"rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257",
"type": "github"
},
"original": {
@@ -1148,11 +1059,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1778378178,
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
"lastModified": 1785030526,
"narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
"rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02",
"type": "github"
},
"original": {
@@ -1161,6 +1072,27 @@
"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": [
@@ -1189,11 +1121,11 @@
]
},
"locked": {
"lastModified": 1772476586,
"narHash": "sha256-N/ZwsRLULLpBP5ecvAUzNq8E/CgLRwPwSrHyY3xB5KM=",
"lastModified": 1784371182,
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "eb6c02a2ead882f3474f3d7f2fbe966b64ed5110",
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
"type": "github"
},
"original": {
@@ -1205,15 +1137,17 @@
"yazi": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_8",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1783245985,
"narHash": "sha256-dbtTQlBu2IMJF/mcwzOmzCWcJnDdWR6K/IfQj5j8oHo=",
"lastModified": 1789171366,
"narHash": "sha256-b7B5VQC96NJx0/q5pTVWqgGjyCiO0Cz1aPfVJcBXLfA=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "c92c4aba884c16d318a92f6bc0517ee0d2bcc414",
"rev": "b8973fb4c2b9b184aad03cfc717c1fefe4140c40",
"type": "github"
},
"original": {
@@ -1225,11 +1159,11 @@
"yazi-plugins": {
"flake": false,
"locked": {
"lastModified": 1783246245,
"narHash": "sha256-f4y952sUF/lrHMX6enQts/obk2DeatqAcaVHfjTD65k=",
"lastModified": 1788955781,
"narHash": "sha256-kwf9+KXOL5JXGDoEGdtwq+JujP8GVoOwDgz76FBM3xk=",
"owner": "yazi-rs",
"repo": "plugins",
"rev": "8cd50c622898d3ace3ca821f540241965308289a",
"rev": "58c4f4e2f4835cc9bf6751f39e3f7c574fc7f55a",
"type": "github"
},
"original": {
+55 -18
View File
@@ -19,35 +19,72 @@
};
inputs = {
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";
aagl = {
url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = {
url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
inputs.nixpkgs.follows = "nixpkgs";
};
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";
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";
helix-steel = {
url = "github:mattwparas/helix/steel-event-system";
inputs.nixpkgs.follows = "nixpkgs";
};
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
+24 -11
View File
@@ -1,27 +1,40 @@
{ pkgs, lib, ... }: {
wayland.windowManager.hyprland = let
{ 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 {
settings = {
wayland.windowManager.hyprland.settings = {
monitor = [
"DP-3 , 1920x1080@165, 0x0 , 1"
"HDMI-A-1, preferred , -1080x0, 1, transform, 1"
{
output = "DP-3";
mode = "1920x1080@165";
position = "0x0";
scale = 1;
}
{
output = "HDMI-A-1";
mode = "preferred";
position = "-1080x0";
scale = 1;
transform = 1;
}
];
workspace = [
"1, monitor:DP-3, default:true"
"10, monitor:HDMI-A-1, default:true"
workspace_rule = [
{ workspace = "1"; monitor = "DP-3"; default = true; }
{ workspace = "10"; monitor = "HDMI-A-1"; default = true; }
];
exec-once = [
"hyprctl dispatch workspace 1"
on = [
(hyprLua.onStart [
"hyprctl dispatch 'hl.dsp.focus({ 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"
])
];
};
};
}
File diff suppressed because one or more lines are too long
+6 -6
View File
@@ -1,15 +1,15 @@
{ pkgs, lib, ... }: {
wayland.windowManager.hyprland = let
{ 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 {
settings = {
exec-once = [
wayland.windowManager.hyprland.settings.on = [
(hyprLua.onStart [
"${lib.getExe pkgs.swww} img -o eDP-1 ${wallpaper}"
])
];
};
};
}
+4
View File
@@ -4,6 +4,7 @@
./disko.nix
./secrets/secrets.nix
./modules/grub.nix
./modules/syncthing.nix
../modules/thinkpad.nix
../modules/gpu/intel.nix
@@ -28,6 +29,9 @@
hardware.bluetooth.enable = true;
host.laptop = true;
hardware.usb-modeswitch.enable = true;
networking.modemmanager.enable = true;
programs.steam = {
enable = true;
gamescopeSession.enable = true;
+7 -6
View File
@@ -1,9 +1,10 @@
{
wayland.windowManager.hyprland = {
settings = {
monitor = [
"eDP-1, 1920x1080@60, 0x0, 1"
wayland.windowManager.hyprland.settings.monitor = [
{
output = "eDP-1";
mode = "1920x1080@60";
position = "0x0";
scale = 1;
}
];
};
};
}
+39
View File
@@ -0,0 +1,39 @@
{ 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,6 +6,15 @@
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
@@ -0,0 +1,14 @@
{
"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
@@ -0,0 +1,14 @@
{
"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"
}
}
+7 -3
View File
@@ -11,6 +11,10 @@
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";
@@ -23,9 +27,9 @@
};
fileSystems."/mnt/D" = {
device = "/dev/disk/by-label/Data";
fsType = "ntfs3";
options = ["umask=0022" "gid=100" "uid=1000" "nofail" ];
device = "/dev/mapper/storage";
fsType = "ext4";
options = [ "noatime" "nofail" ];
};
swapDevices = [ ];
+25 -19
View File
@@ -1,44 +1,50 @@
{ pkgs, lib, ...}: {
wayland.windowManager.hyprland = let
{ pkgs, lib, ... }:
let
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
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"
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"
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"
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 {
settings = {
wayland.windowManager.hyprland.settings = {
monitor = [
"DP-3, 3440x1440@165, auto-right, 1"
# "HDMI-A-1, 3840x2160@60, auto-left, 2"
"HDMI-A-1, disabled"
{
output = "DP-3";
mode = "3440x1440@165";
position = "auto-right";
scale = 1;
}
{
output = "HDMI-A-1";
disabled = true;
}
];
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}''
(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}"))
];
};
};
}
+14 -3
View File
@@ -11,8 +11,9 @@
settings = {
devices = {
Akeno = { id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX"; };
Koneko = { id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB"; };
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";
};
folders = {
@@ -33,7 +34,17 @@
"Music" = {
path = "/home/sweetbread/Music";
devices = [ "Akeno" "Koneko" ];
devices = [ "Akeno" "Koneko" "Inaho" ];
};
"Obsidian" = {
path = "/mnt/D/Obsidian";
devices = [ "Koneko" "Inaho" ];
};
"Documents" = {
path = "/home/sweetbread/Documents";
devices = [ "Inaho" ];
};
};
};
+7 -6
View File
@@ -1,9 +1,10 @@
{
wayland.windowManager.hyprland = {
settings = {
monitor = [
"eDP-1, 1920x1080@60, 0x0, 1"
wayland.windowManager.hyprland.settings.monitor = [
{
output = "eDP-1";
mode = "1920x1080@60";
position = "0x0";
scale = 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:kpwMe+9BsGJ/IUb7i3iadaV38y5/Yuqoct0mf7wI9ds=" ];
extra-trusted-public-keys = [ "main:tR2gNhCBJHKAlVgohPNHBhGnWL55tB8SxXmMWJe5lo8=" ];
experimental-features = [ "nix-command" "flakes" ];
};
networking.hostName = hostname;
+3 -3
View File
@@ -44,8 +44,8 @@
fprintd.enable = true;
logind.settings.Login = {
HandleLidSwitch = "suspend";
HandleLidSwitchExternalPower = "suspend";
HandleLidSwitch = "suspend-then-hibernate";
HandleLidSwitchExternalPower = "suspend-then-hibernate";
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 = 85;
STOP_CHARGE_THRESH_BAT0 = 95;
START_CHARGE_THRESH_BAT1 = 70;
STOP_CHARGE_THRESH_BAT1 = 85;
RESTORE_THRESHOLDS_ON_BAT = 1;
+1 -1
View File
@@ -15,6 +15,7 @@
./host/virtmanager.nix
./host/vpn.nix
./host/yggdrasil.nix
./host/mtp.nix
];
programs = {
@@ -48,7 +49,6 @@
};
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
pkgs-stable.bottles
bottles
pkgs-stable.heroic
prismlauncher
];
+5
View File
@@ -0,0 +1,5 @@
{ 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 = [ pkgs.python313Packages.psutil ];
libraries = ps: [ ps.psutil ];
flakeIgnore = [ "E302" "E305" "E501" "E701" ];
} /*py*/ ''
# https://habr.com/ru/articles/816765/
+73 -3
View File
@@ -1,4 +1,4 @@
{ inputs, pkgs, ... }: let
{ inputs, pkgs, lib, config, ... }: let
helixSteel =
inputs.helix-steel.packages.${pkgs.system}.default.overrideAttrs (old: {
cargoBuildFlags = (old.cargoBuildFlags or []) ++ [
@@ -68,11 +68,40 @@
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 = {
@@ -96,22 +125,51 @@ in {
};
keys.normal = {
space.C-c = {
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";
};
};
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)
(provide comment-h1
comment-h2
comment-h3
comment-divider
fasm-build
fasm-run
fasm-clean)
(define (comment-h1)
(div.insert-h1!))
@@ -124,9 +182,21 @@ 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")
'';
};
}
+121 -145
View File
@@ -1,6 +1,26 @@
{ 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
@@ -19,11 +39,9 @@ in {
wifitui
];
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
in {
wayland.windowManager.hyprland = {
enable = true;
configType = "hyprlang";
configType = "lua";
xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
@@ -32,60 +50,34 @@ in {
];
settings = {
"$mainMod" = "SUPER";
config = {
ecosystem = {
no_donation_nag = true;
no_update_news = true;
};
env = [
"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;
cursor.no_hardware_cursors = 1;
debug = {
disable_logs = false;
enable_stdout_logs = true;
};
general = {
"col.inactive_border" = lib.mkForce "rgba(00000000)";
general."col.inactive_border" = lib.mkForce "rgba(00000000)";
decoration = {
inactive_opacity = lib.mkDefault 0.95;
border_part_of_window = false;
};
decoration.inactive_opacity = lib.mkDefault .95;
decoration.border_part_of_window = false;
misc = {
focus_on_activate = true;
};
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;
};
touchpad.natural_scroll = false;
sensitivity = 0;
};
@@ -94,32 +86,59 @@ in {
workspace_swipe_distance = 200;
workspace_swipe_forever = 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" ]; }
];
gesture = [
"3, horizontal, workspace"
{
fingers = 3;
direction = "horizontal";
action = "workspace";
}
];
workspace = [
"w[t1], gapsout:0"
workspace_rule = [
{
workspace = "w[t1]";
gaps_out = 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"
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;
}
];
exec-once = lib.mkBefore [
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"
@@ -127,105 +146,62 @@ in {
"wl-clip-persist --clipboard both"
"clipse -listen"
"${lib.getExe' pkgs.udiskie "udiskie"}"
])
];
bind = [
"$mainMod, V, exec, ghostty --title=clipse -e clipse"
(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, 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 + 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}\" })")
# Move focus with mainMod + arrow keys
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
(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}\" })")
# Moving windows
"$mainMod SHIFT, left, swapwindow, l"
"$mainMod SHIFT, right, swapwindow, r"
"$mainMod SHIFT, up, swapwindow, u"
"$mainMod SHIFT, down, swapwindow, 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\" })")
# 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 "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%-"))
# 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 "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"))
# 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"
(bind "XF86MonBrightnessDown" (exec "${lib.getExe pkgs.brightnessctl} set 5%-"))
(bind "XF86MonBrightnessUp" (exec "${lib.getExe pkgs.brightnessctl} set +5%"))
"$mainMod SHIFT, F, fullscreen"
(bindWithFlags "XF86AudioRaiseVolume" (exec "pamixer -i 5") { repeating = true; })
(bindWithFlags "XF86AudioLowerVolume" (exec "pamixer -d 5") { repeating = true; })
# Scroll through existing workspaces with mainMod + scroll
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
(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; })
# 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"
(bindWithFlags "SUPER + mouse:272" "hl.dsp.window.drag()" { mouse = true; })
(bindWithFlags "SUPER + mouse:273" "hl.dsp.window.resize()" { mouse = true; })
];
};
};
+35
View File
@@ -0,0 +1,35 @@
{ 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"
))
];
};
}
+28 -17
View File
@@ -1,21 +1,32 @@
{
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')"
{ lib, ... }:
let
hyprLua = import ./lua.nix { inherit lib; };
inherit (hyprLua) bind bindWithFlags;
"$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"
];
resetZoom = ''function()
hl.config({ cursor = { zoom_factor = 1 } })
end'';
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')"
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; })
];
};
}
+6 -2
View File
@@ -1,7 +1,11 @@
{ config, pkgs, lib, ... }:
let
hyprLua = import ./hyprland/lua.nix { inherit lib; };
in
lib.mkIf config.programs.hyprlock.enable {
wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ];
wayland.windowManager.hyprland.settings.on = [
(hyprLua.onStart [ "hyprlock" ])
];
programs.hyprlock = let
image = pkgs.fetchurl {
+1
View File
@@ -10,5 +10,6 @@
thunderbird
libreoffice
pear-desktop
( pkgs.callPackage ../../../drv/mumble.nix {} )
];
}
-32
View File
@@ -1,32 +0,0 @@
{ 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;
})
];
}
+5 -2
View File
@@ -1,4 +1,7 @@
{
{ lib, ... }:
let
hyprLua = import ./hyprland/lua.nix { inherit lib; };
in {
services = {
walker = {
enable = true;
@@ -9,6 +12,6 @@
};
wayland.windowManager.hyprland.settings.bind = [
"$mainMod, D, exec, walker"
(hyprLua.bind "SUPER + D" (hyprLua.exec "walker"))
];
}
+20 -11
View File
@@ -18,6 +18,8 @@
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 [ ];
@@ -53,16 +55,23 @@ in {
};
};
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}"
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"))
];
bind = [
", XF86AudioMute, exec, ${lib.getExe volumeStep} mute"
];
};
}
+54 -7
View File
@@ -188,10 +188,22 @@ in {
Exec=${lib.getExe fileManager1}
'';
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"
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 ];
}
];
programs.yazi = {
@@ -250,6 +262,11 @@ in {
toggle-pane
;
gvfs = {
package = gvfs;
setup = true;
};
full-border = {
package = yaziPlugin "full-border";
setup = true;
@@ -261,7 +278,7 @@ in {
};
git = {
package = git;
package = yaziPlugin "git";
setup = true;
};
};
@@ -300,9 +317,39 @@ in {
desc = "Chmod on selected files";
}
{
on = ["M"];
on = [ "M" "b" ];
run = "plugin mount";
desc = "Open mount menu";
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";
}
{
on = [ "<C-n>" ];
+1
View File
@@ -74,6 +74,7 @@
eval "$(zoxide init zsh)"
source "$(fzf-share)/key-bindings.zsh"
source "$(fzf-share)/completion.zsh"
nr() { nix run "nixpkgs#$1" -- "''${@:2}" }
'';
envExtra = ''
+2 -1
View File
@@ -8,8 +8,9 @@
home.packages = with pkgs; [
nautilus
vscode
python3
pkgs-pinned.jetbrains.pycharm-community
pkgs-pinned.jetbrains.pycharm-oss
aseprite
krita
google-chrome
+38 -26
View File
@@ -1,16 +1,22 @@
{ pkgs, lib, config, inputs, ... }: {
wayland.windowManager.hyprland = let
{ pkgs, lib, config, ... }:
let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
in {
settings = {
wayland.windowManager.hyprland.settings = {
config = {
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgba(${accent}ee) rgba(${colors.base0C}ee) 45deg";
"col.inactive_border" = "rgba(${colors.base05}aa)";
"col.active_border" = lib.mkForce {
colors = [
"rgba(${accent}ee)"
"rgba(${colors.base0C}ee)"
];
angle = 45;
};
layout = "dwindle";
};
@@ -32,25 +38,9 @@
};
};
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;
};
animations.enabled = true;
dwindle.smart_split = true;
master.new_status = "master";
misc = {
@@ -58,10 +48,32 @@
animate_mouse_windowdragging = true;
enable_swallow = true;
};
};
bind = [
''$mainMod Shift, S, exec, ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -''
curve = {
_args = [
"myBezier"
{
type = "bezier";
points = [
[ 0.05 0.9 ]
[ 0.1 1.05 ]
];
}
];
};
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 -''))
];
};
}
+9 -1
View File
@@ -1,4 +1,11 @@
{ osConfig, config, pkgs, lib, ... }: {
{
osConfig,
config,
inputs,
pkgs,
lib,
...
}: {
home.packages = with pkgs; [
font-awesome
nerd-fonts.symbols-only
@@ -10,6 +17,7 @@
programs.waybar = {
enable = true;
systemd.enable = true;
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
settings.mainBar = {
modules-center = [
+1 -3
View File
@@ -1,7 +1,4 @@
{ pkgs, ... }: {
imports = [
../../modules/user/packages/tex.nix
];
programs.hyprlock.enable = true;
home.packages = with pkgs; [
android-studio
@@ -10,6 +7,7 @@
enableWidevine = true;
})
weechat
insomnia
];
xdg.mimeApps = {
+45 -30
View File
@@ -2,6 +2,7 @@
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 ];
@@ -126,12 +127,18 @@
'';
in {
settings = {
config = {
general = {
gaps_in = 2;
gaps_out = 10;
border_size = 3;
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${accent}aa) 45deg";
"col.active_border" = lib.mkForce {
colors = [
"rgba(${colors.base0C}aa)"
"rgba(${accent}aa)"
];
angle = 45;
};
layout = "dwindle";
};
@@ -148,25 +155,8 @@
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"
];
};
dwindle = {
smart_split = true;
};
animations.enabled = true;
dwindle.smart_split = true;
master.new_status = "master";
misc = {
@@ -174,21 +164,46 @@
animate_mouse_windowdragging = true;
enable_swallow = true;
};
};
exec-once = [
"${lib.getExe wallpaper_changer}"
curve = {
_args = [
"myBezier"
{
type = "bezier";
points = [
[ 0.05 0.9 ]
[ 0.1 1.05 ]
];
}
];
};
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"; }
];
workspace = [
"2, layout:scrolling"
on = [
(hyprLua.onStart [ "${lib.getExe wallpaper_changer}" ])
];
workspace_rule = [
{
workspace = "2";
layout = "scrolling";
}
];
bind = [
" , 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}"
(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}"))
];
};
};
+66 -8
View File
@@ -1,17 +1,28 @@
{ osConfig, config, pkgs, lib, ... }: {
{
osConfig,
config,
inputs,
pkgs,
lib,
...
}: {
home.packages = with pkgs; [
playerctl
cava
pulsemixer
libnotify
monocraft
font-awesome
nerd-fonts.symbols-only
];
programs.waybar = {
programs.waybar = let
multibat = osConfig.networking.hostName == "Inaho";
in {
enable = true;
systemd.enable = true;
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
settings.mainBar = {
spacing = 8;
@@ -31,7 +42,7 @@
"tray"
"group/system"
"pulseaudio"
"battery"
( if multibat then "group/bat" else "battery" )
"clock"
];
@@ -71,6 +82,19 @@
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 = {
@@ -82,6 +106,33 @@
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" = {
@@ -249,8 +300,9 @@
}
}
#system .drawer-child > * {
margin-right: 4px
#system,
#bat {
& .drawer-child > * { margin-right: 4px }
}
#keyboard-state label.locked {
@@ -259,7 +311,6 @@
}
#battery {
&.plugged { color: ${colors.base0D}; }
&.charging { color: ${accent}; }
&:not(.charging) {
&.warning {
@@ -280,6 +331,10 @@
color: ${colors.base00};
background: ${accent};
}
&.plugged {
color: ${colors.base00};
background: ${colors.base0D};
}
}
@keyframes blink {
@@ -296,7 +351,10 @@
in builtins.readFile cssFile;
};
wayland.windowManager.hyprland.settings.layerrule = [
"blur on, match:namespace waybar"
wayland.windowManager.hyprland.settings.layer_rule = [
{
match.namespace = "waybar";
blur = true;
}
];
}