This commit is contained in:
gwg313 2025-04-08 23:38:47 -04:00
parent a1874a4daf
commit ffb4f78b63
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
18 changed files with 563 additions and 150 deletions

View file

@ -32,9 +32,9 @@
../modules/ags.nix
../modules/neovim
../modules/yazi.nix
../modules/hyprpanel.nix
../modules/hyprlock.nix
../modules/hypridle.nix
# ../modules/hyprpanel.nix
# ../modules/hyprlock.nix
# ../modules/hypridle.nix
# ../modules/hyprspace.nix
../modules/qutebrowser.nix
../scripts/default.nix

View file

@ -20,7 +20,7 @@ in
defaultOptions = [
"--margin=1"
"--layout=reverse"
"--border=rounded"
"--border=none"
"--info='hidden'"
"--header=''"
"--prompt='/ '"

View file

@ -115,6 +115,22 @@
rebasemain = "git pull origin main --rebase";
hist = ''log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
llog = ''log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
g = "lazygit";
ga = "git add";
gc = "git commit";
gcu = "git add . && git commit -m 'Update'";
gp = "git push";
gpl = "git pull";
gs = "git status";
gd = "git diff";
gco = "git checkout";
gcb = "git checkout -b";
gbr = "git branch";
grs = "git reset HEAD~1";
grh = "git reset --hard HEAD~1";
gaa = "git add .";
gcm = "git commit -m";
};
};

View file

@ -27,9 +27,7 @@
touchpad = {
natural_scroll = true;
scroll_factor = 0.38;
tap-and-drag = true;
middle_button_emulation = true;
tap-to-click = true;
clickfinger_behavior = true;
};
};

View file

@ -20,6 +20,9 @@ in
./animations.nix
./bindings.nix
./polkitagent.nix
./hyprlock.nix
./hypridle.nix
./hyprpanel.nix
# ./hyprspace.nix
];

View file

@ -0,0 +1,28 @@
# 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";
}
];
};
};
}

View file

@ -0,0 +1,89 @@
{ 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";
};
};
};
}

View file

@ -0,0 +1,186 @@
# 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";
};
};
}

View file

@ -1,19 +1,20 @@
{ 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;
};
};
bind = [
"$mod,TAB, overview:toggle"
];
};
};
}

View file

@ -34,28 +34,29 @@ in
hyprland.enable = true;
overwrite.enable = true;
overlay.enable = true;
layout = {
"bar.layouts" = {
"0" = {
"left" = [
"dashboard"
"workspaces"
"windowtitle"
];
"middle" = [ "media" ];
"right" = [
"systray"
"volume"
"bluetooth"
"battery"
"network"
"clock"
"notifications"
];
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";

View file

@ -5,6 +5,13 @@
settings = {
plugin = {
overview = {
centerAligned = true;
hideTopLayers = true;
hideOverlayLayers = true;
showNewWorkspace = true;
exitOnClick = true;
exitOnSwitch = true;
drawActiveWorkspace = true;
autoDrag = false;
};
};

View file

@ -17,11 +17,13 @@
remember_window_size = "no";
disable_ligatures = "never";
url_style = "curly";
copy_on_select = "clipboard";
cursor_shape = "Underline";
cursor_underline_thickness = 3;
cursor_trail = 3;
cursor_trail_decay = "0.1 0.4";
window_padding_width = 10;
open_url_with = "default";
};
font = {
# name = lib.mkForce "Comic Code";

View file

@ -1,5 +1,5 @@
# Thunar is a file explorer
{ pkgs, ... }:
{ pkgs, user, ... }:
{
# ctrl + m to toggle the menubar
home.packages = with pkgs.xfce; [
@ -9,6 +9,26 @@
thunar-archive-plugin
thunar-volman
];
gtk = {
iconTheme = {
name = "WhiteSur";
package = pkgs.whitesur-icon-theme.override {
boldPanelIcons = true;
alternativeIcons = true;
};
};
};
home.sessionVariables = {
XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur";
};
# bookmarks for the side pane
gtk.gtk3.bookmarks = [
"file:///home/gwg313/Documents Documents"
"file:///home/gwg313/Downloads Downloads"
"file:///home/gwg313/repos Repositories"
];
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>

View file

@ -11,6 +11,14 @@
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
syntaxHighlighting.highlighters = [
"main"
"brackets"
"pattern"
"regexp"
"root"
"line"
];
historySubstringSearch.enable = true;
shellAliases = {
update = "sudo nixos-rebuild switch";