quite a few styling changes

This commit is contained in:
Remy Moll 2025-03-04 00:09:48 +01:00
parent 729cc66bd1
commit fae56aa241
7 changed files with 197 additions and 134 deletions

View File

@ -4,6 +4,7 @@
imports = [ imports = [
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/nixos/fonts.nix
../../modules/nixos/hyprland.nix ../../modules/nixos/hyprland.nix
../../modules/nixos/monitoring.nix ../../modules/nixos/monitoring.nix
../../modules/nixos/networking.nix ../../modules/nixos/networking.nix

View File

@ -2,5 +2,6 @@
imports = [ imports = [
./hyprland-customization.nix ./hyprland-customization.nix
./hyprpaper.nix ./hyprpaper.nix
./waybar.nix
]; ];
} }

View File

@ -6,7 +6,6 @@
pkgs.nautilus pkgs.nautilus
pkgs.gnome-control-center pkgs.gnome-control-center
pkgs.brightnessctl pkgs.brightnessctl
pkgs.swaync
]; ];
@ -61,6 +60,7 @@
gaps_in = 5; gaps_in = 5;
gaps_out = 5; gaps_out = 5;
border_size = 1; border_size = 1;
"col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
layout = "master"; layout = "master";
}; };
@ -88,23 +88,32 @@
decoration = { decoration = {
rounding = 5; rounding = 5;
active_opacity = 0.95; # active_opacity = 0.95;
inactive_opacity = 0.9; inactive_opacity = 0.9;
shadow = { shadow = {
enabled = true; enabled = true;
range = 6; range = 6;
render_power = 6; render_power = 6;
color = "#000000"; # color = "#000000";
}; };
blur = { # set this on a per-program basis
enabled = true; # blur = {
size = 4; # enabled = true;
passes = 2; # size = 4;
new_optimizations = on; # passes = 2;
ignore_opacity = true; # new_optimizations = true;
}; # ignore_opacity = true;
# };
layerrule = [
"blur, wofi"
"ignorezero, wofi"
"ignorealpha 0.5, wofi"
"blur, kitty"
"ignorezero, kitty"
"ignorealpha 0.5, kitty"
];
}; };
monitor = [ monitor = [
@ -121,39 +130,6 @@
]; ];
}; };
# imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
# # the overlay makes this available as a home manager module
# programs.hyprpanel = {
# enable = true;
# # autostart after hyprland
# hyprland.enable = true;
# overwrite.enable = true;
# overlay.enable = true;
# theme = "monochrome";
# settings = {
# bar = {
# clock.format = "%H:%M";
# clock.showIcon = false;
# launcher.icon = "🚀";
# launcher.autoDetectIcon = true;
# workspaces.show_icons = true;
# };
# };
# layout = {
# "bar.layouts" = {
# "*" = {
# left = ["workspaces"];
# middle = ["clock"];
# right = ["volume" "systray" "nm-applet" "notifications" ];
# };
# };
# };
# };
programs.walker = { programs.walker = {
enable = true; enable = true;
runAsService = true; runAsService = true;
@ -187,4 +163,36 @@
enable = true; enable = true;
}; };
services.swaync.enable = true;
gtk = {
enable = true;
cursorTheme = {
package = pkgs.capitaine-cursors;
name = "capitaine-cursors-white";
size = 32;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
theme = {
name = "Materia-dark";
package = pkgs.materia-theme;
};
font = {
name = "Inter";
size = 11;
package = pkgs.inter;
};
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.capitaine-cursors;
name = "capitaine-cursors-white";
size = 32;
};
} }

View File

@ -5,7 +5,11 @@
services.hyprpaper = { services.hyprpaper = {
enable = true; enable = true;
settings = { settings = {
preload = builtins.attrValues (builtins.readDir ./wallpapers) # TODO: implement this correctly
# preload = builtins.attrValues (builtins.readFile ../../../wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg);
# wallpaper = [
# ", ${builtins.attrValues (builtins.readFile ../../../wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg)}"
# ];
}; };
}; };
} }

View File

