Compare commits
9 commits
d33828fd97
...
254522d3fb
Author | SHA1 | Date | |
---|---|---|---|
254522d3fb | |||
7b3653162a | |||
982af3ed06 | |||
28be0e0bce | |||
50e52cdad5 | |||
bcefcb258a | |||
39503b9f3b | |||
63c3653280 | |||
7027aa1cc8 |
12 changed files with 130 additions and 68 deletions
|
@ -65,7 +65,7 @@
|
|||
nix-vscode-extensions = flake "github:nix-community/nix-vscode-extensions" // unstable "nixpkgs";
|
||||
nixd = flake "github:nix-community/nixd" // unstable "nixpkgs";
|
||||
stylix-unstable = flake "github:danth/stylix" // unstable "nixpkgs";
|
||||
walker = flake "github:abenz1267/walker?ref=v0.10.15" // unstable "nixpkgs";
|
||||
walker = flake "github:abenz1267/walker?ref=v0.12.8" // unstable "nixpkgs";
|
||||
|
||||
### Branches
|
||||
nixpkgs-dcsunset = flake "github:DCsunset/nixpkgs/update-freerdp3";
|
||||
|
|
26
flake.lock
generated
26
flake.lock
generated
|
@ -3259,6 +3259,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_16": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
|
@ -3549,19 +3564,20 @@
|
|||
"flake-parts": "flake-parts_5",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
],
|
||||
"systems": "systems_16"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733834481,
|
||||
"narHash": "sha256-4vHkhZztC6bpRnuwd9ACp3EvOXDB+8E7NOqRISjaEuE=",
|
||||
"lastModified": 1737394200,
|
||||
"narHash": "sha256-Opd7Ok/MIg9boStHXXFVzMucI2pzvkRDPmHmJDHeKa0=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "db2ed94cc101a4f0a21f0b57c4e8f13d548e770d",
|
||||
"rev": "2d354641fb43f1e54eec3a2337e8159b71fd08ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"ref": "v0.10.15",
|
||||
"ref": "v0.12.8",
|
||||
"repo": "walker",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
@ -151,7 +151,7 @@
|
|||
};
|
||||
walker = {
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
url = "github:abenz1267/walker?ref=v0.10.15";
|
||||
url = "github:abenz1267/walker?ref=v0.12.8";
|
||||
};
|
||||
};
|
||||
outputs = inputs: inputs.flakegen ./flake.in.nix inputs;
|
||||
|
|
|
@ -111,8 +111,6 @@ in {
|
|||
(key "Backspace" "Mod" center-column)
|
||||
(key "Bracketleft" "Mod" (switch-layout "prev"))
|
||||
(key "Bracketright" "Mod" (switch-layout "next"))
|
||||
(key "C" "Mod" (spawn [walker "--modules" "clipboard"]))
|
||||
(key "C" "Mod+Ctrl" (spawn [bash "-c" "${rm} ~/.cache/walker/clipboard.gob && ${notify-send} menu 'Clipboard cleared' --urgency low"]))
|
||||
(key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username]))
|
||||
(key "Delete" "Mod" (spawn [playerctl] "play-pause"))
|
||||
(key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"]))
|
||||
|
@ -155,8 +153,9 @@ in {
|
|||
(key "T" "Mod" (spawn ghostty))
|
||||
(key "Tab" "Mod" switch-focus-between-floating-and-tiling)
|
||||
(key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"]))
|
||||
(key "V" "Mod" (spawn virt-manager))
|
||||
(key "V" "Mod" (spawn [walker "--modules" "clipboard"]))
|
||||
(key "V" "Mod+Ctrl" (spawn vm))
|
||||
(key "V" "Mod+Shift" (spawn [bash "-c" "${rm} ~/.cache/walker/clipboard.gob && ${notify-send} menu 'Clipboard cleared' --urgency low"]))
|
||||
(key "W" "Mod" focus-window-or-workspace-up)
|
||||
(key "W" "Mod+Shift" move-window-up-or-to-workspace-up)
|
||||
(key "WheelScrollDown" "Mod" focus-window-or-workspace-down)
|
||||
|
|
|
@ -38,7 +38,7 @@ in {
|
|||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsinputmouseaccel-profile
|
||||
mouse = {
|
||||
accel-profile = "adaptive";
|
||||
accel-speed = -0.5;
|
||||
accel-speed = -0.7;
|
||||
};
|
||||
|
||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsinputtouchpadaccel-profile
|
||||
|
@ -54,7 +54,7 @@ in {
|
|||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md#programsnirisettingsinputtrackballaccel-profile
|
||||
trackball = {
|
||||
accel-profile = "adaptive";
|
||||
accel-speed = 0.5;
|
||||
accel-speed = -0.5;
|
||||
middle-emulation = true;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -28,6 +28,9 @@ in {
|
|||
# https://ghostty.org/docs/config/reference#adw-toolbar-style
|
||||
adw-toolbar-style = "flat";
|
||||
|
||||
# https://ghostty.org/docs/config/reference#confirm-close-surface
|
||||
confirm-close-surface = false;
|
||||
|
||||
# https://ghostty.org/docs/config/reference#cursor-style-blink
|
||||
cursor-style-blink = false;
|
||||
|
||||
|
@ -49,6 +52,9 @@ in {
|
|||
# https://ghostty.org/docs/config/reference#mouse-hide-while-typing
|
||||
mouse-hide-while-typing = true;
|
||||
|
||||
# https://ghostty.org/docs/config/reference#mouse-scroll-multiplier
|
||||
mouse-scroll-multiplier = 2;
|
||||
|
||||
# https://ghostty.org/docs/config/reference#shell-integration-features
|
||||
shell-integration-features = "no-cursor";
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@ in {
|
|||
### Overrides
|
||||
# https://starship.rs/config/#prompt
|
||||
add_newline = false;
|
||||
command_timeout = 1000 * 60; # Milliseconds
|
||||
scan_timeout = 100; # Milliseconds
|
||||
|
||||
format = concatStrings [
|
||||
# Top left
|
||||
|
|
|
@ -7,8 +7,12 @@
|
|||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.walker;
|
||||
hm = config.home-manager.users.${config.custom.username};
|
||||
in {
|
||||
options.custom.programs.walker.enable = mkOption {default = false;};
|
||||
options.custom.programs.walker = {
|
||||
enable = mkOption {default = false;};
|
||||
icons = mkOption {default = ["edit-find" "terminal"];};
|
||||
};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
imports = [inputs.walker.homeManagerModules.default];
|
||||
|
@ -24,32 +28,49 @@ in {
|
|||
runAsService = true;
|
||||
|
||||
# https://github.com/abenz1267/walker/wiki/Basic-Configuration
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/config.default.json
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/config.default.toml
|
||||
config = {
|
||||
activation_mode.disabled = true; # Key chords
|
||||
close_when_open = true;
|
||||
disable_click_to_close = true;
|
||||
force_keyboard_focus = true;
|
||||
list.placeholder = "";
|
||||
search.placeholder = "";
|
||||
hotreload_theme = true;
|
||||
ignore_mouse = true;
|
||||
|
||||
# HACK: Window client required to send Esc key on Hyprland
|
||||
#// as_window = true; # Disable layer
|
||||
list = {
|
||||
placeholder = "";
|
||||
};
|
||||
|
||||
search = {
|
||||
placeholder = "";
|
||||
resume_last_query = true;
|
||||
};
|
||||
|
||||
# https://github.com/abenz1267/walker/wiki/Modules
|
||||
# https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/tree/master/Papirus/64x64
|
||||
disabled = [
|
||||
"ai"
|
||||
"commands"
|
||||
"custom_commands"
|
||||
"finder"
|
||||
"websearch" # Replaced by custom plugin
|
||||
"windows"
|
||||
];
|
||||
|
||||
builtins = {
|
||||
builtins = let
|
||||
in {
|
||||
applications = {
|
||||
# BUG: Ghost entries are still visible with single module
|
||||
actions.enabled = false;
|
||||
hide_actions_with_empty_query = true;
|
||||
|
||||
hide_without_query = true;
|
||||
placeholder = "";
|
||||
show_generic = false;
|
||||
switcher_only = false;
|
||||
};
|
||||
|
||||
bookmarks = {
|
||||
icon = "user-bookmarks";
|
||||
placeholder = "";
|
||||
prefix = "b";
|
||||
switcher_only = false;
|
||||
};
|
||||
|
||||
|
@ -70,7 +91,7 @@ in {
|
|||
|
||||
dmenu = {
|
||||
keep_sort = true;
|
||||
placeholder = "";
|
||||
placeholder = "Input";
|
||||
switcher_only = true;
|
||||
};
|
||||
|
||||
|
@ -83,7 +104,7 @@ in {
|
|||
finder = {
|
||||
icon = "filetypes";
|
||||
placeholder = "";
|
||||
prefix = "/";
|
||||
prefix = "//";
|
||||
show_icon_when_single = true;
|
||||
switcher_only = false;
|
||||
};
|
||||
|
@ -106,29 +127,46 @@ in {
|
|||
|
||||
switcher = {
|
||||
icon = "application-default-icon";
|
||||
prefix = "?";
|
||||
prefix = "/";
|
||||
show_icon_when_single = true;
|
||||
};
|
||||
|
||||
symbols = {
|
||||
placeholder = "";
|
||||
prefix = "sym";
|
||||
switcher_only = false;
|
||||
};
|
||||
|
||||
translation = {
|
||||
icon = "translator";
|
||||
placeholder = "";
|
||||
prefix = "tr";
|
||||
switcher_only = false;
|
||||
};
|
||||
|
||||
websearch = {
|
||||
placeholder = "system-search";
|
||||
switcher_only = false;
|
||||
entries = [{}];
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: Keybinds
|
||||
# https://github.com/abenz1267/walker/wiki/Keybinds
|
||||
|
||||
# https://github.com/abenz1267/walker/wiki/Plugins
|
||||
plugins = [
|
||||
# Search engines by keyword prefix
|
||||
{
|
||||
# Search engines by keyword prefix
|
||||
name = "search";
|
||||
placeholder = "";
|
||||
show_icon_when_single = true;
|
||||
switcher_only = true;
|
||||
switcher_only = false;
|
||||
|
||||
src = "${pkgs.writeShellApplication {
|
||||
name = "search";
|
||||
text = readFile ./search.sh;
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
jq
|
||||
xdg-utils
|
||||
];
|
||||
runtimeInputs = with pkgs; [coreutils jq xdg-utils];
|
||||
}}/bin/search '%TERM%'";
|
||||
}
|
||||
];
|
||||
|
@ -138,21 +176,17 @@ in {
|
|||
theme = {
|
||||
style = ''
|
||||
#box {
|
||||
border: ${toString config.custom.border}px #073642 solid;
|
||||
font: larger ${config.custom.settings.fonts.sans-serif};
|
||||
}
|
||||
|
||||
placeholder {
|
||||
font: larger ${config.custom.settings.fonts.monospace};
|
||||
}
|
||||
|
||||
${readFile ./style.css}
|
||||
'';
|
||||
|
||||
#!! Inherit from default layout
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/layout.default.json
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/layout.default.toml
|
||||
layout.ui.window = let
|
||||
w = 750;
|
||||
h = 250;
|
||||
h = 300;
|
||||
in {
|
||||
width = w;
|
||||
height = h;
|
||||
|
@ -162,12 +196,6 @@ in {
|
|||
width = -1;
|
||||
height = -1;
|
||||
|
||||
ai_scroll = {
|
||||
# BUG: AiScroll H/VScrollbarPolicy applies to Scroll widget
|
||||
h_scrollbar_policy = "external";
|
||||
v_scrollbar_policy = "external";
|
||||
};
|
||||
|
||||
scroll = {
|
||||
h_align = "fill";
|
||||
h_scrollbar_policy = "external";
|
||||
|
@ -182,11 +210,6 @@ in {
|
|||
max_height = h;
|
||||
|
||||
item = {
|
||||
icon = {
|
||||
icon_size = "larger"; # 64px
|
||||
pixel_size = 32; # Downscale
|
||||
};
|
||||
|
||||
text = {
|
||||
sub = {
|
||||
hide = true; # Subtext
|
||||
|
@ -195,17 +218,31 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
search = {
|
||||
input = {
|
||||
icons = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# # HACK: Create theme files for module prompt icons
|
||||
# #?? MODULE.theme = "icon-ICON"
|
||||
# # https://github.com/abenz1267/walker/blob/bb584eab3b0cc48ebfbac1a5da019864d74781c4/nix/hm-module.nix#L86
|
||||
# xdg.configFile = listToAttrs (flatten (forEach cfg.icons (
|
||||
# icon: [
|
||||
# {
|
||||
# name = "walker/themes/icon-${icon}.css";
|
||||
# value = {text = hm.programs.walker.theme.style;};
|
||||
# }
|
||||
# {
|
||||
# name = "walker/themes/icon-${icon}.json";
|
||||
# value = {
|
||||
# text = builtins.toJSON (recursiveUpdate hm.programs.walker.theme.layout {
|
||||
# ui.window.box.search.prompt.icon = icon;
|
||||
# });
|
||||
# };
|
||||
# }
|
||||
# ]
|
||||
# )));
|
||||
|
||||
# HACK: Allow child processes to live, otherwise applications launched through service are killed on stop
|
||||
# https://www.freedesktop.org/software/systemd/man/latest/systemd.kill.html#KillMode=
|
||||
systemd.user.services.walker.Service.KillMode = "process";
|
||||
|
|
|
@ -94,7 +94,7 @@ case "$1" in
|
|||
;;
|
||||
'k '*)
|
||||
label="Kagi"
|
||||
icon="kagi"
|
||||
icon="plasma-search"
|
||||
url="https://kagi.com/search?q="
|
||||
query="${1:2}"
|
||||
;;
|
||||
|
@ -249,10 +249,11 @@ case "$1" in
|
|||
query="${1:2}"
|
||||
;;
|
||||
*)
|
||||
label="Search"
|
||||
icon="globe-symbolic"
|
||||
url="https://search.brave.com/search?q="
|
||||
query="$1"
|
||||
exit
|
||||
# label="Search"
|
||||
# icon="globe-symbolic"
|
||||
# url="https://search.brave.com/search?q="
|
||||
# query="$1"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/***
|
||||
/* !! Inherits system GTK theme
|
||||
https://github.com/abenz1267/walker/blob/master/internal/config/themes/bare.css
|
||||
https://github.com/abenz1267/walker/blob/master/internal/config/themes/colors.css
|
||||
https://github.com/abenz1267/walker/blob/master/internal/config/themes/default.css
|
||||
https://docs.gtk.org/gtk4/css-properties.html
|
||||
***/
|
||||
|
||||
|
@ -12,7 +13,6 @@ https://docs.gtk.org/gtk4/css-properties.html
|
|||
/* Visible window overlay */
|
||||
#box {
|
||||
background: #002b36;
|
||||
border: 2px #073642 solid;
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@ https://github.com/lassekongo83/adw-colors/blob/main/themes/solarized-dark/gtk.c
|
|||
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1.2/named-colors.html
|
||||
***/
|
||||
|
||||
@define-color accent_bg_color #6c71c4;
|
||||
@define-color accent_color #6c71c4;
|
||||
@define-color accent_bg_color #d33682;
|
||||
@define-color accent_color #d33682;
|
||||
@define-color accent_fg_color #ffffff;
|
||||
@define-color card_bg_color #123a44;
|
||||
@define-color card_fg_color #fdf6e3;
|
||||
@define-color destructive_bg_color #d33682;
|
||||
@define-color destructive_color #d33682;
|
||||
@define-color destructive_bg_color #b58900;
|
||||
@define-color destructive_color #b58900;
|
||||
@define-color destructive_fg_color #eee8d5;
|
||||
@define-color dialog_bg_color @popover_bg_color;
|
||||
@define-color dialog_fg_color @popover_fg_color;
|
||||
|
|
|
@ -114,6 +114,7 @@ in {
|
|||
gnome-tweaks # GNOME extras
|
||||
gnome-usage # System monitor
|
||||
gradience # GTK theme editor
|
||||
gtk4.dev # GTK4 icon browser
|
||||
gtkcord4 # Discord client
|
||||
gtkterm # Serial terminal
|
||||
helvum # Pipewire patchbay
|
||||
|
|
Loading…
Add table
Reference in a new issue