Switch to module-based rice

This commit is contained in:
Filippo Berto 2024-10-22 18:49:26 +02:00
parent a8ee39aaa3
commit 61329e5f96
No known key found for this signature in database
GPG key ID: FE98AE5EC52B1056
19 changed files with 505 additions and 547 deletions

View file

@ -1,8 +1,10 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex rec {
inherit (pkgs.rice.colorPalette) normal bright primary;
dim = pkgs.rice.colorPalette.dark;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex rec {
inherit (rice.colorPalette) normal bright primary;
dim = rice.colorPalette.dark;
cursor = {
cursor = normal.white;
text = normal.black;
@ -23,7 +25,7 @@ let
in
{
# Include fonts packages
home.packages = [ pkgs.rice.font.monospace.package ];
home.packages = [ rice.font.monospace.package ];
programs.alacritty = {
enable = true;
settings = {
@ -41,10 +43,10 @@ in
};
scrolling.history = 3000;
font = {
normal.family = pkgs.rice.font.monospace.name;
inherit (pkgs.rice.font.monospace) size;
normal.family = rice.font.monospace.name;
inherit (rice.font.monospace) size;
};
window.opacity = pkgs.rice.opacity;
window.opacity = rice.opacity;
mouse = {
# hide_when_typing = true;
hints.modifiers = "Control";

View file

@ -1,6 +1,7 @@
{ pkgs, lib, ... }:
{ pkgs, lib, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette;
strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette;
fmtString = str: "'${str}'";
in
{

View file

@ -1,26 +1,24 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
inherit (pkgs.lib) nix-rice;
strPalette = nix-rice.palette.toRGBHex pkgs.rice.colorPalette;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRGBHex rice.colorPalette;
in
{
home.packages = builtins.attrValues {
inherit (pkgs) dunst;
inherit (pkgs.rice.font.normal) package;
inherit (rice.font.normal) package;
};
services.dunst = {
enable = true;
iconTheme = {
package = pkgs.qogir-icon-theme;
name = "Qogir";
};
iconTheme = { package = pkgs.qogir-icon-theme; name = "Qogir"; };
settings = {
global = {
browser = "${pkgs.xdg-utils}/bin/xdg-open";
corner_radius = 10;
dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:";
follow = "keyboard";
font = "${pkgs.rice.font.normal.name} 10";
font = "${rice.font.normal.name} 10";
frame_color = strPalette.normal.blue;
frame_width = 1;
height = 320;
@ -28,7 +26,7 @@ in
notification_limit = 10;
offset = "7x7";
separator_color = strPalette.normal.blue;
transparency = 100 - nix-rice.float.round (pkgs.rice.opacity * 100);
transparency = 100 - nix-rice.float.round (rice.opacity * 100);
width = "(0, 320)";
};
urgency_low = {

View file

@ -1,8 +1,8 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
{
gtk = {
enable = true;
font = pkgs.rice.font.normal;
font = nixosConfig.nix-rice.rice.font.normal;
iconTheme = {
package = pkgs.qogir-icon-theme;
name = "Qogir-dark";

View file

@ -1,6 +1,9 @@
{ nixosConfig, pkgs, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = palette.toRgbaShortHex nixosConfig.nix-rice.rice.colorPalette;
in
{
imports = [
./kitty.nix
./nautilus.nix
@ -50,259 +53,255 @@
};
xdg.configFile."hypr/hyprland.conf" = {
text =
let
strPalette = pkgs.lib.nix-rice.palette.toRgbaShortHex pkgs.rice.colorPalette;
in
''
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
text = ''
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=name,resolution,position,scale
monitor=,preferred,auto,auto
monitor=Unknown-1,disable
${
if nixosConfig.networking.hostName == "thor" then
''
monitor=DP-3,preferred,1080x420,auto
monitor=HDMI-A-1,preferred,0x0,auto,transform,3
''
else if nixosConfig.networking.hostName == "odin" then
''
monitor=eDP-1,preferred,320x1440,1
monitor=DP-1,preferred,0x0,1
''
else
""
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=name,resolution,position,scale
monitor=,preferred,auto,auto
monitor=Unknown-1,disable
${
if nixosConfig.networking.hostName == "thor" then
''
monitor=DP-3,preferred,1080x420,auto
monitor=HDMI-A-1,preferred,0x0,auto,transform,3
''
else if nixosConfig.networking.hostName == "odin" then
''
monitor=eDP-1,preferred,320x1440,1
monitor=DP-1,preferred,0x0,1
''
else
""
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
exec-once = ${
if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"
} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"}
kb_variant = ,,colemak
kb_model =
kb_options = grp:menu_toggle,compose:rctrl
kb_rules =
numlock_by_default = true
follow_mouse = 2
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
$LAPTOP_KEYBOARD_ENABLED = true
device {
name = at-translated-set-2-keyboard
enabled = $LAPTOP_KEYBOARD_ENABLED
}
device {
name=keychron-k1-max-keyboard
kb_layout=us
}
device {
name=keychron-k1-max-keyboard-2
kb_layout=us
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 1
gaps_out = 2
border_size = 2
col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg
col.inactive_border = rgba(${strPalette.bright.black})
layout = dwindle
}
misc {
disable_hyprland_logo = true
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
# Execute your favorite apps at launch
exec-once = ${
if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"
} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
rounding = 10
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"}
kb_variant = ,,colemak
kb_model =
kb_options = grp:menu_toggle,compose:rctrl
kb_rules =
numlock_by_default = true
follow_mouse = 2
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
$LAPTOP_KEYBOARD_ENABLED = true
device {
name = at-translated-set-2-keyboard
enabled = $LAPTOP_KEYBOARD_ENABLED
}
device {
name=keychron-k1-max-keyboard
kb_layout=us
}
device {
name=keychron-k1-max-keyboard-2
kb_layout=us
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 1
gaps_out = 2
border_size = 2
col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg
col.inactive_border = rgba(${strPalette.bright.black})
layout = dwindle
blur {
enabled = true
size = 3
passes = 1
new_optimizations = true
}
misc {
disable_hyprland_logo = true
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
animations {
enabled = yes
rounding = 10
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
blur {
enabled = true
size = 3
passes = 1
new_optimizations = true
}
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
animations {
enabled = yes
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
}
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# $mainMod = SUPER
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = SUPER, RETURN, exec, kitty
bind = SUPER, W, killactive,
bind = SUPER, M, exec, wl-lockscreen
bind = SUPER_ALT_L, Q, exit,
bind = SUPER, E, exec, nautilus
bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq
bind = SUPER_SHIFT, E, exec, nemo
bind = SUPER, V, togglefloating,
bind = SUPER, SPACE, exec, sirula
bind = SUPER, F, fullscreen,
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER ALT, E, exec, wofi-emoji
bind = SUPER ALT, P, exec, wl-clipedit
bind = SUPER, B, exec, wl-update-background
bind = ,Print, exec, grimblast copy
bind = SHIFT, Print, exec, grimblast copy area
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = SUPER, RETURN, exec, kitty
bind = SUPER, W, killactive,
bind = SUPER, M, exec, wl-lockscreen
bind = SUPER_ALT_L, Q, exit,
bind = SUPER, E, exec, nautilus
bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq
bind = SUPER_SHIFT, E, exec, nemo
bind = SUPER, V, togglefloating,
bind = SUPER, SPACE, exec, sirula
bind = SUPER, F, fullscreen,
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER ALT, E, exec, wofi-emoji
bind = SUPER ALT, P, exec, wl-clipedit
bind = SUPER, B, exec, wl-update-background
bind = ,Print, exec, grimblast copy
bind = SHIFT, Print, exec, grimblast copy area
# Move focus to relative position
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Move focus to relative position
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Move window to relative position
bind = SUPER_SHIFT, left, movewindow, l
bind = SUPER_SHIFT, right, movewindow, r
bind = SUPER_SHIFT, up, movewindow, u
bind = SUPER_SHIFT, down, movewindow, d
# Move window to relative position
bind = SUPER_SHIFT, left, movewindow, l
bind = SUPER_SHIFT, right, movewindow, r
bind = SUPER_SHIFT, up, movewindow, u
bind = SUPER_SHIFT, down, movewindow, d
# Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
# Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9]
bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0
bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1
bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2
bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3
bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4
bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5
bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6
bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7
bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8
bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9
# Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9]
bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0
bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1
bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2
bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3
bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4
bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5
bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6
bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7
bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8
bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9
bind = ALT, Tab, cyclenext
bind = ALT SHIFT, Tab, cyclenext, prev
bind = ALT, Tab, cyclenext
bind = ALT SHIFT, Tab, cyclenext, prev
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+
bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+
bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPrev, exec, playerctl previous
bind = SUPER ALT, Right, exec, playerctl next
bind = SUPER ALT, Down, exec, playerctl play-pause
bind = SUPER ALT, Left, exec, playerctl previous
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPrev, exec, playerctl previous
bind = SUPER ALT, Right, exec, playerctl next
bind = SUPER ALT, Down, exec, playerctl play-pause
bind = SUPER ALT, Left, exec, playerctl previous
bind = , XF86PowerOff, exec, wlogout
bind = , XF86PowerOff, exec, wlogout
bind = , XF86MonBrightnessUp, exec, brillo -A 10
bind = , XF86MonBrightnessDown, exec, brillo -U 10
'';
bind = , XF86MonBrightnessUp, exec, brillo -A 10
bind = , XF86MonBrightnessDown, exec, brillo -U 10
'';
};
}

View file

@ -1,5 +1,7 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
inherit (nixosConfig.nix-rice) rice;
themeBuilder =
palette: with palette; ''
set-face global value rgb:${normal.magenta},default
@ -275,7 +277,7 @@ in
# THEME FILE
xdg.configFile."kak/colors/nord.kak".text = themeBuilder (
pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette
palette.toRgbShortHex rice.colorPalette
);
xdg.configFile."kak-lsp/kak-lsp.toml".text = ''

View file

@ -1,7 +1,9 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex {
inherit (pkgs.rice.colorPalette)
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex {
inherit (rice.colorPalette)
background
foreground
color0
@ -31,7 +33,7 @@ in
enable_audio_bell = false;
visual_bell_duration = toString 0.1;
update_check_interval = 0;
background_opacity = toString pkgs.rice.opacity;
background_opacity = toString rice.opacity;
close_on_child_death = "yes";
clipboard_control = "write-clipboard write-primary read-clipboard read-primary";
disable_ligatures = "never";
@ -44,6 +46,6 @@ in
"ctrl+shift+up" = "previous_window";
"ctrl+shift+down" = "next_window";
};
font = pkgs.rice.font.monospace;
font = rice.font.monospace;
};
}

View file

@ -1,6 +1,8 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbShortHex rice.colorPalette;
in
{
programs.mangohud = {

View file

@ -4,9 +4,9 @@
, lib
, ...
}:
with nixosConfig.nix-rice.lib;
let
inherit (pkgs.rice) colorPalette opacity;
inherit (pkgs.lib) nix-rice;
inherit (nixosConfig.nix-rice.rice) colorPalette opacity;
alpha = 255 * opacity;
grep = "${pkgs.gnugrep}/bin/grep";
cut = "${pkgs.coreutils}/bin/cut";
@ -62,27 +62,27 @@ let
}"
zsh -c 'rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout"'
'';
colors = nix-rice.palette.toARGBHex rec {
colors = palette.toARGBHex rec {
normal = {
foreground = nix-rice.color.darken 10 colorPalette.foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background;
foreground = color.darken 10 colorPalette.foreground;
background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.normal.blue;
};
active = {
inherit (colorPalette) foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background;
background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.normal.yellow;
};
selected = {
inherit (colorPalette) foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background;
background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.bright.red;
};
inherit (colorPalette.normal) green red yellow;
inherit (nix-rice.color) transparent;
inherit (color) transparent;
orange = colorPalette.bright.red;
alert = orange;
};
@ -110,29 +110,22 @@ let
bottom.size = 0;
};
font = [
"${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2"
"${rice.font.monospace.name}:size=${toString rice.font.monospace.size};2"
# "Font Awesome 6 Free:size=14;0"
# "Noto Color Emoji:size=2;2"
"Noto Sans Symbols2:size=${toString pkgs.rice.font.monospace.size};2"
"Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2"
# "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0"
"Noto Sans CJK JP:size=${toString pkgs.rice.font.monospace.size};0"
"Noto Sans CJK KR:size=${toString pkgs.rice.font.monospace.size};0"
"Noto Sans CJK CN:size=${toString pkgs.rice.font.monospace.size};0"
"Noto Sans CJK HK:size=${toString pkgs.rice.font.monospace.size};0"
"Noto Sans Symbols2:size=${toString rice.font.monospace.size};2"
"Material Design Icons:size=${toString rice.font.monospace.size};2"
# "EmojiOne Color:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK JP:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK KR:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK CN:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK HK:size=${toString rice.font.monospace.size};0"
];
enable-ipc = true;
wm-restack = "bspwm";
};
ramp = [
""
""
""
""
""
""
];
ramp = [ "" "" "" "" "" "" ];
in
{
home.packages = builtins.attrValues {
@ -140,7 +133,7 @@ in
# emojione
# noto-fonts-emoji
# font-awesome
inherit (pkgs.rice.font.monospace) package;
inherit (rice.font.monospace) package;
};
services.polybar = {
enable = true;

View file

@ -1,4 +1,8 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
inherit (nixosConfig.nix-rice) rice;
in
{
home.packages = builtins.attrValues {
@ -14,7 +18,7 @@
programs.rofi = {
enable = true;
location = "center";
font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}";
font = "${rice.font.monospace.name} ${toString rice.font.monospace.size}";
plugins = [ pkgs.rofi-calc ];
extraConfig = {
modi = "drun,run,ssh,window,calc";

View file

@ -1,11 +1,13 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex {
inherit (pkgs.rice.colorPalette) normal bright dark;
inherit (pkgs.rice.colorPalette.primary) background foreground;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex {
inherit (rice.colorPalette) normal bright dark;
inherit (rice.colorPalette.primary) background foreground;
};
opacity = toString pkgs.rice.opacity;
font = pkgs.rice.font.monospace;
opacity = toString rice.opacity;
font = rice.font.monospace;
colorString =
normal: bright:
builtins.concatStringsSep ":" [

View file

@ -1,7 +1,9 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRGBHex pkgs.rice.colorPalette;
font = pkgs.rice.font.normal;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRGBHex rice.colorPalette;
font = rice.font.normal;
in
{
services.twmn = {
@ -17,7 +19,7 @@ in
animation.bounce.enable = false;
color = strPalette.primary.background;
height = 32;
opacity = pkgs.lib.nix-rice.float.round (pkgs.rice.opacity * 100);
opacity = float.round (rice.opacity * 100);
offset = {
x = -20;
y = 50;

View file

@ -1,17 +1,17 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
inherit (pkgs.rice) colorPalette;
inherit (pkgs.lib) nix-rice;
inherit (nixosConfig.nix-rice.rice) colorPalette font;
alpha = 0.9;
custom = nix-rice.palette.toRGBHex {
custom = palette.toRGBHex {
inherit (colorPalette.primary) background foreground;
alpha_background = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background;
alpha_background = color.setAlphaRgba alpha colorPalette.primary.background;
primary_accent = colorPalette.normal.blue;
secondary_accent = colorPalette.normal.cyan;
tertiary_accent = colorPalette.primary.yellow;
palette = {
primary_background_rgba = colorPalette.primary.background;
tertiary_background_hex = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background;
tertiary_background_hex = color.setAlphaRgba alpha colorPalette.primary.background;
};
};
swaync-client = "${pkgs.swaynotificationcenter}/bin/swaync-client";
@ -184,7 +184,7 @@ in
* {
border: none;
border-radius: 0px;
font-family: ${pkgs.rice.font.monospace.name};
font-family: ${font.monospace.name};
font-size: 10px;
min-height: 0;
}

View file

@ -1,8 +1,8 @@
{ pkgs, ... }:
{ pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex {
inherit (pkgs.rice.colorPalette) normal bright primary;
};
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex rice.colorPalette;
in
{
home.file.".Xresources" = {
@ -30,8 +30,8 @@ in
*.color14: ${strPalette.bright.cyan}
*.color15: ${strPalette.bright.white}
xterm*faceName: ${pkgs.rice.font.monospace.name}
xterm*faceSize: ${toString pkgs.rice.font.monospace.size}
xterm*faceName: ${rice.font.monospace.name}
xterm*faceSize: ${toString rice.font.monospace.size}
'';
onChange = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources ";
};

View file

@ -1,6 +1,8 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette;
inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex rice.colorPalette;
in
{
programs.zathura = {
@ -11,7 +13,7 @@ in
options = {
# completion-bg = strPalette.bright.black;
# default-bg = strPalette.normal.black;
font = "${pkgs.rice.font.normal.name} 10";
font = "${rice.font.normal.name} 10";
# inputbar-bg = strPalette.bright.black;
# inputbar-fg = strPalette.normal.cyan;
page-padding = 10;
@ -59,6 +61,5 @@ in
# recolor = true;
recolor-keephue = true; # keep original color
};
};
}

View file

@ -1,6 +1,7 @@
{ pkgs, ... }:
{ nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette;
strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette;
in
{
programs.zellij.enable = true;

62
modules/nixos/rice.nix Normal file
View file

@ -0,0 +1,62 @@
{ pkgs, config, ... }:
with config.nix-rice.lib;
let
theme = kitty-themes.getThemeByName "Nightfox";
inherit (config.nix-rice) rice;
in
{
nix-rice.config = {
colorPalette = rec {
normal = palette.defaultPalette // {
black = theme.color0;
red = theme.color1;
green = theme.color2;
yellow = theme.color3;
blue = theme.color4;
magenta = theme.color5;
cyan = theme.color6;
white = theme.color7;
};
bright = palette.brighten 10 normal // {
black = theme.color8;
red = theme.color9;
green = theme.color10;
yellow = theme.color11;
blue = theme.color12;
magenta = theme.color13;
cyan = theme.color14;
white = theme.color15;
};
dark = palette.darken 10 normal;
primary = {
inherit (theme) background foreground;
bright_foreground = color.brighten 10 theme.foreground;
dim_foreground = color.darken 10 theme.foreground;
};
} // theme;
font = {
normal = {
name = "Cantarell";
package = pkgs.cantarell-fonts;
size = 10;
};
monospace = {
name = "CaskaydiaCove Nerd Font";
package = pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; };
# name = "FiraCode Nerd Font Mono";
# package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
size = 10;
};
};
opacity = 0.95;
};
nixpkgs.overlays = [
(_self: super: {
wl-lockscreen = super.wl-lockscreen.override {
strPalette = palette.toRgbaShortHex rice.colorPalette;
font = rice.font.normal;
};
})
];
}