This commit is contained in:
2026-01-08 00:34:44 +00:00
parent 3272868b58
commit c19546a225
10 changed files with 314 additions and 41 deletions

10
components/catppuccin.nix Normal file
View File

@@ -0,0 +1,10 @@
{pkgs, ...}: {
catppuccin = {
enable = true;
flavor = "mocha";
accent = "mauve";
rofi.enable = true;
fish.enable = true;
};
}

View File

@@ -3,5 +3,6 @@
./hyprland ./hyprland
./utils.nix ./utils.nix
./waybar.nix ./waybar.nix
./catppuccin.nix
]; ];
} }

View File

@@ -3,32 +3,33 @@
enable = true; enable = true;
settings = { settings = {
mainBar = { mainBar = {
"layer" = "top"; layer = "top";
"position" = "top"; position = "top";
"mode" = "dock"; mode = "dock";
"reload_style_on_change" = true; reload_style_on_change = true;
"gtk-layer-shell" = true; gtk-layer-shell = true;
"modules-left" = [ modules-left = [
"hyprland/workspaces" "hyprland/workspaces"
]; ];
"modules-center" = [ modules-center = [
"clock" "clock"
]; ];
"modules-right" = [ modules-right = [
"tray" "tray"
"pulseaudio"
"battery" "battery"
]; ];
"tray" = { tray = {
"icon-size" = 12; icon-size = 12;
"spacing" = 4; spacing = 4;
}; };
"hyprland/workspaces" = { "hyprland/workspaces" = {
"persistent-workspaces" = { persistent-workspaces = {
"1" = []; "1" = [];
"2" = []; "2" = [];
"3" = []; "3" = [];
@@ -37,25 +38,36 @@
}; };
}; };
# "clock" = { battery = {
# "format" = "{ =%m-%d %H =%M}"; states = {
# }; warning = 30;
critical = 15;
"battery" = {
"states" = {
"warning" = 30;
"critical" = 15;
}; };
"format" = "{icon} {capacity}%"; format = "{icon} {capacity}%";
"format-icons" = ["󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂"]; format-icons = ["󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂"];
"format-warning" = "󰁻 {capacity}%"; format-warning = "󰁻 {capacity}%";
"format-critical" = "󱃍 {capacity}%"; format-critical = "󱃍 {capacity}%";
"format-charging" = "󱘖 {capacity}%"; format-charging = "󱘖 {capacity}%";
"interval" = 1; interval = 1;
"min-length" = 6; min-length = 6;
"max-length" = 6; max-length = 6;
};
pulseaudio = {
format = "{icon} {volume}%";
format-muted = "󰝟 {volume}%";
format-icons = {
default = ["󰕿" "󰖀" "󰕾"];
headphone = "󰋋";
headset = "󰋋";
};
tooltip = true;
tooltip-format = "Device: {desc}";
min-length = 6;
max-length = 6;
}; };
}; };
}; };
@@ -129,6 +141,20 @@
padding: 0 4px; padding: 0 4px;
border-radius: 7px; border-radius: 7px;
} }
/* == Output Device == */
#pulseaudio {
background: #11111b;
padding: 0 8px;
border-radius: 7px;
}
#pulseaudio:hover {
color: #c7a4de;
text-shadow: none;
box-shadow: none;
}
"; ";
}; };
} }

37
flake.lock generated
View File

@@ -1,5 +1,23 @@
{ {
"nodes": { "nodes": {
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1765990358,
"narHash": "sha256-l8x0gU8mnYaGMl+gWrsSHKBJlZWD8KXJfHTkRlFiPI0=",
"owner": "catppuccin",
"repo": "nix",
"rev": "de1b60ca45a578f59f7d84c8d338b346017b2161",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -37,6 +55,22 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1763966396,
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1766902085, "lastModified": 1766902085,
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
@@ -54,9 +88,10 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"stable-nixpkgs": "stable-nixpkgs" "stable-nixpkgs": "stable-nixpkgs"
} }
}, },

View File

@@ -9,6 +9,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
catppuccin.url = "github:catppuccin/nix";
}; };
outputs = { outputs = {
@@ -16,6 +17,7 @@
stable-nixpkgs, stable-nixpkgs,
home-manager, home-manager,
nixos-hardware, nixos-hardware,
catppuccin,
... ...
} @ inputs: let } @ inputs: let
system = "x86_64-linux"; system = "x86_64-linux";
@@ -34,9 +36,15 @@
modules = [ modules = [
./configuration.nix ./configuration.nix
nixos-hardware.nixosModules.framework-13th-gen-intel nixos-hardware.nixosModules.framework-13th-gen-intel
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.users.toaster = ./home.nix; home-manager.users.toaster = {
imports = [
./home.nix
catppuccin.homeModules.catppuccin
];
};
} }
]; ];
}; };

View File

