diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index c7acf01..9a47b27 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -72,7 +72,7 @@ bindul = , XF86AudioMute, exec, hypr volume toggle bindul = , XF86MonBrightnessUp, exec, hypr brightness up bindul = , XF86MonBrightnessDown, exec, hypr brightness down -bind = ALT, SPACE, exec, rofi -show run +bind = ALT, SPACE, exec, walker bind = ALT, TAB, workspace, previous bind = ALT, A, cyclenext bind = ALT, B, exec, pkill -USR1 waybar || waybar diff --git a/config/walker/themes/daylight/style.css b/config/walker/themes/daylight/style.css new file mode 100644 index 0000000..622df2c --- /dev/null +++ b/config/walker/themes/daylight/style.css @@ -0,0 +1,61 @@ +* { + font-family: "SF Pro Display", sans-serif; + font-size: 16px; +} + +window { + background: transparent; +} + +#box { + background: #f5f5f5; + border: 2px solid #e8e8e8; + border-radius: 0; +} + +#search { + background: #f5f5f5; + border-radius: 0; +} + +#input { + background: #f5f5f5; + color: #1a1a1a; + border-radius: 0; + padding: 10px; +} + +#input:focus { + outline: none; + box-shadow: none; +} + +#list { + background: #f5f5f5; +} + +row { + padding: 6px 10px; + background: #f5f5f5; + color: #1a1a1a; + border-radius: 0; +} + +row:selected { + background: #ebebeb; + color: #1a1a1a; +} + +.activation-label { + color: #999999; +} + +#typeahead { + color: #999999; + background: transparent; +} + +scrollbar, +scrollbar slider { + opacity: 0; +} diff --git a/config/walker/themes/midnight/style.css b/config/walker/themes/midnight/style.css new file mode 100644 index 0000000..92c03bc --- /dev/null +++ b/config/walker/themes/midnight/style.css @@ -0,0 +1,61 @@ +* { + font-family: "SF Pro Display", sans-serif; + font-size: 16px; +} + +window { + background: transparent; +} + +#box { + background: #121212; + border: 2px solid #3d3d3d; + border-radius: 0; +} + +#search { + background: #121212; + border-radius: 0; +} + +#input { + background: #121212; + color: #e0e0e0; + border-radius: 0; + padding: 10px; +} + +#input:focus { + outline: none; + box-shadow: none; +} + +#list { + background: #121212; +} + +row { + padding: 6px 10px; + background: #121212; + color: #e0e0e0; + border-radius: 0; +} + +row:selected { + background: #2d2d2d; + color: #e0e0e0; +} + +.activation-label { + color: #666666; +} + +#typeahead { + color: #666666; + background: transparent; +} + +scrollbar, +scrollbar slider { + opacity: 0; +} diff --git a/flake.nix b/flake.nix index 3af2134..dbf7bde 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,12 @@ neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; claude-code.url = "github:ryoppippi/claude-code-overlay"; + elephant.url = "github:abenz1267/elephant"; + walker = { + url = "github:abenz1267/walker"; + inputs.elephant.follows = "elephant"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -21,6 +27,8 @@ neovim-nightly, zen-browser, claude-code, + elephant, + walker, ... }: let @@ -87,7 +95,7 @@ home-manager.lib.homeManagerConfiguration { pkgs = mkPkgs hostConfig.platform [ ]; extraSpecialArgs = { - inherit zen-browser hostConfig; + inherit zen-browser walker hostConfig; }; modules = [ ./home/home.nix ]; }; @@ -119,7 +127,7 @@ home-manager.backupFileExtension = "bak"; home-manager.users.barrett = import ./home/home.nix; home-manager.extraSpecialArgs = { - inherit zen-browser; + inherit zen-browser walker; hostConfig = xps15Config; }; } diff --git a/home/home.nix b/home/home.nix index 314be8a..32e78be 100644 --- a/home/home.nix +++ b/home/home.nix @@ -3,6 +3,7 @@ config, pkgs, hostConfig, + walker, ... }: @@ -18,6 +19,7 @@ ./modules/packages.nix ] ++ lib.optionals hostConfig.isLinux [ + walker.homeManagerModules.default ./modules/hyprland.nix ./modules/ui.nix ]; diff --git a/home/modules/theme.nix b/home/modules/theme.nix index 4785dbb..302943f 100644 --- a/home/modules/theme.nix +++ b/home/modules/theme.nix @@ -109,6 +109,7 @@ in $DRY_RUN_CMD ln -sf "$cfg/hypr/themes/$theme.conf" "$cfg/hypr/themes/theme.conf" $DRY_RUN_CMD ln -sf "$cfg/waybar/themes/$theme.css" "$cfg/waybar/themes/theme.css" $DRY_RUN_CMD ln -sf "$cfg/rofi/themes/$theme.rasi" "$cfg/rofi/themes/theme.rasi" + $DRY_RUN_CMD ln -sfn "$cfg/walker/themes/$theme" "$cfg/walker/themes/active" ''} $DRY_RUN_CMD ln -sf "$cfg/sioyek/themes/$theme.config" "$cfg/sioyek/themes/theme.config" $DRY_RUN_CMD ln -sf "$cfg/fzf/themes/$theme" "$cfg/fzf/themes/theme" diff --git a/home/modules/ui.nix b/home/modules/ui.nix index 43ace4f..2d5e156 100644 --- a/home/modules/ui.nix +++ b/home/modules/ui.nix @@ -176,6 +176,17 @@ in ''; }; + programs.walker = { + enable = true; + runAsService = true; + config.theme = "active"; + }; + + xdg.configFile."walker/themes/midnight".source = + config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/walker/themes/midnight"; + xdg.configFile."walker/themes/daylight".source = + config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/walker/themes/daylight"; + xdg.configFile."rofi/config.rasi".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/rofi/config.rasi"; xdg.configFile."rofi/themes/midnight.rasi".source = diff --git a/scripts/theme b/scripts/theme index 15aee09..1c77a1e 100755 --- a/scripts/theme +++ b/scripts/theme @@ -94,6 +94,11 @@ Linux) [ -f "$fzf_themes/$theme" ] && { ln -sf "$fzf_themes/$theme" "$fzf_themes/theme" } + + walker_themes="$cfg/walker/themes" + [ -d "$walker_themes/$theme" ] && { + ln -sfn "$walker_themes/$theme" "$walker_themes/active" + } fi ;; Darwin)