Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
parent
4c0e29da8f
commit
bb2fe56082
40 changed files with 595 additions and 1144 deletions
|
|
@ -12,6 +12,7 @@ _: {
|
|||
10.147.17.246 s3-console.zerotier.gwg313.xyz
|
||||
10.147.17.246 registry.zerotier.gwg313.xyz
|
||||
10.147.17.246 ci.zerotier.gwg313.xyz
|
||||
10.147.17.246 uptime.zerotier.gwg313.xyz
|
||||
|
||||
|
||||
|
||||
|
|
@ -22,5 +23,7 @@ _: {
|
|||
10.1.10.50 s3.gwg313.xyz
|
||||
10.1.10.50 s3-console.gwg313.xyz
|
||||
10.1.10.50 pastebin.gwg313.xyz
|
||||
10.1.10.50 audiobooks.gwg313.xyz
|
||||
10.1.10.9 uptime.gwg313.xyz
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
];
|
||||
# extraBackupArgs = [ "--exclude-file=/home/gwg313/Documents/Celsus" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "23:00";
|
||||
OnCalendar = "06:40";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
rounding = 0;
|
||||
gaps-in = 5;
|
||||
gaps-out = 10;
|
||||
active-opacity = 1;
|
||||
inactive-opacity = 1;
|
||||
blur = false;
|
||||
border-size = 3;
|
||||
animation-speed = "medium"; # "fast" | "medium" | "slow"
|
||||
fetch = "fastfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||
|
||||
bar = {
|
||||
position = "top"; # "top" | "bottom"
|
||||
transparent = true;
|
||||
transparentButtons = false;
|
||||
floating = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
rounding = 0;
|
||||
gaps-in = 5;
|
||||
gaps-out = 10;
|
||||
active-opacity = 1;
|
||||
inactive-opacity = 1;
|
||||
blur = false;
|
||||
border-size = 4;
|
||||
animation-speed = "slow"; # "fast" | "medium" | "slow"
|
||||
fetch = "fastfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||
|
||||
bar = {
|
||||
position = "top"; # "top" | "bottom"
|
||||
transparent = true;
|
||||
transparentButtons = false;
|
||||
floating = true;
|
||||
};
|
||||
}
|
||||
97
common/style/vars/vars.nix
Normal file
97
common/style/vars/vars.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options.theme = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
rounding = 20;
|
||||
gaps-in = 10;
|
||||
gaps-out = 10 * 2;
|
||||
active-opacity = 0.96;
|
||||
inactive-opacity = 0.92;
|
||||
blur = true;
|
||||
border-size = 3;
|
||||
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||
|
||||
bar = {
|
||||
# Hyprpanel
|
||||
position = "top"; # "top" | "bottom"
|
||||
transparent = true;
|
||||
transparentButtons = false;
|
||||
floating = true;
|
||||
};
|
||||
};
|
||||
description = "Theme configuration options";
|
||||
};
|
||||
|
||||
config.stylix = {
|
||||
enable = true;
|
||||
|
||||
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||
# base16Scheme = {
|
||||
# base00 = "09090B"; # Default Background
|
||||
# base01 = "1c1e1f"; # Lighter Background (Used for status bars, line number and folding marks)
|
||||
# base02 = "313244"; # Selection Background
|
||||
# base03 = "45475a"; # Comments, Invisibles, Line Highlighting
|
||||
# base04 = "585b70"; # Dark Foreground (Used for status bars)
|
||||
# base05 = "cdd6f4"; # Default Foreground, Caret, Delimiters, Operators
|
||||
# base06 = "f5e0dc"; # Light Foreground (Not often used)
|
||||
# base07 = "b4befe"; # Light Background (Not often used)
|
||||
# base08 = "f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
|
||||
# base09 = "fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
|
||||
# base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
|
||||
# base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
|
||||
# base0C = "94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
|
||||
# base0D = "c5afd4"; # Functions, Methods, Attribute IDs, Headings, Accent color
|
||||
# base0E = "cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
|
||||
# base0F = "f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
|
||||
# };
|
||||
|
||||
cursor = {
|
||||
name = "phinger-cursors-light";
|
||||
package = pkgs.phinger-cursors;
|
||||
size = 20;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.lmodern;
|
||||
name = "Latin Modern Roman";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.fira-code;
|
||||
name = "Fire Code";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
sizes = {
|
||||
applications = 13;
|
||||
desktop = 13;
|
||||
popups = 13;
|
||||
terminal = 13;
|
||||
};
|
||||
};
|
||||
|
||||
polarity = "light";
|
||||
image = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/black-and-white-forest_minimalist_black-and-white.png";
|
||||
sha256 = "sha256-MOlLRQonZ6UAaSJlysjL8snxnMrSFH9VOLrjXaU82Kw=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
./candlekeep/variables.nix
|
||||
# ./nvim.nix
|
||||
../modules/common.nix
|
||||
# ../modules/hyprland.nix
|
||||
../../common/style/vars/vars.nix
|
||||
../modules/hyprland
|
||||
../modules/common-gui.nix
|
||||
../modules/linux-gui.nix
|
||||
|
|
@ -60,7 +60,6 @@
|
|||
# patches = [ ./change-hello-to-hi.patch ];
|
||||
# });
|
||||
# })
|
||||
inputs.hyprpanel.overlay
|
||||
];
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
|
|
@ -76,53 +75,6 @@
|
|||
homeDirectory = "/home/gwg313";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13; # UI font (GTK/Qt)
|
||||
terminal = 14; # Comfortable for reading code/math
|
||||
desktop = 13; # WM, notifications
|
||||
popups = 12; # Tooltips, menus
|
||||
};
|
||||
};
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml";
|
||||
image = ../../wallpapers/floating_city.jpg;
|
||||
# polarity = "dark";
|
||||
autoEnable = true;
|
||||
enable = true;
|
||||
targets.nixvim.enable = false;
|
||||
|
||||
opacity.terminal = 1.0;
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.lmodern;
|
||||
name = "Latin Modern Roman";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.fira-code;
|
||||
name = "Fire Code";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
package = pkgs.vanilla-dmz;
|
||||
name = "Vanilla-DMZ";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
../modules/yazi.nix
|
||||
../modules/qutebrowser.nix
|
||||
../scripts/default.nix
|
||||
../../common/style/vars/vars.nix
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
|
|
@ -74,53 +75,6 @@
|
|||
homeDirectory = "/home/gwg313";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13; # UI font (GTK/Qt)
|
||||
terminal = 14; # Comfortable for reading code/math
|
||||
desktop = 13; # WM, notifications
|
||||
popups = 12; # Tooltips, menus
|
||||
};
|
||||
};
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml";
|
||||
image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png;
|
||||
# polarity = "dark";
|
||||
autoEnable = true;
|
||||
enable = true;
|
||||
targets.nixvim.enable = false;
|
||||
|
||||
opacity.terminal = 1.0;
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.lmodern;
|
||||
name = "Latin Modern Roman";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.fira-code;
|
||||
name = "Fire Code";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
package = pkgs.vanilla-dmz;
|
||||
name = "Vanilla-DMZ";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
./obs.nix
|
||||
./thunar.nix
|
||||
./zen.nix
|
||||
./xdg.nix
|
||||
./mime.nix
|
||||
./nixcord.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
with pkgs;
|
||||
[
|
||||
ncdu
|
||||
minio-client
|
||||
|
||||
# Editors
|
||||
# neovim # Improved version of vim, often used with overlays.
|
||||
# vim # Highly configurable text editor popular for efficiency and extensibility.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
# Fzf is a general-purpose command-line fuzzy finder.
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
accent = "#" + config.lib.stylix.colors.base0D;
|
||||
foreground = "#" + config.lib.stylix.colors.base05;
|
||||
|
|
|
|||
12
home-manager/modules/gammastep.nix
Normal file
12
home-manager/modules/gammastep.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
latitude = 45.4;
|
||||
longitude = -75.7;
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 3500;
|
||||
};
|
||||
tray = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Hypridle is a daemon that listens for user activity and runs commands when the user is idle.
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 660;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./waybar.nix ];
|
||||
|
||||
# services.mako = {
|
||||
# enable = true;
|
||||
# defaultTimeout = 4000;
|
||||
# borderRadius = 5;
|
||||
# borderSize = 2;
|
||||
# layer = "overlay";
|
||||
# };
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
sensitivity = 0.4;
|
||||
# todo custom
|
||||
accel_profile = "adaptive";
|
||||
# accel_profile = "custom 20000 0.755 0.05 0.855 0.06";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.38;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 16;
|
||||
resize_on_border = true;
|
||||
hover_icon_on_border = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
master = {
|
||||
# new_is_master = false;
|
||||
smart_resizing = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
active_opacity = 0.93;
|
||||
inactive_opacity = 0.93;
|
||||
fullscreen_opacity = 1;
|
||||
# drop_shadow = false;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"myBezier, 0.22, 1, 0.36, 1"
|
||||
"snap, 0, 1, 0, 1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 3, default, popin 60%"
|
||||
"border, 1, 0.5, snap"
|
||||
"borderangle, 1, 0.5, snap"
|
||||
"fade, 1, 0.001, myBezier"
|
||||
"workspaces, 1, 0.8, myBezier, fade"
|
||||
];
|
||||
};
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.6;
|
||||
workspace_swipe_min_speed_to_force = 30;
|
||||
workspace_swipe_distance = 2000;
|
||||
workspace_swipe_invert = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
force_default_wallpaper = 0;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
};
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
# general binds
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.ghostty}/bin/ghostty"
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||
"SUPER_SHIFT, SPACE, togglefloating"
|
||||
"$mod, F, fullscreen"
|
||||
# "$mod,F, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||
|
||||
# Volume
|
||||
",XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix inc 2"
|
||||
",XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix dec 2"
|
||||
",XF86AudioMute, exec, ${pkgs.ponymix}/bin/ponymix, toggle"
|
||||
|
||||
# Screen Brightness
|
||||
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
|
||||
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
|
||||
# ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
# ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
|
||||
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
|
||||
# move focus
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod,right,workspace,+1"
|
||||
"$mod,left,workspace,-1"
|
||||
|
||||
# workspace switching
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# move window to workspace
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through workspaces
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# mouse movements
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod_ALT, mouse:273, resizewindow"
|
||||
"$mod_ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
# "eDP-1,highres,0x0,1"
|
||||
# "DP-1,preferred,0x0,1"
|
||||
# "HDMI-A-1,2560x0,auto,1"
|
||||
",preferred,auto,1"
|
||||
];
|
||||
# monitor = [ "DP-1,preferred,0x0,1" ];
|
||||
# monitor = [ "HDMI-A-1,2560x0,auto,1" ];
|
||||
|
||||
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
|
||||
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
|
||||
exec-once = [
|
||||
# Enables clipboard sync
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wl-clipboard}/bin/wl-copy -p"
|
||||
];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
# will switch to a submap called resize
|
||||
bind=$mod,R,submap,resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap=resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde=,right,resizeactive,10 0
|
||||
binde=,left,resizeactive,-10 0
|
||||
binde=,up,resizeactive,0 -10
|
||||
binde=,down,resizeactive,0 10
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind=,escape,submap,reset
|
||||
|
||||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
animationSpeed = config.var.theme.animation-speed;
|
||||
animationSpeed = config.theme.animation-speed;
|
||||
|
||||
animationDuration =
|
||||
if animationSpeed == "slow" then
|
||||
|
|
|
|||
|
|
@ -1,29 +1,31 @@
|
|||
# So best window tiling manager
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
border-size = config.var.theme.border-size;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
active-opacity = config.var.theme.active-opacity;
|
||||
inactive-opacity = config.var.theme.inactive-opacity;
|
||||
rounding = config.var.theme.rounding;
|
||||
blur = config.var.theme.blur;
|
||||
border-size = config.theme.border-size;
|
||||
gaps-in = config.theme.gaps-in;
|
||||
gaps-out = config.theme.gaps-out;
|
||||
active-opacity = config.theme.active-opacity;
|
||||
inactive-opacity = config.theme.inactive-opacity;
|
||||
rounding = config.theme.rounding;
|
||||
blur = config.theme.blur;
|
||||
keyboardLayout = config.var.keyboardLayout;
|
||||
background = "rgb(" + config.lib.stylix.colors.base00 + ")";
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
./animations.nix
|
||||
./bindings.nix
|
||||
./polkitagent.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./hyprspace.nix
|
||||
./hyprpanel.nix
|
||||
# ./hyprspace.nix
|
||||
./hyprlock.nix
|
||||
../gammastep.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
@ -52,21 +54,32 @@ in
|
|||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
systemd = {
|
||||
enable = false;
|
||||
variables = [
|
||||
"--all"
|
||||
]; # https://wiki.hyprland.org/Nix/Hyprland-on-Home-Manager/#programs-dont-work-in-systemd-services-but-do-on-the-terminal
|
||||
};
|
||||
package = null;
|
||||
portalPackage = null;
|
||||
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$shiftMod" = "SUPER_SHIFT";
|
||||
|
||||
exec-once = [
|
||||
"dbus-update-activation-environment --systemd --all &"
|
||||
"systemctl --user enable --now hyprpaper.service &"
|
||||
"systemctl --user enable --now hypridle.service &"
|
||||
"systemctl --user enable --now nextcloud-client.service &"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"DP-1,2560x2880,0x0, 1"
|
||||
"HDMI-A-1,3840x2160, 2560x0, 1"
|
||||
",prefered,auto,1"
|
||||
"eDP-2,highres,0x0,1" # My internal laptop screen
|
||||
",prefered,auto,1" # default
|
||||
];
|
||||
|
||||
env = [
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||
"MOZ_ENABLE_WAYLAND,1"
|
||||
"ANKI_WAYLAND,1"
|
||||
|
|
@ -78,7 +91,6 @@ in
|
|||
"QT_QPA_PLATFORM=wayland,xcb"
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
# "GTK_THEME,FlatColor:dark"
|
||||
"__GL_GSYNC_ALLOWED,0"
|
||||
"__GL_VRR_ALLOWED,0"
|
||||
"DISABLE_QT5_COMPAT,0"
|
||||
|
|
@ -87,10 +99,8 @@ in
|
|||
"WLR_BACKEND,vulkan"
|
||||
"WLR_RENDERER,vulkan"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"SDL_VIDEODRIVER,wayland"
|
||||
"CLUTTER_BACKEND,wayland"
|
||||
"AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
|
||||
];
|
||||
|
||||
cursor = {
|
||||
|
|
@ -103,9 +113,8 @@ in
|
|||
gaps_in = gaps-in;
|
||||
gaps_out = gaps-out;
|
||||
border_size = border-size;
|
||||
# border_part_of_window = true;
|
||||
# layout = "master";
|
||||
layout = "dwindle";
|
||||
layout = "master";
|
||||
"col.inactive_border" = lib.mkForce background;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
|
@ -119,6 +128,7 @@ in
|
|||
};
|
||||
blur = {
|
||||
enabled = if blur then "true" else "false";
|
||||
size = 18;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -128,11 +138,6 @@ in
|
|||
mfact = 0.5;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
};
|
||||
|
|
@ -144,13 +149,40 @@ in
|
|||
disable_autoreload = true;
|
||||
focus_on_activate = true;
|
||||
new_window_takes_over_fullscreen = 2;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
|
||||
windowrulev2 = [
|
||||
"float, tag:modal"
|
||||
"pin, tag:modal"
|
||||
"center, tag:modal"
|
||||
# telegram media viewer
|
||||
"float, title:^(Media viewer)$"
|
||||
|
||||
# Bitwarden extension
|
||||
"float, title:^(.*Bitwarden Password Manager.*)$"
|
||||
|
||||
# gnome calculator
|
||||
"float, class:^(org.gnome.Calculator)$"
|
||||
"size 360 490, class:^(org.gnome.Calculator)$"
|
||||
|
||||
# make Firefox/Zen PiP window floating and sticky
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
|
||||
# idle inhibit while watching videos
|
||||
"idleinhibit focus, class:^(mpv|.+exe|celluloid)$"
|
||||
"idleinhibit focus, class:^(zen)$, title:^(.*YouTube.*)$"
|
||||
"idleinhibit fullscreen, class:^(zen)$"
|
||||
|
||||
"dimaround, class:^(gcr-prompter)$"
|
||||
"dimaround, class:^(xdg-desktop-portal-gtk)$"
|
||||
"dimaround, class:^(polkit-gnome-authentication-agent-1)$"
|
||||
"dimaround, class:^(zen)$, title:^(File Upload)$"
|
||||
|
||||
# fix xwayland apps
|
||||
"rounding 0, xwayland:1"
|
||||
"center, class:^(.*jetbrains.*)$, title:^(Confirm Exit|Open Project|win424|win201|splash)$"
|
||||
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
|
|
@ -161,7 +193,6 @@ in
|
|||
input = {
|
||||
# kb_layout = keyboardLayout;
|
||||
|
||||
# kb_options = "caps:escape";
|
||||
follow_mouse = 1;
|
||||
sensitivity = 0.5;
|
||||
repeat_delay = 300;
|
||||
|
|
@ -173,8 +204,6 @@ in
|
|||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
|
|
@ -18,10 +17,10 @@
|
|||
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 660;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
# {
|
||||
# timeout = 660;
|
||||
# on-timeout = "systemctl suspend";
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,200 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./waybar.nix ];
|
||||
|
||||
# services.mako = {
|
||||
# enable = true;
|
||||
# defaultTimeout = 4000;
|
||||
# borderRadius = 5;
|
||||
# borderSize = 2;
|
||||
# layer = "overlay";
|
||||
# };
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
sensitivity = 0.4;
|
||||
# todo custom
|
||||
accel_profile = "adaptive";
|
||||
# accel_profile = "custom 20000 0.755 0.05 0.855 0.06";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.38;
|
||||
tap-and-drag = true;
|
||||
middle_button_emulation = true;
|
||||
tap-to-click = true;
|
||||
};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 16;
|
||||
resize_on_border = true;
|
||||
hover_icon_on_border = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
master = {
|
||||
# new_is_master = false;
|
||||
smart_resizing = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
active_opacity = 0.93;
|
||||
inactive_opacity = 0.93;
|
||||
fullscreen_opacity = 1;
|
||||
# drop_shadow = false;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"myBezier, 0.22, 1, 0.36, 1"
|
||||
"snap, 0, 1, 0, 1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 3, default, popin 60%"
|
||||
"border, 1, 0.5, snap"
|
||||
"borderangle, 1, 0.5, snap"
|
||||
"fade, 1, 0.001, myBezier"
|
||||
"workspaces, 1, 0.8, myBezier, fade"
|
||||
];
|
||||
};
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.6;
|
||||
workspace_swipe_min_speed_to_force = 30;
|
||||
workspace_swipe_distance = 2000;
|
||||
workspace_swipe_invert = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
force_default_wallpaper = 0;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
};
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
# general binds
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||
"SUPER_SHIFT, SPACE, togglefloating"
|
||||
# "$mod, F, fullscreen"
|
||||
"$mod,F, exec, fullscreen"
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||
|
||||
# Volume
|
||||
",XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix inc 2"
|
||||
",XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix dec 2"
|
||||
",XF86AudioMute, exec, ${pkgs.ponymix}/bin/ponymix, toggle"
|
||||
|
||||
# Screen Brightness
|
||||
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
|
||||
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
|
||||
# ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
# ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
|
||||
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
|
||||
# move focus
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod,right,workspace,+1"
|
||||
"$mod,left,workspace,-1"
|
||||
|
||||
# workspace switching
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# move window to workspace
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through workspaces
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# mouse movements
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod_ALT, mouse:273, resizewindow"
|
||||
"$mod_ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
monitor = [ ",preferred,auto,1" ];
|
||||
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
|
||||
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
|
||||
exec-once = [
|
||||
# Enables clipboard sync
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wl-clipboard}/bin/wl-copy -p"
|
||||
];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
# will switch to a submap called resize
|
||||
bind=$mod,R,submap,resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap=resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde=,right,resizeactive,10 0
|
||||
binde=,left,resizeactive,-10 0
|
||||
binde=,up,resizeactive,0 -10
|
||||
binde=,down,resizeactive,0 10
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind=,escape,submap,reset
|
||||
|
||||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
foreground = "rgba(216, 222, 233, 0.70)";
|
||||
imageStr = toString config.stylix.image;
|
||||
foreground = "rgba(${config.theme.textColorOnWallpaper}ee)";
|
||||
font = config.stylix.fonts.serif.name;
|
||||
in
|
||||
{
|
||||
|
|
@ -17,7 +20,6 @@ in
|
|||
# BACKGROUND
|
||||
background = {
|
||||
monitor = "";
|
||||
# path = imageStr;
|
||||
blur_passes = 0;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.7172;
|
||||
|
|
@ -73,8 +75,8 @@ in
|
|||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgba(255, 255, 255, 0)";
|
||||
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||
outer_color = "rgba(25, 25, 25, 0)";
|
||||
inner_color = "rgba(25, 25, 25, 0.1)";
|
||||
font_color = foreground;
|
||||
fade_on_empty = false;
|
||||
font_family = font + " Bold";
|
||||
|
|
|
|||
|
|
@ -1,49 +1,51 @@
|
|||
# Hyprpanel is the bar on top of the screen
|
||||
# Display informations like workspaces, battery, wifi, ...
|
||||
{ inputs, config, ... }:
|
||||
# Display information like workspaces, battery, wifi, ...
|
||||
{ config, ... }:
|
||||
let
|
||||
transparentButtons = config.var.theme.bar.transparentButtons;
|
||||
transparentButtons = config.theme.bar.transparentButtons;
|
||||
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
foreground = "#${config.lib.stylix.colors.base05}";
|
||||
foregroundOnWallpaper = "#${config.theme.textColorOnWallpaper}";
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}";
|
||||
fontSizeForHyprpanel = "${toString config.stylix.fonts.sizes.desktop}px";
|
||||
|
||||
rounding = config.var.theme.rounding;
|
||||
border-size = config.var.theme.border-size;
|
||||
rounding = config.theme.rounding;
|
||||
border-size = config.theme.border-size;
|
||||
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
gaps-out = config.theme.gaps-out;
|
||||
gaps-in = config.theme.gaps-in;
|
||||
|
||||
floating = config.var.theme.bar.floating;
|
||||
transparent = config.var.theme.bar.transparent;
|
||||
position = config.var.theme.bar.position;
|
||||
floating = config.theme.bar.floating;
|
||||
transparent = config.theme.bar.transparent;
|
||||
position = config.theme.bar.position; # "top" ou "bottom"
|
||||
|
||||
notificationOpacity = 90;
|
||||
|
||||
location = config.var.location;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||
wayland.windowManager.hyprland.settings.exec-once = [ "hyprpanel" ];
|
||||
|
||||
programs.hyprpanel = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
hyprland.enable = true;
|
||||
overwrite.enable = true;
|
||||
overlay.enable = true;
|
||||
|
||||
settings = {
|
||||
layout = {
|
||||
"bar.layouts" = {
|
||||
"0" = {
|
||||
bar.layouts = {
|
||||
"*" = {
|
||||
"left" = [
|
||||
"dashboard"
|
||||
"workspaces"
|
||||
"windowtitle"
|
||||
];
|
||||
"middle" = [ "media" ];
|
||||
"middle" = [
|
||||
"media"
|
||||
"cava"
|
||||
];
|
||||
"right" = [
|
||||
"systray"
|
||||
"volume"
|
||||
|
|
@ -56,131 +58,157 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
override = {
|
||||
"theme.font.name" = "${font}";
|
||||
"theme.font.size" = "${fontSize}px";
|
||||
"theme.bar.outer_spacing" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.y_margins" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.spacing" = "0.3em";
|
||||
"theme.bar.buttons.radius" = "${
|
||||
if transparent then toString rounding else toString (rounding - 8)
|
||||
}px";
|
||||
"theme.bar.floating" = "${if floating then "true" else "false"}";
|
||||
"theme.bar.buttons.padding_x" = "0.8rem";
|
||||
"theme.bar.buttons.padding_y" = "0.4rem";
|
||||
"theme.bar.buttons.workspaces.hover" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.active" = "${accent}";
|
||||
"theme.bar.buttons.workspaces.available" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.occupied" = "${accent-alt}";
|
||||
"theme.bar.margin_top" = "${if position == "top" then toString (gaps-in * 2) else "0"}px";
|
||||
"theme.bar.margin_bottom" = "${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
||||
"theme.bar.margin_sides" = "${toString gaps-out}px";
|
||||
"theme.bar.border_radius" = "${toString rounding}px";
|
||||
"bar.launcher.icon" = "";
|
||||
"theme.bar.transparent" = "${if transparent then "true" else "false"}";
|
||||
"bar.workspaces.show_numbered" = false;
|
||||
"bar.workspaces.workspaces" = 5;
|
||||
"bar.workspaces.hideUnoccupied" = false;
|
||||
"bar.windowtitle.label" = true;
|
||||
"bar.volume.label" = false;
|
||||
"bar.network.truncation_size" = 12;
|
||||
"bar.bluetooth.label" = false;
|
||||
"bar.clock.format" = "%a %b %d %I:%M %p";
|
||||
"bar.notifications.show_total" = true;
|
||||
"theme.notification.border_radius" = "${toString rounding}px";
|
||||
"theme.osd.enable" = true;
|
||||
"theme.osd.orientation" = "vertical";
|
||||
"theme.osd.location" = "left";
|
||||
"theme.osd.radius" = "${toString rounding}px";
|
||||
"theme.osd.margins" = "0px 0px 0px 10px";
|
||||
"theme.osd.muted_zero" = true;
|
||||
"menus.clock.weather.location" = "${location}";
|
||||
"menus.clock.weather.unit" = "metric";
|
||||
"menus.dashboard.powermenu.confirmation" = false;
|
||||
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command" = "caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip" = "Caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command" = "night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.tooltip" = "Night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command" = "menu";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.tooltip" = "Search Apps";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.command" = "hyprpicker -a";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.tooltip" = "Color Picker";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.command" = "screenshot region swappy";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.tooltip" = "Screenshot";
|
||||
theme.font.name = font;
|
||||
theme.font.size = fontSizeForHyprpanel;
|
||||
|
||||
"theme.bar.menus.monochrome" = true;
|
||||
"wallpaper.enable" = false;
|
||||
"theme.bar.menus.background" = "${background}";
|
||||
"theme.bar.menus.cards" = "${background-alt}";
|
||||
"theme.bar.menus.card_radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.label" = "${foreground}";
|
||||
"theme.bar.menus.text" = "${foreground}";
|
||||
"theme.bar.menus.border.size" = "${toString border-size}px";
|
||||
"theme.bar.menus.border.color" = "${accent}";
|
||||
"theme.bar.menus.border.radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.popover.text" = "${foreground}";
|
||||
"theme.bar.menus.popover.background" = "${background-alt}";
|
||||
"theme.bar.menus.listitems.active" = "${accent}";
|
||||
"theme.bar.menus.icons.active" = "${accent}";
|
||||
"theme.bar.menus.switch.enabled" = "${accent}";
|
||||
"theme.bar.menus.check_radio_button.active" = "${accent}";
|
||||
"theme.bar.menus.buttons.default" = "${accent}";
|
||||
"theme.bar.menus.buttons.active" = "${accent}";
|
||||
"theme.bar.menus.iconbuttons.active" = "${accent}";
|
||||
"theme.bar.menus.progressbar.foreground" = "${accent}";
|
||||
"theme.bar.menus.slider.primary" = "${accent}";
|
||||
"theme.bar.menus.tooltip.background" = "${background-alt}";
|
||||
"theme.bar.menus.tooltip.text" = "${foreground}";
|
||||
"theme.bar.menus.dropdownmenu.background" = "${background-alt}";
|
||||
"theme.bar.menus.dropdownmenu.text" = "${foreground}";
|
||||
"theme.bar.background" = "${background + (if transparentButtons && transparent then "00" else "")}";
|
||||
"theme.bar.buttons.style" = "default";
|
||||
"theme.bar.buttons.monochrome" = true;
|
||||
"theme.bar.buttons.text" = "${foreground}";
|
||||
"theme.bar.buttons.background" = "${
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "")
|
||||
}";
|
||||
"theme.bar.buttons.icon" = "${accent}";
|
||||
"theme.bar.buttons.notifications.background" = "${background-alt}";
|
||||
"theme.bar.buttons.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.total" = "${accent}";
|
||||
"theme.bar.buttons.notifications.icon" = "${accent}";
|
||||
"theme.notification.background" = "${background-alt}";
|
||||
"theme.notification.actions.background" = "${accent}";
|
||||
"theme.notification.actions.text" = "${foreground}";
|
||||
"theme.notification.label" = "${accent}";
|
||||
"theme.notification.border" = "${background-alt}";
|
||||
"theme.notification.text" = "${foreground}";
|
||||
"theme.notification.labelicon" = "${accent}";
|
||||
"theme.osd.bar_color" = "${accent}";
|
||||
"theme.osd.bar_overflow_color" = "${accent-alt}";
|
||||
"theme.osd.icon" = "${background}";
|
||||
"theme.osd.icon_container" = "${accent}";
|
||||
"theme.osd.label" = "${accent}";
|
||||
"theme.osd.bar_container" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.background.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.tint" = 90;
|
||||
"bar.customModules.updates.pollingInterval" = 1440000;
|
||||
"bar.media.show_active_only" = true;
|
||||
"theme.bar.location" = "${position}";
|
||||
"bar.workspaces.numbered_active_indicator" = "color";
|
||||
"bar.workspaces.monitorSpecific" = false;
|
||||
"bar.workspaces.applicationIconEmptyWorkspace" = "";
|
||||
"bar.workspaces.showApplicationIcons" = true;
|
||||
"bar.workspaces.showWsIcons" = true;
|
||||
"theme.bar.dropdownGap" = "4.5em";
|
||||
theme.bar.outer_spacing = if floating && transparent then "0px" else "8px";
|
||||
theme.bar.buttons.y_margins = if floating && transparent then "0px" else "8px";
|
||||
theme.bar.buttons.spacing = "0.3em";
|
||||
theme.bar.buttons.radius =
|
||||
(if transparent then toString rounding else toString (rounding - 8)) + "px";
|
||||
theme.bar.floating = floating;
|
||||
theme.bar.buttons.padding_x = "0.8rem";
|
||||
theme.bar.buttons.padding_y = "0.4rem";
|
||||
|
||||
theme.bar.margin_top = (if position == "top" then toString (gaps-in * 2) else "0") + "px";
|
||||
theme.bar.margin_bottom = (if position == "top" then "0" else toString (gaps-in * 2)) + "px";
|
||||
theme.bar.margin_sides = toString gaps-out + "px";
|
||||
theme.bar.border_radius = toString rounding + "px";
|
||||
theme.bar.transparent = transparent;
|
||||
theme.bar.location = position;
|
||||
theme.bar.dropdownGap = "4.5em";
|
||||
theme.bar.menus.shadow = if transparent then "0 0 0 0" else "0px 0px 3px 1px #16161e";
|
||||
theme.bar.buttons.style = "default";
|
||||
theme.bar.buttons.monochrome = true;
|
||||
theme.bar.menus.monochrome = true;
|
||||
theme.bar.menus.card_radius = toString rounding + "px";
|
||||
theme.bar.menus.border.size = toString border-size + "px";
|
||||
theme.bar.menus.border.radius = toString rounding + "px";
|
||||
theme.bar.menus.menu.media.card.tint = 90;
|
||||
|
||||
bar.launcher.icon = "";
|
||||
bar.workspaces.show_numbered = false;
|
||||
bar.workspaces.workspaces = 5;
|
||||
bar.workspaces.numbered_active_indicator = "color";
|
||||
bar.workspaces.monitorSpecific = false;
|
||||
bar.workspaces.applicationIconEmptyWorkspace = "";
|
||||
bar.workspaces.showApplicationIcons = true;
|
||||
bar.workspaces.showWsIcons = true;
|
||||
|
||||
bar.windowtitle.label = true;
|
||||
bar.volume.label = false;
|
||||
bar.network.truncation_size = 12;
|
||||
bar.bluetooth.label = false;
|
||||
bar.clock.format = "%a %b %d %I:%M %p";
|
||||
bar.notifications.show_total = true;
|
||||
bar.media.show_active_only = true;
|
||||
|
||||
bar.customModules.updates.pollingInterval = 1440000;
|
||||
bar.customModules.cava.showIcon = false;
|
||||
bar.customModules.cava.stereo = true;
|
||||
bar.customModules.cava.showActiveOnly = true;
|
||||
|
||||
notifications.position = "top right";
|
||||
notifications.showActionsOnHover = true;
|
||||
theme.notification.opacity = notificationOpacity;
|
||||
theme.notification.enableShadow = true;
|
||||
theme.notification.border_radius = toString rounding + "px";
|
||||
|
||||
theme.osd.enable = true;
|
||||
theme.osd.orientation = "vertical";
|
||||
theme.osd.location = "left";
|
||||
theme.osd.radius = toString rounding + "px";
|
||||
theme.osd.margins = "0px 0px 0px 10px";
|
||||
theme.osd.muted_zero = true;
|
||||
|
||||
menus.clock.weather.location = location;
|
||||
menus.clock.weather.unit = "metric";
|
||||
menus.dashboard.powermenu.confirmation = false;
|
||||
menus.dashboard.powermenu.avatar.image = "~/.face.icon";
|
||||
|
||||
menus.dashboard.shortcuts.left.shortcut1.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut1.command = "zen";
|
||||
menus.dashboard.shortcuts.left.shortcut1.tooltip = "Zen";
|
||||
menus.dashboard.shortcuts.left.shortcut2.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut2.command = "caffeine";
|
||||
menus.dashboard.shortcuts.left.shortcut2.tooltip = "Caffeine";
|
||||
menus.dashboard.shortcuts.left.shortcut3.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut3.command = "night-shift";
|
||||
menus.dashboard.shortcuts.left.shortcut3.tooltip = "Night-shift";
|
||||
menus.dashboard.shortcuts.left.shortcut4.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut4.command = "menu";
|
||||
menus.dashboard.shortcuts.left.shortcut4.tooltip = "Search Apps";
|
||||
|
||||
menus.dashboard.shortcuts.right.shortcut1.icon = "";
|
||||
menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a";
|
||||
menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker";
|
||||
menus.dashboard.shortcuts.right.shortcut3.icon = "";
|
||||
menus.dashboard.shortcuts.right.shortcut3.command = "screenshot region swappy";
|
||||
menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot";
|
||||
|
||||
menus.power.lowBatteryNotification = true;
|
||||
|
||||
wallpaper.enable = false;
|
||||
|
||||
theme.bar.buttons.workspaces.hover = accent-alt;
|
||||
theme.bar.buttons.workspaces.active = accent;
|
||||
theme.bar.buttons.workspaces.available = accent-alt;
|
||||
theme.bar.buttons.workspaces.occupied = accent-alt;
|
||||
|
||||
theme.bar.menus.background = background;
|
||||
theme.bar.menus.cards = background-alt;
|
||||
theme.bar.menus.label = foreground;
|
||||
theme.bar.menus.text = foreground;
|
||||
theme.bar.menus.border.color = accent;
|
||||
theme.bar.menus.popover.text = foreground;
|
||||
theme.bar.menus.popover.background = background-alt;
|
||||
theme.bar.menus.listitems.active = accent;
|
||||
theme.bar.menus.icons.active = accent;
|
||||
theme.bar.menus.switch.enabled = accent;
|
||||
theme.bar.menus.check_radio_button.active = accent;
|
||||
theme.bar.menus.buttons.default = accent;
|
||||
theme.bar.menus.buttons.active = accent;
|
||||
theme.bar.menus.iconbuttons.active = accent;
|
||||
theme.bar.menus.progressbar.foreground = accent;
|
||||
theme.bar.menus.slider.primary = accent;
|
||||
theme.bar.menus.tooltip.background = background-alt;
|
||||
theme.bar.menus.tooltip.text = foreground;
|
||||
theme.bar.menus.dropdownmenu.background = background-alt;
|
||||
theme.bar.menus.dropdownmenu.text = foreground;
|
||||
|
||||
theme.bar.background = background + (if transparentButtons && transparent then "00" else "");
|
||||
theme.bar.buttons.text =
|
||||
if transparent && transparentButtons then foregroundOnWallpaper else foreground;
|
||||
theme.bar.buttons.background =
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "");
|
||||
theme.bar.buttons.icon = accent;
|
||||
|
||||
theme.bar.buttons.notifications.background = background-alt;
|
||||
theme.bar.buttons.hover = background;
|
||||
theme.bar.buttons.notifications.hover = background;
|
||||
theme.bar.buttons.notifications.total = accent;
|
||||
theme.bar.buttons.notifications.icon = accent;
|
||||
|
||||
theme.osd.bar_color = accent;
|
||||
theme.osd.bar_overflow_color = accent-alt;
|
||||
theme.osd.icon = background;
|
||||
theme.osd.icon_container = accent;
|
||||
theme.osd.label = accent;
|
||||
theme.osd.bar_container = background-alt;
|
||||
|
||||
theme.bar.menus.menu.media.background.color = background-alt;
|
||||
theme.bar.menus.menu.media.card.color = background-alt;
|
||||
|
||||
theme.notification.background = background-alt;
|
||||
theme.notification.actions.background = accent;
|
||||
theme.notification.actions.text = foreground;
|
||||
theme.notification.label = accent;
|
||||
theme.notification.border = background-alt;
|
||||
theme.notification.text = foreground;
|
||||
theme.notification.labelicon = accent;
|
||||
theme.notification.close_button.background = background-alt;
|
||||
theme.notification.close_button.label = "#f38ba8";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,89 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
foreground = "rgba(216, 222, 233, 0.70)";
|
||||
imageStr = toString config.stylix.image;
|
||||
font = config.stylix.fonts.serif.name;
|
||||
in
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
grace = 5;
|
||||
no_fade_in = false;
|
||||
disable_loading_bar = false;
|
||||
};
|
||||
|
||||
# BACKGROUND
|
||||
background = {
|
||||
monitor = "";
|
||||
# path = imageStr;
|
||||
blur_passes = 0;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.7172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
# Day-Month-Date
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
||||
color = foreground;
|
||||
font_size = 28;
|
||||
font_family = font + " Bold";
|
||||
position = "0, 490";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# Time
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
|
||||
color = foreground;
|
||||
font_size = 160;
|
||||
font_family = "steelfish outline regular";
|
||||
position = "0, 370";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# USER
|
||||
{
|
||||
monitor = "";
|
||||
text = " $USER";
|
||||
color = foreground;
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
font_size = 18;
|
||||
font_family = font + " Bold";
|
||||
position = "0, -180";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
# INPUT FIELD
|
||||
input-field = lib.mkForce {
|
||||
monitor = "";
|
||||
size = "300, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgba(255, 255, 255, 0)";
|
||||
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||
font_color = foreground;
|
||||
fade_on_empty = false;
|
||||
font_family = font + " Bold";
|
||||
placeholder_text = "<i>🔒 Enter Password</i>";
|
||||
hide_input = false;
|
||||
position = "0, -250";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
# Hyprpanel is the bar on top of the screen
|
||||
# Display informations like workspaces, battery, wifi, ...
|
||||
{ inputs, config, ... }:
|
||||
let
|
||||
transparentButtons = config.var.theme.bar.transparentButtons;
|
||||
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
foreground = "#${config.lib.stylix.colors.base05}";
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}";
|
||||
|
||||
rounding = config.var.theme.rounding;
|
||||
border-size = config.var.theme.border-size;
|
||||
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
|
||||
floating = config.var.theme.bar.floating;
|
||||
transparent = config.var.theme.bar.transparent;
|
||||
position = config.var.theme.bar.position;
|
||||
|
||||
location = config.var.location;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||
|
||||
programs.hyprpanel = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
hyprland.enable = true;
|
||||
overwrite.enable = true;
|
||||
overlay.enable = true;
|
||||
settings = {
|
||||
layout = {
|
||||
"bar.layouts" = {
|
||||
"0" = {
|
||||
"left" = [
|
||||
"dashboard"
|
||||
"workspaces"
|
||||
"windowtitle"
|
||||
];
|
||||
"middle" = [ "media" ];
|
||||
"right" = [
|
||||
"systray"
|
||||
"volume"
|
||||
"bluetooth"
|
||||
"battery"
|
||||
"network"
|
||||
"clock"
|
||||
"notifications"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
override = {
|
||||
"theme.font.name" = "${font}";
|
||||
"theme.font.size" = "${fontSize}px";
|
||||
"theme.bar.outer_spacing" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.y_margins" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.spacing" = "0.3em";
|
||||
"theme.bar.buttons.radius" = "${
|
||||
if transparent then toString rounding else toString (rounding - 8)
|
||||
}px";
|
||||
"theme.bar.floating" = "${if floating then "true" else "false"}";
|
||||
"theme.bar.buttons.padding_x" = "0.8rem";
|
||||
"theme.bar.buttons.padding_y" = "0.4rem";
|
||||
"theme.bar.buttons.workspaces.hover" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.active" = "${accent}";
|
||||
"theme.bar.buttons.workspaces.available" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.occupied" = "${accent-alt}";
|
||||
"theme.bar.margin_top" = "${if position == "top" then toString (gaps-in * 2) else "0"}px";
|
||||
"theme.bar.margin_bottom" = "${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
||||
"theme.bar.margin_sides" = "${toString gaps-out}px";
|
||||
"theme.bar.border_radius" = "${toString rounding}px";
|
||||
"bar.launcher.icon" = "";
|
||||
"theme.bar.transparent" = "${if transparent then "true" else "false"}";
|
||||
"bar.workspaces.show_numbered" = false;
|
||||
"bar.workspaces.workspaces" = 5;
|
||||
"bar.workspaces.hideUnoccupied" = false;
|
||||
"bar.windowtitle.label" = true;
|
||||
"bar.volume.label" = false;
|
||||
"bar.network.truncation_size" = 12;
|
||||
"bar.bluetooth.label" = false;
|
||||
"bar.clock.format" = "%a %b %d %I:%M %p";
|
||||
"bar.notifications.show_total" = true;
|
||||
"theme.notification.border_radius" = "${toString rounding}px";
|
||||
"theme.osd.enable" = true;
|
||||
"theme.osd.orientation" = "vertical";
|
||||
"theme.osd.location" = "left";
|
||||
"theme.osd.radius" = "${toString rounding}px";
|
||||
"theme.osd.margins" = "0px 0px 0px 10px";
|
||||
"theme.osd.muted_zero" = true;
|
||||
"menus.clock.weather.location" = "${location}";
|
||||
"menus.clock.weather.unit" = "metric";
|
||||
"menus.dashboard.powermenu.confirmation" = false;
|
||||
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command" = "caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip" = "Caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command" = "night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.tooltip" = "Night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command" = "menu";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.tooltip" = "Search Apps";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.command" = "hyprpicker -a";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.tooltip" = "Color Picker";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.command" = "screenshot region swappy";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.tooltip" = "Screenshot";
|
||||
|
||||
"theme.bar.menus.monochrome" = true;
|
||||
"wallpaper.enable" = false;
|
||||
"theme.bar.menus.background" = "${background}";
|
||||
"theme.bar.menus.cards" = "${background-alt}";
|
||||
"theme.bar.menus.card_radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.label" = "${foreground}";
|
||||
"theme.bar.menus.text" = "${foreground}";
|
||||
"theme.bar.menus.border.size" = "${toString border-size}px";
|
||||
"theme.bar.menus.border.color" = "${accent}";
|
||||
"theme.bar.menus.border.radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.popover.text" = "${foreground}";
|
||||
"theme.bar.menus.popover.background" = "${background-alt}";
|
||||
"theme.bar.menus.listitems.active" = "${accent}";
|
||||
"theme.bar.menus.icons.active" = "${accent}";
|
||||
"theme.bar.menus.switch.enabled" = "${accent}";
|
||||
"theme.bar.menus.check_radio_button.active" = "${accent}";
|
||||
"theme.bar.menus.buttons.default" = "${accent}";
|
||||
"theme.bar.menus.buttons.active" = "${accent}";
|
||||
"theme.bar.menus.iconbuttons.active" = "${accent}";
|
||||
"theme.bar.menus.progressbar.foreground" = "${accent}";
|
||||
"theme.bar.menus.slider.primary" = "${accent}";
|
||||
"theme.bar.menus.tooltip.background" = "${background-alt}";
|
||||
"theme.bar.menus.tooltip.text" = "${foreground}";
|
||||
"theme.bar.menus.dropdownmenu.background" = "${background-alt}";
|
||||
"theme.bar.menus.dropdownmenu.text" = "${foreground}";
|
||||
"theme.bar.background" = "${background + (if transparentButtons && transparent then "00" else "")}";
|
||||
"theme.bar.buttons.style" = "default";
|
||||
"theme.bar.buttons.monochrome" = true;
|
||||
"theme.bar.buttons.text" = "${foreground}";
|
||||
"theme.bar.buttons.background" = "${
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "")
|
||||
}";
|
||||
"theme.bar.buttons.icon" = "${accent}";
|
||||
"theme.bar.buttons.notifications.background" = "${background-alt}";
|
||||
"theme.bar.buttons.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.total" = "${accent}";
|
||||
"theme.bar.buttons.notifications.icon" = "${accent}";
|
||||
"theme.notification.background" = "${background-alt}";
|
||||
"theme.notification.actions.background" = "${accent}";
|
||||
"theme.notification.actions.text" = "${foreground}";
|
||||
"theme.notification.label" = "${accent}";
|
||||
"theme.notification.border" = "${background-alt}";
|
||||
"theme.notification.text" = "${foreground}";
|
||||
"theme.notification.labelicon" = "${accent}";
|
||||
"theme.osd.bar_color" = "${accent}";
|
||||
"theme.osd.bar_overflow_color" = "${accent-alt}";
|
||||
"theme.osd.icon" = "${background}";
|
||||
"theme.osd.icon_container" = "${accent}";
|
||||
"theme.osd.label" = "${accent}";
|
||||
"theme.osd.bar_container" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.background.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.tint" = 90;
|
||||
"bar.customModules.updates.pollingInterval" = 1440000;
|
||||
"bar.media.show_active_only" = true;
|
||||
"theme.bar.location" = "${position}";
|
||||
"bar.workspaces.numbered_active_indicator" = "color";
|
||||
"bar.workspaces.monitorSpecific" = false;
|
||||
"bar.workspaces.applicationIconEmptyWorkspace" = "";
|
||||
"bar.workspaces.showApplicationIcons" = true;
|
||||
"bar.workspaces.showWsIcons" = true;
|
||||
"theme.bar.dropdownGap" = "4.5em";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
||||
settings = {
|
||||
plugin = {
|
||||
overview = {
|
||||
centerAligned = true;
|
||||
hideTopLayers = true;
|
||||
hideOverlayLayers = true;
|
||||
showNewWorkspace = true;
|
||||
exitOnClick = true;
|
||||
exitOnSwitch = true;
|
||||
drawActiveWorkspace = true;
|
||||
autoDrag = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
defaultApps = {
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
|
||||
extraPortals = with pkgs; [
|
||||
# xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
libsForQt5.xdg-desktop-portal-kde
|
||||
lxqt.xdg-desktop-portal-lxqt
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -34,6 +34,8 @@
|
|||
./sysctl.nix
|
||||
./earlyoom.nix
|
||||
|
||||
./sleep.nix
|
||||
|
||||
# Or modules from other flakes (such as nixos-hardware):
|
||||
# inputs.hardware.nixosModules.common-cpu-amd
|
||||
# inputs.hardware.nixosModules.common-ssd
|
||||
|
|
|
|||
34
hosts/grymforge/sleep.nix
Normal file
34
hosts/grymforge/sleep.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
systemd.services.sleep-schedule = {
|
||||
description = "Suspend PC at 10PM and wake at 6:30AM using rtcwake";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = pkgs.writeShellScript "sleep-schedule" ''
|
||||
WAKE_TIME=$(${pkgs.coreutils}/bin/date +%s -d "tomorrow 06:30")
|
||||
exec ${pkgs.util-linux}/bin/rtcwake -m mem -t "$WAKE_TIME"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.timers.sleep-schedule = {
|
||||
description = "Timer to suspend PC at 10PM daily";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "daily 22:00";
|
||||
Persistent = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.sudo.extraRules = [
|
||||
{
|
||||
users = [ "root" ];
|
||||
commands = [
|
||||
{
|
||||
command = "/run/current-system/sw/bin/rtcwake";
|
||||
options = [ "NOPASSWD" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -22,7 +22,9 @@
|
|||
./grafana.nix
|
||||
./promtail.nix
|
||||
./loki.nix
|
||||
./uptime-kuma.nix
|
||||
./prometheus_node_exporter.nix
|
||||
./traefik.nix
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,27 @@
|
|||
_: {
|
||||
{ config, ... }:
|
||||
{
|
||||
sops.secrets.grafana_user = {
|
||||
mode = "0440";
|
||||
owner = config.users.users.grafana.name;
|
||||
group = config.users.users.grafana.group;
|
||||
};
|
||||
|
||||
sops.secrets.grafana_password = {
|
||||
mode = "0440";
|
||||
owner = config.users.users.grafana.name;
|
||||
group = config.users.users.grafana.group;
|
||||
};
|
||||
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server = {
|
||||
http_addr = "127.0.0.1";
|
||||
http_port = 3000;
|
||||
http_port = 3001;
|
||||
};
|
||||
security = {
|
||||
admin_user = "admin";
|
||||
admin_password = "changeme";
|
||||
admin_user = "${config.sops.secrets.grafana_user.path}";
|
||||
admin_password = "${config.sops.secrets.grafana_password.path}";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
30
hosts/panopticon/loki-config.yaml
Normal file
30
hosts/panopticon/loki-config.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
# This is a complete configuration to deploy Loki backed by the filesystem.
|
||||
# The index will be shipped to the storage via tsdb-shipper.
|
||||
|
||||
auth_enabled: false
|
||||
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
|
||||
common:
|
||||
ring:
|
||||
instance_addr: 127.0.0.1
|
||||
kvstore:
|
||||
store: inmemory
|
||||
replication_factor: 1
|
||||
path_prefix: /tmp/loki
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-05-15
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
storage_config:
|
||||
filesystem:
|
||||
directory: /tmp/loki/chunks
|
||||
|
|
@ -1,53 +1,6 @@
|
|||
_: {
|
||||
{
|
||||
services.loki = {
|
||||
enable = true;
|
||||
configuration = {
|
||||
auth_enabled = false;
|
||||
server.http_listen_port = 3100;
|
||||
|
||||
ingester = {
|
||||
lifecycler = {
|
||||
ring = {
|
||||
kvstore = {
|
||||
store = "inmemory";
|
||||
};
|
||||
};
|
||||
final_sleep = "0s";
|
||||
};
|
||||
chunk_idle_period = "5m";
|
||||
max_chunk_age = "1h";
|
||||
chunk_target_size = 1048576;
|
||||
};
|
||||
|
||||
schema_config = {
|
||||
configs = [
|
||||
{
|
||||
from = "2024-01-01";
|
||||
store = "boltdb-shipper";
|
||||
object_store = "filesystem";
|
||||
schema = "v11";
|
||||
index = {
|
||||
prefix = "index_";
|
||||
period = "24h";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
storage_config = {
|
||||
boltdb_shipper = {
|
||||
active_index_directory = "/var/lib/loki/index";
|
||||
cache_location = "/var/lib/loki/cache";
|
||||
shared_store = "filesystem";
|
||||
};
|
||||
filesystem = {
|
||||
directory = "/var/lib/loki/chunks";
|
||||
};
|
||||
};
|
||||
|
||||
limits_config = {
|
||||
retention_period = "168h";
|
||||
};
|
||||
};
|
||||
configFile = ./loki-config.yaml;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/promtail 0755 promtail promtail -"
|
||||
];
|
||||
services.promtail = {
|
||||
enable = true;
|
||||
configuration = {
|
||||
server.http_listen_port = 9080;
|
||||
server.grpc_listen_port = 0;
|
||||
positions = {
|
||||
filename = "/var/lib/promtail/positions.yaml";
|
||||
};
|
||||
|
|
|
|||
36
hosts/panopticon/routes.nix
Normal file
36
hosts/panopticon/routes.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
imports = [
|
||||
./services.nix
|
||||
];
|
||||
services.traefik = {
|
||||
dynamicConfigOptions = {
|
||||
http = {
|
||||
routers = {
|
||||
uptime_kuma_local = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`uptime.gwg313.xyz`)";
|
||||
service = "uptime_kuma_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
grafana_local = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`grafana.gwg313.xyz`)";
|
||||
service = "grafana_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
loki_local = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`loki.gwg313.xyz`)";
|
||||
service = "loki_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
hosts/panopticon/services.nix
Normal file
27
hosts/panopticon/services.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
services.traefik = {
|
||||
dynamicConfigOptions = {
|
||||
http = {
|
||||
services = {
|
||||
uptime_kuma_local.loadBalancer.servers = [
|
||||
{
|
||||
url = "http://127.0.0.1:3030";
|
||||
}
|
||||
];
|
||||
|
||||
grafana_local.loadBalancer.servers = [
|
||||
{
|
||||
url = "http://127.0.0.1:3001";
|
||||
}
|
||||
];
|
||||
|
||||
loki_local.loadBalancer.servers = [
|
||||
{
|
||||
url = "http://127.0.0.1:3100";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./routes.nix
|
||||
];
|
||||
sops.secrets.cf-api-token = {
|
||||
mode = "0440";
|
||||
|
|
@ -60,22 +61,22 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
log = {
|
||||
level = "DEBUG";
|
||||
filePath = "/var/log/traefik/traefik.log";
|
||||
};
|
||||
|
||||
accessLog = {
|
||||
filePath = "/var/log/traefik/access.log";
|
||||
bufferingSize = 0;
|
||||
filters = { };
|
||||
fields = {
|
||||
defaultMode = "keep";
|
||||
names = {
|
||||
StartUTC = "drop";
|
||||
};
|
||||
};
|
||||
};
|
||||
# log = {
|
||||
# level = "DEBUG";
|
||||
# filePath = "/var/log/traefik/traefik.log";
|
||||
# };
|
||||
#
|
||||
# accessLog = {
|
||||
# filePath = "/var/log/traefik/access.log";
|
||||
# bufferingSize = 0;
|
||||
# filters = {};
|
||||
# fields = {
|
||||
# defaultMode = "keep";
|
||||
# names = {
|
||||
# StartUTC = "drop";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
};
|
||||
dynamicConfigOptions = {
|
||||
http = {
|
||||
|
|
|
|||
9
hosts/panopticon/uptime-kuma.nix
Normal file
9
hosts/panopticon/uptime-kuma.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
_: {
|
||||
services.uptime-kuma = {
|
||||
enable = true;
|
||||
settings = {
|
||||
HOST = "127.0.0.1";
|
||||
PORT = "3030";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -74,6 +74,12 @@
|
|||
url = "https://s3-console.zerotier.gwg313.xyz";
|
||||
}
|
||||
];
|
||||
|
||||
uptime_zt.loadBalancer.servers = [
|
||||
{
|
||||
url = "https://uptime.zerotier.gwg313.xyz";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
routers = {
|
||||
|
|
@ -171,6 +177,14 @@
|
|||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
uptime_console = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`uptime.gwg313.xyz`)";
|
||||
service = "s3_console_zt";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -100,6 +100,14 @@
|
|||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
uptime = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`uptime.gwg313.xyz`)";
|
||||
service = "uptime_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -107,6 +107,14 @@
|
|||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
|
||||
uptime_zt = {
|
||||
entryPoints = [ "websecure" ];
|
||||
rule = "Host(`uptime.zerotier.gwg313.xyz`)";
|
||||
service = "uptime_local";
|
||||
tls.certResolver = "le";
|
||||
middlewares = [ "headers" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
audiobooks_local.loadBalancer.servers = [
|
||||
{
|
||||
url = "http://10.1.10.3:30080";
|
||||
url = "https://audiobooks.gwg313.xyz";
|
||||
}
|
||||
];
|
||||
|
||||
|
|
@ -89,6 +89,12 @@
|
|||
url = "https://s3-console.gwg313.xyz";
|
||||
}
|
||||
];
|
||||
|
||||
uptime_local.loadBalancer.servers = [
|
||||
{
|
||||
url = "https://uptime.gwg313.xyz";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
restic_key: ENC[AES256_GCM,data:DzpWvFP5gyhrnLVIYgu9ouotWqkOAHehihSKf/TqJE+sHTD4vnIScfhzoKzdkoDoWfkcmQ==,iv:q83qNYuP/3mngvg+kUfOVToogL8VTvZ6HiGIztpnP/s=,tag:YNWwbma0HmPKqYCS1L5kQQ==,type:str]
|
||||
wireless.env: ENC[AES256_GCM,data:/5i0Kv+VFTtVpaD7tfO2ahePu20eYkUYAqoh39PA2aoMWywLddQEQy4arj2Nvcw8hsRk760Kiq4wz3c23dPDqy7rU980NF2RaP4ODMIiQISfYeQP9coD84JhlnSTW+7EkhV520naqJgIYY0IsA8OxR/5euyFMHOL75FKnBh1ILY2DPSsJNG2m2ldw+US7E+7r4REl8tDqKfCIL5tznmbVTbPrer7cwrXe+ScFaholmqSntaB06yIIO3yr88TmE6EXF6oLCXU,iv:DPOqx7M7E83+DYjGFPZy44cxrta/3953IDjXL40rLAc=,tag:KmYBpQKgshMSgxnC96T1bQ==,type:str]
|
||||
wireless.env: ENC[AES256_GCM,data:bknujxgeDzXii2eUPTS609cige01pbqCVPm0EKFJaZfB6aHT1jUXtxN54bB5aKtaiOcuJ1Mcee8JbijH+n5LOM7LsApq9IoBDJsyChuBX0PilzCSmkftzOBrl4hhDzxHCelISvBxCnbrNQnywPkiffOxaQfP7NCSNKu2NsnJH/N26Kwda5CbXmBifQTPSwVn1Xs3aM96vS4KjsBrkCROWHQ2JMgywJ6jnFP2VUickEsr0BBFhnudmxhbooUbhkFH80jrGxJn,iv:aOHIxI2oHDltOUTkGuQqoNa6hU1gaqPMnLyBZpCNqB8=,tag:IdwvOcigWJ2W/gVpGBIWMA==,type:str]
|
||||
cf-api-token: ENC[AES256_GCM,data:7FJtAEOdYnUpGqs5r3pNIkY+lsqn2wtRhyIGXD5G7in3U3Tt8CTn5g==,iv:61kKxSYk54NqvhNn4xZZ2Gec7p/93dAN+VWBqF5OSQQ=,tag:5yzcHjGzhD8KX2FgL+xK/Q==,type:str]
|
||||
basic-auth: ENC[AES256_GCM,data:/YSAcTnyvM4sjj3cc46YwkXGeP3yG2MHctza+kDuRaNXb8ABMFofUHU6KuifTpsmUWwPQ4BPdamv+JC9ee8tsWRMxw==,iv:CUE70AISBOdYDLUXGAnIPT4t4tOugHWLlCLE6YxTkjM=,tag:MnyHoQCHaTbYjp/jrbWEcg==,type:str]
|
||||
grafana_user: ENC[AES256_GCM,data:EI0aavin,iv:tfkJ2pVyAgH+um+Wb1lgbvngcemdtMa+URXWV30yzBI=,tag:5VoyXtW3U+cuhHr0gPpOsg==,type:str]
|
||||
grafana_password: ENC[AES256_GCM,data:nock2uRcv29OHFRJ,iv:bXrGrTZrGMXLEVn8jWuhoOyfDY/Suqp2TBSMzYx/psA=,tag:tSxo7aZvVUBZFdTXaPjWVA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1k3hs0gyzrmsdyqh9lpret46q3xaayxxntruzc4euy6h3slqn4u6q36h7rg
|
||||
enc: |
|
||||
|
|
@ -17,8 +15,7 @@ sops:
|
|||
US9oa0pORXRVWWlyYlZZTGhXdTdOaWsKClqIK/YNJIIGFqOO0t4oni8dRTTXQniG
|
||||
ioIwAOdEgE/n0vcYhHXxLxWlTeqGZF076g7EFfIqiSNqrDtacRnazg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-03-31T17:31:58Z"
|
||||
mac: ENC[AES256_GCM,data:PGFoJSMR/W3taIMtXbavI/9elQBHrwliZsCdRbAUx++LBow8R86gq2xZN+KmgAhqV7gxa+2vfEAs/WQB7tGD1BAxUNNwb3up7CzzoZjlQG5WaHU9JiAERB5dFSYqS47faAOdkEr+MZWF42nO2DoA4PImtCBAaQLnAgO+AI6eG4I=,iv:b3AWusxwWvZwRFj7F8F00jx7Do/QnnzJpwJtUNmam/8=,tag:drPhuuPdW24AH8bH9y0YNA==,type:str]
|
||||
pgp: []
|
||||
lastmodified: "2025-07-01T20:09:32Z"
|
||||
mac: ENC[AES256_GCM,data:i+Q+2ottIzAINqlUVXxJ6erLEsItjkrSbjGjRg72hSZdAOusI9Er4A7R/JGnR26/+o8i6Ivf/HzYIGL1AX7mA48UCg5MM1gpUNnFlc4pkwP+9PdbhT/V7nvvzlHHyPc3y7AfjeY9SI0kVuStPwrIPtHkh1JYwqkpVl2DSU9OPCg=,iv:nXF7db9V7ZXtcmXFPPTcjWbld69HHYEQp8BhDEugYak=,tag:Dp5wuoWxB5PuxKiXvZWdIA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
version: 3.10.2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue