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

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
];
}