feat(themeing): Major refactor themeing for whole computer

Adds catppuccin nix flake for themeing lots of programs easily. This
enables proper themeing for:
* zathura
* imv
* fcitx (declarative settings)
* lazygit
* btop
* gtk

It also pulls in the home-manager sessionVars which is necessary to
theme applications.

The session vars change also reduces the number of env-vars that need to
be set in the zshrc due to them being set declaratively elsewhere.
This commit is contained in:
stitchy 2025-03-21 10:43:34 +00:00
parent 22dbb128c0
commit 319c25098c
Signed by: stitchy
SSH key fingerprint: SHA256:yz2SoxdnY67tfY5Jzb0f2v8f5W3o/IF359kbcquWip8
9 changed files with 114 additions and 30 deletions

View file

@ -40,6 +40,12 @@ opt.linebreak = true
opt.wrap = true
-- Colors
require("tokyonight").setup({
transparent = true,
styles = {
floats = "transparent"
}
})
vim.cmd("colorscheme tokyonight")
vim.cmd("hi Comment guifg=#e69dc5")
vim.cmd("hi Linenr guifg=#a672f3")

View file

@ -29,6 +29,8 @@ line-color=00000000
separator-color=00000000
key-hl-color=c6a0f6
bs-hl-color=ed8796
## Inside Colors ##
inside-color=00000088

View file

@ -7,10 +7,6 @@ unsetopt autocd beep notify
unsetopt PROMPT_SP
bindkey -v
# End of lines configured by zsh-newuser-install
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
# Aliases
alias c='clear'
@ -19,7 +15,6 @@ alias find="fd"
alias gdb="gdb -x /usr/share/pwndbg/gdbinit.py" #pwntools for GDB
alias ghidra="_JAVA_AWT_WM_NONREPARENTING=1 ghidra"
alias icat="kitty +kitten icat"
alias imv="imv -b aa77bb"
alias kon="ncmpcpp -b ~/.config/ncmpcpp/bindings"
alias l='ls -l'
alias la='ls -la'
@ -95,24 +90,14 @@ compinit
# End of lines added by compinstall
eval "$(zoxide init zsh)"
# Needed for pam_gnupg for ssh keys TO DO
#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export PATH="${PATH}:/home/flyingstitchman/.cargo/bin"
# Clean Up
export QT_QPA_PLATFORM=wayland
export QT_QPA_PLATFORMTHEME=qt5ct
# Fuck Gnome Devs, All my homies Hate Gnome Devs
#export GDK_DEBUG=1
export MBSYNCRC=${XDG_CONFIG_HOME:-~/.config}/mbsync/config
export PASSWORD_STORE_DIR=${XDG_CONFIG_HOME:-~/.config}/password_store
export NOTMUCH_CONFIG=${XDG_CONFIG_HOME-~/.config}/notmuch/config
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
export KDEHOME="$XDG_CONFIG_HOME"/kde
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
export GNUPGHOME=${XDG_DATA_HOME-~/.config}/gnupg
export GPG_TTY=$(tty)
export SDL_VIDEODRIVER=wayland
export GOPATH="$XDG_DATA_HOME"
export GOMODCACHE="$XDG_CACHE_HOME"
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
@ -122,7 +107,6 @@ export DOTNET_CLI_HOME="$XDG_CONFIG_HOME"/dotnet
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export CARGO_HOME="$XDG_DATA_HOME"/cargo
alias dosbox="dosbox -conf $XDG_CONFIG_HOME/dosbox/dosbox.conf"
# Nixos Rebuilding
@ -142,3 +126,6 @@ export QSYS_ROOTDIR="~/.cache/paru/clone/quartus-free/pkg/quartus-free-quartus/o
# Nix Direnv Support
eval "$(direnv hook zsh)"
# Home Manager Variables
source ~/.local/state/nix/profiles/home-manager/home-path/etc/profile.d/hm-session-vars.sh

View file

@ -1,5 +1,23 @@
{
"nodes": {
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1742254251,
"narHash": "sha256-3wGCx5UR86pgurSYB//LsBMKAsw6qpiOpnzgShPQKkM=",
"owner": "catppuccin",
"repo": "nix",
"rev": "4cb9c621072312fb45c6e86b57e5fabd97f1b95d",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1733328505,
@ -87,11 +105,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"lastModified": 1741851582,
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
"type": "github"
},
"original": {
@ -121,7 +139,7 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"treefmt-nix": "treefmt-nix"
},
"locked": {
@ -154,12 +172,29 @@
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"mobile-nixos": "mobile-nixos",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-quartus": "nixpkgs-quartus",
"nixpkgs-xr": "nixpkgs-xr"
}

View file

@ -1,6 +1,7 @@
{
description = "System Configuration Flake";
outputs = inputs@{
catppuccin,
nixpkgs,
nixpkgs-xr,
nixos-hardware,
@ -14,6 +15,7 @@
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
catppuccin.nixosModules.catppuccin
./hosts/malachite/default.nix
./users/stitchynyan/default.nix
@ -24,7 +26,13 @@
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.stitchynyan = import ./users/stitchynyan/home.nix;
home-manager.users.stitchynyan = {
imports = [
catppuccin.homeManagerModules.catppuccin
./users/stitchynyan/home.nix
./users/home.nix
];
};
}
];
};
@ -32,6 +40,7 @@
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
catppuccin.nixosModules.catppuccin
nixos-hardware.nixosModules.framework-12th-gen-intel
./hosts/lappy/default.nix
@ -42,7 +51,13 @@
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.stitchynyan = import ./users/stitchynyan/home.nix;
home-manager.users.stitchynyan = {
imports = [
catppuccin.homeManagerModules.catppuccin
./users/stitchynyan/home.nix
./users/home.nix
];
};
}
];
};
@ -86,6 +101,7 @@
};
inputs = {
catppuccin.url = "github:catppuccin/nix";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";

View file

@ -56,7 +56,6 @@ in
config = {
environment.systemPackages = (lib.attrVals [
"black"
"btop"
"clang-tools"
"eza"
"fd"
@ -67,7 +66,6 @@ in
"gnumake"
"gnupg"
"hugo"
"lazygit"
"mypy"
"neofetch"
"nixd"

36
users/home.nix Normal file
View file

@ -0,0 +1,36 @@
{
... }:
let
in {
catppuccin = {
enable = true;
flavor = "macchiato";
fcitx5.enable = false;
gtk.enable = true;
kvantum.enable = false;
};
qt = {
enable = true;
platformTheme.name = "qtct";
};
programs = {
btop = {
enable = true;
settings = {
theme_background = false;
};
};
imv.enable = true;
lazygit.enable = true;
wlogout.enable = true;
zathura = {
enable = true;
options = {
recolor-keephue = true;
};
};
};
}

View file

@ -70,6 +70,14 @@
type = "fcitx5";
fcitx5 = {
waylandFrontend = true;
settings.addons = {
classicui.globalSection = {
Theme = "FluentLight";
DarkTheme = "FluentDark";
UseDarkTheme = "True";
UseAccentColor = "True";
};
};
addons = with pkgs; [
fcitx5-mozc
fcitx5-fluent

View file

@ -19,7 +19,6 @@ let
"grim"
"hunspell"
"hyprpaper"
"imv"
"isync"
"kitty"
"libreoffice"
@ -44,9 +43,7 @@ let
"swayidle"
"swaylock-effects"
"tofi"
"wlogout"
"wofi"
"zathura"
] pkgs ++ [ pkgs.hunspellDicts.en_US ];
in
{
@ -77,7 +74,6 @@ in
# To-Do Later
home.sessionVariables = {
FOO = "BAR";
};
home.file = {
@ -159,7 +155,7 @@ in
Unit.Description = "Syncs email";
Timer = {
OnBootSec = "1min";
OnUnitActiveSec = "10min";
OnUnitActiveSec = "10min";
};
Install.WantedBy = [ "timers.target" ];
};