{
config,
lib,
pkgs,
...
}: {
imports = [
# Programs
../programs/sway/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
../programs/python/default.nix
../programs/lua/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.pinentryFlavor = "gtk2";
avizo.enable = true;
syncthing.enable = true;
udiskie = {
enable = true;
notify = true;
automount = true;
tray = "never";
};
gtk = with lib.strings; let
accent = "Lavender";
variant = "Mocha";
in {
iconTheme = {
package = pkgs.catppuccin-papirus-folders.override {
accent = toLower accent;
flavor = toLower variant;
name = "Papirus-Dark";
cursorTheme = {
package = pkgs.catppuccin-cursors."${toLower variant}Dark";
name = "Catppuccin-${variant}-Dark-Cursors";
size = 32;
theme = let
size = "Standard";
package = pkgs.catppuccin-gtk.override {
accents = [(toLower accent)];
size = toLower size;
variant = toLower variant;
name = "Catppuccin-${variant}-${size}-${accent}-Dark";
xdg = {
userDirs = {
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; [
gnumake
git-sync
pinentry
fd
ripgrep
ffmpeg
mpv
xarchiver
libreoffice-fresh
inkscape
webcord
signal-desktop
whatsapp-for-linux
teams-for-linux
nomachine-client
stateVersion = "23.05";
}