nixos-cesium/config/home.nix
2026-02-07 13:40:34 +01:00

148 lines
4.0 KiB
Nix

# In deiner home.nix
{ config, pkgs, ... }:
let
# Jameica/Hibiscus Custom Package
jameica = pkgs.stdenv.mkDerivation rec {
pname = "jameica";
version = "2.12.0";
src = pkgs.fetchurl {
url = "https://www.willuhn.de/products/jameica/releases/current/jameica/jameica-linux64-${version}.zip";
# Hash ermitteln mit: nix-prefetch-url <URL>
sha256 = "d5abbd1f8ce4c799e50669e6f4cb7deebf7af3343891e24ff36377ac4ea4192a";
};
nativeBuildInputs = [ pkgs.unzip pkgs.makeWrapper ];
buildInputs = [ pkgs.jre ];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/opt/jameica
cp -r jameica/* $out/opt/jameica/ || true
mkdir -p $out/bin
makeWrapper $out/opt/jameica/jameica.sh $out/bin/jameica \
--prefix PATH : ${pkgs.jre}/bin
mkdir -p $out/share/applications
cat > $out/share/applications/jameica.desktop <<EOF
[Desktop Entry]
Name=Jameica
Exec=$out/bin/jameica
Terminal=false
Type=Application
Icon=$out/opt/jameica/jameica-icon.png
Categories=Office;Finance;
EOF
'';
meta = with pkgs.lib; {
description = "Jameica Homebanking";
homepage = "https://www.willuhn.de/products/jameica/";
platforms = platforms.linux;
};
};
in
{
home.stateVersion = "25.11";
home.packages = with pkgs; [
# Desktop-Anwendungen
thunderbird
vlc
gimp
filezilla
solaar
jameica
libreoffice-fresh
hunspell
hunspellDicts.de_DE
darktable
# Browser
google-chrome
# Kommunikation
signal-desktop
# Remote Desktop
rustdesk-flutter
# Gaming
lutris
steam
# Entwicklung
jetbrains-toolbox
mkcert
gitflow
stow
];
# Powerlevel10k Theme installieren
home.activation.installPowerlevel10k = config.lib.dag.entryAfter ["writeBoundary"] ''
P10K_DIR="$HOME/.oh-my-zsh/custom/themes/powerlevel10k"
if [ ! -d "$P10K_DIR" ]; then
$DRY_RUN_CMD mkdir -p "$HOME/.oh-my-zsh/custom/themes"
$DRY_RUN_CMD ${pkgs.git}/bin/git clone --depth=1 \
https://github.com/romkatv/powerlevel10k.git "$P10K_DIR" || true
fi
'';
# Flatpak Apps installieren
# HINWEIS: Diese werden beim ersten home-manager switch installiert
# Dandanch werden sie von Flatpak selbst verwaltet
home.activation.installFlatpakApps = config.lib.dag.entryAfter ["writeBoundary"] ''
# Flathub Remote hinzufügen (falls noch nicht vorhanden)
$DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists --user \
flathub https://dl.flathub.org/repo/flathub.flatpakrepo || true
# Extension Manager
if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "com.mattjakeman.ExtensionManager"; then
$DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \
com.mattjakeman.ExtensionManager || true
fi
# Kdenlive (Video-Bearbeitung)
if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "org.kde.kdenlive"; then
$DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \
org.kde.kdenlive || true
fi
# PrismLauncher (Minecraft)
if ! ${pkgs.flatpak}/bin/flatpak list --user | grep -q "org.prismlauncher.PrismLauncher"; then
$DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak install --user -y flathub \
org.prismlauncher.PrismLauncher || true
# Minecraft-Verzeichnis Zugriff gewähren
$DRY_RUN_CMD ${pkgs.flatpak}/bin/flatpak override --user \
org.prismlauncher.PrismLauncher --filesystem=/home/Programme/Minecraft/ || true
fi
'';
# mkcert installieren (für lokale SSL-Zertifikate)
home.activation.setupMkcert = config.lib.dag.entryAfter ["writeBoundary"] ''
if [ ! -f "$HOME/.local/share/mkcert/rootCA.pem" ]; then
$DRY_RUN_CMD ${pkgs.mkcert}/bin/mkcert -install || true
fi
'';
# GTK Theme (optional, für besseres Aussehen)
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
}