diff --git a/flake.lock b/flake.lock
index 47792ee..9f7fb65 100644
--- a/flake.lock
+++ b/flake.lock
@@ -61,11 +61,11 @@
]
},
"locked": {
- "lastModified": 1755632680,
- "narHash": "sha256-EjaD8+d7AiAV2fGRN4NTMboWDwk8szDfwbzZ8DL1PhQ=",
+ "lastModified": 1755946532,
+ "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm",
"repo": "aquamarine",
- "rev": "50637ed23e962f0db294d6b0ef534f37b144644b",
+ "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github"
},
"original": {
@@ -139,11 +139,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1756087945,
- "narHash": "sha256-+abiBhtddmBlNrxko1r4Z6oKSKszBkzemrt2k//NXGk=",
+ "lastModified": 1756977824,
+ "narHash": "sha256-lIO20exA0v0olNE/BFlwL1W7XiMHCAaUCUafvp3Ec7A=",
"owner": "nix-community",
"repo": "emacs-overlay",
- "rev": "9e3a5b9a0c79e66b4a1e2490be606a058a6712fe",
+ "rev": "4478783c30738c4641fc82e4e9077aab81e90cb2",
"type": "github"
},
"original": {
@@ -258,11 +258,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
- "lastModified": 1754487366,
- "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "lastModified": 1756770412,
+ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -297,11 +297,11 @@
]
},
"locked": {
- "lastModified": 1754487366,
- "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "lastModified": 1756770412,
+ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -544,11 +544,11 @@
]
},
"locked": {
- "lastModified": 1756022458,
- "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=",
+ "lastModified": 1756954499,
+ "narHash": "sha256-Pg4xBHzvzNY8l9x/rLWoJMnIR8ebG+xeU+IyqThIkqU=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740",
+ "rev": "ed1a98c375450dfccf427adacd2bfd1a7b22eb25",
"type": "github"
},
"original": {
@@ -602,11 +602,11 @@
]
},
"locked": {
- "lastModified": 1754305013,
- "narHash": "sha256-u+M2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4=",
+ "lastModified": 1755678602,
+ "narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
"owner": "hyprwm",
"repo": "hyprgraphics",
- "rev": "4c1d63a0f22135db123fc789f174b89544c6ec2d",
+ "rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
"type": "github"
},
"original": {
@@ -631,11 +631,11 @@
"xdph": "xdph"
},
"locked": {
- "lastModified": 1756069181,
- "narHash": "sha256-FPur4yuDwzM9uHhPFJW6KD3Xys5fz0xmRmZqFfWQD3Y=",
+ "lastModified": 1756977414,
+ "narHash": "sha256-HBiLw2Ev+eKOjfwPa0nyL8jIXkSQcwyWP/QPAlWdks8=",
"ref": "refs/heads/main",
- "rev": "0ed880f3f7dc2c746bf3590eee266c010d737558",
- "revCount": 6393,
+ "rev": "4e785d12a91117cd5b255052799d1a051d9976c0",
+ "revCount": 6409,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -798,11 +798,11 @@
]
},
"locked": {
- "lastModified": 1755416120,
- "narHash": "sha256-PosTxeL39YrLvCX5MqqPA6NNWQ4T5ea5K55nmN7ju9Q=",
+ "lastModified": 1756117388,
+ "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "e631ea36ddba721eceda69bfee6dd01068416489",
+ "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github"
},
"original": {
@@ -847,11 +847,11 @@
"nixpkgs-25_05": "nixpkgs-25_05"
},
"locked": {
- "lastModified": 1755996068,
- "narHash": "sha256-+KP2Lu813lX0sfKTP6Nc4ulaE/EDIDmWUQVX9S850Yg=",
+ "lastModified": 1756130152,
+ "narHash": "sha256-3qcN28djoBqqhEqOv8ve3/+wD0lLR2YCVV1EZ4SYfjo=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
- "rev": "cc5f1804270d138f268a6f2d64c383fb4cf59ad0",
+ "rev": "b49ae46f226430854102c207fdcb55e2de8e884e",
"type": "gitlab"
},
"original": {
@@ -884,11 +884,11 @@
"neovim-src": {
"flake": false,
"locked": {
- "lastModified": 1756079028,
- "narHash": "sha256-u58rAgWhxtfr3G6ol2aTW20ZbL9sJmaIX4lzo+tukXc=",
+ "lastModified": 1756942103,
+ "narHash": "sha256-9WzJiN5FLcZhNoMR/xM2ENDUOPafO/4dXgWVzzq3TTY=",
"owner": "neovim",
"repo": "neovim",
- "rev": "bccec33f5a011fac7f0a90260c72c2ac2f4c334f",
+ "rev": "de950f827236e2c7447bd776c2509faa39c27b63",
"type": "github"
},
"original": {
@@ -903,11 +903,11 @@
"nixpkgs": "nixpkgs_9"
},
"locked": {
- "lastModified": 1756087120,
- "narHash": "sha256-VP7wb0KZLVX+kK0nmvIUcMf1WbGl/PdUpNPxlkqBR6A=",
+ "lastModified": 1756950352,
+ "narHash": "sha256-CkNlcUeNlDmxF1GJwEQg3aIBSCihnFcAqCwBjUQGqNY=",
"owner": "fufexan",
"repo": "nix-gaming",
- "rev": "0ca8d5927960555f78b495a14aab4e2be08f202b",
+ "rev": "64ac07fae89f297beab704dce70038cdbda55c25",
"type": "github"
},
"original": {
@@ -969,11 +969,11 @@
},
"nixpkgs-lib": {
"locked": {
- "lastModified": 1753579242,
- "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
- "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
@@ -1030,11 +1030,11 @@
},
"nixpkgs_11": {
"locked": {
- "lastModified": 1756035328,
- "narHash": "sha256-vC7SslUBCtdT3T37ZH3PLIWYmTkSeppL5BJJByUjYCM=",
+ "lastModified": 1756819007,
+ "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "6b0b1559e918d4f7d1df398ee1d33aeac586d4d6",
+ "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github"
},
"original": {
@@ -1046,11 +1046,11 @@
},
"nixpkgs_12": {
"locked": {
- "lastModified": 1755829505,
- "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=",
+ "lastModified": 1756819007,
+ "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4",
+ "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github"
},
"original": {
@@ -1078,11 +1078,11 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1755615617,
- "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
+ "lastModified": 1756787288,
+ "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "20075955deac2583bb12f07151c2df830ef346b4",
+ "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
@@ -1142,11 +1142,11 @@
},
"nixpkgs_7": {
"locked": {
- "lastModified": 1755186698,
- "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
+ "lastModified": 1756266583,
+ "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
+ "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
"type": "github"
},
"original": {
@@ -1174,11 +1174,11 @@
},
"nixpkgs_9": {
"locked": {
- "lastModified": 1755829505,
- "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=",
+ "lastModified": 1756536218,
+ "narHash": "sha256-ynQxPVN2FIPheUgTFhv01gYLbaiSOS7NgWJPm9LF9D0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4",
+ "rev": "a918bb3594dd243c2f8534b3be01b3cb4ed35fd1",
"type": "github"
},
"original": {
@@ -1199,11 +1199,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
- "lastModified": 1756080870,
- "narHash": "sha256-kxClZk/T/Z3vGCo2At5n/clqQY7RwPULkOdtPEkkzmI=",
+ "lastModified": 1756944329,
+ "narHash": "sha256-/q95og9Q3PVSHTS3X0Hy+1IIOePkweOxY5id++rkOXU=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
- "rev": "7a6894dbb8e81e33fd437b2bf96f26aab848cd2e",
+ "rev": "a3e7ad344421aeb5d47a3ce1eef989dc4d16af49",
"type": "github"
},
"original": {
@@ -1222,11 +1222,11 @@
]
},
"locked": {
- "lastModified": 1755446520,
- "narHash": "sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW+7uSsOUM=",
+ "lastModified": 1755960406,
+ "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "4b04db83821b819bbbe32ed0a025b31e7971f22e",
+ "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
"type": "github"
},
"original": {
@@ -1399,11 +1399,11 @@
]
},
"locked": {
- "lastModified": 1755934250,
- "narHash": "sha256-CsDojnMgYsfshQw3t4zjRUkmMmUdZGthl16bXVWgRYU=",
+ "lastModified": 1756662192,
+ "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "74e1a52d5bd9430312f8d1b8b0354c92c17453e5",
+ "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4",
"type": "github"
},
"original": {
diff --git a/home/natto/config/hypr/hyprland.conf b/home/natto/config/hypr/hyprland.conf
deleted file mode 100644
index adba0df..0000000
--- a/home/natto/config/hypr/hyprland.conf
+++ /dev/null
@@ -1,173 +0,0 @@
-monitor=, highrr, auto, 1
-
-input {
- kb_layout = us,us
- kb_variant = colemak_dh,
- kb_model =
- kb_options = grp:rctrl_toggle
- kb_rules =
-
- follow_mouse = 1
-
- touchpad {
- natural_scroll = yes
- scroll_factor = 0.4
- }
-
- repeat_delay = 300
- accel_profile = flat
-}
-
-general {
- gaps_in = 5
- gaps_out = 10
- border_size = 2
-
- # home-manager is going to override these
- col.active_border = rgba(b4befeee) rgba(f5c2e7ff) 135deg
- col.inactive_border = rgba(595959ff)
-
- layout = dwindle
-}
-
-decoration {
- rounding = 1
- inactive_opacity = 0.8
-
- shadow {
- enabled = true
- }
-
- blur {
- enabled = true
- size = 8
- new_optimizations = true
- xray = true
- }
-}
-
-animations {
- enabled = yes
-
- bezier =overshot,0.01, 0.9, 0.1, 1.05
- bezier =easeoutexpo,0.16, 1, 0.3, 1
-
- animation = windows, 1, 7, overshot, popin 50%
- animation = windowsOut, 1, 7, easeoutexpo, popin 50%
- animation = border, 1, 10, default
- animation = fade, 1, 7, default
- animation = workspaces, 1, 6, overshot
-}
-
-cursor {
- no_hardware_cursors = true
-}
-
-dwindle {
- pseudotile = yes
- preserve_split = yes
-}
-
-gestures {
- workspace_swipe = off
-}
-
-misc {
- disable_hyprland_logo = true
-}
-
-$mainMod=SUPER
-
-binde=$mainMod, RETURN, exec, foot
-bindr=SUPER, D, exec, pkill tofi || tofi-drun | xargs hyprctl dispatch exec --
-bindr=SUPER SHIFT, D, exec, pkill tofi || tofi-run --require-match=false | xargs hyprctl dispatch exec --
-
-$playerctl=playerctl -p 'playerctld,%any'
-
-bind=$mainMod, P, exec, $playerctl play-pause
-bind=, XF86AudioPlay, exec, $playerctl play-pause
-bind=, XF86AudioNext, exec, $playerctl position 5+
-bind=, XF86AudioPrev, exec, $playerctl position 5-
-bind=$mainMod, XF86AudioNext, exec, $playerctl next
-bind=$mainMod, XF86AudioPrev, exec, $playerctl previous
-binde=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
-binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
-bind=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
-
-binde=, XF86MonBrightnessUp, exec, light -A 5
-binde=, XF86MonBrightnessDown, exec, light -U 5
-
-bind=$mainMod SHIFT, F1, exec, setxkbmap us colemak_dh
-bind=$mainMod SHIFT, F2, exec, setxkbmap us basic
-bind=$mainMod SHIFT, F3, exec, setxkbmap in deva
-bind=$mainMod SHIFT, F4, exec, setxkbmap in guru
-bind=$mainMod SHIFT, F5, exec, setxkbmap colemak dhz
-
-bind=, PRINT, exec, grimblast --notify copysave screen
-bind=SHIFT, PRINT, exec, grimblast --notify copysave area
-
-binde=$mainMod SHIFT, Q, killactive,
-bind=$mainMod ALT, f, exit,
-bind=$mainMod SHIFT, t, pseudo,
-bind=$mainMod, f, fullscreen,
-bind=$mainMod, t, togglefloating,
-
-bindm=SUPER, mouse:272, movewindow
-bindm=SUPER, mouse:273, resizewindow
-
-bind=$mainMod, left, movefocus, l
-bind=$mainMod, h, movefocus, l
-bind=$mainMod, right, movefocus, r
-bind=$mainMod, l, movefocus, r
-bind=$mainMod, up, movefocus, u
-bind=$mainMod, k, movefocus, u
-bind=$mainMod, down, movefocus, d
-bind=$mainMod, j, movefocus, d
-
-binde=$mainMod SHIFT, left, movewindow, l
-binde=$mainMod SHIFT, h, movewindow, l
-binde=$mainMod SHIFT, right, movewindow, r
-binde=$mainMod SHIFT, l, movewindow, r
-binde=$mainMod SHIFT, up, movewindow, u
-binde=$mainMod SHIFT, k, movewindow, u
-binde=$mainMod SHIFT, down, movewindow, d
-binde=$mainMod SHIFT, j, movewindow, d
-
-binde=SHIFT ALT, left, resizeactive, -10 0
-binde=SHIFT ALT, h, resizeactive, -10 0
-binde=SHIFT ALT, right, resizeactive, 10 0
-binde=SHIFT ALT, l, resizeactive, 10 0
-binde=SHIFT ALT, up, resizeactive, 0 -10
-binde=SHIFT ALT, k, resizeactive, 0 -10
-binde=SHIFT ALT, down, resizeactive, 0 10
-binde=SHIFT ALT, j, resizeactive, 0 10
-
-bind=$mainMod, 1, workspace, 1
-bind=$mainMod, 2, workspace, 2
-bind=$mainMod, 3, workspace, 3
-bind=$mainMod, 4, workspace, 4
-bind=$mainMod, 5, workspace, 5
-bind=$mainMod, 6, workspace, 6
-bind=$mainMod, 7, workspace, 7
-bind=$mainMod, 8, workspace, 8
-bind=$mainMod, 9, workspace, 9
-bind=$mainMod, 0, workspace, 10
-
-bind=$mainMod SHIFT, 1, movetoworkspacesilent, 1
-bind=$mainMod SHIFT, 2, movetoworkspacesilent, 2
-bind=$mainMod SHIFT, 3, movetoworkspacesilent, 3
-bind=$mainMod SHIFT, 4, movetoworkspacesilent, 4
-bind=$mainMod SHIFT, 5, movetoworkspacesilent, 5
-bind=$mainMod SHIFT, 6, movetoworkspacesilent, 6
-bind=$mainMod SHIFT, 7, movetoworkspacesilent, 7
-bind=$mainMod SHIFT, 8, movetoworkspacesilent, 8
-bind=$mainMod SHIFT, 9, movetoworkspacesilent, 9
-bind=$mainMod SHIFT, 0, movetoworkspacesilent, 10
-
-bind=$mainMod SHIFT, comma, focusmonitor, -1
-bind=$mainMod SHIFT, period, focusmonitor, +1
-
-bind=CTRL ALT, r, pass, ^(com\.obsproject\.Studio)$
-
-exec-once=eww open bar
-exec-once=swaybg -i ~/Wallpapers/current.*
diff --git a/home/natto/default.nix b/home/natto/default.nix
index cc69d9b..3c2660e 100644
--- a/home/natto/default.nix
+++ b/home/natto/default.nix
@@ -28,6 +28,9 @@
# when wayland
./wayland.nix
+ ./hyprpaper.nix
+ ./hyprlock.nix
+ ./hypridle.nix
./hyprland.nix
./foot.nix
./tofi.nix
diff --git a/home/natto/eww/default.nix b/home/natto/eww/default.nix
index 9dfd110..d8990bf 100644
--- a/home/natto/eww/default.nix
+++ b/home/natto/eww/default.nix
@@ -26,24 +26,23 @@
};
Service =
let
- deps =
- [
- config.programs.eww.package
- ]
- ++ lib.optional config.wayland.windowManager.hyprland.enable config.wayland.windowManager.hyprland.package
- ++ (with pkgs; [
- coreutils
- bash
- jq
- less
- gawk
- socat
- playerctl
- networkmanager
- iwgtk
- wireplumber
- ])
- ++ lib.optional config.laptop pkgs.light;
+ deps = [
+ config.programs.eww.package
+ ]
+ ++ lib.optional config.wayland.windowManager.hyprland.enable config.wayland.windowManager.hyprland.package
+ ++ (with pkgs; [
+ coreutils
+ bash
+ jq
+ less
+ gawk
+ socat
+ playerctl
+ networkmanager
+ iwgtk
+ wireplumber
+ ])
+ ++ lib.optional config.laptop pkgs.light;
in
{
Type = "simple";
diff --git a/home/natto/hypridle.nix b/home/natto/hypridle.nix
new file mode 100644
index 0000000..4532f84
--- /dev/null
+++ b/home/natto/hypridle.nix
@@ -0,0 +1,29 @@
+{
+ pkgs,
+ config,
+ ...
+}:
+let
+ lock = "${pkgs.systemd}/bin/loginctl lock-session";
+ timeout = 300;
+in
+{
+ # screen idle
+ services.hypridle = {
+ enable = true;
+
+ settings = {
+ general = {
+ before_sleep_cmd = lock;
+ lock_cmd = "pgrep hyprlock || ${config.programs.hyprlock.package}/bin/hyprlock";
+ };
+
+ listener = [
+ {
+ timeout = timeout;
+ on-timeout = lock;
+ }
+ ];
+ };
+ };
+}
diff --git a/home/natto/hyprland.nix b/home/natto/hyprland.nix
index e32a9ad..0f69084 100644
--- a/home/natto/hyprland.nix
+++ b/home/natto/hyprland.nix
@@ -2,6 +2,7 @@
pkgs,
inputs,
config,
+ lib,
conf,
...
}:
@@ -10,32 +11,197 @@
windowManager = {
hyprland = {
enable = true;
+
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
+
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
+
xwayland = {
enable = true;
};
- extraConfig =
- (builtins.readFile ./config/hypr/hyprland.conf)
- + (with config.home.pointerCursor; ''
- exec-once=hyprctl setcursor ${name} ${toString size}
- '')
- + (with conf.colors.argb { a = "ee"; }; ''
- general {
- col.active_border = 0x${mauve} 0x${flamingo} 135deg
- col.inactive_border = 0x${surface0}
- }
- '');
+
+ settings = {
+ monitor = ", highrr, auto, 1";
+
+ input = {
+ kb_layout = "us,us";
+ kb_variant = "colemak_dh";
+ kb_model = "";
+ kb_options = "grp:rctrl_toggle";
+ kb_rules = "";
+ repeat_delay = 300;
+ accel_profile = "flat";
+ follow_mouse = true;
+
+ touchpad = {
+ natural_scroll = true;
+ scroll_factor = 0.4;
+ };
+ };
+
+ general = with conf.colors.argb { a = "ee"; }; {
+ gaps_in = 5;
+ gaps_out = 10;
+ border_size = 2;
+ layout = "dwindle";
+ "col.active_border" = "0x${mauve} 0x${flamingo} 135deg";
+ "col.inactive_border" = "0x${surface0}";
+ };
+
+ decoration = {
+ rounding = 1;
+ inactive_opacity = 0.8;
+
+ shadow = {
+ enabled = true;
+ };
+
+ blur = {
+ enabled = true;
+ size = 8;
+ new_optimizations = true;
+ xray = true;
+ };
+ };
+
+ animations = {
+ enabled = true;
+
+ bezier = [
+ "overshot,0.01,0.9,0.1,1.05"
+ "easeoutexpo,0.16,1,0.3,1"
+ ];
+
+ animation = [
+ "windows,1,7,overshot,popin 50%"
+ "windowsOut,1,7,easeoutexpo,popin 50%"
+ "border,1,10,default"
+ "fade,1,7,default"
+ "workspaces,1,6,overshot"
+ ];
+ };
+
+ cursor = {
+ no_hardware_cursors = true;
+ };
+
+ dwindle = {
+ pseudotile = true;
+ preserve_split = true;
+ };
+
+ misc = {
+ disable_hyprland_logo = true;
+ };
+
+ "$mod" = "SUPER";
+
+ bind =
+ let
+ playerctl = "playerctl -p 'playerctld,%any'";
+ in
+ [
+ # Hyprland operations
+ "$mod ALT, f, exit,"
+ "$mod SHIFT, t, pseudo,"
+ "$mod, f, fullscreen,"
+ "$mod, t, togglefloating,"
+ "$mod, left, movefocus, l"
+ "$mod, h, movefocus, l"
+ "$mod, right, movefocus, r"
+ "$mod, l, movefocus, r"
+ "$mod, up, movefocus, u"
+ "$mod, k, movefocus, u"
+ "$mod, down, movefocus, d"
+ "$mod, j, movefocus, d"
+ "$mod, 1, workspace, 1"
+ "$mod, 2, workspace, 2"
+ "$mod, 3, workspace, 3"
+ "$mod, 4, workspace, 4"
+ "$mod, 5, workspace, 5"
+ "$mod, 6, workspace, 6"
+ "$mod, 7, workspace, 7"
+ "$mod, 8, workspace, 8"
+ "$mod, 9, workspace, 9"
+ "$mod, 0, workspace, 10"
+ "$mod SHIFT, 1, movetoworkspacesilent, 1"
+ "$mod SHIFT, 2, movetoworkspacesilent, 2"
+ "$mod SHIFT, 3, movetoworkspacesilent, 3"
+ "$mod SHIFT, 4, movetoworkspacesilent, 4"
+ "$mod SHIFT, 5, movetoworkspacesilent, 5"
+ "$mod SHIFT, 6, movetoworkspacesilent, 6"
+ "$mod SHIFT, 7, movetoworkspacesilent, 7"
+ "$mod SHIFT, 8, movetoworkspacesilent, 8"
+ "$mod SHIFT, 9, movetoworkspacesilent, 9"
+ "$mod SHIFT, 0, movetoworkspacesilent, 10"
+ "$mod SHIFT, comma, focusmonitor, -1"
+ "$mod SHIFT, period, focusmonitor, +1"
+
+ # Launchers
+ "$mod, RETURN, exec, foot"
+ "$mod, D, exec, pkill tofi || tofi-drun | xargs hyprctl dispatch exec --"
+ "$mod SHIFT, D, exec, pkill tofi || tofi-run --require-match=false | xargs hyprctl dispatch exec --"
+
+ # Media
+ ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
+ ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
+ ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
+
+ # Backlight
+ ", XF86MonBrightnessUp, exec, light -A 5"
+ ", XF86MonBrightnessDown, exec, light -U 5"
+
+ # XWayland Keymaps
+ "$mod SHIFT, F1, exec, setxkbmap us colemak_dh"
+ "$mod SHIFT, F2, exec, setxkbmap us basic"
+
+ # Screenshot
+ ", PRINT, exec, grimblast --notify copysave screen"
+ "SHIFT, PRINT, exec, grimblast --notify copysave area"
+
+ # Playerctl
+ "$mod, P, exec, ${playerctl} play-pause"
+ ", XF86AudioPlay, exec, ${playerctl} play-pause"
+ ", XF86AudioNext, exec, ${playerctl} position 5+"
+ ", XF86AudioPrev, exec, ${playerctl} position 5-"
+ "$mod, XF86AudioNext, exec, ${playerctl} next"
+ "$mod, XF86AudioPrev, exec, ${playerctl} previous"
+ ];
+
+ binde = [
+ # Hyprland operations
+ "$mod SHIFT, Q, killactive,"
+ "$mod SHIFT, left, movewindow, l"
+ "$mod SHIFT, h, movewindow, l"
+ "$mod SHIFT, right, movewindow, r"
+ "$mod SHIFT, l, movewindow, r"
+ "$mod SHIFT, up, movewindow, u"
+ "$mod SHIFT, k, movewindow, u"
+ "$mod SHIFT, down, movewindow, d"
+ "$mod SHIFT, j, movewindow, d"
+ "SHIFT ALT, left, resizeactive, -10 0"
+ "SHIFT ALT, h, resizeactive, -10 0"
+ "SHIFT ALT, right, resizeactive, 10 0"
+ "SHIFT ALT, l, resizeactive, 10 0"
+ "SHIFT ALT, up, resizeactive, 0 -10"
+ "SHIFT ALT, k, resizeactive, 0 -10"
+ "SHIFT ALT, down, resizeactive, 0 10"
+ "SHIFT ALT, j, resizeactive, 0 10"
+ ];
+
+ bindm = [
+ # Mouse
+ "$mod, mouse:272, movewindow"
+ "$mod, mouse:273, resizewindow"
+ "$mod ALT, mouse:272, resizewindow"
+ ];
+
+ exec-once = [
+ (with config.home.pointerCursor; "hyprctl setcursor ${name} ${toString size} ")
+ ]
+ ++ (with config.programs; lib.optional eww.enable "${eww.package}/bin/eww open bar");
+ };
};
};
};
-
- home.packages = with pkgs; [
- grim
- slurp
- inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
- wl-clipboard
- swayimg
- swaybg
- ];
}
diff --git a/home/natto/hyprlock.nix b/home/natto/hyprlock.nix
new file mode 100644
index 0000000..990aae9
--- /dev/null
+++ b/home/natto/hyprlock.nix
@@ -0,0 +1,80 @@
+{
+ config,
+ pkgs,
+ conf,
+ ...
+}:
+{
+ programs.hyprlock = {
+ enable = true;
+
+ settings = with conf.colors.argb { a = "ee"; }; {
+ general = {
+ hide_cursor = false;
+ };
+
+ background = [
+ {
+ monitor = "";
+ path = "screenshot";
+ blur_passes = 2;
+ }
+ ];
+
+ input-field = [
+ {
+ monitor = "";
+ size = "300, 60";
+ outline_thickness = 4;
+ valign = "center";
+ halign = "center";
+
+ font_color = "0x${text}";
+ outer_color = "0x${mauve}";
+ inner_color = "0x${surface0}";
+ check_color = "0x${blue}";
+ fail_color = "0x${red}";
+ capslock_color = "0x${yellow}";
+
+ fade_on_empty = false;
+ hide_input = false;
+ placeholder_text = "Logged in as $USER";
+ fail_text = "Fail! ($ATTEMPTS)";
+
+ dots_spacing = 0.2;
+ dots_center = true;
+ }
+ ];
+
+ label = [
+ {
+ monitor = "";
+ text = "Layout: $LAYOUT";
+ font_size = 25;
+ color = "0x${text}";
+ position = "2%, -2%";
+ valign = "top";
+ halign = "left";
+ }
+ {
+ monitor = "";
+ text = "$TIME";
+ font_size = 90;
+ color = "0x${text}";
+ position = "-2%, 0";
+ valign = "top";
+ halign = "right";
+ }
+ {
+ monitor = "";
+ text = "cmd[update:3600000] date +\"%A, %d %B %Y\"";
+ font_size = 25;
+ color = "0x${text}";
+ position = "-2%, -10%";
+ valign = "top";
+ halign = "right";
+ }
+ ];
+ };
+ };
+}
diff --git a/home/natto/hyprpaper.nix b/home/natto/hyprpaper.nix
new file mode 100644
index 0000000..c410151
--- /dev/null
+++ b/home/natto/hyprpaper.nix
@@ -0,0 +1,18 @@
+{
+ config,
+ ...
+}:
+{
+ services.hyprpaper = {
+ enable = true;
+
+ settings =
+ let
+ wallpaper = "${config.home.homeDirectory}/wallpaper.png";
+ in
+ {
+ preload = [ "${wallpaper}" ];
+ wallpaper = [ ", ${wallpaper}" ];
+ };
+ };
+}
diff --git a/home/natto/music.nix b/home/natto/music.nix
index f36bfdb..2885be7 100644
--- a/home/natto/music.nix
+++ b/home/natto/music.nix
@@ -67,7 +67,6 @@ in
home = {
packages = with pkgs; [
spotify
- playerctl
mpc_cli
(ncmpcpp.override {
visualizerSupport = true;
@@ -89,4 +88,6 @@ in
path = "${home}/.config/mpdasrc";
symlink = false;
};
+
+ services.playerctld.enable = true;
}
diff --git a/hosts/okina/networking.nix b/hosts/okina/networking.nix
index c170ffd..48461f3 100644
--- a/hosts/okina/networking.nix
+++ b/hosts/okina/networking.nix
@@ -60,7 +60,6 @@
];
};
- defaultGateway = "192.168.1.1";
nameservers = [
"1.1.1.1"
"8.8.8.8"