Inital commit for theming

This commit is contained in:
2025-11-20 18:48:39 +01:00
parent 52a9112c48
commit 1544cc30ad
11 changed files with 436 additions and 129 deletions

View File

@@ -1,14 +1,13 @@
{ config, pkgs, inputs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should manage
home.username = "crib";
home.homeDirectory = "/home/crib";
home.username = "YOURUSERNAME";
home.homeDirectory = "/home/YOURUSERNAME";
# Packages to install for this user
home.packages = with pkgs; [
# Browsers
firefox
chromium
# Communication
discord
@@ -20,26 +19,35 @@
vscode
# Terminal tools
neofetch
fastfetch
# Additional ricing tools
cava # Audio visualizer
cmatrix # Matrix effect
pipes # Animated pipes
# Screenshot tools
slurp
grim
# Color tools
python311Packages.pywal
];
# Import Hyprland home config
# Import module configs
imports = [
./hyprland.nix
./waybar.nix
./rofi.nix
./kitty.nix
];
# Git configuration (updated API)
# Git configuration
programs.git = {
enable = true;
settings = {
user = {
name = "Your Name";
name = "YOURUSERNAME";
email = "your.email@example.com";
};
};
@@ -57,31 +65,42 @@
ls = "eza";
cat = "bat";
vim = "nvim";
update = "sudo nixos-rebuild switch --flake ~/.config/nixos#myhost";
update = "sudo nixos-rebuild switch --flake ~/.config/nixos#cribnix";
rebuild = "sudo nixos-rebuild switch --flake ~/.config/nixos#cribnix";
};
oh-my-zsh = {
enable = true;
theme = "robbyrussell";
plugins = [ "git" "sudo" "docker" "kubectl" ];
plugins = [ "git" "sudo" ];
};
};
# Kitty terminal configuration (updated API)
programs.kitty = {
# Starship prompt (vyrx uses this)
programs.starship = {
enable = true;
themeFile = "tokyo_night_night";
font.name = "JetBrainsMono Nerd Font";
font.size = 12;
settings = {
background_opacity = "0.9";
confirm_os_window_close = 0;
add_newline = false;
format = "$directory$git_branch$git_status$character";
directory = {
truncation_length = 3;
truncate_to_repo = true;
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
git_branch = {
format = "[$symbol$branch]($style) ";
style = "bold purple";
};
};
};
# This value determines the Home Manager release
# Home Manager
home.stateVersion = "24.05";
# Let Home Manager install and manage itself
programs.home-manager.enable = true;
}

View File

@@ -6,18 +6,36 @@
xwayland.enable = true;
settings = {
# Monitor configuration
monitor = ",preferred,auto,1";
# Startup applications
exec-once = [
"waybar"
"dunst"
"swaync"
"swww init"
"nm-applet --indicator"
"blueman-applet"
];
# Environment variables
env = [
"XCURSOR_SIZE,24"
"QT_QPA_PLATFORMTHEME,qt5ct"
];
# Input configuration
input = {
kb_layout = "us";
follow_mouse = 1;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
# General settings - Nord inspired
general = {
gaps_in = 5;
gaps_out = 10;
@@ -25,28 +43,143 @@
layout = "dwindle";
};
# Decoration - clean minimal look
decoration = {
rounding = 10;
rounding = 8;
blur = {
enabled = true;
size = 6;
passes = 2;
};
drop_shadow = true;
shadow_range = 20;
shadow_render_power = 3;
};
# Animations - smooth like vyrx
animations = {
enabled = true;
bezier = [
"wind, 0.05, 0.9, 0.1, 1.05"
"winIn, 0.1, 1.1, 0.1, 1.1"
"winOut, 0.3, -0.3, 0, 1"
"liner, 1, 1, 1, 1"
];
animation = [
"windows, 1, 6, wind, slide"
"windowsIn, 1, 6, winIn, slide"
"windowsOut, 1, 5, winOut, slide"
"windowsMove, 1, 5, wind, slide"
"border, 1, 1, liner"
"borderangle, 1, 30, liner, loop"
"fade, 1, 10, default"
"workspaces, 1, 5, wind"
];
};
# Layout
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_is_master = true;
};
# Gestures
gestures = {
workspace_swipe = true;
};
# Misc
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
# Window rules
windowrulev2 = [
"suppressevent maximize, class:.*"
"float, class:^(pavucontrol)$"
"float, class:^(blueman-manager)$"
"float, class:^(nm-connection-editor)$"
];
# Keybindings
"$mainMod" = "SUPER";
bind = [
# Program launches
"$mainMod, Return, exec, kitty"
"$mainMod, Q, killactive,"
"$mainMod, M, exit,"
"$mainMod, D, exec, wofi --show drun"
"$mainMod, E, exec, thunar"
"$mainMod, V, togglefloating,"
"$mainMod, D, exec, rofi -show drun"
"$mainMod, P, pseudo,"
"$mainMod, J, togglesplit,"
"$mainMod, F, fullscreen,"
# Screenshot
"$mainMod SHIFT, S, exec, grim -g \"$(slurp)\" - | wl-copy"
", Print, exec, grim -g \"$(slurp)\" ~/Pictures/screenshot_$(date +%Y%m%d_%H%M%S).png"
# Move focus
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
# Switch workspaces
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# Move active window to workspace
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# Scroll through workspaces
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
];
# Mouse bindings
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
# Volume and brightness keys
bindel = [
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86MonBrightnessUp, exec, brightnessctl s 10%+"
", XF86MonBrightnessDown, exec, brightnessctl s 10%-"
];
};
};
}
}

73
home/kitty.nix Normal file
View File

@@ -0,0 +1,73 @@
{ config, pkgs, ... }:
{
programs.kitty = {
enable = true;
font = {
name = "JetBrainsMono Nerd Font";
size = 12;
};
settings = {
# Nord theme colors
background = "#2e3440";
foreground = "#d8dee9";
# Cursor
cursor = "#d8dee9";
cursor_text_color = "#2e3440";
# Selection
selection_background = "#4c566a";
selection_foreground = "#eceff4";
# Black
color0 = "#3b4252";
color8 = "#4c566a";
# Red
color1 = "#bf616a";
color9 = "#bf616a";
# Green
color2 = "#a3be8c";
color10 = "#a3be8c";
# Yellow
color3 = "#ebcb8b";
color11 = "#ebcb8b";
# Blue
color4 = "#81a1c1";
color12 = "#81a1c1";
# Magenta
color5 = "#b48ead";
color13 = "#b48ead";
# Cyan
color6 = "#88c0d0";
color14 = "#8fbcbb";
# White
color7 = "#e5e9f0";
color15 = "#eceff4";
# Window
background_opacity = "0.95";
window_padding_width = 8;
# Misc
confirm_os_window_close = 0;
enable_audio_bell = false;
# Tab bar
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
active_tab_foreground = "#2e3440";
active_tab_background = "#88c0d0";
inactive_tab_foreground = "#d8dee9";
inactive_tab_background = "#3b4252";
};
};
}

91
home/rofi.nix Normal file
View File

@@ -0,0 +1,91 @@
{ config, pkgs, ... }:
{
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
bg = mkLiteral "#2e3440";
bg-alt = mkLiteral "#3b4252";
fg = mkLiteral "#eceff4";
fg-alt = mkLiteral "#d8dee9";
accent = mkLiteral "#88c0d0";
urgent = mkLiteral "#bf616a";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@fg";
margin = 0;
padding = 0;
spacing = 0;
};
"window" = {
location = mkLiteral "center";
width = 600;
background-color = mkLiteral "@bg";
border = mkLiteral "2px";
border-color = mkLiteral "@accent";
border-radius = mkLiteral "12px";
};
"inputbar" = {
padding = mkLiteral "12px";
spacing = mkLiteral "12px";
children = mkLiteral "[prompt, entry]";
background-color = mkLiteral "@bg-alt";
};
"prompt, entry, element-text, element-icon" = {
vertical-align = mkLiteral "0.5";
};
"prompt" = {
text-color = mkLiteral "@accent";
};
"listview" = {
lines = 8;
columns = 1;
padding = mkLiteral "8px 0";
background-color = mkLiteral "@bg";
};
"element" = {
padding = mkLiteral "8px 12px";
spacing = mkLiteral "8px";
background-color = mkLiteral "transparent";
};
"element normal.normal" = {
text-color = mkLiteral "@fg";
};
"element selected.normal" = {
background-color = mkLiteral "@bg-alt";
text-color = mkLiteral "@accent";
};
"element-icon" = {
size = mkLiteral "1em";
};
"element-text" = {
text-color = mkLiteral "inherit";
};
};
extraConfig = {
modi = "drun,run";
show-icons = true;
drun-display-format = "{name}";
disable-history = false;
sidebar-mode = false;
};
};
}

