diff --git a/flake.lock b/flake.lock index c62d683..d7f87ab 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "anyrun": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1690204837, + "narHash": "sha256-YrvbqM9WXr3/cgFVwc1EjIaQq4aI4DdrB1fhHfAW/d4=", + "owner": "Kirottu", + "repo": "anyrun", + "rev": "da97c9287f01f7d85ecf5e4ab8819bde3ae0e79a", + "type": "github" + }, + "original": { + "owner": "Kirottu", + "repo": "anyrun", + "type": "github" + } + }, "cachix": { "locked": { "lastModified": 1635350005, @@ -178,6 +199,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "anyrun", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, @@ -195,7 +237,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nixpak", @@ -216,7 +258,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "nixpak", @@ -239,7 +281,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "nixpkgs-wayland", @@ -315,7 +357,7 @@ }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "haskell-flake": "haskell-flake", "nixpkgs": "nixpkgs_5" }, @@ -602,7 +644,7 @@ }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "nixpkgs": "nixpkgs_7", "treefmt-nix": "treefmt-nix" }, @@ -622,7 +664,7 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_4" }, "locked": { @@ -641,7 +683,7 @@ }, "nixpak": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ "nixpkgs" @@ -892,6 +934,7 @@ }, "root": { "inputs": { + "anyrun": "anyrun", "conduit": "conduit", "fenix": "fenix_2", "firefox-nightly": "firefox-nightly", diff --git a/flake.nix b/flake.nix index 488b77a..58084d2 100644 --- a/flake.nix +++ b/flake.nix @@ -52,5 +52,10 @@ }; nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; + + anyrun = { + url = "github:Kirottu/anyrun"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } diff --git a/homes/jacek/default.nix b/homes/jacek/default.nix index 81d2638..b7438b6 100644 --- a/homes/jacek/default.nix +++ b/homes/jacek/default.nix @@ -8,6 +8,7 @@ imports = [ inputs.hyprland.homeManagerModules.default + inputs.anyrun.homeManagerModules.default ./gui ./tui ./cli diff --git a/homes/jacek/gui/anyrun.nix b/homes/jacek/gui/anyrun.nix new file mode 100644 index 0000000..bde63e7 --- /dev/null +++ b/homes/jacek/gui/anyrun.nix @@ -0,0 +1,99 @@ +{ + config, + inputs, + pkgs, + ... +}: { + programs.anyrun = { + enable = true; + config = { + plugins = with inputs.anyrun.packages.${pkgs.system}; [ + applications + dictionary + kidex + rink + symbols + translate + ]; + hideIcons = false; + ignoreExclusiveZones = false; + layer = "overlay"; + hidePluginInfo = false; + closeOnClick = true; + showResultsImmediately = true; + maxEntries = null; + }; + + extraCss = '' + window { + background: transparent; + } + + #match, + #entry, + #plugin, + #main { + background: transparent; + } + + #match.activatable { + padding: 6px; + border-radius: 10px; + color: white; + margin-top: 4px; + } + + #match.activatable:selected { + background: red; + color: black; + } + + #match-title, #match-desc { + color: inherit; + } + + #entry { + color: white; + box-shadow: none; + border-radius: 10px; + border: 2px solid red; + } + + box#main { + background: rgba(36, 39, 58, 0.7); + border-radius: 16px; + padding: 8px; + box-shadow: 0pz 2px 33px -5px rgba(0, 0, 0, 0.5); + } + + row:first-child { + margin-top: 6px; + } + ''; + + extraConfigFiles = { + "applications.ron".text = '' + Config( + desktop_actions: true, + terminal: Some("foot"), + ) + ''; + "dictionary.ron".text = '' + Config( + prefix: ":d", + ) + ''; + "symbols.ron".text = '' + Config( + prefix: ":u", + ) + ''; + "translate.ron".text = '' + Config( + prefix: ":", + language_delimiter: ">", + ) + ''; + }; + }; +} diff --git a/homes/jacek/gui/default.nix b/homes/jacek/gui/default.nix index 7ea2f89..b8dbdb7 100644 --- a/homes/jacek/gui/default.nix +++ b/homes/jacek/gui/default.nix @@ -1,5 +1,6 @@ _: { imports = [ + ./anyrun.nix ./firefox.nix ./foot.nix ./gtk.nix diff --git a/homes/jacek/gui/hypr.nix b/homes/jacek/gui/hypr.nix index 950ea51..d077314 100644 --- a/homes/jacek/gui/hypr.nix +++ b/homes/jacek/gui/hypr.nix @@ -145,9 +145,8 @@ bind = SUPER, Q, killactive bind = SUPER, F, fullscreen, 0 bind = SUPER, M, fullscreen, 1 - bind = SUPER, D, exec, rofi -show drun + bind = SUPER, D, exec, anyrun bind = SUPER, SPACE, togglefloating, - bind = SUPER, C, exec, rofi -show calc -modi calc -no-show-match -no-sort bind = SUPERSHIFT, C, centerwindow bind = SUPER, R, bringactivetotop binde = SUPER, H, movefocus, l @@ -272,6 +271,8 @@ # temporary fix to swaylock screenshoting rofi before locking layerrule = noanim, ^(rofi)$ + layerrule = blur, ^(anyrun)$ + env=PATH,$PATH:/home/jacek/.cargo/bin:/home/jacek/.local/bin:/home/jacek/.local/share/gem/ruby/3.0.0/bin env=EDITOR,/usr/bin/nvim env=LIBSEAT_BACKEND,logind diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix index 8fdbbb2..d8aeb46 100644 --- a/hosts/niks/configuration.nix +++ b/hosts/niks/configuration.nix @@ -29,11 +29,13 @@ "https://hyprland.cachix.org" "https://neovim-nightly.cachix.org" "https://nix-gaming.cachix.org" + "https://anyrun.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "neovim-nightly.cachix.org-1:feIoInHRevVEplgdZvQDjhp11kYASYCE2NGY9hNrwxY=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" ]; keep-outputs = true; keep-derivations = true;