started work on making all dotfiles managed by nix and automatic Catppuccin theming

This commit is contained in:
KoenDR06 2025-11-06 00:12:03 +01:00
parent 9430d25251
commit ff7048f53d
18 changed files with 723 additions and 361 deletions

View file

@ -1,44 +0,0 @@
[General]
hotkey=Alt+Space
showTray=true
telemetry=false
[applications]
enabled=true
fuzzy=true
[calculator_qalculate]
enabled=true
[clipboard]
enabled=true
trigger="clip "
[mpris]
enabled=true
[ssh]
enabled=false
[system]
command_poweroff=shutdown now
command_reboot=reboot
enabled=true
hibernate_enabled=false
lock_enabled=false
logout_enabled=false
suspend_enabled=false
title_poweroff=shutdown
[widgetsboxmodel]
alwaysOnTop=true
clearOnHide=false
clientShadow=true
displayScrollbar=false
followCursor=true
hideOnFocusLoss=true
historySearch=true
itemCount=8
quitOnClose=false
showCentered=true
systemShadow=true

View file

@ -1,54 +0,0 @@
date:
foreground: White
users:
user_you:
foreground: Yellow
is_bold: false
user_others:
foreground: Yellow
user_root:
foreground: Red
size:
number_byte:
is_bold: false
number_kilo:
is_bold: false
number_mega:
is_bold: false
number_giga:
is_bold: false
number_huge:
is_bold: false
perms:
user_read:
foreground: Green
is_bold: false
user_write:
foreground: Green
is_bold: false
user_execute:
foreground: Green
is_bold: false
group_read:
foreground: Blue
is_bold: false
group_write:
foreground: Blue
is_bold: false
group_execute:
foreground: Blue
is_bold: false
other_read:
foreground: Red
is_bold: false
other_write:
foreground: Red
is_bold: false
other_execute:
foreground: Red
is_bold: false

View file

@ -1,15 +0,0 @@
remember_window_size no
initial_window_width 80c
initial_window_height 24c
enable_audio_bell no
confirm_os_window_close 0
background_opacity 1
font_family family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-Light
bold_font family='CaskaydiaCove Nerd Font' style=SemiBold
italic_font family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-LightItalic
bold_italic_font family='CaskaydiaCove Nerd Font' style='SemiBold Italic'
include theme.conf

View file

@ -1,70 +0,0 @@
# The basic colors
foreground #cad3f5
background #24273a
selection_foreground #24273a
selection_background #f4dbd6
# Cursor colors
cursor #f4dbd6
cursor_text_color #24273a
# URL underline color when hovering with mouse
url_color #f4dbd6
# Kitty window border colors
active_border_color #b7bdf8
inactive_border_color #6e738d
bell_border_color #eed49f
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #181926
active_tab_background #c6a0f6
inactive_tab_foreground #cad3f5
inactive_tab_background #1e2030
tab_bar_background #181926
# Colors for marks (marked text in the terminal)
mark1_foreground #24273a
mark1_background #b7bdf8
mark2_foreground #24273a
mark2_background #c6a0f6
mark3_foreground #24273a
mark3_background #7dc4e4
# The 16 terminal colors
# black
color0 #494d64
color8 #5b6078
# red
color1 #ed8796
color9 #ed8796
# green
color2 #a6da95
color10 #a6da95
# yellow
color3 #eed49f
color11 #eed49f
# blue
color4 #8aadf4
color12 #8aadf4
# magenta
color5 #f5bde6
color13 #f5bde6
# cyan
color6 #8bd5ca
color14 #8bd5ca
# white
color7 #b8c0e0
color15 #a5adcb

View file

@ -1,5 +0,0 @@
docs:~/Documents
down:~/Downloads
nix:~/nix-config
obs:~/Documents/Uni
prog:~/Programming

25
dots/.warprc.nix Normal file
View file

@ -0,0 +1,25 @@
{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.horseman.dots.warprc;
username = config.horseman.username;
in {
options = {
horseman.dots.warprc = {
enable = mkEnableOption "~/.warprc";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.home.file.".warprc".text = ''
docs:~/Documents
down:~/Downloads
nix:~/nix-config
obs:~/Documents/Uni
prog:~/Programming
'';
};
}

View file

@ -0,0 +1,72 @@
{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.horseman.dots.eza;
username = config.horseman.username;
in {
options = {
horseman.dots.eza = {
enable = mkEnableOption "~/.config/eza/theme.yml";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."eza/theme.yml".text = ''
date:
foreground: White
users:
user_you:
foreground: Yellow
is_bold: false
user_others:
foreground: Yellow
user_root:
foreground: Red
size:
number_byte:
is_bold: false
number_kilo:
is_bold: false
number_mega:
is_bold: false
number_giga:
is_bold: false
number_huge:
is_bold: false
perms:
user_read:
foreground: Green
is_bold: false
user_write:
foreground: Green
is_bold: false
user_execute:
foreground: Green
is_bold: false
group_read:
foreground: Blue
is_bold: false
group_write:
foreground: Blue
is_bold: false
group_execute:
foreground: Blue
is_bold: false
other_read:
foreground: Red
is_bold: false
other_write:
foreground: Red
is_bold: false
other_execute:
foreground: Red
is_bold: false
'';
};
}

View file

@ -0,0 +1,105 @@
{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.horseman.dots.kitty;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
in {
options = {
horseman.dots.kitty = {
enable = mkEnableOption "~/.config/kitty/kitty.conf";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."kitty/kitty.conf".text = ''
remember_window_size no
initial_window_width 80c
initial_window_height 24c
enable_audio_bell no
confirm_os_window_close 0
background_opacity 0.7
font_family family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-Light
bold_font family='CaskaydiaCove Nerd Font' style=SemiBold
italic_font family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-LightItalic
bold_italic_font family='CaskaydiaCove Nerd Font' style='SemiBold Italic'
# The basic colors
foreground ${colors.text}
background #000000
selection_foreground ${colors.base}
selection_background ${colors.rosewater}
# Cursor colors
cursor ${colors.rosewater}
cursor_text_color ${colors.base}
# URL underline color when hovering with mouse
url_color ${colors.rosewater}
# Kitty window border colors
active_border_color ${colors.lavender}
inactive_border_color ${colors.overlay0}
bell_border_color ${colors.yellow}
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground ${colors.crust}
active_tab_background ${colors.mauve}
inactive_tab_foreground ${colors.text}
inactive_tab_background ${colors.mantle}
tab_bar_background ${colors.crust}
# Colors for marks (marked text in the terminal)
mark1_foreground ${colors.base}
mark1_background ${colors.lavender}
mark2_foreground ${colors.base}
mark2_background ${colors.mauve}
mark3_foreground ${colors.base}
mark3_background ${colors.sapphire}
# The 16 terminal colors
# black
color0 ${colors.surface1}
color8 ${colors.surface2}
# red
color1 ${colors.red}
color9 ${colors.red}
# green
color2 ${colors.green}
color10 ${colors.green}
# yellow
color3 ${colors.yellow}
color11 ${colors.yellow}
# blue
color4 ${colors.blue}
color12 ${colors.blue}
# magenta
color5 ${colors.pink}
color13 ${colors.pink}
# cyan
color6 ${colors.teal}
color14 ${colors.teal}
# white
color7 ${colors.subtext1}
color15 ${colors.subtext0}
'';
};
}

View file

@ -0,0 +1,138 @@
{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.horseman.dots.wofi;
username = config.horseman.username;
colors = config.horseman.catppuccin.colors;
in {
options = {
horseman.dots.wofi = {
enable = mkEnableOption "~/.config/wofi/style.css";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."wofi/style.css".text = ''
* {
font-family: 'Inconsolata Nerd Font', monospace;
font-size: 14px;
}
/* Window */
window {
margin: 0px;
padding: 10px;
border: 3px solid ${colors.lavender};
border-radius: 10px;
background-color: ${builtins.replaceStrings ["rgb" ")"] ["rgba" ", 0.99)"] colors.base-rgb};
/* animation: slideIn 0.5s ease-in-out both; */
}
/* Slide In */
@keyframes slideIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Inner Box */
#inner-box {
margin: 5px;
padding: 10px;
border: none;
background-color: ${colors.base};
/* animation: fadeIn 0.5s ease-in-out both; */
}
/* Fade In */
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Outer Box */
#outer-box {
margin: 5px;
padding: 10px;
border: none;
background-color: ${colors.base};
}
/* Scroll */
#scroll {
margin: 0px;
padding: 10px;
border: none;
background-color: ${colors.base};
}
/* Input */
#input {
margin: 5px 20px;
padding: 10px;
border: 2px solid ${colors.lavender};
border-radius: 10px;
color: ${colors.text};
background-color: ${colors.base};
/* animation: fadeIn 0.5s ease-in-out both; */
}
#input image {
border: none;
color: ${colors.red};
}
#input * {
outline: 4px solid ${colors.red}!important;
}
/* Text */
#text {
margin: 5px;
border: none;
color: ${colors.text};
/* animation: fadeIn 0.5s ease-in-out both; */
}
#entry {
background-color: ${colors.base};
}
#entry arrow {
border: none;
color: ${colors.lavender};
}
/* Selected Entry */
#entry:selected arrow {
overflow: hidden;
color: ${colors.mauve};
}
#entry:selected {
border: 1px solid ${colors.lavender};
border-radius: 10px;
}
#entry:selected #text {
color: ${colors.mauve};
}
#entry:drop(active) {
background-color: ${colors.lavender}!important;
}
'';
};
}

8
dots/default.nix Normal file
View file

@ -0,0 +1,8 @@
{...}: {
imports = [
./.warprc.nix
./config/kitty/kitty.conf.nix
./config/eza/theme.yml.nix
./config/wofi/style.css.nix
];
}

View file

@ -54,6 +54,8 @@
inherit inputs outputs;
};
modules = [
./modules
./dots
./machines/${host}/configuration.nix
home-manager.nixosModules.home-manager
agenix.nixosModules.default

View file

@ -23,6 +23,10 @@ in {
imports = [./helix.nix];
};
horseman.dots = {
eza.enable = true;
};
environment.variables = {
EDITOR = "hx";
TERM = "kitty";

View file

@ -17,6 +17,10 @@ in {
users.defaultUserShell = pkgs.zsh;
environment.shells = with pkgs; [zsh];
horseman.dots = {
warprc.enable = true;
};
programs.zsh = {
enable = true;
enableCompletion = true;
@ -24,8 +28,7 @@ in {
histSize = 10000;
shellAliases = {
clone-dotfiles = "cp -r /home/horseman/nix-config/config/dotfiles/.\* /home/horseman/";
rebuild = "function _rebuild(){clone-dotfiles && sudo nixos-rebuild switch --flake \"$@\" && nix fmt *}; _rebuild";
rebuild = "function _rebuild(){sudo nixos-rebuild switch --flake \"$@\" && nix fmt *}; _rebuild";
update = "sudo nix flake update && git commit flake.lock -m 'Update flake.lock: $(date +%y-%m-%d)' && rebuild";
compose = "sudo docker compose";
wolpc = "wakeonlan D8:5E:D3:A8:B1:0A";

View file

@ -22,6 +22,10 @@ in {
firefox.enable = true;
};
horseman.dots = {
kitty.enable = true;
};
environment.systemPackages = with pkgs; [
bitwarden
blender

View file

@ -0,0 +1,348 @@
{
lib,
config,
...
}: let
inherit (lib) mkOption types;
cfg = config.horseman.catppuccin;
flavors = {
mocha = {
rosewater = "#f5e0dc";
rosewater-rgb = "rgb(245, 224, 220)";
rosewater-hsl = "hsl(10, 56%, 91%)";
flamingo = "#f2cdcd";
flamingo-rgb = "rgb(242, 205, 205)";
flamingo-hsl = "hsl(0, 59%, 88%)";
pink = "#f5c2e7";
pink-rgb = "rgb(245, 194, 231)";
pink-hsl = "hsl(316, 72%, 86%)";
mauve = "#cba6f7";
mauve-rgb = "rgb(203, 166, 247)";
mauve-hsl = "hsl(267, 84%, 81%)";
red = "#f38ba8";
red-rgb = "rgb(243, 139, 168)";
red-hsl = "hsl(343, 81%, 75%)";
maroon = "#eba0ac";
maroon-rgb = "rgb(235, 160, 172)";
maroon-hsl = "hsl(350, 65%, 77%)";
peach = "#fab387";
peach-rgb = "rgb(250, 179, 135)";
peach-hsl = "hsl(23, 92%, 75%)";
yellow = "#f9e2af";
yellow-rgb = "rgb(249, 226, 175)";
yellow-hsl = "hsl(41, 86%, 83%)";
green = "#a6e3a1";
green-rgb = "rgb(166, 227, 161)";
green-hsl = "hsl(115, 54%, 76%)";
teal = "#94e2d5";
teal-rgb = "rgb(148, 226, 213)";
teal-hsl = "hsl(170, 57%, 73%)";
sky = "#89dceb";
sky-rgb = "rgb(137, 220, 235)";
sky-hsl = "hsl(189, 71%, 73%)";
sapphire = "#74c7ec";
sapphire-rgb = "rgb(116, 199, 236)";
sapphire-hsl = "hsl(199, 76%, 69%)";
blue = "#89b4fa";
blue-rgb = "rgb(137, 180, 250)";
blue-hsl = "hsl(217, 92%, 76%)";
lavender = "#b4befe";
lavender-rgb = "rgb(180, 190, 254)";
lavender-hsl = "hsl(232, 97%, 85%)";
text = "#cdd6f4";
text-rgb = "rgb(205, 214, 244)";
text-hsl = "hsl(226, 64%, 88%)";
subtext1 = "#bac2de";
subtext1-rgb = "rgb(186, 194, 222)";
subtext1-hsl = "hsl(227, 35%, 80%)";
subtext0 = "#a6adc8";
subtext0-rgb = "rgb(166, 173, 200)";
subtext0-hsl = "hsl(228, 24%, 72%)";
overlay2 = "#9399b2";
overlay2-rgb = "rgb(147, 153, 178)";
overlay2-hsl = "hsl(228, 17%, 64%)";
overlay1 = "#7f849c";
overlay1-rgb = "rgb(127, 132, 156)";
overlay1-hsl = "hsl(230, 13%, 55%)";
overlay0 = "#6c7086";
overlay0-rgb = "rgb(108, 112, 134)";
overlay0-hsl = "hsl(231, 11%, 47%)";
surface2 = "#585b70";
surface2-rgb = "rgb(88, 91, 112)";
surface2-hsl = "hsl(233, 12%, 39%)";
surface1 = "#45475a";
surface1-rgb = "rgb(69, 71, 90)";
surface1-hsl = "hsl(234, 13%, 31%)";
surface0 = "#313244";
surface0-rgb = "rgb(49, 50, 68)";
surface0-hsl = "hsl(237, 16%, 23%)";
base = "#1e1e2e";
base-rgb = "rgb(30, 30, 46)";
base-hsl = "hsl(240, 21%, 15%)";
mantle = "#181825";
mantle-rgb = "rgb(24, 24, 37)";
mantle-hsl = "hsl(240, 21%, 12%)";
crust = "#11111b";
crust-rgb = "rgb(17, 17, 27)";
crust-hsl = "hsl(240, 23%, 9%)";
};
macchiato = {
rosewater = "#f4dbd6";
rosewater-rgb = "rgb(244, 219, 214)";
rosewater-hsl = "hsl(10, 58%, 90%)";
flamingo = "#f0c6c6";
flamingo-rgb = "rgb(240, 198, 198)";
flamingo-hsl = "hsl(0, 58%, 86%)";
pink = "#f5bde6";
pink-rgb = "rgb(245, 189, 230)";
pink-hsl = "hsl(316, 74%, 85%)";
mauve = "#c6a0f6";
mauve-rgb = "rgb(198, 160, 246)";
mauve-hsl = "hsl(267, 83%, 80%)";
red = "#ed8796";
red-rgb = "rgb(237, 135, 150)";
red-hsl = "hsl(351, 74%, 73%)";
maroon = "#ee99a0";
maroon-rgb = "rgb(238, 153, 160)";
maroon-hsl = "hsl(355, 71%, 77%)";
peach = "#f5a97f";
peach-rgb = "rgb(245, 169, 127)";
peach-hsl = "hsl(21, 86%, 73%)";
yellow = "#eed49f";
yellow-rgb = "rgb(238, 212, 159)";
yellow-hsl = "hsl(40, 70%, 78%)";
green = "#a6da95";
green-rgb = "rgb(166, 218, 149)";
green-hsl = "hsl(105, 48%, 72%)";
teal = "#8bd5ca";
teal-rgb = "rgb(139, 213, 202)";
teal-hsl = "hsl(171, 47%, 69%)";
sky = "#91d7e3";
sky-rgb = "rgb(145, 215, 227)";
sky-hsl = "hsl(189, 59%, 73%)";
sapphire = "#7dc4e4";
sapphire-rgb = "rgb(125, 196, 228)";
sapphire-hsl = "hsl(199, 66%, 69%)";
blue = "#8aadf4";
blue-rgb = "rgb(138, 173, 244)";
blue-hsl = "hsl(220, 83%, 75%)";
lavender = "#b7bdf8";
lavender-rgb = "rgb(183, 189, 248)";
lavender-hsl = "hsl(234, 82%, 85%)";
text = "#cad3f5";
text-rgb = "rgb(202, 211, 245)";
text-hsl = "hsl(227, 68%, 88%)";
subtext1 = "#b8c0e0";
subtext1-rgb = "rgb(184, 192, 224)";
subtext1-hsl = "hsl(228, 39%, 80%)";
subtext0 = "#a5adcb";
subtext0-rgb = "rgb(165, 173, 203)";
subtext0-hsl = "hsl(227, 27%, 72%)";
overlay2 = "#939ab7";
overlay2-rgb = "rgb(147, 154, 183)";
overlay2-hsl = "hsl(228, 20%, 65%)";
overlay1 = "#8087a2";
overlay1-rgb = "rgb(128, 135, 162)";
overlay1-hsl = "hsl(228, 15%, 57%)";
overlay0 = "#6e738d";
overlay0-rgb = "rgb(110, 115, 141)";
overlay0-hsl = "hsl(230, 12%, 49%)";
surface2 = "#5b6078";
surface2-rgb = "rgb(91, 96, 120)";
surface2-hsl = "hsl(230, 14%, 41%)";
surface1 = "#494d64";
surface1-rgb = "rgb(73, 77, 100)";
surface1-hsl = "hsl(231, 16%, 34%)";
surface0 = "#363a4f";
surface0-rgb = "rgb(54, 58, 79)";
surface0-hsl = "hsl(230, 19%, 26%)";
base = "#24273a";
base-rgb = "rgb(36, 39, 58)";
base-hsl = "hsl(232, 23%, 18%)";
mantle = "#1e2030";
mantle-rgb = "rgb(30, 32, 48)";
mantle-hsl = "hsl(233, 23%, 15%)";
crust = "#181926";
crust-rgb = "rgb(24, 25, 38)";
crust-hsl = "hsl(236, 23%, 12%)";
};
frappe = {
rosewater = "#f2d5cf";
rosewater-rgb = "rgb(242, 213, 207)";
rosewater-hsl = "hsl(10, 57%, 88%)";
flamingo = "#eebebe";
flamingo-rgb = "rgb(238, 190, 190)";
flamingo-hsl = "hsl(0, 59%, 84%)";
pink = "#f4b8e4";
pink-rgb = "rgb(244, 184, 228)";
pink-hsl = "hsl(316, 73%, 84%)";
mauve = "#ca9ee6";
mauve-rgb = "rgb(202, 158, 230)";
mauve-hsl = "hsl(277, 59%, 76%)";
red = "#e78284";
red-rgb = "rgb(231, 130, 132)";
red-hsl = "hsl(359, 68%, 71%)";
maroon = "#ea999c";
maroon-rgb = "rgb(234, 153, 156)";
maroon-hsl = "hsl(358, 66%, 76%)";
peach = "#ef9f76";
peach-rgb = "rgb(239, 159, 118)";
peach-hsl = "hsl(20, 79%, 70%)";
yellow = "#e5c890";
yellow-rgb = "rgb(229, 200, 144)";
yellow-hsl = "hsl(40, 62%, 73%)";
green = "#a6d189";
green-rgb = "rgb(166, 209, 137)";
green-hsl = "hsl(96, 44%, 68%)";
teal = "#81c8be";
teal-rgb = "rgb(129, 200, 190)";
teal-hsl = "hsl(172, 39%, 65%)";
sky = "#99d1db";
sky-rgb = "rgb(153, 209, 219)";
sky-hsl = "hsl(189, 48%, 73%)";
sapphire = "#85c1dc";
sapphire-rgb = "rgb(133, 193, 220)";
sapphire-hsl = "hsl(199, 55%, 69%)";
blue = "#8caaee";
blue-rgb = "rgb(140, 170, 238)";
blue-hsl = "hsl(222, 74%, 74%)";
lavender = "#babbf1";
lavender-rgb = "rgb(186, 187, 241)";
lavender-hsl = "hsl(239, 66%, 84%)";
text = "#c6d0f5";
text-rgb = "rgb(198, 208, 245)";
text-hsl = "hsl(227, 70%, 87%)";
subtext1 = "#b5bfe2";
subtext1-rgb = "rgb(181, 191, 226)";
subtext1-hsl = "hsl(227, 44%, 80%)";
subtext0 = "#a5adce";
subtext0-rgb = "rgb(165, 173, 206)";
subtext0-hsl = "hsl(228, 29%, 73%)";
overlay2 = "#949cbb";
overlay2-rgb = "rgb(148, 156, 187)";
overlay2-hsl = "hsl(228, 22%, 66%)";
overlay1 = "#838ba7";
overlay1-rgb = "rgb(131, 139, 167)";
overlay1-hsl = "hsl(227, 17%, 58%)";
overlay0 = "#737994";
overlay0-rgb = "rgb(115, 121, 148)";
overlay0-hsl = "hsl(229, 13%, 52%)";
surface2 = "#626880";
surface2-rgb = "rgb(98, 104, 128)";
surface2-hsl = "hsl(228, 13%, 44%)";
surface1 = "#51576d";
surface1-rgb = "rgb(81, 87, 109)";
surface1-hsl = "hsl(227, 15%, 37%)";
surface0 = "#414559";
surface0-rgb = "rgb(65, 69, 89)";
surface0-hsl = "hsl(230, 16%, 30%)";
base = "#303446";
base-rgb = "rgb(48, 52, 70)";
base-hsl = "hsl(229, 19%, 23%)";
mantle = "#292c3c";
mantle-rgb = "rgb(41, 44, 60)";
mantle-hsl = "hsl(231, 19%, 20%)";
crust = "#232634";
crust-rgb = "rgb(35, 38, 52)";
crust-hsl = "hsl(229, 20%, 17%)";
};
latte = {
rosewater = "#dc8a78";
rosewater-rgb = "rgb(220, 138, 120)";
rosewater-hsl = "hsl(11, 59%, 67%)";
flamingo = "#dd7878";
flamingo-rgb = "rgb(221, 120, 120)";
flamingo-hsl = "hsl(0, 60%, 67%)";
pink = "#ea76cb";
pink-rgb = "rgb(234, 118, 203)";
pink-hsl = "hsl(316, 73%, 69%)";
mauve = "#8839ef";
mauve-rgb = "rgb(136, 57, 239)";
mauve-hsl = "hsl(266, 85%, 58%)";
red = "#d20f39";
red-rgb = "rgb(210, 15, 57)";
red-hsl = "hsl(347, 87%, 44%)";
maroon = "#e64553";
maroon-rgb = "rgb(230, 69, 83)";
maroon-hsl = "hsl(355, 76%, 59%)";
peach = "#fe640b";
peach-rgb = "rgb(254, 100, 11)";
peach-hsl = "hsl(22, 99%, 52%)";
yellow = "#df8e1d";
yellow-rgb = "rgb(223, 142, 29)";
yellow-hsl = "hsl(35, 77%, 49%)";
green = "#40a02b";
green-rgb = "rgb(64, 160, 43)";
green-hsl = "hsl(109, 58%, 40%)";
teal = "#179299";
teal-rgb = "rgb(23, 146, 153)";
teal-hsl = "hsl(183, 74%, 35%)";
sky = "#04a5e5";
sky-rgb = "rgb(4, 165, 229)";
sky-hsl = "hsl(197, 97%, 46%)";
sapphire = "#209fb5";
sapphire-rgb = "rgb(32, 159, 181)";
sapphire-hsl = "hsl(189, 70%, 42%)";
blue = "#1e66f5";
blue-rgb = "rgb(30, 102, 245)";
blue-hsl = "hsl(220, 91%, 54%)";
lavender = "#7287fd";
lavender-rgb = "rgb(114, 135, 253)";
lavender-hsl = "hsl(231, 97%, 72%)";
text = "#4c4f69";
text-rgb = "rgb(76, 79, 105)";
text-hsl = "hsl(234, 16%, 35%)";
subtext1 = "#5c5f77";
subtext1-rgb = "rgb(92, 95, 119)";
subtext1-hsl = "hsl(233, 13%, 41%)";
subtext0 = "#6c6f85";
subtext0-rgb = "rgb(108, 111, 133)";
subtext0-hsl = "hsl(233, 10%, 47%)";
overlay2 = "#7c7f93";
overlay2-rgb = "rgb(124, 127, 147)";
overlay2-hsl = "hsl(232, 10%, 53%)";
overlay1 = "#8c8fa1";
overlay1-rgb = "rgb(140, 143, 161)";
overlay1-hsl = "hsl(231, 10%, 59%)";
overlay0 = "#9ca0b0";
overlay0-rgb = "rgb(156, 160, 176)";
overlay0-hsl = "hsl(228, 11%, 65%)";
surface2 = "#acb0be";
surface2-rgb = "rgb(172, 176, 190)";
surface2-hsl = "hsl(227, 12%, 71%)";
surface1 = "#bcc0cc";
surface1-rgb = "rgb(188, 192, 204)";
surface1-hsl = "hsl(225, 14%, 77%)";
surface0 = "#ccd0da";
surface0-rgb = "rgb(204, 208, 218)";
surface0-hsl = "hsl(223, 16%, 83%)";
base = "#eff1f5";
base-rgb = "rgb(239, 241, 245)";
base-hsl = "hsl(220, 23%, 95%)";
mantle = "#e6e9ef";
mantle-rgb = "rgb(230, 233, 239)";
mantle-hsl = "hsl(220, 22%, 92%)";
crust = "#dce0e8";
crust-rgb = "rgb(220, 224, 232)";
crust-hsl = "hsl(220, 21%, 89%)";
};
};
in {
options = {
horseman.catppuccin = {
flavor = mkOption {
type = types.enum ["latte" "frappe" "mocha" "macchiato"];
default = "mocha";
};
colors = mkOption {
type = types.attrsOf types.anything;
readOnly = true;
};
};
};
config.horseman.catppuccin.colors = lib.mkDefault flavors.${cfg.flavor};
}

View file

@ -1,4 +1,10 @@
{lib, ...}: let
{
lib,
config,
pkgs,
outputs,
...
}: let
inherit (lib) mkOption types;
in {
imports = [
@ -10,6 +16,7 @@ in {
./boot
./base
./timers
./catppuccin
];
options = {

View file

@ -1,170 +0,0 @@
@define-color rosewater #f4dbd6;
@define-color rosewater-rgb rgb(244, 219, 214);
@define-color flamingo #f0c6c6;
@define-color flamingo-rgb rgb(240, 198, 198);
@define-color pink #f5bde6;
@define-color pink-rgb rgb(245, 189, 230);
@define-color mauve #c6a0f6;
@define-color mauve-rgb rgb(198, 160, 246);
@define-color red #ed8796;
@define-color red-rgb rgb(237, 135, 150);
@define-color maroon #ee99a0;
@define-color maroon-rgb rgb(238, 153, 160);
@define-color peach #f5a97f;
@define-color peach-rgb rgb(245, 169, 127);
@define-color yellow #eed49f;
@define-color yellow-rgb rgb(238, 212, 159);
@define-color green #a6da95;
@define-color green-rgb rgb(166, 218, 149);
@define-color teal #8bd5ca;
@define-color teal-rgb rgb(139, 213, 202);
@define-color sky #91d7e3;
@define-color sky-rgb rgb(145, 215, 227);
@define-color sapphire #7dc4e4;
@define-color sapphire-rgb rgb(125, 196, 228);
@define-color blue #8aadf4;
@define-color blue-rgb rgb(138, 173, 244);
@define-color lavender #b7bdf8;
@define-color lavender-rgb rgb(183, 189, 248);
@define-color text #cad3f5;
@define-color text-rgb rgb(202, 211, 245);
@define-color subtext1 #b8c0e0;
@define-color subtext1-rgb rgb(184, 192, 224);
@define-color subtext0 #a5adcb;
@define-color subtext0-rgb rgb(165, 173, 203);
@define-color overlay2 #939ab7;
@define-color overlay2-rgb rgb(147, 154, 183);
@define-color overlay1 #8087a2;
@define-color overlay1-rgb rgb(128, 135, 162);
@define-color overlay0 #6e738d;
@define-color overlay0-rgb rgb(110, 115, 141);
@define-color surface2 #5b6078;
@define-color surface2-rgb rgb(91, 96, 120);
@define-color surface1 #494d64;
@define-color surface1-rgb rgb(73, 77, 100);
@define-color surface0 #363a4f;
@define-color surface0-rgb rgb(54, 58, 79);
@define-color base #24273a;
@define-color base-rgb rgba(36, 39, 58, 0.99);
@define-color mantle #1e2030;
@define-color mantle-rgb rgb(30, 32, 48);
@define-color crust #181926;
@define-color crust-rgb rgb(24, 25, 38);
* {
font-family: 'Inconsolata Nerd Font', monospace;
font-size: 14px;
}
/* Window */
window {
margin: 0px;
padding: 10px;
border: 3px solid @lavender;
border-radius: 10px;
background-color: @base-rgb;
/* animation: slideIn 0.5s ease-in-out both; */
}
/* Slide In */
@keyframes slideIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Inner Box */
#inner-box {
margin: 5px;
padding: 10px;
border: none;
background-color: @base;
/* animation: fadeIn 0.5s ease-in-out both; */
}
/* Fade In */
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Outer Box */
#outer-box {
margin: 5px;
padding: 10px;
border: none;
background-color: @base;
}
/* Scroll */
#scroll {
margin: 0px;
padding: 10px;
border: none;
background-color: @base;
}
/* Input */
#input {
margin: 5px 20px;
padding: 10px;
border: 2px solid @lavender;
border-radius: 10px;
color: @text;
background-color: @base;
/* animation: fadeIn 0.5s ease-in-out both; */
}
#input image {
border: none;
color: @red;
}
#input * {
outline: 4px solid @red!important;
}
/* Text */
#text {
margin: 5px;
border: none;
color: @text;
/* animation: fadeIn 0.5s ease-in-out both; */
}
#entry {
background-color: @base;
}
#entry arrow {
border: none;
color: @lavender;
}
/* Selected Entry */
#entry:selected arrow {
overflow: hidden;
color: @mauve;
}
#entry:selected {
border: 1px solid @lavender;
border-radius: 10px;
}
#entry:selected #text {
color: @mauve;
}
#entry:drop(active) {
background-color: @lavender!important;
}

View file

@ -1264,6 +1264,10 @@ in {
};
config = mkIf cfg.enable {
horseman.dots = {
wofi.enable = true;
};
home-manager.users.${homeCfg.username} = {
xdg.configFile."hypr/hypridle.conf".text = ''
# This file has been auto-generated.