@@ -9,10 +9,6 @@
cd = "z"; cd = "z";
cat = "bat"; cat = "bat";
}; };
# plugins = with pkgs.fishPlugins; [
# tide
# ];
}; };
programs.zoxide = { programs.zoxide = {
@@ -25,11 +21,196 @@
enable = true; enable = true;
}; };
# home.file.".config/mommy/config.sh".text = '' programs.starship = {
# MOMMY_SWEETIE="toaster, boy" enable = true;
# MOMMY_COLOR="lolcat" enableFishIntegration = true;
# MOMMY_FORBIDDEN_WORDS="fat/," settings = {
# ''; format = "[](red)$os$username[](bg:peach fg:red)$directory[](bg:yellow fg:peach)$git_branch$git_status[](fg:yellow bg:green)$c$rust$golang$nodejs$php$java$kotlin$haskell$python[](fg:green bg:sapphire)$conda[](fg:sapphire bg:lavender)$time[ ](fg:lavender)$cmd_duration$line_break$character";
right_format = "$custom";
custom.mommy = {
command = "${pkgs.mommy}/bin/mommy -1 -s $status";
when = "true";
};
palette = "catppuccin_mocha";
os = {
disable = false;
style = "bg:red fg:crust";
symbols = {
NixOS = "";
};
};
username = {
show_always = true;
style_user = "bg:red fg:crust";
style_root = "bg:red fg:crust";
format = "[ $user]($style)";
};
directory = {
style = "bg:peach fg:crust";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "/";
substitutions = {
Documents = "󰈙 ";
Downloads = " ";
Music = "󰝚 ";
Pictures = " ";
Developer = "󰲋 ";
};
};
git_branch = {
symbol = "";
style = "bg:yellow";
format = "[[ $symbol $branch ](fg:crust bg:yellow)]($style)";
};
git_status = {
style = "bg:yellow";
format = "[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)";
};
nodejs = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
c = {
symbol = " ";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
rust = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
golang = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
php = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
java = {
symbol = " ";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
kotlin = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
haskell = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
};
python = {
symbol = "";
style = "bg:green";
format = "[[ $symbol( $version)(\\(#$virtualenv\\)) ](fg:crust bg:green)]($style)";
};
docker_context = {
symbol = "";
style = "bg:sapphire";
format = "[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)";
};
conda = {
symbol = " ";
style = "fg:crust bg:sapphire";
format = "[$symbol$environment ]($style)";
ignore_base = false;
};
time = {
disabled = false;
time_format = "%R";
style = "bg:lavender";
format = "[[ $time ](fg:crust bg:lavender)]($style)";
};
line_break = {
disabled = true;
};
character = {
disabled = false;
success_symbol = "[](bold fg:green)";
error_symbol = "[](bold fg:red)";
vimcmd_symbol = "[](bold fg:green)";
vimcmd_replace_one_symbol = "[](bold fg:lavender)";
vimcmd_replace_symbol = "[](bold fg:lavender)";
vimcmd_visual_symbol = "[](bold fg:yellow)";
};
cmd_duration = {
show_milliseconds = true;
format = " in $duration ";
style = "bg:lavender";
disabled = false;
show_notifications = true;
min_time_to_notify = 45000;
};
palettes = {
catppuccin_mocha = {
rosewater = "#f5e0dc";
flamingo = "#f2cdcd";
pink = "#f5c2e7";
mauve = "#cba6f7";
red = "#f38ba8";
maroon = "#eba0ac";
peach = "#fab387";
yellow = "#f9e2af";
green = "#a6e3a1";
teal = "#94e2d5";
sky = "#89dceb";
sapphire = "#74c7ec";
blue = "#89b4fa";
lavender = "#b4befe";
text = "#cdd6f4";
subtext1 = "#bac2de";
subtext0 = "#a6adc8";
overlay2 = "#9399b2";
overlay1 = "#7f849c";
overlay0 = "#6c7086";
surface2 = "#585b70";
surface1 = "#45475a";
surface0 = "#313244";
base = "#1e1e2e";
mantle = "#181825";
crust = "#11111b";
};
};
};
};
home.file.".config/mommy/config.sh".text = ''
MOMMY_SWEETIE="toaster, boy"
MOMMY_COLOR="lolcat"
MOMMY_FORBIDDEN_WORDS="fat/,"
'';
programs.kitty.shellIntegration.enableFishIntegration = true; programs.kitty.shellIntegration.enableFishIntegration = true;
} }

View File

@@ -8,9 +8,13 @@
gimp gimp
kdePackages.dolphin kdePackages.dolphin
blender blender
nerd-fonts._0xproto
vesktop vesktop
git git
vscode vscode
cargo
rustc
gcc
cmake
python3
]; ];
} }

View File

@@ -4,5 +4,6 @@
./sddm.nix ./sddm.nix
./hardware.nix ./hardware.nix
./tailscale.nix ./tailscale.nix
./fonts.nix
]; ];
} }

View File

@@ -0,0 +1,7 @@
{
pkgs,
lib,
...
} : {
fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
}