feat: add caleastia shell
This commit is contained in:
parent
b9a369436d
commit
146418764e
20 changed files with 926 additions and 286 deletions
|
|
@ -1,22 +0,0 @@
|
|||
font-family = "CaskaydiaCove Nerd Font Mono"
|
||||
font-size = 15
|
||||
theme = Espresso
|
||||
unfocused-split-opacity = 0.85
|
||||
desktop-notifications = false
|
||||
|
||||
wait-after-command = false
|
||||
shell-integration = detect
|
||||
window-theme = dark
|
||||
|
||||
confirm-close-surface = false
|
||||
window-decoration = false
|
||||
|
||||
mouse-hide-while-typing = true
|
||||
|
||||
keybind = ctrl+shift+zero=toggle_tab_overview
|
||||
|
||||
clipboard-read = allow
|
||||
clipboard-write = allow
|
||||
|
||||
# custom-shader = ./shader/mnoise.glsl
|
||||
# custom-shader-animation = always
|
||||
|
|
@ -55,3 +55,5 @@ vim.g.clipboard = {
|
|||
-- To ALWAYS use the clipboard for ALL operations
|
||||
-- (instead of interacting with the "+" and/or "*" registers explicitly):
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
vim.g.gruvbox_material_transparent_background = 2
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
# ../user/music-production.nix
|
||||
../user/nvim.nix
|
||||
../user/packages.nix
|
||||
../user/firefox.nix
|
||||
# ../user/firefox.nix
|
||||
../user/zen-browser.nix
|
||||
../user/shell.nix
|
||||
../user/tmux.nix
|
||||
../user/virtualization.nix
|
||||
|
|
|
|||
213
home/user/caelestia-shell.nix
Normal file
213
home/user/caelestia-shell.nix
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
patchPapirus = pkgs.stdenv.mkDerivation {
|
||||
name = "${pkgs.papirus-icon-theme.name}-patch";
|
||||
src = pkgs.papirus-icon-theme;
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/icons
|
||||
ln $src/share/icons/Papirus $out/share/icons/hicolor
|
||||
'';
|
||||
};
|
||||
|
||||
caelestiaDot = pkgs.fetchFromGitHub {
|
||||
owner = "caelestia-dots";
|
||||
repo = "caelestia";
|
||||
rev = "main";
|
||||
sha256 = "sha256-pRLcbh81iBp9fH3Zq7HrNtAfDD46ErGZ3wID8Q65Wlg=";
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
cliphist
|
||||
inotify-tools
|
||||
app2unit
|
||||
wireplumber
|
||||
trash-cli
|
||||
foot
|
||||
fastfetch
|
||||
jq
|
||||
socat
|
||||
imagemagick
|
||||
papirus-icon-theme
|
||||
nerd-fonts.jetbrains-mono
|
||||
fuzzel
|
||||
];
|
||||
|
||||
xdg.configFile = {
|
||||
"hypr/hyprland".source = "${caelestiaDot}/hypr/hyprland";
|
||||
"hypr/scheme" = {
|
||||
source = "${caelestiaDot}/hypr/scheme";
|
||||
recursive = true;
|
||||
};
|
||||
"hypr/scripts" = {
|
||||
source = "${caelestiaDot}/hypr/scripts";
|
||||
executable = true;
|
||||
};
|
||||
"hypr/variables.conf".source = "${caelestiaDot}/hypr/variables.conf";
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
"$hypr" = "~/.config/hypr";
|
||||
"$hl" = "$hypr/hyprland";
|
||||
"$cConf" = "~/.config/caelestia";
|
||||
# ### Hyprland ###
|
||||
# Apps
|
||||
"$terminal" = "ghostty";
|
||||
"$browser" = "nvidia-offload zen";
|
||||
"$editor" = "nvim";
|
||||
"$fileExplorer" = "yazi";
|
||||
|
||||
# Touchpad
|
||||
"$touchpadDisableTyping" = "true";
|
||||
"$touchpadScrollFactor" = "0.3";
|
||||
"$workSpaceSwipeFingers" = "4";
|
||||
|
||||
# Blur
|
||||
"$blurEnabled" = "true";
|
||||
"$blurSpecialWs" = "false";
|
||||
"$blurPopups" = "true";
|
||||
"$blurInputMethods" = "true";
|
||||
"$blurSize" = "8";
|
||||
"$blurPasses" = "2";
|
||||
"$blurXray" = "false";
|
||||
|
||||
# Shadow
|
||||
"$shadowEnabled" = "true";
|
||||
"$shadowRange" = "20";
|
||||
"$shadowRenderPower" = "3";
|
||||
"$shadowColour" = "rgba($surfaced4)";
|
||||
|
||||
# Gaps
|
||||
"$workspaceGaps" = "20";
|
||||
"$windowGapsIn" = "10";
|
||||
"$windowGapsOut" = "10";
|
||||
"$singleWindowGapsOut" = "10";
|
||||
|
||||
# Window styling
|
||||
"$windowOpacity" = "0.95";
|
||||
"$windowRounding" = "10";
|
||||
|
||||
"$windowBorderSize" = "3";
|
||||
"$activeWindowBorderColour" = "rgba($primarye6)";
|
||||
"$inactiveWindowBorderColour" = "rgba($onSurfaceVariant11)";
|
||||
|
||||
# Misc
|
||||
"$volumeStep" = "5 # In percent";
|
||||
|
||||
"$kbGoToWs" = "SUPER";
|
||||
"$wsaction" = "~/.config/hypr/scripts/wsaction.fish";
|
||||
|
||||
source = [
|
||||
"$hypr/scheme/current.conf"
|
||||
"$hl/env.conf"
|
||||
"$hl/input.conf"
|
||||
"$hl/misc.conf"
|
||||
"$hl/animations.conf"
|
||||
"$hl/decoration.conf"
|
||||
"$hl/group.conf"
|
||||
"$hl/rules.conf"
|
||||
"${pkgs.writeText "keybinds.conf" ''
|
||||
exec = hyprctl dispatch submap global
|
||||
submap = global
|
||||
|
||||
# ## Shell keybinds
|
||||
# Launcher
|
||||
bind = Super+CTRL, K, global, caelestia:showall
|
||||
bindi = Super, Super_L, global, caelestia:launcher
|
||||
bindin = Super, catchall, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:272, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:273, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:274, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:275, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:276, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse:277, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse_up, global, caelestia:launcherInterrupt
|
||||
bindin = Super, mouse_down, global, caelestia:launcherInterrupt
|
||||
bind = Super, DELETE, global, caelestia:lock
|
||||
bind = Super, Q, killactive,
|
||||
bind = Super , RETURN, exec, app2unit -- $terminal
|
||||
bind = Super, F, exec, app2unit -- $browser
|
||||
bind = Super, V, togglefloating,
|
||||
bind = Super, P, pseudo
|
||||
bind = Super, S, togglesplit
|
||||
bindl = , XF86AudioPlay, global, caelestia:mediaToggle
|
||||
bindl = , XF86AudioPause, global, caelestia:mediaToggle
|
||||
bindl = , XF86AudioNext, global, caelestia:mediaNext
|
||||
bindl = , XF86AudioPrev, global, caelestia:mediaPrev
|
||||
bindl = , XF86AudioStop, global, caelestia:mediaStop
|
||||
|
||||
bind = Super+SHIFT, s, global, caelestia:screenshot
|
||||
bind = CTRL SHIFT, s, exec, hyprshot -m window
|
||||
bind = CTRL SHIFT Super, s, exec, hyprshot -m output
|
||||
bind = CTRL ALT, s, exec, hyprshot -m active -m window
|
||||
|
||||
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindle = , XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ $volumeStep%+
|
||||
bindle = , XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ $volumeStep%-
|
||||
|
||||
bind = Super, Period, exec, pkill fuzzel || caelestia emoji -p
|
||||
bind = Super+Shift, V, exec, pkill fuzzel || caelestia clipboard
|
||||
''}"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
''SUPER, mouse:272, movewindow''
|
||||
''SUPER, mouse:273, resizewindow''
|
||||
];
|
||||
|
||||
exec = [
|
||||
"cp -L --no-preserve=mode --update=none $hypr/scheme/default.conf $hypr/scheme/current.conf"
|
||||
];
|
||||
|
||||
misc = {
|
||||
vrr = 0;
|
||||
vfr = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.activation.writeConfigFile =
|
||||
lib.hm.dag.entryAfter [ "writeBoundary" ]
|
||||
# bash
|
||||
''
|
||||
configList=("btop" "fastfetch" "thunar")
|
||||
|
||||
for config in "''\${configList[@]}"; do
|
||||
if [ ! -d "$XDG_CONFIG_HOME/$config" ]; then
|
||||
install -Dm666 "${caelestiaDot}/$config" "$XDG_CONFIG_HOME/$config"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
programs.caelestia = {
|
||||
enable = true;
|
||||
settings = { };
|
||||
cli = {
|
||||
enable = true;
|
||||
settings = { };
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.caelestia = {
|
||||
Service = {
|
||||
ExecStart = lib.mkForce "${pkgs.writeShellScript "caelestia-wrapper" ''
|
||||
export QT_QPA_PLATFORMTHEME=gtk3
|
||||
|
||||
${config.programs.caelestia.package}/bin/caelestia-shell
|
||||
''}";
|
||||
};
|
||||
};
|
||||
|
||||
services.swww.enable = lib.mkForce false;
|
||||
programs.waybar.enable = lib.mkForce false;
|
||||
services.swaync.enable = lib.mkForce false;
|
||||
}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
{ ... }:
|
||||
let
|
||||
configDir = ../config;
|
||||
browser = "zen.desktop";
|
||||
|
|
@ -37,6 +38,8 @@ in
|
|||
"application/pdf" = [ browser ];
|
||||
"image/jpeg" = [ browser ];
|
||||
"image/png" = [ browser ];
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ in
|
|||
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-folders;
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
|
||||
gtk3 = {
|
||||
|
|
@ -43,29 +43,14 @@ in
|
|||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
libsForQt5.lightly
|
||||
libsForQt5.qt5ct
|
||||
adwaita-icon-theme
|
||||
gsettings-desktop-schemas
|
||||
glib
|
||||
(catppuccin-kvantum.override {
|
||||
accent = "lavender";
|
||||
variant = "macchiato";
|
||||
})
|
||||
];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "qt5ct-style";
|
||||
style.package = pkgs.catppuccin-kvantum;
|
||||
platformTheme.name = "qtct";
|
||||
};
|
||||
|
||||
xdg.configFile = {
|
||||
"Kvantum/catppuccin-macchiato-Lavender/catppuccin-macchiato-lavender/catppuccin-macchiato-lavender.kvconfig".source =
|
||||
"${pkgs.catppuccin-kvantum}/share/Kvantum/catppuccin-macchiato-lavender/cattpuccin-macchiato-lavender.kvconfig";
|
||||
"Kvantum/catppuccin-macchiato-Lavender/catppuccin-macchiato-lavender/catppuccin-macchiato-lavender.svg".source =
|
||||
"${pkgs.catppuccin-kvantum}/share/Kvantum/catppuccin-macchiato-lavender/cattpuccin-macchiato-lavender.svg";
|
||||
style.name = "adwaita-dark";
|
||||
platformTheme.name = "gtk3";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
kb_model = "";
|
||||
kb_rules = "";
|
||||
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
|
||||
|
|
@ -17,6 +20,9 @@
|
|||
|
||||
sensitivity = -0.1; # -1.0 - 1.0, 0 means no modification.
|
||||
};
|
||||
binds = {
|
||||
scroll_event_delay = 0;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
"col.active_border" = "rgb(EBDBB2) rgb(24273A) rgb(24273A) rgb(EBDBB2) 45deg";
|
||||
"col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
layout = "dwindle";
|
||||
allow_tearing = false;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ in
|
|||
"float, class:^(xdg-desktop-portal-gtk)$"
|
||||
"float, title:^(Steam Settings)$"
|
||||
|
||||
"fullscreen, initialClass:^(cs2)$"
|
||||
|
||||
"opacity 0.9999 override, initialClass:^(zen)(.*)"
|
||||
|
||||
# Picture in picture windows
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
inputs,
|
||||
system,
|
||||
osConfig,
|
||||
...
|
||||
|
|
@ -63,16 +63,18 @@ in
|
|||
disable_logs = true;
|
||||
};
|
||||
|
||||
bind = import ./hypr/bind.nix {
|
||||
inherit
|
||||
mainMod
|
||||
pkgs
|
||||
monitors
|
||||
config
|
||||
lib
|
||||
;
|
||||
nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd;
|
||||
};
|
||||
bind = (
|
||||
import ./hypr/bind.nix {
|
||||
inherit
|
||||
mainMod
|
||||
pkgs
|
||||
monitors
|
||||
config
|
||||
lib
|
||||
;
|
||||
nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd;
|
||||
}
|
||||
);
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
|
|
@ -84,7 +86,7 @@ in
|
|||
let
|
||||
resizeStep = builtins.toString 20;
|
||||
brightnessStep = builtins.toString 10;
|
||||
volumeStep = builtins.toString 2;
|
||||
volumeStep = builtins.toString 4;
|
||||
in
|
||||
[
|
||||
'',XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_SINK@ 0 && wpctl set-volume @DEFAULT_SINK@ ${volumeStep}%+''
|
||||
|
|
@ -126,6 +128,10 @@ in
|
|||
];
|
||||
|
||||
workspace = (import ./hypr/workspace.nix { inherit monitors; });
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
force_default_wallpaper = 0;
|
||||
};
|
||||
}
|
||||
// (import ./hypr/window.nix)
|
||||
// (import ./hypr/windowrule.nix)
|
||||
|
|
@ -145,17 +151,6 @@ in
|
|||
package = inputs.swww.packages.${system}.swww;
|
||||
};
|
||||
|
||||
# === hyprpaper (Disabled) === #
|
||||
services.hyprpaper = {
|
||||
enable = false;
|
||||
settings = {
|
||||
# preload = wallpapers;
|
||||
wallpaper = [ ", ~/.config/wallpapers/wall.png" ];
|
||||
splash = false;
|
||||
ipc = "on";
|
||||
};
|
||||
};
|
||||
|
||||
# === hyprlock === #
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
|
|
@ -329,8 +324,8 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
# === hyprsunset === #
|
||||
systemd.user.services.hyprsunset = {
|
||||
# === sunsetr === #
|
||||
systemd.user.services.sunsetr = {
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
|
|
@ -339,10 +334,9 @@ in
|
|||
Description = "Blue light filter";
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.hyprsunset}/bin/hyprsunset -t 3000k";
|
||||
ExecStart = "${pkgs.sunsetr}/bin/sunsetr";
|
||||
Restart = "always";
|
||||
RestartSec = 2;
|
||||
KillSignal = "SIGKILL"; # Hyprsunset seems not handle the SIGTERM signal properly
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
31
home/user/quickshell.nix
Normal file
31
home/user/quickshell.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
quickshell
|
||||
];
|
||||
|
||||
systemd.user.services.quickshell = {
|
||||
Unit = {
|
||||
Description = "Quickshell";
|
||||
After = [ "graphical-session.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
type = "exec";
|
||||
ExecStart = "${pkgs.quickshell}/bin/quickshell";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
TimeoutStopSec = "5s";
|
||||
Environment = [
|
||||
"QT_QPA_PLATFORM=wayland"
|
||||
];
|
||||
|
||||
Slice = "session.slice";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
# Hyprland
|
||||
hyprlog = "grep -v \"arranged\" $XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | cat";
|
||||
saveEye = "pkill -f hyprsunset && hyprctl dispatch exec 'hyprsunset -t 3300'";
|
||||
|
||||
# Systemd Boot
|
||||
setWin = "sudo bootctl set-oneshot auto-windows";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
osConfig,
|
||||
config,
|
||||
username,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
|
@ -44,7 +45,7 @@ in
|
|||
];
|
||||
|
||||
# === waybar === #
|
||||
systemd.user.services.waybar = {
|
||||
systemd.user.services.waybar = lib.mkIf config.programs.waybar.enable {
|
||||
Unit = {
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
After = [ "graphical-session.target" ];
|
||||
|
|
@ -252,6 +253,8 @@ in
|
|||
"code"
|
||||
".virt-manager-wrapped"
|
||||
"virt-manager"
|
||||
"steam_app_*"
|
||||
"obsidian"
|
||||
];
|
||||
};
|
||||
"custom/cava" = {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,15 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
system,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
yaziPlugins = pkgs.fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
rev = "main";
|
||||
hash = "sha256-TUS+yXxBOt6tL/zz10k4ezot8IgVg0/2BbS8wPs9KcE=";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
|
@ -20,10 +18,14 @@ in
|
|||
enable = true;
|
||||
package = inputs.yazi.packages.${system}.default;
|
||||
shellWrapperName = "y";
|
||||
enableFishIntegration = false;
|
||||
enableFishIntegration = true;
|
||||
|
||||
plugins = {
|
||||
toggle-panel = ''${yaziPlugins}/toggle-panel.yazi'';
|
||||
toggle-pane = ''${yaziPlugins}/toggle-pane.yazi'';
|
||||
mount = ''${yaziPlugins}/mount.yazi'';
|
||||
zoom = ''${yaziPlugins}/zoom'';
|
||||
vcs-files = ''${yaziPlugins}/vcs-files'';
|
||||
git = ''${yaziPlugins}/git'';
|
||||
};
|
||||
|
||||
flavors = {
|
||||
|
|
@ -42,9 +44,81 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
settings = {
|
||||
plugin.prepend_fetchers = [
|
||||
{
|
||||
id = "git";
|
||||
name = "*";
|
||||
run = "git";
|
||||
}
|
||||
{
|
||||
id = "git";
|
||||
name = "*/";
|
||||
run = "git";
|
||||
}
|
||||
];
|
||||
|
||||
input = {
|
||||
cursor_blink = true;
|
||||
};
|
||||
|
||||
opener = {
|
||||
edit = [
|
||||
{
|
||||
run = ''''\${EDITOR:=nvim} "$@"'';
|
||||
desc = "$EDITOR";
|
||||
block = true;
|
||||
}
|
||||
{
|
||||
run = ''code "$@"'';
|
||||
orphan = true;
|
||||
}
|
||||
];
|
||||
|
||||
player = [
|
||||
{ run = ''mpv --force-window "$@"''; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
keymap = {
|
||||
mgr = {
|
||||
prepend_keymap = [
|
||||
# Git Changes
|
||||
{
|
||||
on = [
|
||||
"g"
|
||||
"c"
|
||||
];
|
||||
run = "plugin vcs-files";
|
||||
desc = "Show Git file changes";
|
||||
}
|
||||
# Image zoom
|
||||
{
|
||||
on = "+";
|
||||
run = "plugin zoom 1";
|
||||
desc = "Zoom in hovered file";
|
||||
}
|
||||
{
|
||||
on = "-";
|
||||
run = "plugin zoom -1";
|
||||
desc = "Zoom out hovered file";
|
||||
}
|
||||
# Mount Manager
|
||||
{
|
||||
on = "M";
|
||||
run = "plugin mount";
|
||||
desc = "Launch mount manager";
|
||||
# Usage
|
||||
# Key binding Alternate key Action
|
||||
# q - Quit the plugin
|
||||
# k ↑ Move up
|
||||
# j ↓ Move down
|
||||
# l → Enter the mount point
|
||||
# m - Mount the partition
|
||||
# u - Unmount the partition
|
||||
# e - Eject the disk
|
||||
}
|
||||
# Toggle Maximize Preview
|
||||
{
|
||||
on = "T";
|
||||
|
|
@ -66,6 +140,7 @@ in
|
|||
"r"
|
||||
];
|
||||
run = ''shell -- ya emit cd "$(git rev-parse --show-toplevel)"'';
|
||||
desc = "Go to git root";
|
||||
}
|
||||
# Drag and Drop
|
||||
{
|
||||
|
|
@ -92,16 +167,6 @@ in
|
|||
initLua =
|
||||
# lua
|
||||
''
|
||||
-- Show symlink in status bar
|
||||
Status:children_add(function(self)
|
||||
local h = self._current.hovered
|
||||
if h and h.link_to then
|
||||
return " -> " .. toString(h.link_to)
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end, 3300, Status.LEFT)
|
||||
|
||||
-- Show user/group of files in status bar
|
||||
Status:children_add(function()
|
||||
local h = cx.active.current.hovered
|
||||
|
|
@ -116,14 +181,6 @@ in
|
|||
" ",
|
||||
}
|
||||
end, 500, Status.RIGHT)
|
||||
|
||||
-- Show username and hostname in header
|
||||
Header:children_add(function()
|
||||
if ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
return ui.Span(ya.user_name() .. "@" .. ya.host_name() .. ":"):fg("blue")
|
||||
end, 500, Header.LEFT)
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
@ -131,36 +188,4 @@ in
|
|||
home.packages = with pkgs; [
|
||||
ueberzugpp
|
||||
];
|
||||
|
||||
# xdg.portal = {
|
||||
# enable = lib.mkForce true;
|
||||
# extraPortals = [ pkgs.xdg-desktop-portal-termfilechooser ];
|
||||
# config = {
|
||||
# common.default = [
|
||||
# "hyprland"
|
||||
# "gtk"
|
||||
# ];
|
||||
# common = {
|
||||
# "org.freedesktop.impl.portal.FileChooser" = "termfilechooser";
|
||||
# };
|
||||
# hyprland.default = [
|
||||
# "hyprland"
|
||||
# "gtk"
|
||||
# ];
|
||||
# hyprland."org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ];
|
||||
# };
|
||||
# };
|
||||
|
||||
# xdg.configFile."xdg-desktop-portal-termfilechooser/config" = {
|
||||
# force = true;
|
||||
# text = ''
|
||||
# [filechooser]
|
||||
# cmd=TERMCMD='${config.programs.ghostty.package}/bin/ghostty --title=file_chooser -e "bash -c ${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh"'
|
||||
# default_dir=$HOME
|
||||
# open_mode = suggested
|
||||
# save_mode = last
|
||||
# '';
|
||||
# };
|
||||
|
||||
# home.sessionVariables.TERMCMD = "${config.programs.ghostty.package}/bin/ghostty --title=file_chooser";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,15 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
zenNebula = pkgs.fetchFromGitHub {
|
||||
owner = "justadumbprsn";
|
||||
repo = "zen-nebula";
|
||||
rev = "main";
|
||||
sha256 = "sha256-f4J5ob/apKhxERUSvXE8QHMMsKJCQFRoMSo/Pw4LgTg=";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.zen-browser = {
|
||||
enable = true;
|
||||
|
|
@ -12,6 +21,8 @@
|
|||
"zen.view.compact.should-enable-at-startup" = true;
|
||||
"zen.widget.linux.transparency" = true;
|
||||
"zen.view.compact.show-sidebar-and-toolbar-on-hover" = false;
|
||||
"zen.tabs.vertical.right-side" = true;
|
||||
"zen.urlbar.behavior" = "float";
|
||||
|
||||
"app.update.auto" = false;
|
||||
"app.normandy.first_run" = false;
|
||||
|
|
@ -20,7 +31,7 @@
|
|||
"browser.shell.didSkipDefaultBrowserCheckOnFirstRun" = true;
|
||||
"browser.tabs.allow_transparent_browser" = true;
|
||||
"browser.urlbar.placeholderName" = "Google";
|
||||
"browser.urlbar.placeholderName.private" = "private";
|
||||
"browser.urlbar.placeholderName.private" = "DuckDuckGo";
|
||||
"middlemouse.paste" = false;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"font.language.group" = "zh-TW";
|
||||
|
|
@ -35,7 +46,9 @@
|
|||
ensureCACertifications = [
|
||||
../../system/extra/ca.crt
|
||||
];
|
||||
chrome = zenNebula;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue