initial switch to hyprland

This commit is contained in:
alsaiduq-lab 2025-10-06 13:02:01 -06:00
parent 1daf9cf44b
commit 6c8c5c43d4
41 changed files with 562 additions and 501 deletions

View file

@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ cava ];
}

View file

@ -1,146 +0,0 @@
{pkgs, ...}: let
urgencyLowBackground = "#1a1b26";
urgencyLowForeground = "#c0caf5";
urgencyLowFrameColor = "#7aa2f7";
urgencyNormalBackground = "#24283b";
urgencyNormalForeground = "#c0caf5";
urgencyNormalFrameColor = "#7aa2f7";
urgencyCriticalBackground = "#f7768e";
urgencyCriticalForeground = "#1a1b26";
urgencyCriticalFrameColor = "#ff757f";
volumeHighlight = "#f5c2e7";
volumeFrameColor = "#eba0ac";
volumeBackground = "#45475a";
volumeForeground = "#f5e0dc";
brightnessHighlight = "#94e2d5";
brightnessFrameColor = "#74c7ec";
brightnessBackground = "#313244";
brightnessForeground = "#a6e3a1";
networkHighlight = "#f9e2af";
networkFrameColor = "#f38ba8";
networkBackground = "#1e1e2e";
networkForeground = "#fab387";
globalFrameColor = "#7aa2f7";
globalCornerRadius = 10;
globalMargin = 8;
globalPadding = 12;
globalBorderWidth = 2;
globalFont = "0xProto Nerd Font Bold 10";
globalIconPath = "/usr/share/icons/Candy/16x16/status/:/usr/share/icons/Candy/16x16/devices/:/usr/share/icons/Candy/16x16/apps/";
in {
services.dunst = {
enable = true;
settings = {
global = {
monitor = 0;
follow = "mouse";
width = "(300, 400)";
height = 300;
origin = "top-right";
offset = "15x50";
scale = 0;
notification_limit = 0;
progress_bar = true;
progress_bar_height = 10;
progress_bar_frame_width = 1;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
transparency = 5;
padding = globalPadding;
horizontal_padding = globalPadding;
text_icon_padding = 12;
frame_width = globalBorderWidth;
frame_color = globalFrameColor;
separator_color = "frame";
separator_height = 2;
corner_radius = globalCornerRadius;
gap_size = globalMargin;
line_height = 0;
font = globalFont;
markup = "full";
format = "<b>%s</b>\n%b";
alignment = "left";
vertical_alignment = "center";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = false;
show_indicators = true;
enable_recursive_icon_lookup = true;
icon_position = "left";
min_icon_size = 32;
max_icon_size = 128;
icon_path = globalIconPath;
sticky_history = "yes";
history_length = 20;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "close_all";
mouse_right_click = "close_current";
};
urgency_low = {
background = urgencyLowBackground;
foreground = urgencyLowForeground;
frame_color = urgencyLowFrameColor;
timeout = 5;
};
urgency_normal = {
background = urgencyNormalBackground;
foreground = urgencyNormalForeground;
frame_color = urgencyNormalFrameColor;
timeout = 5;
};
urgency_critical = {
background = urgencyCriticalBackground;
foreground = urgencyCriticalForeground;
frame_color = urgencyCriticalFrameColor;
timeout = 0;
};
volume = {
appname = "Volume";
summary = "*";
format = "<b>%s</b>\n%b";
highlight = volumeHighlight;
frame_color = volumeFrameColor;
background = volumeBackground;
foreground = volumeForeground;
};
brightness = {
appname = "Brightness";
summary = "*";
format = "<b>%s</b>\n%b";
highlight = brightnessHighlight;
frame_color = brightnessFrameColor;
background = brightnessBackground;
foreground = brightnessForeground;
};
network = {
appname = "Network";
summary = "*";
format = "<b>%s</b>\n%b";
highlight = networkHighlight;
frame_color = networkFrameColor;
background = networkBackground;
foreground = networkForeground;
};
};
};
home.packages = with pkgs; [
dunst
];
}

View file

@ -1,5 +1,5 @@
{pkgs, ...}: {
home.packages = [
(pkgs.ffmpeg-full.override {withXcb = true;})
pkgs.ffmpeg
];
}

