initial commit

This commit is contained in:
zackartz 2024-02-29 22:20:26 -05:00
commit 1f9e5e17af
19 changed files with 1515 additions and 0 deletions

68
modules/rice/dunst.nix Normal file
View file

@ -0,0 +1,68 @@
{
pkgs,
theme,
...
}: let
inherit (theme) x;
in {
services.dunst = {
enable = true;
package = pkgs.dunst.overrideAttrs (_: {
src = pkgs.fetchFromGitHub {
owner = "sioodmy";
repo = "dunst";
rev = "6477864bd870dc74f9cf76bb539ef89051554525";
sha256 = "FCoGrYipNOZRvee6Ks5PQB5y2IvN+ptCAfNuLXcD8Sc=";
};
});
iconTheme = {
package = pkgs.catppuccin-papirus-folders;
name = "Papirus";
};
settings = with theme.colors; {
global = {
frame_color = "#${pink}95";
separator_color = x pink;
width = 220;
height = 280;
offset = "0x15";
font = "Lexend 12";
corner_radius = 10;
origin = "top-center";
notification_limit = 3;
idle_threshold = 120;
ignore_newline = "no";
mouse_left_click = "close_current";
mouse_right_click = "close_all";
sticky_history = "yes";
history_length = 20;
show_age_threshold = 60;
ellipsize = "middle";
padding = 10;
always_run_script = true;
frame_width = 2;
transparency = 10;
progress_bar = true;
progress_bar_frame_width = 0;
highlight = x pink;
};
fullscreen_delay_everything.fullscreen = "delay";
urgency_low = {
background = "#${base}83";
foreground = x text;
timeout = 5;
};
urgency_normal = {
background = "#${base}83";
foreground = "#c6d0f5";
timeout = 6;
};
urgency_critical = {
background = "#${base}83";
foreground = x text;
frame_color = "#${red}80";
timeout = 0;
};
};
};
}

87
modules/rice/gtk.nix Normal file
View file

@ -0,0 +1,87 @@
{pkgs, ...}: {
gtk = {
enable = true;
theme = {
name = "Catppuccin-Frappe-Compact-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["pink"];
tweaks = ["rimless"];
size = "compact";
variant = "frappe";
};
};
iconTheme = {
package = pkgs.catppuccin-papirus-folders;
name = "Papirus";
};
font = {
name = "Lexend";
size = 11;
};
gtk3.extraConfig = {
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintslight";
gtk-xft-rgba = "rgb";
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk2.extraConfig = ''
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
gtk-xft-rgba="rgb"
'';
};
home = {
packages = with pkgs; [
qt5.qttools
qt6Packages.qtstyleplugin-kvantum
libsForQt5.qtstyleplugin-kvantum
libsForQt5.qt5ct
breeze-icons
];
pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
gtk.enable = true;
x11.enable = true;
};
sessionVariables = {
XCURSOR_SIZE = "16";
GTK_USE_PORTAL = "1";
};
};
qt = {
enable = true;
platformTheme = "qtct";
style = {
name = "Catppuccin-Frappe-Dark";
package = pkgs.catppuccin-kde.override {
flavour = ["frappe"];
accents = ["pink"];
};
};
};
xdg.configFile = {
"Kvantum/catppuccin/catppuccin.kvconfig".source = builtins.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Frappe-Pink/Catppuccin-Frappe-Pink.kvconfig";
sha256 = "0pl936nchif2zsgzy4asrlc3gvv4fv2ln2myrqx13r6xra1vkcqs";
};
"Kvantum/catppuccin/catppuccin.svg".source = builtins.fetchurl {
url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Frappe-Pink/Catppuccin-Frappe-Pink.svg";
sha256 = "1b92j0gb65l2pvrf90inskr507a1kwin1zy0grwcsdyjmrm5yjrv";
};
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=catppuccin
[Applications]
catppuccin=qt5ct, org.qbittorrent.qBittorrent, hyprland-share-picker
'';
};
}

View file

