147 lines
4.0 KiB
Nix
147 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
|
|
|
|
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;
|
|
};
|
|
};
|
|
}
|