View file

@ -6,5 +6,6 @@
eza
fd
ugrep
yazi
];
}

View file

@ -1,10 +1,38 @@
{pkgs, ...}: {
{
pkgs,
config,
lib,
...
}: {
home.packages = with pkgs; [
ghostty
fastfetch
];
programs.ghostty = {
enable = true;
enableFishIntegration = true;
settings = {
command = "${pkgs.fish}/bin/fish --login --interactive";
font-family = "0xProto Nerd Font";
font-size = 12;
theme = "TokyoNight Storm";
window-padding-x = 10;
window-padding-y = 10;
cursor-color = "#7AA2F7";
cursor-style = "block";
cursor-style-blink = true;
window-decoration = "none";
window-theme = "dark";
selection-background = "#364A82";
selection-foreground = "#C0CAF5";
keybind = [
"super+t=new_tab"
"super+w=close_surface"
];
};
};
home.file."${config.xdg.configHome}/ghostty/config".force = lib.mkForce true;
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.hyprspace];
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.matugen];
}

View file

@ -3,35 +3,12 @@
pkgs,
lib,
...
}: let
gitDir = "${pkgs.git}/bin/git";
nvim = "${config.home.homeDirectory}/.config/nvim";
in {
programs.neovim = {
enable = true;
};
}: {
programs.neovim.enable = true;
home.packages = with pkgs; [
git
luajit
luaPackages.luarocks
tree-sitter
];
home.sessionPath = ["$HOME/.local/share/nvim/mason/bin"];
home.activation.nvimConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
if [ ! -d "${nvim}/.git" ]; then
${gitDir} clone --depth 1 \
https://github.com/alsaiduq-lab/nvim-dotfiles.git "${nvim}"
echo "Neovim config at ${nvim} was installed"
else
if ${gitDir} -C "${nvim}" pull --ff-only origin master \
| grep -q 'Already up to date.'; then
echo "Neovim config at ${nvim} is unchanged"
else
echo "Neovim config at ${nvim} was updated"
fi
fi
'';
}

View file

@ -1,15 +0,0 @@
{
i3dotfiles,
pkgs,
...
}: {
home.packages = with pkgs; [
picom
];
xdg.configFile."picom" = {
source = "${i3dotfiles}/picom";
recursive = true;
force = true;
};
}

View file

@ -1,13 +0,0 @@
{
i3dotfiles,
pkgs,
...
}: {
home.packages = pkgs.polybar.all;
xdg.configFile."polybar" = {
source = "${i3dotfiles}/polybar";
recursive = true;
force = true;
};
}

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
home.packages = with pkgs; [
quickshell
];
home.sessionPath = ["${pkgs.quickshell}/bin"];
}

View file

@ -0,0 +1,17 @@
{pkgs, ...}: {
home.packages = [pkgs.openrgb-with-all-plugins];
systemd.user.services.openrgb-gui = {
Unit = {
Description = "OpenRGB GUI (daemon)";
After = ["graphical-session.target"];
PartOf = ["graphical-session.target"];
};
Service = {
ExecStart = "${pkgs.openrgb-with-all-plugins}/bin/openrgb --gui --startminimized --server 127.0.0.1:6742 --profile default";
Restart = "on-failure";
Environment = "QT_QPA_PLATFORM=wayland;xcb";
};
Install.WantedBy = ["graphical-session.target"];
};
}

View file

@ -1,7 +1,4 @@
{
pkgs,
...
}: {
{pkgs, ...}: {
home.packages = with pkgs; [
rofi
];

View file

@ -1,11 +1,6 @@
{i3dotfiles, ...}: {
{...}: {
programs.starship = {
enable = true;
enableFishIntegration = true;
};
xdg.configFile."starship.toml" = {
source = "${i3dotfiles}/starship.toml";
force = true;
};
}

View file

@ -1,4 +1,3 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.thorium ];
{pkgs, ...}: {
home.packages = [pkgs.thorium];
}

View file

@ -1,6 +0,0 @@
{...}: {
services.udiskie = {
enable = true;
tray = "always";
};
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
waybar
];
}