@ -0,0 +1,63 @@
{
config,
lib,
...
}: let
mod = "SUPER";
modshift = "${mod}SHIFT";
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10} (stolen from fufie)
workspaces = builtins.concatLists (builtins.genList (
x: let
ws = let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in [
"${mod}, ${ws}, workspace, ${toString (x + 1)}"
"${mod} SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
]
)
10);
in {
wayland.windowManager.hyprland.settings = {
bind =
[
''${mod},RETURN,exec,kitty''
"${mod},R,exec,wofi"
"${mod},Q,killactive"
"${mod},P,pseudo"
"${mod},H,movefocus,l"
"${mod},L,movefocus,r"
"${mod},K,movefocus,u"
"${mod},J,movefocus,d"
"${mod},T,togglegroup," # group focused window
"${modshift},G,changegroupactive," # switch within the active group
"${mod},V,togglefloating," # toggle floating for the focused window
"${mod},F,fullscreen," # fullscreen focused window
# workspace controls
"${modshift},right,movetoworkspace,+1" # move focused window to the next ws
"${modshift},left,movetoworkspace,-1" # move focused window to the previous ws
"${mod},mouse_down,workspace,e+1" # move to the next ws
"${mod},mouse_up,workspace,e-1" # move to the previous ws
"${mod},Print,exec, pauseshot"
",Print,exec, grim - | wl-copy"
"${modshift},O,exec,wl-ocr"
"${mod},Period,exec, tofi-emoji"
"${modshift},L,exec,swaylock --grace 0" # lock screen
]
++ workspaces;
bindm = [
"${mod},mouse:272,movewindow"
"${mod},mouse:273,resizewindow"
];
};
}

View file

@ -0,0 +1,56 @@
# home.nix
{
wayland.windowManager.hyprland.settings = {
exec-once = [
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
];
general = {
# gaps
gaps_in = 6;
gaps_out = 11;
# border thiccness
border_size = 2;
# whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse)
apply_sens_to_raw = 0;
};
input = {
kb_layout = "us";
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
accel_profile = "flat";
force_no_accel = true;
};
decoration = {
# fancy corners
rounding = 7;
# blur
blur = {
enabled = true;
size = 3;
passes = 3;
ignore_opacity = false;
new_optimizations = 1;
xray = true;
contrast = 0.7;
brightness = 0.8;
};
# shadow config
drop_shadow = "no";
shadow_range = 20;
shadow_render_power = 5;
"col.shadow" = "rgba(292c3cee)";
};
xwayland = {
force_zero_scaling = true;
};
monitor = "DP-1,2560x1440@240,0x0,1";
};
}

View file

@ -0,0 +1,19 @@
{
pkgs,
lib,
inputs,
...
}: {
imports = [./config.nix ./binds.nix];
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.default;
systemd = {
variables = ["--all"];
extraCommands = [
"systemctl --user stop graphical-session.target"
"systemctl --user start hyprland-session.target"
];
};
};
}

View file

@ -0,0 +1,43 @@
{...}: {
wayland.windowManager.hyprland.settings = {
layerrule = [
"blur, ^(gtk-layer-shell)$"
"blur, ^(launcher)$"
"ignorezero, ^(gtk-layer-shell)$"
"ignorezero, ^(launcher)$"
"blur, notifications"
"ignorezero, notifications"
"blur, bar"
"ignorezero, bar"
"ignorezero, ^(gtk-layer-shell|anyrun)$"
"blur, ^(gtk-layer-shell|anyrun)$"
"noanim, launcher"
"noanim, bar"
];
windowrulev2 = [
# only allow shadows for floating windows
"noshadow, floating:0"
"tile, title:Spotify"
"idleinhibit focus, class:^(mpv)$"
"idleinhibit focus,class:foot"
"idleinhibit fullscreen, class:^(firefox)$"
"float, title:^(Picture-in-Picture)$"
"pin, title:^(Picture-in-Picture)$"
"float,class:udiskie"
"workspace special silent,class:^(pavucontrol)$"
"float, class:^(imv)$"
# throw sharing indicators away
"workspace special silent, title:^(Firefox Sharing Indicator)$"
"workspace special silent, title:^(.*is sharing (your screen|a window)\.)$"
"workspace 4, title:^(.*(Disc|WebC)ord.*)$"
"workspace 2, class:^(firefox)$"
];
};
}