Compare commits
5 commits
653fb33eba
...
c64d791e5e
Author | SHA1 | Date | |
---|---|---|---|
c64d791e5e | |||
aff5570e46 | |||
b3111c1ecd | |||
0668af07f4 | |||
855afe285f |
12 changed files with 242 additions and 13 deletions
|
@ -110,6 +110,7 @@
|
|||
"https://ezkea.cachix.org"
|
||||
"https://hyprland.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://walker.cachix.org"
|
||||
];
|
||||
|
||||
trusted-public-keys = [
|
||||
|
@ -118,6 +119,7 @@
|
|||
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM="
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -74,9 +74,8 @@
|
|||
nix-flatpak = flake "github:gmodena/nix-flatpak?ref=v0.4.1";
|
||||
nix-vscode-extensions = flake "github:nix-community/nix-vscode-extensions" // unstable "nixpkgs";
|
||||
nixd = flake "github:nix-community/nixd" // unstable "nixpkgs";
|
||||
xdg-desktop-portal-hyprland =
|
||||
flake "github:hyprwm/xdg-desktop-portal-hyprland"
|
||||
// unstable "nixpkgs";
|
||||
walker = flake "github:abenz1267/walker" // unstable "nixpkgs";
|
||||
xdg-desktop-portal-hyprland = flake "github:hyprwm/xdg-desktop-portal-hyprland" // unstable "nixpkgs";
|
||||
|
||||
# Server flakes
|
||||
conduwuit = flake "github:Myned/conduwuit" // unstable "nixpkgs";
|
||||
|
|
43
flake.lock
generated
43
flake.lock
generated
|
@ -739,6 +739,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-root": {
|
||||
"locked": {
|
||||
"lastModified": 1713493429,
|
||||
|
@ -2241,6 +2262,7 @@
|
|||
"steamtinkerlaunch": "steamtinkerlaunch",
|
||||
"thunderbird-gnome-theme": "thunderbird-gnome-theme",
|
||||
"virtio-win": "virtio-win",
|
||||
"walker": "walker",
|
||||
"xdg-desktop-portal-hyprland": "xdg-desktop-portal-hyprland"
|
||||
}
|
||||
},
|
||||
|
@ -2551,6 +2573,27 @@
|
|||
"url": "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.262-2/virtio-win.iso"
|
||||
}
|
||||
},
|
||||
"walker": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_5",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725430478,
|
||||
"narHash": "sha256-W30JZlSiFIUALwFtjIDG5E6LtuUTjHvAVrNlKpuSEt0=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "e4a58cd93691d3d9ace67a691bd74d54032c89b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdg-desktop-portal-hyprland": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols_2",
|
||||
|
|
|
@ -129,6 +129,10 @@
|
|||
flake = false;
|
||||
url = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.262-2/virtio-win.iso";
|
||||
};
|
||||
walker = {
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
url = "github:abenz1267/walker";
|
||||
};
|
||||
xdg-desktop-portal-hyprland = {
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
||||
|
|
|
@ -17,10 +17,12 @@ with lib; let
|
|||
kill = "${pkgs.procps}/bin/kill";
|
||||
kitty = "${config.home-manager.users.${config.custom.username}.programs.kitty.package}/bin/kitty";
|
||||
loginctl = "${pkgs.systemd}/bin/loginctl";
|
||||
menu = "~/.local/bin/menu";
|
||||
nautilus = "${pkgs.nautilus}/bin/nautilus";
|
||||
networkmanager_dmenu = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
|
||||
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||
obsidian = "${pkgs.obsidian}/bin/obsidian";
|
||||
onlyoffice = "${pkgs.onlyoffice-bin}/bin/onlyoffice-desktopeditors";
|
||||
pkill = "${pkgs.procps}/bin/pkill";
|
||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||
rofi-rbw = "${pkgs.rofi-rbw}/bin/rofi-rbw";
|
||||
|
@ -29,8 +31,8 @@ with lib; let
|
|||
swayosd-client = "${pkgs.swayosd}/bin/swayosd-client";
|
||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||
virt-manager = "${config.programs.virt-manager.package}/bin/virt-manager";
|
||||
walker = "${config.home-manager.users.${config.custom.username}.programs.walker.package}/bin/walker";
|
||||
waydroid = "${pkgs.waydroid}/bin/waydroid";
|
||||
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
|
||||
|
||||
cfg = config.custom.desktops.hyprland.binds;
|
||||
in {
|
||||
|
@ -97,11 +99,11 @@ in {
|
|||
(key "Control_L" "Super+Ctrl+Alt+Shift" "layoutmsg" "removemaster")
|
||||
(key "Control_L" "Super+Ctrl+Shift" "layoutmsg" "addmaster")
|
||||
(key "Shift_L" "Super+Shift" "workspace" "previous")
|
||||
(key "Super_L" "Super" "exec" "${pkill} wofi || ${wofi} --show drun")
|
||||
(key "Super_L" "Super+Alt" "exec" "${pkill} wofi || ${rofi-rbw}")
|
||||
(key "Super_L" "Super+Ctrl" "exec" "${pkill} wofi || calc")
|
||||
(key "Super_L" "Super+Ctrl+Shift" "exec" "${pkill} wofi || ${networkmanager_dmenu}")
|
||||
(key "Super_L" "Super+Shift" "exec" "${pkill} wofi || ${wofi} --show run")
|
||||
(key "Super_L" "Super" "exec" "${menu}")
|
||||
(key "Super_L" "Super+Alt" "exec" "${menu} --passwords")
|
||||
(key "Super_L" "Super+Ctrl" "exec" "${menu} --calculator")
|
||||
(key "Super_L" "Super+Ctrl+Shift" "exec" "${menu} --networks")
|
||||
(key "Super_L" "Super+Shift" "exec" "${menu} --runner")
|
||||
];
|
||||
|
||||
# Regular binds
|
||||
|
@ -211,7 +213,7 @@ in {
|
|||
(key "M" "Super" "togglespecialworkspace" "music")
|
||||
(key "M" "Super+Shift" "movetoworkspacesilent" "music")
|
||||
(key "O" "Super" "togglespecialworkspace" "office")
|
||||
(key "O" "Super+Ctrl" "exec" "libreoffice")
|
||||
(key "O" "Super+Ctrl" "exec" "${onlyoffice}")
|
||||
(key "O" "Super+Shift" "movetoworkspacesilent" "special:office")
|
||||
(key "P" "Super" "exec" "${hyprpicker} --autocopy")
|
||||
(key "P" "Super+Shift" "exec" "${hyprpicker} --autocopy --format rgb")
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
with lib; let
|
||||
gamescope = "${config.programs.gamescope.package}/bin/gamescope";
|
||||
kitty = "${config.home-manager.users.${config.custom.username}.programs.kitty.package}/bin/kitty";
|
||||
libreoffice = "${config.custom.programs.libreoffice.package}/bin/libreoffice";
|
||||
loupe = "${pkgs.loupe}/bin/loupe";
|
||||
onlyoffice = "${pkgs.onlyoffice-bin}/bin/onlyoffice-desktopeditors";
|
||||
pgrep = "${pkgs.procps}/bin/pgrep";
|
||||
steam = "${config.programs.steam.package}/bin/steam";
|
||||
virt-manager = "${pkgs.virt-manager}/bin/virt-manager";
|
||||
|
@ -28,7 +28,7 @@ in {
|
|||
|
||||
"special:android, on-created-empty:${waydroid} app launch com.YoStarEN.Arknights"
|
||||
"special:music, on-created-empty:${youtube-music}"
|
||||
"special:office, on-created-empty:${libreoffice}"
|
||||
"special:office, on-created-empty:${onlyoffice}"
|
||||
"special:steam, on-created-empty:${steam}"
|
||||
"special:terminal, on-created-empty:${kitty}"
|
||||
"special:vm, on-created-empty:${pgrep} -x vm || ${virt-manager}"
|
||||
|
@ -136,6 +136,7 @@ in {
|
|||
];
|
||||
office = rules: [
|
||||
(class "libreoffice.+" rules)
|
||||
(class "ONLYOFFICE Desktop Editors" rules)
|
||||
];
|
||||
pip = rules: [
|
||||
(title "Picture.in.[Pp]icture" rules)
|
||||
|
|
|
@ -50,7 +50,7 @@ with lib; {
|
|||
#// gnome-shell.enable = true;
|
||||
gpg.enable = true;
|
||||
hyprlock.enable = true;
|
||||
libreoffice.enable = true;
|
||||
#// libreoffice.enable = true;
|
||||
#// librewolf.enable = true;
|
||||
localsend.enable = true;
|
||||
logseq.enable = true;
|
||||
|
@ -71,6 +71,7 @@ with lib; {
|
|||
#// thunderbird.enable = true;
|
||||
tio.enable = true;
|
||||
vscode.enable = true;
|
||||
walker.enable = true;
|
||||
waybar.enable = true;
|
||||
wireshark.enable = true;
|
||||
wofi.enable = true;
|
||||
|
|
66
options/custom/programs/walker/default.nix
Normal file
66
options/custom/programs/walker/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.walker;
|
||||
in {
|
||||
options.custom.programs.walker.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
imports = [inputs.walker.homeManagerModules.default];
|
||||
|
||||
# https://github.com/abenz1267/walker
|
||||
# https://github.com/abenz1267/walker?tab=readme-ov-file#building-from-source
|
||||
# https://github.com/abenz1267/walker/blob/master/nix/hm-module.nix
|
||||
programs.walker = {
|
||||
enable = true;
|
||||
package = pkgs.walker;
|
||||
|
||||
#!! Service must be restarted for changes to take effect
|
||||
#?? systemctl --user restart walker.service
|
||||
runAsService = true;
|
||||
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/config.default.json
|
||||
config = {
|
||||
activation_mode.labels = ""; # Chord indicators
|
||||
search.placeholder = "";
|
||||
|
||||
builtins = {
|
||||
applications = {
|
||||
actions = false; # Desktop file actions
|
||||
prioritize_new = false;
|
||||
show_sub_when_single = false; # Subtext with one module
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# https://github.com/abenz1267/walker/wiki/Theming
|
||||
theme = {
|
||||
style = builtins.readFile ./style.css;
|
||||
|
||||
# https://github.com/abenz1267/walker/blob/master/internal/config/themes/bare.json
|
||||
layout.ui.window.box = rec {
|
||||
height = 500 / config.custom.scale;
|
||||
width = 1000 / config.custom.scale;
|
||||
|
||||
scroll.list = {
|
||||
min_height = height;
|
||||
max_height = height;
|
||||
max_width = width;
|
||||
min_width = width;
|
||||
|
||||
# Icon resolution
|
||||
item.icon = {
|
||||
icon_size = "largest"; # 128px
|
||||
pixel_size = 32;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
53
options/custom/programs/walker/style.css
Normal file
53
options/custom/programs/walker/style.css
Normal file
|
@ -0,0 +1,53 @@
|
|||
/***
|
||||
/* !! Inherits system GTK theme
|
||||
https://github.com/abenz1267/walker/blob/master/internal/config/themes/bare.css
|
||||
https://docs.gtk.org/gtk4/css-properties.html
|
||||
***/
|
||||
|
||||
/* Transparent background overlay */
|
||||
#window {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* Visible window overlay */
|
||||
#box {
|
||||
background: #002b36;
|
||||
border: 2px #073642 solid;
|
||||
border-radius: 25px;
|
||||
font: larger sans-serif;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Input box */
|
||||
#search entry {
|
||||
border-radius: 25px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Input box icons */
|
||||
#search entry image {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* List */
|
||||
#list {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* List entry */
|
||||
#list child {
|
||||
border-radius: 25px;
|
||||
margin: 4px 0;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
/* List entry icon */
|
||||
#list child #icon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
/* List entry subtext */
|
||||
#list child #sub {
|
||||
font-size: x-small;
|
||||
opacity: 0.5;
|
||||
}
|
|
@ -9,6 +9,7 @@ with lib; let
|
|||
git = config.home-manager.users.${config.custom.username}.programs.git.package;
|
||||
hyprland =
|
||||
config.home-manager.users.${config.custom.username}.wayland.windowManager.hyprland.finalPackage;
|
||||
walker = config.home-manager.users.${config.custom.username}.programs.walker.package;
|
||||
wofi = config.home-manager.users.${config.custom.username}.programs.wofi.package;
|
||||
in {
|
||||
config.home-manager.users.${config.custom.username}.home.file = let
|
||||
|
@ -96,6 +97,11 @@ in {
|
|||
jq
|
||||
libnotify
|
||||
])
|
||||
(bash "menu" [
|
||||
networkmanager_dmenu
|
||||
rofi-rbw
|
||||
walker
|
||||
])
|
||||
(bash "minimize" [
|
||||
hyprland
|
||||
jq
|
||||
|
|
49
options/custom/scripts/menu.sh
Normal file
49
options/custom/scripts/menu.sh
Normal file
|
@ -0,0 +1,49 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
# Menu wrapper
|
||||
#?? menu
|
||||
|
||||
command=walker
|
||||
|
||||
while (("$#" > 0)); do
|
||||
case "$1" in
|
||||
-a | --applications)
|
||||
command="walker --modules applications"
|
||||
;;
|
||||
-c | --calculator)
|
||||
command="walker --modules calc"
|
||||
;;
|
||||
-f | --files)
|
||||
command="walker --modules finder"
|
||||
;;
|
||||
-i | --input)
|
||||
command="walker --dmenu"
|
||||
;;
|
||||
-n | --networks)
|
||||
command="networkmanager_dmenu"
|
||||
;;
|
||||
-p | --passwords)
|
||||
command="rofi-rbw"
|
||||
;;
|
||||
-r | --runner)
|
||||
command="walker --modules runner"
|
||||
;;
|
||||
-s | --ssh)
|
||||
command="walker --modules ssh"
|
||||
;;
|
||||
-u | --unicode)
|
||||
command="walker --modules emojis"
|
||||
;;
|
||||
-w | --web)
|
||||
command="walker --modules websearch"
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
command+=" $*"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
$command
|
|
@ -25,6 +25,7 @@ in {
|
|||
fd
|
||||
fzf
|
||||
jq
|
||||
libqalculate # qalc
|
||||
lm_sensors # sensors
|
||||
nix-output-monitor # nom
|
||||
nix-tree
|
||||
|
@ -96,8 +97,10 @@ in {
|
|||
logseq
|
||||
loupe
|
||||
lutris
|
||||
newsflash
|
||||
nheko
|
||||
obsidian
|
||||
onlyoffice-bin
|
||||
path-of-building
|
||||
pika-backup
|
||||
protonup-qt
|
||||
|
|
Loading…
Add table
Reference in a new issue