122 lines
2.7 KiB
Nix
122 lines
2.7 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
catppuccinVariant ? "Mocha",
|
|
...
|
|
}: {
|
|
imports = [
|
|
# Programs
|
|
../programs/desktop/default.nix
|
|
../programs/shell/default.nix
|
|
../programs/emacs/default.nix
|
|
../programs/nyxt/default.nix
|
|
../programs/firefox/default.nix
|
|
../programs/cava/default.nix
|
|
../programs/obs/default.nix
|
|
# Services
|
|
../services/email/work.nix # TODO combine again at some point
|
|
../services/password-store/default.nix
|
|
# Additional Scripts
|
|
../scripts/default.nix
|
|
];
|
|
programs.home-manager.enable = true;
|
|
nixpkgs.config.allowUnfree = true;
|
|
services = {
|
|
gpg-agent.pinentryPackage = pkgs.pinentry-gtk2;
|
|
avizo.enable = true;
|
|
syncthing.enable = true;
|
|
udiskie = {
|
|
enable = true;
|
|
notify = true;
|
|
automount = true;
|
|
tray = "never";
|
|
};
|
|
};
|
|
gtk = with lib.strings; let
|
|
accent = "Lavender";
|
|
variant = catppuccinVariant;
|
|
type =
|
|
if variant == "Latte"
|
|
then "Light"
|
|
else "Dark";
|
|
inverseType =
|
|
if type == "Light"
|
|
then "Dark"
|
|
else "Light";
|
|
in {
|
|
enable = true;
|
|
iconTheme = {
|
|
package = pkgs.catppuccin-papirus-folders.override {
|
|
accent = toLower accent;
|
|
flavor = toLower variant;
|
|
};
|
|
name = "Papirus-Dark";
|
|
};
|
|
cursorTheme = {
|
|
package = pkgs.catppuccin-cursors."${toLower variant}${inverseType}";
|
|
name = "Catppuccin-${variant}-${inverseType}-Cursors";
|
|
size = 32;
|
|
};
|
|
theme = let
|
|
size = "Standard";
|
|
in {
|
|
package = pkgs.catppuccin-gtk.override {
|
|
accents = [(toLower accent)];
|
|
size = toLower size;
|
|
variant = toLower variant;
|
|
};
|
|
name = "Catppuccin-${variant}-${size}-${accent}-${type}";
|
|
};
|
|
};
|
|
xdg = {
|
|
userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
extraConfig = {
|
|
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
|
};
|
|
};
|
|
};
|
|
xresources.properties = with config.scheme.withHashtag; {
|
|
"*background" = base00;
|
|
"*foreground" = base05;
|
|
"*color0" = base00;
|
|
"*color1" = red;
|
|
"*color2" = green;
|
|
"*color3" = yellow;
|
|
"*color4" = blue;
|
|
"*color5" = magenta;
|
|
"*color6" = cyan;
|
|
"*color7" = base04;
|
|
"*color8" = base01;
|
|
"*color9" = red;
|
|
"*color10" = green;
|
|
"*color11" = yellow;
|
|
"*color12" = blue;
|
|
"*color13" = magenta;
|
|
"*color14" = cyan;
|
|
"*color15" = base05;
|
|
};
|
|
home = {
|
|
homeDirectory = "/home/${config.home.username}";
|
|
packages = with pkgs; [
|
|
rclone
|
|
git-sync
|
|
pinentry
|
|
fd
|
|
ripgrep
|
|
ffmpeg
|
|
mpv
|
|
evince
|
|
libreoffice-fresh
|
|
inkscape
|
|
remmina
|
|
webcord
|
|
signal-desktop
|
|
whatsapp-for-linux
|
|
];
|
|
stateVersion = "23.05";
|
|
};
|
|
}
|