added wpaperd and started on otter
53
modules/features/hypr/default.nix
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
self,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
flake.nixosModules.hypr = {
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.hypr = {
|
||||
enable = true;
|
||||
package = self.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
};
|
||||
perSystem = {
|
||||
pkgs,
|
||||
lib,
|
||||
self',
|
||||
...
|
||||
}: {
|
||||
packages = {
|
||||
hyprland = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
wpaperd = let
|
||||
config-file = builtins.toFile "config.toml" ''
|
||||
[any]
|
||||
path = "${./wallpapers}"
|
||||
|
||||
[HDMI-A-1]
|
||||
path = "${./wallpapers/topo1.png}"
|
||||
|
||||
[DP-1]
|
||||
path = "${./wallpapers/topo2.png}"
|
||||
|
||||
[DP-2]
|
||||
path = "${./wallpapers/topo3.png}"
|
||||
'';
|
||||
in
|
||||
inputs.wrappers.lib.wrapPackage ({
|
||||
config,
|
||||
wlib,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
inherit pkgs;
|
||||
package = pkgs.wpaperd;
|
||||
flags = {
|
||||
"--config" = config-file;
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
BIN
modules/features/hypr/wallpapers/aesthetic.jpg
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
modules/features/hypr/wallpapers/bars.jpg
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
modules/features/hypr/wallpapers/black-hole.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
modules/features/hypr/wallpapers/city-horizon.jpg
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
modules/features/hypr/wallpapers/dragon.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
modules/features/hypr/wallpapers/flower-field.jpg
Normal file
|
After Width: | Height: | Size: 653 KiB |
BIN
modules/features/hypr/wallpapers/ocean.png
Normal file
|
After Width: | Height: | Size: 6.9 MiB |
BIN
modules/features/hypr/wallpapers/pink-clouds.jpg
Normal file
|
After Width: | Height: | Size: 406 KiB |
BIN
modules/features/hypr/wallpapers/sakura-trees-over-river.jpg
Normal file
|
After Width: | Height: | Size: 551 KiB |
BIN
modules/features/hypr/wallpapers/sousou-no-frieren-flowers.png
Normal file
|
After Width: | Height: | Size: 8.7 MiB |
BIN
modules/features/hypr/wallpapers/sunset.jpg
Normal file
|
After Width: | Height: | Size: 310 KiB |
BIN
modules/features/hypr/wallpapers/topo1.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
modules/features/hypr/wallpapers/topo2.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
modules/features/hypr/wallpapers/topo3.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
modules/features/hypr/wallpapers/tree.jpg
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
modules/features/hypr/wallpapers/unused/wide_lines.png.unused
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
modules/features/hypr/wallpapers/unused/wide_lines2.png.unused
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
modules/features/hypr/wallpapers/voyager-8.jpg
Normal file
|
After Width: | Height: | Size: 286 KiB |
BIN
modules/features/hypr/wallpapers/wallpaper-sun.jpg
Executable file
|
After Width: | Height: | Size: 592 KiB |
BIN
modules/features/hypr/wallpapers/waves.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
modules/features/otter-launcher/cat.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
113
modules/features/otter-launcher/config.toml
Normal file
@@ -0,0 +1,113 @@
|
||||
[general]
|
||||
default_module = "app" # module to run when no prefix is matched
|
||||
empty_module = "app" # run with an empty prompt
|
||||
exec_cmd = "zsh -c" # exec command of your shell
|
||||
vi_mode = false # set true to use vi keybinds, false emacs keybinds
|
||||
esc_to_abort = true # useful for vi users
|
||||
cheatsheet_entry = "?" # when prompted, will show a list of configured modules
|
||||
cheatsheet_viewer = "less -R; clear" # command to show cheatsheet; through piping stdout
|
||||
clear_screen_after_execution = false
|
||||
loop_mode = false # don't quit after executing a module, useful with scratchpads; stderr is hidden in loop mode
|
||||
external_editor = "nvim" # if set, press ctrl+x ctrl+ee (or v in vi normal mode) to edit prompt in the specified program
|
||||
delay_startup = 0 # sometimes the otter runs too fast even before the terminal window is ready; this slows it down by milliseconds; useful when chafa image is skewed
|
||||
|
||||
|
||||
# ANSI color codes are allowed. However, \x1b should be replaced with \u001B, because the rust toml crate cannot read \x as an escaped character
|
||||
[interface]
|
||||
# use three quotes to write longer codes
|
||||
header = """
|
||||
\u001B[1;36m$USER@nixos\u001B[0m
|
||||
"""
|
||||
header_cmd = "" # run a command and print stdout above the header
|
||||
header_cmd_trimmed_lines = 0 # remove trailing lines from header_cmd output, in case of some programs appending excessive empty lines
|
||||
place_holder = "execute" # at the input field
|
||||
suggestion_mode = "list" # available options: list, hint
|
||||
footer = "" # add a line after suggestion list
|
||||
suggestion_lines = 8 # 0 to disable suggestions and tab completion
|
||||
list_prefix = " "
|
||||
selection_prefix = "\u001B[31;1m "
|
||||
prefix_padding = 3 # format prefixes to have a uniformed width
|
||||
default_module_message = " \u001B[33mlaunch\u001B[0m app" # shown when the default module is in use
|
||||
empty_module_message = "" # shown when the empty module is in use
|
||||
customized_list_order = false # false to list modules alphabetically; true to list as per the configured order in the below [[modules]] section
|
||||
indicator_with_arg_module = " * " # the sign showing whether a module should run with an argument
|
||||
indicator_no_arg_module = " "
|
||||
# below color options affect all modules; per-module coloring can be configured using ansi codes individually
|
||||
prefix_color = "\u001B[33m"
|
||||
description_color = "\u001B[39m"
|
||||
place_holder_color = "\u001B[30m"
|
||||
hint_color = "\u001B[30m" # suggestion color in hint mode
|
||||
# move the interface rightward or downward
|
||||
move_interface_right = 21
|
||||
move_interface_down = 0
|
||||
|
||||
[overlay]
|
||||
overlay_cmd = """
|
||||
chafa -s 20x20 ~/.config/otter-launcher/cat.png
|
||||
"""
|
||||
overlay_trimmed_lines = 1
|
||||
|
||||
[[modules]]
|
||||
description = "programs"
|
||||
prefix = "app"
|
||||
cmd = """
|
||||
hyprctl dispatch 'hl.dsp.window.resize({x = 700, y = 700, window = activewindow})' &&
|
||||
hyprctl dispatch 'hl.dsp.window.center({window = activewindow})'&&
|
||||
hyprctl dispatch "hl.dsp.exec_cmd('$(fsel --no-exec)')"
|
||||
"""
|
||||
|
||||
[[modules]]
|
||||
description = "bluetooth"
|
||||
prefix = "bl"
|
||||
cmd = """
|
||||
hyprctl dispatch 'hl.dsp.window.resize({x = 650, y = 400, window = activewindow})' &&
|
||||
hyprctl dispatch 'hl.dsp.window.center({window = activewindow})'&&
|
||||
bluetui
|
||||
"""
|
||||
|
||||
[[modules]]
|
||||
description = "nixos wiki"
|
||||
prefix = "nw"
|
||||
cmd = """
|
||||
hyprctl dispatch "hl.dsp.exec_cmd('firefox --new-window https://wiki.nixos.org/w/index.php?search={}')"
|
||||
"""
|
||||
with_argument = true
|
||||
url_encode = true
|
||||
unbind_proc = true
|
||||
|
||||
[[modules]]
|
||||
description = "nixpkgs"
|
||||
prefix = "nix"
|
||||
cmd = """
|
||||
hyprctl dispatch "hl.dsp.exec_cmd('firefox --new-window https://search.nixos.org/packages?query={}')"
|
||||
"""
|
||||
with_argument = true
|
||||
url_encode = true
|
||||
unbind_proc = true
|
||||
|
||||
[[modules]]
|
||||
description = "jellyfin"
|
||||
prefix = "jf"
|
||||
cmd = """
|
||||
hyprctl dispatch 'hl.dsp.exec_cmd("kitty --class jf-tui -e jellyfin-tui", {workspace = "special:music"})'
|
||||
"""
|
||||
|
||||
[[modules]]
|
||||
description = "youtube"
|
||||
prefix = "y"
|
||||
cmd = """
|
||||
hyprctl dispatch "hl.dsp.exec_cmd('firefox --new-window https://www.youtube.com')"
|
||||
"""
|
||||
with_argument = false
|
||||
url_encode = true
|
||||
unbind_proc = true
|
||||
|
||||
[[modules]]
|
||||
description = "whatsapp"
|
||||
prefix = "w"
|
||||
cmd = """
|
||||
hyprctl dispatch "hl.dsp.exec_cmd('firefox --new-window https://web.whatsapp.com')"
|
||||
"""
|
||||
with_argument = false
|
||||
url_encode = true
|
||||
unbind_proc = true
|
||||
49
modules/features/otter-launcher/default.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
self,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
flake.nixosModules.hypr = {
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.hypr = {
|
||||
enable = true;
|
||||
package = self.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
};
|
||||
perSystem = {
|
||||
pkgs,
|
||||
lib,
|
||||
self',
|
||||
...
|
||||
}: {
|
||||
packages = {
|
||||
otter-launcher = let
|
||||
config-file = ./config.toml;
|
||||
extra-config = ''
|
||||
[overlay]
|
||||
overlay_cmd = """
|
||||
${pkgs.chafa} -s 20x20 ${./cat.png}
|
||||
"""
|
||||
'';
|
||||
in
|
||||
inputs.wrappers.lib.wrapPackage ({
|
||||
config,
|
||||
wlib,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
inherit pkgs;
|
||||
package = inputs.otter-launcher.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
flags = {
|
||||
"-c" = lib.mkMerge [
|
||||
config-file
|
||||
extra-config
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||