diff --git a/flake.lock b/flake.lock index c733140..250f69e 100644 --- a/flake.lock +++ b/flake.lock @@ -231,6 +231,27 @@ "type": "github" } }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "walker", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_3" @@ -919,6 +940,22 @@ "type": "github" } }, + "nixpkgs_6": { + "locked": { + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "devshell": "devshell", @@ -1031,7 +1068,8 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_5", "nixvim": "nixvim", - "spicetify-nix": "spicetify-nix" + "spicetify-nix": "spicetify-nix", + "walker": "walker" } }, "rust-overlay": { @@ -1161,6 +1199,25 @@ "type": "github" } }, + "walker": { + "inputs": { + "flake-parts": "flake-parts_5", + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1735288946, + "narHash": "sha256-kYtYu+wHrqS2uuEaNNET62tdOw+tEkIcbB9BrJ3X35k=", + "owner": "abenz1267", + "repo": "walker", + "rev": "ad1623072615fd1d211fd9a9e3ebcc658df7be27", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "repo": "walker", + "type": "github" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ diff --git a/flake.nix b/flake.nix index 0fb6207..91073bc 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,10 @@ hyprland-qtutils = { url = "github:hyprwm/hyprland-qtutils"; }; + + walker = { + url = "github:abenz1267/walker"; + }; }; outputs = { @@ -58,6 +62,7 @@ lanzaboote, nixvim, hyprland-qtutils, + walker, ... } @ inputs: let lib = nixpkgs.lib; @@ -80,6 +85,7 @@ imports = [ ./home/home.nix nixvim.homeManagerModules.nixvim + walker.homeManagerModules.default ]; }; } diff --git a/home/modules/browsers.nix b/home/modules/browsers.nix index d2923a1..047bd7e 100644 --- a/home/modules/browsers.nix +++ b/home/modules/browsers.nix @@ -1,7 +1,6 @@ - { pkgs, ... }: - { - home.packages = with pkgs; [ - firefox-bin - microsoft-edge - ]; - } +{pkgs, ...}: { + home.packages = with pkgs; [ + firefox-bin + microsoft-edge + ]; +} diff --git a/home/modules/devStuff.nix b/home/modules/devStuff.nix index f895faa..c842f9c 100644 --- a/home/modules/devStuff.nix +++ b/home/modules/devStuff.nix @@ -2,7 +2,7 @@ imports = [ ./neovim.nix ]; - home.sessionVariables = { + home.sessionVariables = { EDITOR = "nvim"; ELECTRON_OZONE_PLATFORM_HINT = "wayland"; NIXOS_CONFIG = "/home/uzair/Documents/nixos-config"; diff --git a/home/modules/git.nix b/home/modules/git.nix index 588f957..b527f3f 100644 --- a/home/modules/git.nix +++ b/home/modules/git.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { # Enable and configure Git programs.git = { enable = true; diff --git a/home/modules/hyprland.nix b/home/modules/hyprland.nix index 966e114..f87c7af 100644 --- a/home/modules/hyprland.nix +++ b/home/modules/hyprland.nix @@ -1,6 +1,12 @@ -{pkgs, inputs, ...}: { +{ + pkgs, + inputs, + ... +}: { imports = [ - ./waybar.nix + ./waybar.nix + ./mako.nix + ./walker.nix ]; programs.kitty.enable = true; @@ -16,8 +22,13 @@ "$mod" = "SUPER"; bind = [ - "$mod, F, exec, firefox" - "$mod, Return, exec, kitty" + "$mod, Return, exec, kitty" + "$mod, SPACE, exec, walker" + + "$mod, V, togglefloating," + "$mod, E, exec, dolphin" + + "$mod, Q, killactive," ] ++ ( # workspaces @@ -32,10 +43,29 @@ ) 9) ); + + bindm = [ + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + ]; + + bindel = [ + ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" + ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ",XF86MonBrightnessUp, exec, brightnessctl s 10%+" + ",XF86MonBrightnessDown, exec, brightnessctl s 10%-" + ]; + + input = { + touchpad = { + natural_scroll = true; + }; + }; }; extraConfig = '' - exec-once = waybar + exec-once = waybar ''; }; } diff --git a/home/modules/mako.nix b/home/modules/mako.nix new file mode 100644 index 0000000..5b3a568 --- /dev/null +++ b/home/modules/mako.nix @@ -0,0 +1,16 @@ +{ + services.mako = { + enable = true; + anchor = "top-center"; + backgroundColor = "#1e1e2e"; + borderColor = "#cba6f7"; + textColor = "#cdd6f4"; + progressColor = "over #313244"; + borderRadius = 5; + defaultTimeout = 5000; + extraConfig = '' + [urgency=high] + border-color=#fab387 + ''; + }; +} diff --git a/home/modules/media.nix b/home/modules/media.nix index a723b90..dcb6d1e 100644 --- a/home/modules/media.nix +++ b/home/modules/media.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { home.packages = with pkgs; [ nicotine-plus gimp diff --git a/home/modules/misc.nix b/home/modules/misc.nix index 788fed9..0d152c1 100644 --- a/home/modules/misc.nix +++ b/home/modules/misc.nix @@ -5,7 +5,7 @@ kdePackages.kalgebra keepassxc - + pciutils glxinfo clinfo diff --git a/home/modules/walker.nix b/home/modules/walker.nix new file mode 100644 index 0000000..b6c5900 --- /dev/null +++ b/home/modules/walker.nix @@ -0,0 +1,6 @@ +{ + programs.walker = { + enable = true; + runAsService = true; + }; +} diff --git a/home/modules/waybar.nix b/home/modules/waybar.nix index 10f9812..c0284b4 100644 --- a/home/modules/waybar.nix +++ b/home/modules/waybar.nix @@ -1,28 +1,28 @@ { - programs.waybar = { - enable = true; - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 30; - output = [ - "eDP-1" - "HDMI-A-1" - ]; - modules-left = [ "hyprland/workspaces" "hyprland/window" ]; - modules-center = [ "tray" ]; - modules-left[ "pulseaudio" "backlight" "bluetooth" "network" "battery" "clock" ]; + programs.waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + output = [ + "eDP-1" + "HDMI-A-1" + ]; + modules-left = ["hyprland/workspaces" "hyprland/window"]; + modules-center = ["tray"]; + modules-right = ["pulseaudio" "backlight" "bluetooth" "network" "battery" "clock"]; - "hyprland/workspaces" = { - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - }; + "hyprland/workspaces" = { + on-scroll-up = "hyprctl dispatch workspace e+1"; + on-scroll-down = "hyprctl dispatch workspace e-1"; + }; - "hyrland/window" = { - separate-outputs = true; - }; - }; - }; + "hyrland/window" = { + separate-outputs = true; + }; + }; }; + }; }