add config wrappers to everything in home manager
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
./waybar
|
./waybar
|
||||||
|
|
||||||
./hypr
|
./hypr
|
||||||
./neovim
|
./nvf
|
||||||
./lf
|
./lf
|
||||||
./zsh
|
./zsh
|
||||||
./ssh
|
./ssh
|
||||||
|
|||||||
@@ -4,17 +4,31 @@
|
|||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
# configure git
|
let
|
||||||
programs.git = {
|
program = "git";
|
||||||
enable = true;
|
cfg = config.dots.${program};
|
||||||
userName = "blake";
|
#sec = sops.secrets;
|
||||||
userEmail = "me@blakedheld.xyz";
|
in {
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "trunk";
|
options.dots.${program} = {
|
||||||
core.editor = "nvim";
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
pull.rebase = true;
|
};
|
||||||
push.autoSetupRemote = true;
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
|
||||||
|
# configure git
|
||||||
|
programs.${program} = {
|
||||||
|
enable = true;
|
||||||
|
userName = "blake";
|
||||||
|
userEmail = "me@blakedheld.xyz";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "trunk";
|
||||||
|
core.editor = "nvim";
|
||||||
|
pull.rebase = true;
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,18 +3,31 @@
|
|||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
programs.gpg = {
|
let
|
||||||
enable = true;
|
program = "gpg";
|
||||||
|
cfg = config.dots.${program};
|
||||||
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.dots.${program} = {
|
||||||
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
};
|
};
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
config = lib.mkIf cfg.enable {
|
||||||
enableSshSupport = true;
|
|
||||||
pinentry.package = pkgs.pinentry-qt;
|
programs.${program} = {
|
||||||
pinentry.program = "pinentry-qt";
|
enable = true;
|
||||||
|
};
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
pinentry.package = pkgs.pinentry-qt;
|
||||||
|
pinentry.program = "pinentry-qt";
|
||||||
|
};
|
||||||
|
# install pinentry programs conditionaly based on os
|
||||||
|
home.packages =
|
||||||
|
lib.optional pkgs.stdenv.isDarwin pkgs.pinentry_mac
|
||||||
|
++ lib.optional pkgs.stdenv.isLinux pkgs.pinentry-qt;
|
||||||
};
|
};
|
||||||
# install pinentry programs conditionaly based on os
|
|
||||||
home.packages =
|
|
||||||
lib.optional pkgs.stdenv.isDarwin pkgs.pinentry_mac
|
|
||||||
++ lib.optional pkgs.stdenv.isLinux pkgs.pinentry-qt;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,378 +1,393 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
home.packages = with pkgs; [
|
|
||||||
nwg-displays
|
|
||||||
posy-cursors
|
|
||||||
hyprpicker
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
let
|
||||||
enable = true;
|
program = "hypr";
|
||||||
systemd.variables = ["--all"];
|
cfg = config.dots.${program};
|
||||||
settings = {
|
#sec = sops.secrets;
|
||||||
# --- displays ---
|
in {
|
||||||
source = [
|
|
||||||
"~/.config/hypr/monitors.conf"
|
|
||||||
"~/.config/hypr/workspaces.conf"
|
|
||||||
];
|
|
||||||
|
|
||||||
# --- environment variables ---
|
options.dots.${program} = {
|
||||||
env = [
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
"MOZ_ENABLE_WAYLAND,1"
|
};
|
||||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
|
||||||
"XDG_SESSION_TYPE,wayland"
|
|
||||||
"XDG_SESSION_DESKTOP,Hyprland"
|
|
||||||
];
|
|
||||||
|
|
||||||
# --- input ---
|
config = lib.mkIf cfg.enable {
|
||||||
input = {
|
|
||||||
kb_layout = "us";
|
|
||||||
numlock_by_default = true;
|
|
||||||
follow_mouse = 2;
|
|
||||||
sensitivity = -0.2;
|
|
||||||
|
|
||||||
touchpad = {
|
home.packages = with pkgs; [
|
||||||
disable_while_typing = true;
|
nwg-displays
|
||||||
natural_scroll = true;
|
posy-cursors
|
||||||
clickfinger_behavior = true;
|
hyprpicker
|
||||||
tap-to-click = true;
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
systemd.variables = ["--all"];
|
||||||
|
settings = {
|
||||||
|
# --- displays ---
|
||||||
|
source = [
|
||||||
|
"~/.config/hypr/monitors.conf"
|
||||||
|
"~/.config/hypr/workspaces.conf"
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- environment variables ---
|
||||||
|
env = [
|
||||||
|
"MOZ_ENABLE_WAYLAND,1"
|
||||||
|
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
|
"XDG_SESSION_TYPE,wayland"
|
||||||
|
"XDG_SESSION_DESKTOP,Hyprland"
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- input ---
|
||||||
|
input = {
|
||||||
|
kb_layout = "us";
|
||||||
|
numlock_by_default = true;
|
||||||
|
follow_mouse = 2;
|
||||||
|
sensitivity = -0.2;
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
disable_while_typing = true;
|
||||||
|
natural_scroll = true;
|
||||||
|
clickfinger_behavior = true;
|
||||||
|
tap-to-click = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# --- general ---
|
# --- general ---
|
||||||
general = {
|
general = {
|
||||||
gaps_in = 2;
|
gaps_in = 2;
|
||||||
gaps_out = 5;
|
gaps_out = 5;
|
||||||
border_size = 3;
|
border_size = 3;
|
||||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||||
"col.inactive_border" = "rgba(595959aa)";
|
"col.inactive_border" = "rgba(595959aa)";
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
allow_tearing = false;
|
allow_tearing = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- decoration ---
|
# --- decoration ---
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 3;
|
rounding = 3;
|
||||||
blur = {
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 3;
|
||||||
|
passes = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- animations ---
|
||||||
|
animations = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
size = 3;
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||||
passes = 1;
|
animation = [
|
||||||
|
"windows, 1, 7, myBezier"
|
||||||
|
"windowsOut, 1, 7, default, popin 80%"
|
||||||
|
"border, 1, 10, default"
|
||||||
|
"borderangle, 1, 8, default"
|
||||||
|
"fade, 1, 7, default"
|
||||||
|
"workspaces, 1, 6, default"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# --- animations ---
|
# --- dwindle ---
|
||||||
animations = {
|
dwindle = {
|
||||||
enabled = true;
|
pseudotile = true;
|
||||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
preserve_split = true;
|
||||||
animation = [
|
};
|
||||||
"windows, 1, 7, myBezier"
|
|
||||||
"windowsOut, 1, 7, default, popin 80%"
|
gestures = {
|
||||||
"border, 1, 10, default"
|
workspace = "on";
|
||||||
"borderangle, 1, 8, default"
|
};
|
||||||
"fade, 1, 7, default"
|
|
||||||
"workspaces, 1, 6, default"
|
misc = {
|
||||||
|
force_default_wallpaper = -1;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
disable_splash_rendering = true;
|
||||||
|
focus_on_activate = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- window rules ---
|
||||||
|
windowrulev2 = [
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- binds ---
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
# system
|
||||||
|
"$mainMod CONTROL, Q, exec, loginctl lock-session"
|
||||||
|
|
||||||
|
# programs
|
||||||
|
"$mainMod, Return, exec, kitty"
|
||||||
|
"$mainMod, E, exec, kitty lf"
|
||||||
|
"$mainMod, R, exec, tofi-drun --drun-launch=true --prompt-text=\"launch:\""
|
||||||
|
"$mainMod, B, exec, librewolf"
|
||||||
|
"$mainMod, G, exec, lutris"
|
||||||
|
"$mainMod, M, exec, thunderbird"
|
||||||
|
"$mainMod, D, exec, flatpak run com.discordapp.Discord"
|
||||||
|
"$mainMod, K, exec, hyprpicker --autocopy --format=hex"
|
||||||
|
"$mainMod, T, exec, cliphist list | tofi | cliphist decode | wl-copy"
|
||||||
|
"$mainMod CONTROL, T, exec, cliphist wipe"
|
||||||
|
|
||||||
|
# screenshots
|
||||||
|
"$mainMod SHIFT, C, exec, hyprshot --mode region --output-folder ~/pictures/screenshots"
|
||||||
|
|
||||||
|
# multimedia
|
||||||
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
|
||||||
|
# brightness
|
||||||
|
", XF86MonBrightnessUp, exec, brightnessctl set +10%"
|
||||||
|
", XF86MonBrightnessDown, exec, brightnessctl set 10%- --min-value"
|
||||||
|
|
||||||
|
# scratchpad
|
||||||
|
"$mainMod, S, togglespecialworkspace, magic"
|
||||||
|
"$mainMod SHIFT, S, movetoworkspace, special:magic"
|
||||||
|
|
||||||
|
# window management
|
||||||
|
"$mainMod, Q, killactive"
|
||||||
|
"$mainMod SHIFT, M, exit"
|
||||||
|
"$mainMod, V, togglefloating"
|
||||||
|
"$mainMod, F, fullscreen, 1"
|
||||||
|
"$mainMod SHIFT, F, fullscreen, 0"
|
||||||
|
"$mainMod, P, pseudo"
|
||||||
|
"$mainMod, J, togglesplit"
|
||||||
|
|
||||||
|
# focus movement
|
||||||
|
"$mainMod, tab, cyclenext"
|
||||||
|
"$mainMod, left, movefocus, l"
|
||||||
|
"$mainMod, right, movefocus, r"
|
||||||
|
"$mainMod, up, movefocus, u"
|
||||||
|
"$mainMod, down, movefocus, d"
|
||||||
|
|
||||||
|
# move windows
|
||||||
|
"$mainMod SHIFT, left, swapwindow, l"
|
||||||
|
"$mainMod SHIFT, right, swapwindow, r"
|
||||||
|
"$mainMod SHIFT, up, swapwindow, u"
|
||||||
|
"$mainMod SHIFT, down, swapwindow, d"
|
||||||
|
|
||||||
|
# resize
|
||||||
|
"$mainMod CTRL, left, resizeactive, -60 0"
|
||||||
|
"$mainMod CTRL, right, resizeactive, 60 0"
|
||||||
|
"$mainMod CTRL, up, resizeactive, 0 -60"
|
||||||
|
"$mainMod CTRL, down, resizeactive, 0 60"
|
||||||
|
|
||||||
|
# workspace switching
|
||||||
|
"$mainMod, mouse_down, workspace, e+1"
|
||||||
|
"$mainMod, mouse_up, workspace, e-1"
|
||||||
|
"$mainMod, 1, workspace, 1"
|
||||||
|
"$mainMod, 2, workspace, 2"
|
||||||
|
"$mainMod, 3, workspace, 3"
|
||||||
|
"$mainMod, 4, workspace, 4"
|
||||||
|
"$mainMod, 5, workspace, 5"
|
||||||
|
"$mainMod, 6, workspace, 6"
|
||||||
|
"$mainMod, 7, workspace, 7"
|
||||||
|
"$mainMod, 8, workspace, 8"
|
||||||
|
"$mainMod, 9, workspace, 9"
|
||||||
|
"$mainMod, 0, workspace, 10"
|
||||||
|
|
||||||
|
# move windows between workspaces
|
||||||
|
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||||
|
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
|
||||||
|
# waybar
|
||||||
|
"$mainMod, N, exec, pkill -SIGUSR1 waybar"
|
||||||
|
"$mainMod SHIFT, N, exec, pkill -SIGUSR2 waybar"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- dwindle ---
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
|
||||||
workspace = "on";
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
force_default_wallpaper = -1;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
disable_splash_rendering = true;
|
|
||||||
focus_on_activate = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# --- window rules ---
|
|
||||||
windowrulev2 = [
|
|
||||||
];
|
|
||||||
|
|
||||||
# --- binds ---
|
|
||||||
"$mainMod" = "SUPER";
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
# system
|
|
||||||
"$mainMod CONTROL, Q, exec, loginctl lock-session"
|
|
||||||
|
|
||||||
# programs
|
|
||||||
"$mainMod, Return, exec, kitty"
|
|
||||||
"$mainMod, E, exec, kitty lf"
|
|
||||||
"$mainMod, R, exec, tofi-drun --drun-launch=true --prompt-text=\"launch:\""
|
|
||||||
"$mainMod, B, exec, librewolf"
|
|
||||||
"$mainMod, G, exec, lutris"
|
|
||||||
"$mainMod, M, exec, thunderbird"
|
|
||||||
"$mainMod, D, exec, flatpak run com.discordapp.Discord"
|
|
||||||
"$mainMod, K, exec, hyprpicker --autocopy --format=hex"
|
|
||||||
"$mainMod, T, exec, cliphist list | tofi | cliphist decode | wl-copy"
|
|
||||||
"$mainMod CONTROL, T, exec, cliphist wipe"
|
|
||||||
|
|
||||||
# screenshots
|
|
||||||
"$mainMod SHIFT, C, exec, hyprshot --mode region --output-folder ~/pictures/screenshots"
|
|
||||||
|
|
||||||
# multimedia
|
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
", XF86AudioPlay, exec, playerctl play-pause"
|
|
||||||
|
|
||||||
# brightness
|
|
||||||
", XF86MonBrightnessUp, exec, brightnessctl set +10%"
|
|
||||||
", XF86MonBrightnessDown, exec, brightnessctl set 10%- --min-value"
|
|
||||||
|
|
||||||
# scratchpad
|
|
||||||
"$mainMod, S, togglespecialworkspace, magic"
|
|
||||||
"$mainMod SHIFT, S, movetoworkspace, special:magic"
|
|
||||||
|
|
||||||
# window management
|
|
||||||
"$mainMod, Q, killactive"
|
|
||||||
"$mainMod SHIFT, M, exit"
|
|
||||||
"$mainMod, V, togglefloating"
|
|
||||||
"$mainMod, F, fullscreen, 1"
|
|
||||||
"$mainMod SHIFT, F, fullscreen, 0"
|
|
||||||
"$mainMod, P, pseudo"
|
|
||||||
"$mainMod, J, togglesplit"
|
|
||||||
|
|
||||||
# focus movement
|
|
||||||
"$mainMod, tab, cyclenext"
|
|
||||||
"$mainMod, left, movefocus, l"
|
|
||||||
"$mainMod, right, movefocus, r"
|
|
||||||
"$mainMod, up, movefocus, u"
|
|
||||||
"$mainMod, down, movefocus, d"
|
|
||||||
|
|
||||||
# move windows
|
|
||||||
"$mainMod SHIFT, left, swapwindow, l"
|
|
||||||
"$mainMod SHIFT, right, swapwindow, r"
|
|
||||||
"$mainMod SHIFT, up, swapwindow, u"
|
|
||||||
"$mainMod SHIFT, down, swapwindow, d"
|
|
||||||
|
|
||||||
# resize
|
|
||||||
"$mainMod CTRL, left, resizeactive, -60 0"
|
|
||||||
"$mainMod CTRL, right, resizeactive, 60 0"
|
|
||||||
"$mainMod CTRL, up, resizeactive, 0 -60"
|
|
||||||
"$mainMod CTRL, down, resizeactive, 0 60"
|
|
||||||
|
|
||||||
# workspace switching
|
|
||||||
"$mainMod, mouse_down, workspace, e+1"
|
|
||||||
"$mainMod, mouse_up, workspace, e-1"
|
|
||||||
"$mainMod, 1, workspace, 1"
|
|
||||||
"$mainMod, 2, workspace, 2"
|
|
||||||
"$mainMod, 3, workspace, 3"
|
|
||||||
"$mainMod, 4, workspace, 4"
|
|
||||||
"$mainMod, 5, workspace, 5"
|
|
||||||
"$mainMod, 6, workspace, 6"
|
|
||||||
"$mainMod, 7, workspace, 7"
|
|
||||||
"$mainMod, 8, workspace, 8"
|
|
||||||
"$mainMod, 9, workspace, 9"
|
|
||||||
"$mainMod, 0, workspace, 10"
|
|
||||||
|
|
||||||
# move windows between workspaces
|
|
||||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
|
||||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
|
||||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
|
||||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
|
||||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
|
||||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
|
||||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
|
||||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
|
||||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
|
||||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
|
||||||
|
|
||||||
# waybar
|
|
||||||
"$mainMod, N, exec, pkill -SIGUSR1 waybar"
|
|
||||||
"$mainMod SHIFT, N, exec, pkill -SIGUSR2 waybar"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"$mainMod, mouse:272, movewindow"
|
|
||||||
"$mainMod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# enable polkit agent
|
# enable polkit agent
|
||||||
services.hyprpolkitagent.enable = true;
|
services.hyprpolkitagent.enable = true;
|
||||||
|
|
||||||
# wallpaper
|
# wallpaper
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
preload = [ "~/.nix/users/blake/assets/wallpapers/antartica.png" ];
|
|
||||||
wallpaper = [ ",~/.nix/users/blake/assets/wallpapers/antartica.png" ];
|
|
||||||
ipc = "off";
|
|
||||||
splash = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# screenlocker
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
disable_loading_bar = true;
|
|
||||||
hide_cursor = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
background = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
path = "~/.nix/users/blake/assets/wallpapers/antartica.png";
|
|
||||||
blur_passes = 1;
|
|
||||||
color = "rgb(0047ab)";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
label = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "cmd[update:30000] echo \"$(date +'%R')\"";
|
|
||||||
color = "rgb(ffffff)";
|
|
||||||
font_size = 90;
|
|
||||||
position = "-130, -100";
|
|
||||||
halign = "right";
|
|
||||||
valign = "top";
|
|
||||||
shadow_passes = 1;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "cmd[update:43200000] echo \"$(date +'%Y/%m/%d')\"";
|
|
||||||
color = "$text";
|
|
||||||
font_size = 25;
|
|
||||||
position = "-130, -250";
|
|
||||||
halign = "right";
|
|
||||||
valign = "top";
|
|
||||||
shadow_passes = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "$LAYOUT";
|
|
||||||
color = "rgb(ffffff)";
|
|
||||||
font_size = 20;
|
|
||||||
rotate = 0;
|
|
||||||
position = "-130, -310";
|
|
||||||
halign = "right";
|
|
||||||
valign = "top";
|
|
||||||
shadow_passes = 2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
image = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
path = "~/.nix/users/blake/assets/pfps/pikacig.jpg";
|
|
||||||
size = 350;
|
|
||||||
border_color = "rgb(0047ab)";
|
|
||||||
rounding = -1;
|
|
||||||
position = "0, 85";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
shadow_passes = 2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
input-field = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
size = "400, 70";
|
|
||||||
outline_thickness = 4;
|
|
||||||
dots_size = 0.2;
|
|
||||||
dots_spacing = 0.2;
|
|
||||||
dots_center = true;
|
|
||||||
outer_color = "$accent";
|
|
||||||
inner_color = "$surface0";
|
|
||||||
font_color = "$text";
|
|
||||||
fade_on_empty = false;
|
|
||||||
placeholder_text =
|
|
||||||
"# <span foreground=\"##$textAlpha\"><i> Logged in as </i><span foreground=\"##$accentAlpha\">$USER</span></span>";
|
|
||||||
hide_input = false;
|
|
||||||
check_color = "rgb(0047ab)";
|
|
||||||
fail_color = "rgb(ff0000)";
|
|
||||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
|
||||||
capslock_color = "rgb(ff0000)";
|
|
||||||
position = "0, -185";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
shadow_passes = 2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# idle daemon
|
|
||||||
services.hypridle = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
# --- general settings ---
|
|
||||||
general = {
|
|
||||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid multiple instances
|
|
||||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on"; # wake display properly
|
|
||||||
};
|
|
||||||
|
|
||||||
# --- dim screen ---
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 150; # 2.5 min
|
|
||||||
on-timeout = "brightnessctl -s set 1"; # dim monitor (avoid 0 on OLED)
|
|
||||||
on-resume = "brightnessctl -r"; # restore brightness
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- blank screen ---
|
|
||||||
{
|
|
||||||
timeout = 330; # 5.5 min
|
|
||||||
on-timeout = "hyprctl dispatch dpms off"; # turn off screen
|
|
||||||
on-resume = "hyprctl dispatch dpms on"; # restore screen
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- lock screen ---
|
|
||||||
{
|
|
||||||
timeout = 900; # 15 min
|
|
||||||
on-timeout = "loginctl lock-session"; # lock screen
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- suspend timeout ---
|
|
||||||
{
|
|
||||||
timeout = 1800; # 30 min
|
|
||||||
on-timeout = "systemctl suspend"; # suspend computer
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- keyboard backlight (optional) ---
|
|
||||||
# Uncomment if your keyboard supports it
|
|
||||||
# {
|
|
||||||
# timeout = 150;
|
|
||||||
# on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0";
|
|
||||||
# on-resume = "brightnessctl -rd rgb:kbd_backlight";
|
|
||||||
# }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
dotIcons.enable = false;
|
|
||||||
enable = true;
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
package = pkgs.posy-cursors;
|
|
||||||
name = "Posy_Cursor_Black";
|
|
||||||
size = 48;
|
|
||||||
hyprcursor = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
size = 64;
|
settings = {
|
||||||
|
preload = [ "~/.nix/users/blake/assets/wallpapers/antartica.png" ];
|
||||||
|
wallpaper = [ ",~/.nix/users/blake/assets/wallpapers/antartica.png" ];
|
||||||
|
ipc = "off";
|
||||||
|
splash = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
#xdg.configFile."hypr/hyprland.conf" = {
|
# screenlocker
|
||||||
# source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dots/hypr/hyprland.conf";
|
programs.hyprlock = {
|
||||||
#};
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = true;
|
||||||
|
hide_cursor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
path = "~/.nix/users/blake/assets/wallpapers/antartica.png";
|
||||||
|
blur_passes = 1;
|
||||||
|
color = "rgb(0047ab)";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:30000] echo \"$(date +'%R')\"";
|
||||||
|
color = "rgb(ffffff)";
|
||||||
|
font_size = 90;
|
||||||
|
position = "-130, -100";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
shadow_passes = 1;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:43200000] echo \"$(date +'%Y/%m/%d')\"";
|
||||||
|
color = "$text";
|
||||||
|
font_size = 25;
|
||||||
|
position = "-130, -250";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "$LAYOUT";
|
||||||
|
color = "rgb(ffffff)";
|
||||||
|
font_size = 20;
|
||||||
|
rotate = 0;
|
||||||
|
position = "-130, -310";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
image = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
path = "~/.nix/users/blake/assets/pfps/pikacig.jpg";
|
||||||
|
size = 350;
|
||||||
|
border_color = "rgb(0047ab)";
|
||||||
|
rounding = -1;
|
||||||
|
position = "0, 85";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "400, 70";
|
||||||
|
outline_thickness = 4;
|
||||||
|
dots_size = 0.2;
|
||||||
|
dots_spacing = 0.2;
|
||||||
|
dots_center = true;
|
||||||
|
outer_color = "$accent";
|
||||||
|
inner_color = "$surface0";
|
||||||
|
font_color = "$text";
|
||||||
|
fade_on_empty = false;
|
||||||
|
placeholder_text =
|
||||||
|
"# <span foreground=\"##$textAlpha\"><i> Logged in as </i><span foreground=\"##$accentAlpha\">$USER</span></span>";
|
||||||
|
hide_input = false;
|
||||||
|
check_color = "rgb(0047ab)";
|
||||||
|
fail_color = "rgb(ff0000)";
|
||||||
|
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
||||||
|
capslock_color = "rgb(ff0000)";
|
||||||
|
position = "0, -185";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# idle daemon
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# --- general settings ---
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock"; # avoid multiple instances
|
||||||
|
before_sleep_cmd = "loginctl lock-session"; # lock before suspend
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on"; # wake display properly
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- dim screen ---
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 150; # 2.5 min
|
||||||
|
on-timeout = "brightnessctl -s set 1"; # dim monitor (avoid 0 on OLED)
|
||||||
|
on-resume = "brightnessctl -r"; # restore brightness
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- blank screen ---
|
||||||
|
{
|
||||||
|
timeout = 330; # 5.5 min
|
||||||
|
on-timeout = "hyprctl dispatch dpms off"; # turn off screen
|
||||||
|
on-resume = "hyprctl dispatch dpms on"; # restore screen
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- lock screen ---
|
||||||
|
{
|
||||||
|
timeout = 900; # 15 min
|
||||||
|
on-timeout = "loginctl lock-session"; # lock screen
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- suspend timeout ---
|
||||||
|
{
|
||||||
|
timeout = 1800; # 30 min
|
||||||
|
on-timeout = "systemctl suspend"; # suspend computer
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- keyboard backlight (optional) ---
|
||||||
|
# Uncomment if your keyboard supports it
|
||||||
|
# {
|
||||||
|
# timeout = 150;
|
||||||
|
# on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0";
|
||||||
|
# on-resume = "brightnessctl -rd rgb:kbd_backlight";
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
dotIcons.enable = false;
|
||||||
|
enable = true;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
package = pkgs.posy-cursors;
|
||||||
|
name = "Posy_Cursor_Black";
|
||||||
|
size = 48;
|
||||||
|
hyprcursor = {
|
||||||
|
enable = true;
|
||||||
|
size = 64;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#xdg.configFile."hypr/hyprland.conf" = {
|
||||||
|
# source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dots/hypr/hyprland.conf";
|
||||||
|
#};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,188 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.nvf.homeManagerModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nvf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
vim = {
|
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
maplocalleader = " ";
|
|
||||||
};
|
|
||||||
|
|
||||||
vimAlias = true;
|
|
||||||
|
|
||||||
lsp.enable = true;
|
|
||||||
statusline.lualine.enable = true;
|
|
||||||
telescope.enable = true;
|
|
||||||
autocomplete.nvim-cmp.enable = true;
|
|
||||||
autopairs.nvim-autopairs.enable = true;
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
# visual line movement (insert mode)
|
|
||||||
{
|
|
||||||
key = "<Up>";
|
|
||||||
mode = [ "i" ];
|
|
||||||
action = "<C-o>gk";
|
|
||||||
desc = "Visual Line Up (Insert)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Down>";
|
|
||||||
mode = [ "i" ];
|
|
||||||
action = "<C-o>gj";
|
|
||||||
desc = "Visual Line Down (Insert)";
|
|
||||||
}
|
|
||||||
|
|
||||||
# visual line movement (normal/visual)
|
|
||||||
{
|
|
||||||
key = "<Up>";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "g<Up>";
|
|
||||||
desc = "Visual Line Up";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<Down>";
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "g<Down>";
|
|
||||||
desc = "Visual Line Down";
|
|
||||||
}
|
|
||||||
|
|
||||||
# lsp
|
|
||||||
#{ key = "gd"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.definition()<CR>"; desc = "Go to definition"; }
|
|
||||||
#{ key = "K"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.hover()<CR>"; desc = "Hover info"; }
|
|
||||||
#{ key = "<leader>f"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>"; desc = "Format buffer"; }
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "gd";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.definition()<CR>";
|
|
||||||
desc = "Go to definition";
|
|
||||||
}
|
|
||||||
# Hover info
|
|
||||||
{
|
|
||||||
key = "K";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
|
|
||||||
desc = "Hover info";
|
|
||||||
}
|
|
||||||
# Format buffer (Alejandra for Nix)
|
|
||||||
{
|
|
||||||
key = "<leader>F";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>";
|
|
||||||
desc = "Format buffer";
|
|
||||||
}
|
|
||||||
# Code actions / quickfix
|
|
||||||
{
|
|
||||||
key = "<leader>a";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
|
|
||||||
desc = "Code action";
|
|
||||||
}
|
|
||||||
# Rename symbol
|
|
||||||
{
|
|
||||||
key = "<leader>r";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
|
|
||||||
desc = "Rename symbol";
|
|
||||||
}
|
|
||||||
# Diagnostics
|
|
||||||
{
|
|
||||||
key = "<leader>e";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
|
|
||||||
desc = "Show diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "[d";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.goto_prev()<CR>";
|
|
||||||
desc = "Previous diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "]d";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = true;
|
|
||||||
action = "<cmd>lua vim.diagnostic.goto_next()<CR>";
|
|
||||||
desc = "Next diagnostic";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
options = {
|
|
||||||
clipboard = "unnamedplus";
|
|
||||||
|
|
||||||
# line numbers
|
|
||||||
number = true;
|
|
||||||
numberwidth = 2;
|
|
||||||
relativenumber = true;
|
|
||||||
|
|
||||||
# tabs and indentation
|
|
||||||
tabstop = 2;
|
|
||||||
shiftwidth = 2;
|
|
||||||
softtabstop = -1;
|
|
||||||
expandtab = true;
|
|
||||||
smarttab = true;
|
|
||||||
autoindent = true;
|
|
||||||
|
|
||||||
# search
|
|
||||||
ignorecase = true;
|
|
||||||
smartcase = true;
|
|
||||||
|
|
||||||
# files and backups
|
|
||||||
backup = false;
|
|
||||||
writebackup = false;
|
|
||||||
undofile = true;
|
|
||||||
swapfile = true;
|
|
||||||
|
|
||||||
# wrapping
|
|
||||||
wrap = true;
|
|
||||||
linebreak = true;
|
|
||||||
breakindent = true;
|
|
||||||
|
|
||||||
termguicolors = true;
|
|
||||||
autoread = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
languages = {
|
|
||||||
enableTreesitter = true;
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
enable = true;
|
|
||||||
format = {
|
|
||||||
enable = true;
|
|
||||||
type = "alejandra";
|
|
||||||
#type = "nixfmt";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
markdown.enable = true;
|
|
||||||
rust.enable = true;
|
|
||||||
lua.enable = true;
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
201
users/blake/dots/nvf/default.nix
Normal file
201
users/blake/dots/nvf/default.nix
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
program = "nvf";
|
||||||
|
cfg = config.dots.${program};
|
||||||
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.dots.${program} = {
|
||||||
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
inputs.nvf.homeManagerModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.${program} = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
vim = {
|
||||||
|
globals = {
|
||||||
|
mapleader = " ";
|
||||||
|
maplocalleader = " ";
|
||||||
|
};
|
||||||
|
|
||||||
|
vimAlias = true;
|
||||||
|
|
||||||
|
lsp.enable = true;
|
||||||
|
statusline.lualine.enable = true;
|
||||||
|
telescope.enable = true;
|
||||||
|
autocomplete.nvim-cmp.enable = true;
|
||||||
|
autopairs.nvim-autopairs.enable = true;
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
# visual line movement (insert mode)
|
||||||
|
{
|
||||||
|
key = "<Up>";
|
||||||
|
mode = [ "i" ];
|
||||||
|
action = "<C-o>gk";
|
||||||
|
desc = "Visual Line Up (Insert)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Down>";
|
||||||
|
mode = [ "i" ];
|
||||||
|
action = "<C-o>gj";
|
||||||
|
desc = "Visual Line Down (Insert)";
|
||||||
|
}
|
||||||
|
|
||||||
|
# visual line movement (normal/visual)
|
||||||
|
{
|
||||||
|
key = "<Up>";
|
||||||
|
mode = [
|
||||||
|
"n"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
action = "g<Up>";
|
||||||
|
desc = "Visual Line Up";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Down>";
|
||||||
|
mode = [
|
||||||
|
"n"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
action = "g<Down>";
|
||||||
|
desc = "Visual Line Down";
|
||||||
|
}
|
||||||
|
|
||||||
|
# lsp
|
||||||
|
#{ key = "gd"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.definition()<CR>"; desc = "Go to definition"; }
|
||||||
|
#{ key = "K"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.hover()<CR>"; desc = "Hover info"; }
|
||||||
|
#{ key = "<leader>f"; mode = [ "n" ]; action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>"; desc = "Format buffer"; }
|
||||||
|
|
||||||
|
{
|
||||||
|
key = "gd";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.definition()<CR>";
|
||||||
|
desc = "Go to definition";
|
||||||
|
}
|
||||||
|
# Hover info
|
||||||
|
{
|
||||||
|
key = "K";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.hover()<CR>";
|
||||||
|
desc = "Hover info";
|
||||||
|
}
|
||||||
|
# Format buffer (Alejandra for Nix)
|
||||||
|
{
|
||||||
|
key = "<leader>F";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.format({ async = true })<CR>";
|
||||||
|
desc = "Format buffer";
|
||||||
|
}
|
||||||
|
# Code actions / quickfix
|
||||||
|
{
|
||||||
|
key = "<leader>a";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
|
||||||
|
desc = "Code action";
|
||||||
|
}
|
||||||
|
# Rename symbol
|
||||||
|
{
|
||||||
|
key = "<leader>r";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.lsp.buf.rename()<CR>";
|
||||||
|
desc = "Rename symbol";
|
||||||
|
}
|
||||||
|
# Diagnostics
|
||||||
|
{
|
||||||
|
key = "<leader>e";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
|
||||||
|
desc = "Show diagnostic";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "[d";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_prev()<CR>";
|
||||||
|
desc = "Previous diagnostic";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "]d";
|
||||||
|
mode = [ "n" ];
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_next()<CR>";
|
||||||
|
desc = "Next diagnostic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
options = {
|
||||||
|
clipboard = "unnamedplus";
|
||||||
|
|
||||||
|
# line numbers
|
||||||
|
number = true;
|
||||||
|
numberwidth = 2;
|
||||||
|
relativenumber = true;
|
||||||
|
|
||||||
|
# tabs and indentation
|
||||||
|
tabstop = 2;
|
||||||
|
shiftwidth = 2;
|
||||||
|
softtabstop = -1;
|
||||||
|
expandtab = true;
|
||||||
|
smarttab = true;
|
||||||
|
autoindent = true;
|
||||||
|
|
||||||
|
# search
|
||||||
|
ignorecase = true;
|
||||||
|
smartcase = true;
|
||||||
|
|
||||||
|
# files and backups
|
||||||
|
backup = false;
|
||||||
|
writebackup = false;
|
||||||
|
undofile = true;
|
||||||
|
swapfile = true;
|
||||||
|
|
||||||
|
# wrapping
|
||||||
|
wrap = true;
|
||||||
|
linebreak = true;
|
||||||
|
breakindent = true;
|
||||||
|
|
||||||
|
termguicolors = true;
|
||||||
|
autoread = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
languages = {
|
||||||
|
enableTreesitter = true;
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
enable = true;
|
||||||
|
format = {
|
||||||
|
enable = true;
|
||||||
|
type = "alejandra";
|
||||||
|
#type = "nixfmt";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
markdown.enable = true;
|
||||||
|
rust.enable = true;
|
||||||
|
lua.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,43 +1,57 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
programs.ssh = {
|
let
|
||||||
enable = true;
|
program = "ssh";
|
||||||
enableDefaultConfig = false;
|
cfg = config.dots.${program};
|
||||||
matchBlocks = {
|
#sec = sops.secrets;
|
||||||
"git.blakedheld.xyz" = {
|
in {
|
||||||
user = "gitea";
|
|
||||||
identityFile = "~/.ssh/id_snowbelle";
|
options.dots.${program} = {
|
||||||
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
matchBlocks = {
|
||||||
|
"git.blakedheld.xyz" = {
|
||||||
|
user = "gitea";
|
||||||
|
identityFile = "~/.ssh/id_snowbelle";
|
||||||
|
};
|
||||||
|
"git.snowbelle.lan" = {
|
||||||
|
user = "gitea";
|
||||||
|
identityFile = "~/.ssh/id_snowbelle";
|
||||||
|
};
|
||||||
|
"bebe" = {
|
||||||
|
hostname = "10.10.0.1";
|
||||||
|
user = "root";
|
||||||
|
identityFile = "~/.ssh/id_snowbelle";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"git.snowbelle.lan" = {
|
};
|
||||||
user = "gitea";
|
|
||||||
identityFile = "~/.ssh/id_snowbelle";
|
# import sshkeys from keyring
|
||||||
|
#home.file.".ssh/id_snowbelle".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle;
|
||||||
|
#home.file.".ssh/id_snowbelle.pub".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle.pub;
|
||||||
|
|
||||||
|
|
||||||
|
# manage secrets with sops
|
||||||
|
sops.secrets = {
|
||||||
|
"id_snowbelle" = {
|
||||||
|
mode = "0600";
|
||||||
|
path = "/home/blake/.ssh/id_snowbelle";
|
||||||
};
|
};
|
||||||
"bebe" = {
|
"id_snowbelle.pub" = {
|
||||||
hostname = "10.10.0.1";
|
mode = "644";
|
||||||
user = "root";
|
path = "/home/blake/.ssh/id_snowbelle.pub";
|
||||||
identityFile = "~/.ssh/id_snowbelle";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# import sshkeys from keyring
|
|
||||||
#home.file.".ssh/id_snowbelle".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle;
|
|
||||||
#home.file.".ssh/id_snowbelle.pub".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle.pub;
|
|
||||||
|
|
||||||
|
|
||||||
# manage secrets with sops
|
|
||||||
sops.secrets = {
|
|
||||||
"id_snowbelle" = {
|
|
||||||
mode = "0600";
|
|
||||||
path = "/home/blake/.ssh/id_snowbelle";
|
|
||||||
};
|
|
||||||
"id_snowbelle.pub" = {
|
|
||||||
mode = "644";
|
|
||||||
path = "/home/blake/.ssh/id_snowbelle.pub";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,20 @@
|
|||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
|
||||||
imports = [inputs.stylix.homeManagerModules.default];
|
|
||||||
|
|
||||||
|
let
|
||||||
|
program = "stylix";
|
||||||
|
cfg = config.dots.${program};
|
||||||
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.dots.${program} = {
|
||||||
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
imports = [inputs.stylix.homeManagerModules.default];
|
||||||
|
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,293 +1,308 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
# just using the normal lfrc
|
let
|
||||||
programs.waybar = {
|
program = "waybar";
|
||||||
enable = true;
|
cfg = config.dots.${program};
|
||||||
systemd.enable = true;
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
settings = {
|
options.dots.${program} = {
|
||||||
mainBar = {
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
layer = "top";
|
};
|
||||||
position = "top";
|
|
||||||
height = 25;
|
|
||||||
margin-top = 0;
|
|
||||||
|
|
||||||
modules-left = [ "hyprland/workspaces" ];
|
config = lib.mkIf cfg.enable {
|
||||||
modules-center = [ "hyprland/window" ];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"temperature"
|
|
||||||
"backlight"
|
|
||||||
"wireplumber"
|
|
||||||
"battery"
|
|
||||||
"bluetooth"
|
|
||||||
"network"
|
|
||||||
"idle_inhibitor"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
format = "{icon}";
|
|
||||||
"on-scroll-up" = "hyprctl dispatch workspace e+1";
|
|
||||||
"on-scroll-down" = "hyprctl dispatch workspace e-1";
|
|
||||||
};
|
|
||||||
|
|
||||||
"hyprland/window" = {
|
# just using the normal lfrc
|
||||||
"max-length" = 200;
|
programs.${program} = {
|
||||||
"separate-outputs" = false;
|
enable = true;
|
||||||
};
|
systemd.enable = true;
|
||||||
|
|
||||||
tray = {
|
settings = {
|
||||||
"icon-size" = 17;
|
mainBar = {
|
||||||
spacing = 10;
|
layer = "top";
|
||||||
};
|
position = "top";
|
||||||
|
height = 25;
|
||||||
|
margin-top = 0;
|
||||||
|
|
||||||
clock = {
|
modules-left = [ "hyprland/workspaces" ];
|
||||||
format = "{:%Y/%m/%d %a %H:%M}";
|
modules-center = [ "hyprland/window" ];
|
||||||
interval = 30;
|
modules-right = [
|
||||||
"on-click" = "thunderbird -calendar";
|
"tray"
|
||||||
"on-scroll" = 1;
|
"temperature"
|
||||||
|
"backlight"
|
||||||
|
"wireplumber"
|
||||||
|
"battery"
|
||||||
|
"bluetooth"
|
||||||
|
"network"
|
||||||
|
"idle_inhibitor"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
calendar = {
|
"hyprland/workspaces" = {
|
||||||
mode = "month";
|
format = "{icon}";
|
||||||
"mode-mon-col" = 3;
|
"on-scroll-up" = "hyprctl dispatch workspace e+1";
|
||||||
"weeks-pos" = "";
|
"on-scroll-down" = "hyprctl dispatch workspace e-1";
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/window" = {
|
||||||
|
"max-length" = 200;
|
||||||
|
"separate-outputs" = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
tray = {
|
||||||
|
"icon-size" = 17;
|
||||||
|
spacing = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
format = "{:%Y/%m/%d %a %H:%M}";
|
||||||
|
interval = 30;
|
||||||
|
"on-click" = "thunderbird -calendar";
|
||||||
"on-scroll" = 1;
|
"on-scroll" = 1;
|
||||||
"on-click-right" = "mode";
|
|
||||||
format = {
|
calendar = {
|
||||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
mode = "month";
|
||||||
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
"mode-mon-col" = 3;
|
||||||
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
"weeks-pos" = "";
|
||||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
"on-scroll" = 1;
|
||||||
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
"on-click-right" = "mode";
|
||||||
|
format = {
|
||||||
|
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||||
|
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||||
|
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||||
|
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||||
|
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
"on-click-right" = "mode";
|
||||||
|
"on-scroll-up" = "shift_up";
|
||||||
|
"on-scroll-down" = "shift_down";
|
||||||
|
};
|
||||||
|
|
||||||
|
"tooltip-format" = "<tt><small>{calendar}</small></tt>";
|
||||||
};
|
};
|
||||||
|
|
||||||
actions = {
|
backlight = {
|
||||||
"on-click-right" = "mode";
|
device = "intel_backlight";
|
||||||
"on-scroll-up" = "shift_up";
|
format = "{icon} {percent}%";
|
||||||
"on-scroll-down" = "shift_down";
|
"format-icons" = [ "☼" "☼" "☀" "☀" ];
|
||||||
|
interval = 60;
|
||||||
};
|
};
|
||||||
|
|
||||||
"tooltip-format" = "<tt><small>{calendar}</small></tt>";
|
temperature = {
|
||||||
};
|
"hwmon-path" = [ "/sys/class/hwmon/hwmon3/temp1_input" ];
|
||||||
|
"critical-threshold" = 70;
|
||||||
backlight = {
|
format = "";
|
||||||
device = "intel_backlight";
|
"format-critical" = " {temperatureC}°C";
|
||||||
format = "{icon} {percent}%";
|
|
||||||
"format-icons" = [ "☼" "☼" "☀" "☀" ];
|
|
||||||
interval = 60;
|
|
||||||
};
|
|
||||||
|
|
||||||
temperature = {
|
|
||||||
"hwmon-path" = [ "/sys/class/hwmon/hwmon3/temp1_input" ];
|
|
||||||
"critical-threshold" = 70;
|
|
||||||
format = "";
|
|
||||||
"format-critical" = " {temperatureC}°C";
|
|
||||||
};
|
|
||||||
|
|
||||||
battery = {
|
|
||||||
bat = "BAT0";
|
|
||||||
states = {
|
|
||||||
full = 99;
|
|
||||||
good = 80;
|
|
||||||
normal = 50;
|
|
||||||
warning = 30;
|
|
||||||
critical = 10;
|
|
||||||
};
|
};
|
||||||
format = "{icon} {capacity}%";
|
|
||||||
"format-charging" = " {capacity}%";
|
|
||||||
"format-icons" = [ "" "" "" "" "" ];
|
|
||||||
interval = 30;
|
|
||||||
};
|
|
||||||
|
|
||||||
network = {
|
battery = {
|
||||||
"format-wifi" = "";
|
bat = "BAT0";
|
||||||
"format-ethernet" = "";
|
states = {
|
||||||
"format-disconnected" = "";
|
full = 99;
|
||||||
"tooltip-format-wifi" =
|
good = 80;
|
||||||
"{ifname} / {essid}\n\n {ipaddr}\n\n {signalStrength}% / {frequency}\n\n {bandwidthUpBits} / {bandwidthDownBits}";
|
normal = 50;
|
||||||
"tooltip-format-ethernet" =
|
warning = 30;
|
||||||
"{ifname} / {gwaddr}\n\n {ipaddr}\n\n {bandwidthUpBits} / {bandwidthDownBits}";
|
critical = 10;
|
||||||
"tooltip-format-disconnected" = "Disconnected";
|
};
|
||||||
interval = 5;
|
format = "{icon} {capacity}%";
|
||||||
"on-click" = "kitty nmtui";
|
"format-charging" = " {capacity}%";
|
||||||
};
|
"format-icons" = [ "" "" "" "" "" ];
|
||||||
|
interval = 30;
|
||||||
|
};
|
||||||
|
|
||||||
wireplumber = {
|
network = {
|
||||||
format = " {volume}%";
|
"format-wifi" = "";
|
||||||
"format-muted" = " Mute";
|
"format-ethernet" = "";
|
||||||
"max-volume" = 150;
|
"format-disconnected" = "";
|
||||||
"on-scroll-up" = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+";
|
"tooltip-format-wifi" =
|
||||||
"on-scroll-down" = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-";
|
"{ifname} / {essid}\n\n {ipaddr}\n\n {signalStrength}% / {frequency}\n\n {bandwidthUpBits} / {bandwidthDownBits}";
|
||||||
"on-click-right" = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
"tooltip-format-ethernet" =
|
||||||
"on-click" = "kitty pulsemixer";
|
"{ifname} / {gwaddr}\n\n {ipaddr}\n\n {bandwidthUpBits} / {bandwidthDownBits}";
|
||||||
};
|
"tooltip-format-disconnected" = "Disconnected";
|
||||||
|
interval = 5;
|
||||||
|
"on-click" = "kitty nmtui";
|
||||||
|
};
|
||||||
|
|
||||||
bluetooth = {
|
wireplumber = {
|
||||||
"format-on" = "";
|
format = " {volume}%";
|
||||||
"format-off" = "";
|
"format-muted" = " Mute";
|
||||||
"format-connected" = " {device_alias}";
|
"max-volume" = 150;
|
||||||
"format-connected-battery" = " {device_alias} ({device_battery_percentage}%)";
|
"on-scroll-up" = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+";
|
||||||
"tooltip-format-off" = "Controller Powered Off";
|
"on-scroll-down" = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-";
|
||||||
"tooltip-format" =
|
"on-click-right" = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
"{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
"on-click" = "kitty pulsemixer";
|
||||||
"tooltip-format-connected" =
|
};
|
||||||
"{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
|
||||||
"tooltip-format-enumerate-connected" =
|
|
||||||
"{device_alias}\t{device_address}";
|
|
||||||
"tooltip-format-enumerate-connected-battery" =
|
|
||||||
"{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
|
||||||
"on-click" = "kitty bluetuith --no-warning";
|
|
||||||
"on-click-right" =
|
|
||||||
"if bluetoothctl show|grep -q 'Powered: yes';then bluetoothctl power off;else bluetoothctl power on;fi";
|
|
||||||
};
|
|
||||||
|
|
||||||
idle_inhibitor = {
|
bluetooth = {
|
||||||
what = "idle";
|
"format-on" = "";
|
||||||
format = "{icon}";
|
"format-off" = "";
|
||||||
"format-icons" = {
|
"format-connected" = " {device_alias}";
|
||||||
activated = "";
|
"format-connected-battery" = " {device_alias} ({device_battery_percentage}%)";
|
||||||
deactivated = "";
|
"tooltip-format-off" = "Controller Powered Off";
|
||||||
|
"tooltip-format" =
|
||||||
|
"{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||||
|
"tooltip-format-connected" =
|
||||||
|
"{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
||||||
|
"tooltip-format-enumerate-connected" =
|
||||||
|
"{device_alias}\t{device_address}";
|
||||||
|
"tooltip-format-enumerate-connected-battery" =
|
||||||
|
"{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||||
|
"on-click" = "kitty bluetuith --no-warning";
|
||||||
|
"on-click-right" =
|
||||||
|
"if bluetoothctl show|grep -q 'Powered: yes';then bluetoothctl power off;else bluetoothctl power on;fi";
|
||||||
|
};
|
||||||
|
|
||||||
|
idle_inhibitor = {
|
||||||
|
what = "idle";
|
||||||
|
format = "{icon}";
|
||||||
|
"format-icons" = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
font-family: "UbuntuMono Nerd Font";
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
border-radius: 9px;
|
||||||
|
background-color: rgba(50, 50, 50, 0.5);
|
||||||
|
padding: 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
border-radius: 9px;
|
||||||
|
background-color: rgba(50, 50, 50, 0.5);
|
||||||
|
padding: 0px 5px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- window bar --- */
|
||||||
|
|
||||||
|
/* window title bar */
|
||||||
|
window#waybar {
|
||||||
|
border-radius: 9px;
|
||||||
|
background-color: rgba(47, 23, 48, 0.70);
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hide window title when empty*/
|
||||||
|
window#waybar.empty #window {
|
||||||
|
background-color: transparent;
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* change title bar background color when empty */
|
||||||
|
window#waybar.empty {
|
||||||
|
background-color: rgba(47, 23, 48, 0.70);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- left modules --- */
|
||||||
|
|
||||||
|
/* workspace buttons */
|
||||||
|
#workspaces button {
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
padding: 0px 11px 0px 11px;
|
||||||
|
min-width: 1px;
|
||||||
|
color: #888888;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
background: rgba(50, 50, 50, 0.55);
|
||||||
|
color: #888888;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active,
|
||||||
|
#workspaces button.visible {
|
||||||
|
padding: 0px 11px 0px 11px;
|
||||||
|
background-color: rgba(50, 50, 50, 0.55);
|
||||||
|
color: #e2c7c7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- right modules --- */
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
margin: 0px 10px 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
margin: 0px 3px 0px 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor,
|
||||||
|
#network,
|
||||||
|
#bluetooth,
|
||||||
|
#battery,
|
||||||
|
#wireplumber,
|
||||||
|
#backlight,
|
||||||
|
#temperature {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
padding: 0px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
padding: 0px 4px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- indicators --- */
|
||||||
|
|
||||||
|
/* blink red */
|
||||||
|
#temperature.critical,
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: transparent;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.75s;
|
||||||
|
animation-timing-function: steps(12);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* turn red */
|
||||||
|
#network.disconnected,
|
||||||
|
#wireplumber.muted,
|
||||||
|
#bluetooth.off {
|
||||||
|
color: #ff5555;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- animations --- */
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ff5555;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
style = ''
|
# install it to userspace
|
||||||
* {
|
home.packages = with pkgs; [
|
||||||
border: none;
|
pulsemixer
|
||||||
font-family: "UbuntuMono Nerd Font";
|
brightnessctl
|
||||||
font-size: 17px;
|
bluetuith
|
||||||
}
|
bluez
|
||||||
|
nerd-fonts.ubuntu
|
||||||
.modules-left {
|
nerd-fonts.ubuntu-mono
|
||||||
border-radius: 9px;
|
];
|
||||||
background-color: rgba(50, 50, 50, 0.5);
|
|
||||||
padding: 0px 0px 0px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-right {
|
|
||||||
border-radius: 9px;
|
|
||||||
background-color: rgba(50, 50, 50, 0.5);
|
|
||||||
padding: 0px 5px 0px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- window bar --- */
|
|
||||||
|
|
||||||
/* window title bar */
|
|
||||||
window#waybar {
|
|
||||||
border-radius: 9px;
|
|
||||||
background-color: rgba(47, 23, 48, 0.70);
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* hide window title when empty*/
|
|
||||||
window#waybar.empty #window {
|
|
||||||
background-color: transparent;
|
|
||||||
color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* change title bar background color when empty */
|
|
||||||
window#waybar.empty {
|
|
||||||
background-color: rgba(47, 23, 48, 0.70);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- left modules --- */
|
|
||||||
|
|
||||||
/* workspace buttons */
|
|
||||||
#workspaces button {
|
|
||||||
box-shadow: inset 0 -3px transparent;
|
|
||||||
padding: 0px 11px 0px 11px;
|
|
||||||
min-width: 1px;
|
|
||||||
color: #888888;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
box-shadow: inherit;
|
|
||||||
text-shadow: inherit;
|
|
||||||
background: rgba(50, 50, 50, 0.55);
|
|
||||||
color: #888888;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active,
|
|
||||||
#workspaces button.visible {
|
|
||||||
padding: 0px 11px 0px 11px;
|
|
||||||
background-color: rgba(50, 50, 50, 0.55);
|
|
||||||
color: #e2c7c7;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- right modules --- */
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
margin: 0px 10px 0px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
margin: 0px 3px 0px 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#idle_inhibitor,
|
|
||||||
#network,
|
|
||||||
#bluetooth,
|
|
||||||
#battery,
|
|
||||||
#wireplumber,
|
|
||||||
#backlight,
|
|
||||||
#temperature {
|
|
||||||
background-color: transparent;
|
|
||||||
color: #ffffff;
|
|
||||||
padding: 0px 10px 0px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#bluetooth {
|
|
||||||
background-color: transparent;
|
|
||||||
color: #ffffff;
|
|
||||||
padding: 0px 4px 0px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- indicators --- */
|
|
||||||
|
|
||||||
/* blink red */
|
|
||||||
#temperature.critical,
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
background-color: transparent;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.75s;
|
|
||||||
animation-timing-function: steps(12);
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* turn red */
|
|
||||||
#network.disconnected,
|
|
||||||
#wireplumber.muted,
|
|
||||||
#bluetooth.off {
|
|
||||||
color: #ff5555;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- animations --- */
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: transparent;
|
|
||||||
color: #ff5555;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# install it to userspace
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
pulsemixer
|
|
||||||
brightnessctl
|
|
||||||
bluetuith
|
|
||||||
bluez
|
|
||||||
nerd-fonts.ubuntu
|
|
||||||
nerd-fonts.ubuntu-mono
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,35 +1,49 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
home.packages = with pkgs; [xdg-ninja];
|
let
|
||||||
|
program = "xdg";
|
||||||
|
cfg = config.dots.${program};
|
||||||
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
xdg = if pkgs.system == "x86_64-darwin" then {} else {
|
options.dots.${program} = {
|
||||||
enable = true;
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
configHome = "/home/blake/.config";
|
};
|
||||||
cacheHome = "/home/blake/.cache";
|
|
||||||
dataHome = "/home/blake/.local/share";
|
|
||||||
stateHome = "/home/blake/.local/state";
|
|
||||||
|
|
||||||
userDirs = {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
home.packages = with pkgs; [xdg-ninja];
|
||||||
|
|
||||||
|
xdg = if pkgs.system == "x86_64-darwin" then {} else {
|
||||||
enable = true;
|
enable = true;
|
||||||
# writes ~/.config/user-dirs.dirs
|
configHome = "/home/blake/.config";
|
||||||
desktop = "/home/blake/desktop";
|
cacheHome = "/home/blake/.cache";
|
||||||
download = "/home/blake/downloads";
|
dataHome = "/home/blake/.local/share";
|
||||||
documents = "/home/blake/documents";
|
stateHome = "/home/blake/.local/state";
|
||||||
pictures = "/home/blake/pictures";
|
|
||||||
videos = "/home/blake/videos";
|
userDirs = {
|
||||||
music = "/home/blake/music";
|
enable = true;
|
||||||
publicShare = "/home/blake/public";
|
# writes ~/.config/user-dirs.dirs
|
||||||
templates = "/home/blake/templates";
|
desktop = "/home/blake/desktop";
|
||||||
|
download = "/home/blake/downloads";
|
||||||
|
documents = "/home/blake/documents";
|
||||||
|
pictures = "/home/blake/pictures";
|
||||||
|
videos = "/home/blake/videos";
|
||||||
|
music = "/home/blake/music";
|
||||||
|
publicShare = "/home/blake/public";
|
||||||
|
templates = "/home/blake/templates";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# misc env variables to get things out of ~ (<3 xdg-ninja)
|
# misc env variables to get things out of ~ (<3 xdg-ninja)
|
||||||
home.sessionVariables = if pkgs.system == "x86_64-darwin" then {} else {
|
home.sessionVariables = if pkgs.system == "x86_64-darwin" then {} else {
|
||||||
GOPATH="$XDG_DATA_HOME/go";
|
GOPATH="$XDG_DATA_HOME/go";
|
||||||
_JAVA_OPTIONS=''-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'';
|
_JAVA_OPTIONS=''-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,145 +1,159 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
# export some defaults
|
let
|
||||||
home.sessionVariables = {
|
program = "zsh";
|
||||||
EDITOR = "nvim";
|
cfg = config.dots.${program};
|
||||||
PAGER = "less";
|
#sec = sops.secrets;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.dots.${program} = {
|
||||||
|
enable = lib.mkEnableOption "enables ${program}";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
config = lib.mkIf cfg.enable {
|
||||||
enable = true;
|
|
||||||
dotDir = ".config/zsh";
|
|
||||||
autocd = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
|
|
||||||
autosuggestion = {
|
# export some defaults
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
PAGER = "less";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.${program} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
highlight = "underline";
|
dotDir = ".config/zsh";
|
||||||
};
|
autocd = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
|
||||||
history = {
|
autosuggestion = {
|
||||||
size = 10000;
|
enable = true;
|
||||||
save = 10000;
|
highlight = "underline";
|
||||||
share = true;
|
|
||||||
append = true;
|
|
||||||
extended = true;
|
|
||||||
path = "$XDG_STATE_HOME/zsh/history";
|
|
||||||
};
|
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
# --- zsh ---
|
|
||||||
cfz = "nvim $HOME/.config/zsh/.zshrc";
|
|
||||||
src = "source $HOME/.config/zsh/.zshrc";
|
|
||||||
|
|
||||||
# --- config editing ---
|
|
||||||
cfh = "nvim $HOME/.config/hypr/hyprland.conf";
|
|
||||||
cfl = "nvim $HOME/.config/lf/lfrc";
|
|
||||||
|
|
||||||
# --- navigation ---
|
|
||||||
ls = "ls --color=auto --group-directories-first";
|
|
||||||
ll = "ls -lh --color=auto --group-directories-first";
|
|
||||||
la = "ls -Alh --color=auto --group-directories-first";
|
|
||||||
".." = "cd ..";
|
|
||||||
"..." = "cd ../..";
|
|
||||||
fs = "du -h | sort -h";
|
|
||||||
ds = "du -hs";
|
|
||||||
|
|
||||||
# --- shortcuts ---
|
|
||||||
vswap = "cd ~/.local/state/nvim/swap";
|
|
||||||
rswap = "rm ~/.local/state/nvim/swap/*";
|
|
||||||
v = "nvim";
|
|
||||||
sv = "sudo nvim";
|
|
||||||
vim = "nvim";
|
|
||||||
|
|
||||||
# --- safety ---
|
|
||||||
cp = "cp -iv";
|
|
||||||
mv = "mv -iv";
|
|
||||||
rm = "rm -Iv";
|
|
||||||
|
|
||||||
# --- colors ---
|
|
||||||
grep = "grep --color=auto";
|
|
||||||
fgrep = "fgrep --color=auto";
|
|
||||||
egrep = "egrep --color=auto";
|
|
||||||
|
|
||||||
# --- scripts ---
|
|
||||||
rebuild = "sh ~/.nix/bin/rebuild.sh";
|
|
||||||
perms = "sudo sh ~/.nix/bin/perms.sh";
|
|
||||||
bb = "sudo sh ~/.nix/bin/lf_borg.sh";
|
|
||||||
|
|
||||||
# --- git ---
|
|
||||||
status = "git status";
|
|
||||||
add = "git add";
|
|
||||||
commit = "git commit -am";
|
|
||||||
push = "git push";
|
|
||||||
pull = "git pull";
|
|
||||||
dotfiles = "/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME";
|
|
||||||
dtf = "/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME";
|
|
||||||
sec = "sops ~/.nix/secrets/secrets.yaml";
|
|
||||||
|
|
||||||
# --- systemd ---
|
|
||||||
stat = "sudo systemctl status";
|
|
||||||
restart = "sudo systemctl restart";
|
|
||||||
start = "sudo systemctl start";
|
|
||||||
stop = "sudo systemctl stop";
|
|
||||||
jou = "sudo journalctl -xeu";
|
|
||||||
live = "sudo journalctl -o short-iso -n 50 -fu";
|
|
||||||
|
|
||||||
# --- system ---
|
|
||||||
peace = "systemctl poweroff";
|
|
||||||
love = "systemctl reboot";
|
|
||||||
lock = "loginctl lock-session";
|
|
||||||
};
|
|
||||||
|
|
||||||
initContent = ''
|
|
||||||
|
|
||||||
# the prompt
|
|
||||||
PS1='%F{0}%K{126}%B[%n@%m]%b%k%f:%F{015}%B[%~]%b%f%F{015}%S$%s%f '
|
|
||||||
|
|
||||||
# lf changes working dir on exit
|
|
||||||
alias lf='lfcd'
|
|
||||||
lfcd () {cd "$(command lf -print-last-dir "$@")"}
|
|
||||||
|
|
||||||
'';
|
|
||||||
|
|
||||||
syntaxHighlighting = {
|
|
||||||
enable = true;
|
|
||||||
highlighters = ["main" "brackets" "pattern" "regexp" "cursor" "root"];
|
|
||||||
styles = {
|
|
||||||
"default" = "none";
|
|
||||||
"unknown-token" = "fg=red";
|
|
||||||
"reserved-word" = "fg=red";
|
|
||||||
"alias" = "fg=cyan,underline";
|
|
||||||
"suffix-alias" = "fg=cyan,underline";
|
|
||||||
"builtin" = "fg=cyan";
|
|
||||||
"function" = "fg=cyan";
|
|
||||||
"command" = "fg=cyan,bold";
|
|
||||||
"path" = "fg=cyan,underline";
|
|
||||||
"precommand" = "fg=cyan,underline";
|
|
||||||
"commandseparator" = "fg=white";
|
|
||||||
"globbing" = "fg=white";
|
|
||||||
"history-expansion" = "fg=white";
|
|
||||||
"hashed-command" = "fg=magenta";
|
|
||||||
"single-hyphen-option" = "fg=blue";
|
|
||||||
"double-hyphen-option" = "fg=blue";
|
|
||||||
"back-quoted-argument" = "fg=yellow";
|
|
||||||
"single-quoted-argument" = "fg=white";
|
|
||||||
"double-quoted-argument" = "fg=white";
|
|
||||||
"dollar-double-quoted-argument" = "fg=blue";
|
|
||||||
"back-double-quoted-argument" = "fg=blue";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# zplug = {
|
history = {
|
||||||
# enable = true;
|
size = 10000;
|
||||||
# zplugHome = "$XDG_STATE_HOME/zsh/zplug";
|
save = 10000;
|
||||||
# plugins = [
|
share = true;
|
||||||
# {name = "zsh-users/zsh-syntax-highlighting";}
|
append = true;
|
||||||
# ];
|
extended = true;
|
||||||
# };
|
path = "$XDG_STATE_HOME/zsh/history";
|
||||||
|
};
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
# --- zsh ---
|
||||||
|
cfz = "nvim $HOME/.config/zsh/.zshrc";
|
||||||
|
src = "source $HOME/.config/zsh/.zshrc";
|
||||||
|
|
||||||
|
# --- config editing ---
|
||||||
|
cfh = "nvim $HOME/.config/hypr/hyprland.conf";
|
||||||
|
cfl = "nvim $HOME/.config/lf/lfrc";
|
||||||
|
|
||||||
|
# --- navigation ---
|
||||||
|
ls = "ls --color=auto --group-directories-first";
|
||||||
|
ll = "ls -lh --color=auto --group-directories-first";
|
||||||
|
la = "ls -Alh --color=auto --group-directories-first";
|
||||||
|
".." = "cd ..";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
fs = "du -h | sort -h";
|
||||||
|
ds = "du -hs";
|
||||||
|
|
||||||
|
# --- shortcuts ---
|
||||||
|
vswap = "cd ~/.local/state/nvim/swap";
|
||||||
|
rswap = "rm ~/.local/state/nvim/swap/*";
|
||||||
|
v = "nvim";
|
||||||
|
sv = "sudo nvim";
|
||||||
|
vim = "nvim";
|
||||||
|
|
||||||
|
# --- safety ---
|
||||||
|
cp = "cp -iv";
|
||||||
|
mv = "mv -iv";
|
||||||
|
rm = "rm -Iv";
|
||||||
|
|
||||||
|
# --- colors ---
|
||||||
|
grep = "grep --color=auto";
|
||||||
|
fgrep = "fgrep --color=auto";
|
||||||
|
egrep = "egrep --color=auto";
|
||||||
|
|
||||||
|
# --- scripts ---
|
||||||
|
rebuild = "sh ~/.nix/bin/rebuild.sh";
|
||||||
|
perms = "sudo sh ~/.nix/bin/perms.sh";
|
||||||
|
bb = "sudo sh ~/.nix/bin/lf_borg.sh";
|
||||||
|
|
||||||
|
# --- git ---
|
||||||
|
status = "git status";
|
||||||
|
add = "git add";
|
||||||
|
commit = "git commit -am";
|
||||||
|
push = "git push";
|
||||||
|
pull = "git pull";
|
||||||
|
dotfiles = "/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME";
|
||||||
|
dtf = "/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME";
|
||||||
|
sec = "sops ~/.nix/secrets/secrets.yaml";
|
||||||
|
|
||||||
|
# --- systemd ---
|
||||||
|
stat = "sudo systemctl status";
|
||||||
|
restart = "sudo systemctl restart";
|
||||||
|
start = "sudo systemctl start";
|
||||||
|
stop = "sudo systemctl stop";
|
||||||
|
jou = "sudo journalctl -xeu";
|
||||||
|
live = "sudo journalctl -o short-iso -n 50 -fu";
|
||||||
|
|
||||||
|
# --- system ---
|
||||||
|
peace = "systemctl poweroff";
|
||||||
|
love = "systemctl reboot";
|
||||||
|
lock = "loginctl lock-session";
|
||||||
|
};
|
||||||
|
|
||||||
|
initContent = ''
|
||||||
|
|
||||||
|
# the prompt
|
||||||
|
PS1='%F{0}%K{126}%B[%n@%m]%b%k%f:%F{015}%B[%~]%b%f%F{015}%S$%s%f '
|
||||||
|
|
||||||
|
# lf changes working dir on exit
|
||||||
|
alias lf='lfcd'
|
||||||
|
lfcd () {cd "$(command lf -print-last-dir "$@")"}
|
||||||
|
|
||||||
|
'';
|
||||||
|
|
||||||
|
syntaxHighlighting = {
|
||||||
|
enable = true;
|
||||||
|
highlighters = ["main" "brackets" "pattern" "regexp" "cursor" "root"];
|
||||||
|
styles = {
|
||||||
|
"default" = "none";
|
||||||
|
"unknown-token" = "fg=red";
|
||||||
|
"reserved-word" = "fg=red";
|
||||||
|
"alias" = "fg=cyan,underline";
|
||||||
|
"suffix-alias" = "fg=cyan,underline";
|
||||||
|
"builtin" = "fg=cyan";
|
||||||
|
"function" = "fg=cyan";
|
||||||
|
"command" = "fg=cyan,bold";
|
||||||
|
"path" = "fg=cyan,underline";
|
||||||
|
"precommand" = "fg=cyan,underline";
|
||||||
|
"commandseparator" = "fg=white";
|
||||||
|
"globbing" = "fg=white";
|
||||||
|
"history-expansion" = "fg=white";
|
||||||
|
"hashed-command" = "fg=magenta";
|
||||||
|
"single-hyphen-option" = "fg=blue";
|
||||||
|
"double-hyphen-option" = "fg=blue";
|
||||||
|
"back-quoted-argument" = "fg=yellow";
|
||||||
|
"single-quoted-argument" = "fg=white";
|
||||||
|
"double-quoted-argument" = "fg=white";
|
||||||
|
"dollar-double-quoted-argument" = "fg=blue";
|
||||||
|
"back-double-quoted-argument" = "fg=blue";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# zplug = {
|
||||||
|
# enable = true;
|
||||||
|
# zplugHome = "$XDG_STATE_HOME/zsh/zplug";
|
||||||
|
# plugins = [
|
||||||
|
# {name = "zsh-users/zsh-syntax-highlighting";}
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
# rid the world of ~/.zshenv
|
||||||
|
#home.file.".zshenv".enable = false;
|
||||||
};
|
};
|
||||||
# rid the world of ~/.zshenv
|
|
||||||
#home.file.".zshenv".enable = false;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,15 @@
|
|||||||
lf.enable = true;
|
lf.enable = true;
|
||||||
kitty.enable = true;
|
kitty.enable = true;
|
||||||
librewolf.enable = true;
|
librewolf.enable = true;
|
||||||
|
waybar.enable = true;
|
||||||
|
hypr.enable = true;
|
||||||
|
nvf.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
gpg.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
xdg.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user