@ -1,103 +1,140 @@
{inputs, pkgs, ...}: {inputs, pkgs, ...}:
{ {
# required to autoload fonts from packages installed via Home Manager
fonts.fontconfig.enable = true;
# waybar requires font-awesome # waybar requires font-awesome
home.packages = [ home.packages = [
pkgs.font-awesome pkgs.font-awesome
pkgs.fira-code
]; ];
# enable waybar # enable waybar
programs.waybar.enable = true; programs.waybar.enable = true;
programs.waybar.settings = { programs.waybar = {
mainBar = { settings = {
layer = "top";
position = "top"; mainBar = {
height = 30; margin-top = 5;
# output = [ margin-bottom = 5;
# "eDP-1" margin-left = 5;
# "HDMI-A-1" margin-right = 5;
# ]; height = 42;
modules-left = [ layer = "top";
"hyprland/workspaces" position = "top";
# "hyprland/mode" # height = 30;
# "wlr/taskbar" # output = [
]; # "eDP-1"
modules-center = [ # "HDMI-A-1"
"hyprland/window" # ];
"clock" modules-left = [
# "custom/hello-from-waybar" "hyprland/workspaces"
]; "hyprland/window"
modules-right = [
"mpd"
"tray"
"custom/notification"
# "temperature"
"group/expand"
"bluetooth"
"network"
"battery"
];
# module specific settings ];
"hyprland/workspaces" = { modules-center = [
"format" = "{icon}"; "clock"
"format-icons" = { ];
"active" = ""; modules-right = [
"default" = ""; "tray"
"empty" = "" # "temperature"
}; "group/expand"
}; "bluetooth"
"custom/notification" = { # "network"
"tooltip" = false; "mpd"
"format" = ""; "battery"
"on-click" = "swaync-client -t -sw"; "backlight"
"escape" = true; "custom/notification"
}; ];
"clock": {
"format" = "{:%I:%M}"; # module specific settings
"interval" = 1; "hyprland/workspaces" = {
"tooltip-format" = "<tt>{calendar}</tt>"; format = "{icon}";
"calendar" = { format-icons = {
"format" = { active = "";
"today" = "<span color='#fAfBfC'><b>{}</b></span>" default = "";
empty = "";
}; };
}; };
}; "custom/notification" = {
tooltip = false;
"network" = { format = "";
"format-wifi" = ""; on-click = "swaync-client -t -sw";
"format-ethernet" =""; escape = true;
"format-disconnected" = ""; };
"tooltip-format-disconnected" = "Error"; "clock" = {
"tooltip-format-wifi" = "{essid} ({signalStrength}%) "; format = "{:%H:%M}";
"tooltip-format-ethernet" = "{ifname} 🖧 "; interval = 1;
"on-click" = "kitty nmtui" tooltip-format = "<tt>{calendar}</tt>";
}; calendar = {
"bluetooth" = { "format" = {
"format-on" = "󰂯"; "today" = "<span color='#fAfBfC'><b>{}</b></span>";
"format-off" = "BT-off"; };
"format-disabled" = "󰂲"; };
"format-connected-battery" = "{device_battery_percentage}% 󰂯"; };
"format-alt" = "{device_alias} 󰂯";
"tooltip-format" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected"; # "network" = {
"tooltip-format-connected" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}"; # "format-wifi" = "";
"tooltip-format-enumerate-connected" = "{device_alias}\n{device_address}"; # "format-ethernet" ="";
"tooltip-format-enumerate-connected-battery" = "{device_alias}\n{device_address}\n{device_battery_percentage}%"; # "format-disconnected" = "";
"on-click-right" = "blueman-manager"; # "tooltip-format-disconnected" = "Error";
}; # "tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
"battery" = { # "tooltip-format-ethernet" = "{ifname} 🖧 ";
"interval" = 60; # "on-click" = "kitty nmtui";
"states" = { # };
"good" = 80; "bluetooth" = {
"warning" = 30; format-on = "󰂯";
"critical" = 10 format-off = "BT-off";
format-disabled = "󰂲";
format-connected-battery = "{device_battery_percentage}% 󰂯";
format-alt = "{device_alias} 󰂯";
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}\n{device_address}";
tooltip-format-enumerate-connected-battery = "{device_alias}\n{device_address}\n{device_battery_percentage}%";
on-click-right = "blueman-manager";
};
"battery" = {
interval = 60;
states = {
good = 80;
warning = 30;
critical = 10;
};
format = "{capacity}% {icon}";
format-charging = "{capacity}% 󰂄";
format-plugged = "{capacity}% 󰂄 ";
format-alt = "{time} {icon}";
format-icons = [ "󰁻" "󰁼" "󰁾" "󰂀" "󰂂" "󰁹" ];
}; };
"format" = "{capacity}% {icon}";
"format-charging" = "{capacity}% 󰂄";
"format-plugged" = "{capacity}% 󰂄 ";
"format-alt" = "{time} {icon}";
"format-icons" = [ "󰁻" "󰁼" "󰁾" "󰂀" "󰂂" "󰁹" ];
}; };
}; };
}
}; style = ''
* {
border: none;
border-radius: 5px;
padding: 0px 5px 0px 5px;
margin: 0px 5px 0px 5px;
font-size: 18px;
}
window#waybar {
background-color: transparent;
}
#workspaces button {
padding-left: 1px;
padding-right: 1px;
}
#workspaces {
padding-left: 1px;
padding-right: 1px;
}
'';
# font-family: ${font};
# font-weight: ${font_weight};
# opacity: ${opacity};
# font-size: ${font_size};
};
}

View File

@ -9,8 +9,9 @@
cursor_trail = 3; cursor_trail = 3;
}; };
keybindings = { keybindings = {
"ctrl+c" = "copy_to_clipboard"; # TODO - they should not overwrite default behaviour
"ctrl+v" = "paste_from_clipboard"; # "ctrl+c" = "copy_to_clipboard";
# "ctrl+v" = "paste_from_clipboard";
}; };
}; };

11
modules/nixos/fonts.nix Normal file
View File

@ -0,0 +1,11 @@
{
config,
lib,
pkgs,
...
}:
{
# from here on fonts are managed on a user level
fonts.fontDir.enable = true;
fonts.fontconfig.enable = true;
}