View File

@@ -8,7 +8,8 @@
mainBar = {
layer = "top";
position = "top";
height = 30;
height = 34;
spacing = 8;
modules-left = [ "hyprland/workspaces" "hyprland/window" ];
modules-center = [ "clock" ];
@@ -18,53 +19,37 @@
format = "{icon}";
on-click = "activate";
format-icons = {
"1" = "󰲠";
"2" = "󰲢";
"3" = "󰲤";
"4" = "󰲦";
"5" = "󰲨";
"6" = "󰲪";
"7" = "󰲬";
"8" = "󰲮";
"9" = "󰲰";
"10" = "󰿬";
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
active = "";
default = "";
};
};
"hyprland/window" = {
format = "{}";
separate-outputs = true;
max-length = 50;
};
clock = {
format = "󰃰 {:%H:%M}";
format-alt = "󰃰 {:%A, %B %d, %Y (%R)}";
format = "{:%H:%M}";
format-alt = "{:%A, %B %d, %Y}";
tooltip-format = "<tt><small>{calendar}</small></tt>";
calendar = {
mode = "year";
mode-mon-col = 3;
weeks-pos = "right";
on-scroll = 1;
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
days = "<span color='#ecc6d9'><b>{}</b></span>";
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
};
};
};
pulseaudio = {
format = "{icon} {volume}%";
format-muted = "󰝟 Muted";
format-muted = "󰝟";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [ "" "" "" ];
};
on-click = "pavucontrol";
@@ -72,10 +57,9 @@
network = {
format-wifi = " {essid}";
format-ethernet = "󰈀 Wired";
format-disconnected = "󰤭 Disconnected";
tooltip-format = "{ifname} via {gwaddr}";
tooltip-format-wifi = "{essid} ({signalStrength}%)";
format-ethernet = "󰈀";
format-disconnected = "󰤭";
tooltip-format = "{ifname}: {ipaddr}";
on-click = "nm-connection-editor";
};
@@ -86,7 +70,6 @@
memory = {
format = " {}%";
tooltip-format = "RAM: {used:0.1f}G / {total:0.1f}G";
};
battery = {
@@ -97,11 +80,10 @@
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = " {capacity}%";
format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" ];
};
tray = {
icon-size = 18;
spacing = 10;
};
};
@@ -109,37 +91,42 @@
style = ''
* {
border: none;
border-radius: 0;
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
min-height: 0;
border: none;
border-radius: 0;
}
window#waybar {
background: rgba(30, 30, 46, 0.9);
color: #cdd6f4;
background: rgba(46, 52, 64, 0.95);
color: #eceff4;
}
#workspaces {
margin: 0 4px;
}
#workspaces button {
padding: 0 10px;
color: #cdd6f4;
padding: 0 12px;
color: #d8dee9;
background: transparent;
border-bottom: 3px solid transparent;
}
#workspaces button.active {
color: #89b4fa;
border-bottom: 3px solid #89b4fa;
color: #88c0d0;
border-bottom: 3px solid #88c0d0;
}
#workspaces button:hover {
background: rgba(137, 180, 250, 0.2);
background: rgba(136, 192, 208, 0.1);
}
#window {
margin: 0 10px;
color: #cdd6f4;
margin: 0 8px;
color: #d8dee9;
font-weight: normal;
}
#clock,
@@ -147,28 +134,32 @@
#cpu,
#memory,
#network,
#pulseaudio,
#tray {
padding: 0 10px;
margin: 0 2px;
background: rgba(49, 50, 68, 0.8);
border-radius: 5px;
#pulseaudio {
padding: 0 12px;
margin: 4px 2px;
background: rgba(59, 66, 82, 0.8);
border-radius: 8px;
color: #eceff4;
}
#battery.charging {
color: #a6e3a1;
color: #a3be8c;
}
#battery.warning:not(.charging) {
color: #f9e2af;
color: #ebcb8b;
}
#battery.critical:not(.charging) {
color: #f38ba8;
color: #bf616a;
}
#pulseaudio.muted {
color: #f38ba8;
color: #bf616a;
}
#tray {
padding: 0 8px;
}
'';
};