Merge branch 'main' of github.com:jroeger23/.hive

This commit is contained in:
2025-08-21 17:14:38 +02:00
29 changed files with 532 additions and 82 deletions

View File

@@ -18,12 +18,14 @@
# pure system modules
./desktop/de
./desktop/dm
./desktop/themes
./hardware/bluetooth.nix
./hardware/sound.nix
./hardware/yubikey.nix
./networking/wireguard
./programs/creative.nix
./programs/games.nix
./programs/spotify-shortcuts.nix
./services/borg-server.nix
./services/kdeconnect.nix
./services/nextcloud-instance.nix

View File

@@ -0,0 +1,5 @@
{...}: {
imports = [
./layan.nix
];
}

View File

@@ -0,0 +1,21 @@
{
lib,
config,
pkgs,
...
}: let
cfg = config.hive.themes.layan;
in {
options.hive.themes.layan = {
enable = lib.mkEnableOption "Layan theme configuration";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
pkgs.hive.layan-qt6
pkgs.kdePackages.qtstyleplugin-kvantum
pkgs.unstable.layan-cursors
pkgs.layan-gtk-theme
pkgs.tela-circle-icon-theme
];
};
}

View File

@@ -140,6 +140,9 @@
(setq ccls-initialization-options '(:index (:comments 2) :completion (:detailedLabel t) :compilationDatabaseDirectory "build" :cache (:directory ".cache/ccls" :format "binary")))
(set-lsp-priority! 'ccls 1))
(setq apheleia-formatters-respect-indent-level nil)
(defun my-ui-doc-glance-then-focus ()
"Glances UI-Doc if not present, otherwise focus"
(interactive)
@@ -244,6 +247,8 @@
(bash-ts-mode . lsp-deferred)
(json-ts-mode . lsp-deferred)))
(setq auto-mode-alist (cons '("\\.smt$" . smtlib-mode) auto-mode-alist))
(autoload 'smtlib-mode "smtlib" "Major mode for SMTLIB" t)
(let ((config-dir (expand-file-name "config.d" doom-user-dir)))
(when (file-directory-p config-dir)

View File

@@ -62,6 +62,13 @@
:local-repo "ws-butler")
:pin "9ee5a7657a22e836618813c2e2b64a548d27d2ff")
(package! smtlib-mode
:recipe (:host github
:repo "chsticksel/smtlib-mode"
:branch "master"
:local-repo "smtlib-mode")
:pin "ed387e63b64091228e6a8a429b02b8fba165f5b5")
(package! direnv)
(package! pdf-tools)
(package! eww)

View File

@@ -1,52 +0,0 @@
{
stdenv,
lib,
fetchFromGitHub,
gitUpdater,
kdeclarative,
libplasma,
plasma-workspace,
}:
stdenv.mkDerivation rec {
pname = "layan-kde";
version = "2025-02-13";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = "ace0b1d93e5f08c650630c146b2d637e1e2e6cd1";
hash = "sha256-T69bGjfZeOsJLmOZKps9N2wMv5VKYeo1ipGEsLAS+Sg=";
};
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative
libplasma
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
substituteInPlace install.sh \
--replace '$HOME/.local' $out \
--replace '$HOME/.config' $out/share
'';
installPhase = ''
runHook preInstall
name= ./install.sh --dest $out/share/themes
runHook postInstall
'';
passthru.updateScript = gitUpdater {};
meta = with lib; {
description = "Flat Design theme for KDE Plasma desktop";
homepage = "https://github.com/vinceliuice/Layan-kde";
license = licenses.gpl3Only;
platforms = platforms.all;
};
}

View File

@@ -5,21 +5,12 @@
...
}: let
cfg = config.hive.themes.layan;
layan-qt6 = pkgs.kdePackages.callPackage ./layan-qt6.nix {};
in {
options.hive.themes.layan = {
enable = lib.mkEnableOption "Layan theme configuration";
};
config = lib.mkIf cfg.enable {
home.packages = [
layan-qt6
pkgs.kdePackages.qtstyleplugin-kvantum
pkgs.unstable.layan-cursors
pkgs.layan-gtk-theme
pkgs.tela-circle-icon-theme
];
qt.enable = false;
qt.style.name = "kvantum";
qt.style.package = pkgs.kdePackages.qtstyleplugin-kvantum;

View File

@@ -49,7 +49,13 @@ in {
environment.systemPackages = with pkgs;
lib.optionals cfg.image-editing [gimp krita drawio]
++ lib.optional cfg.image-management digikam
++ lib.optionals cfg.image-raw-processing [darktable hdrmerge]
++ lib.optionals cfg.image-raw-processing [
darktable
rawtherapee
enblend-enfuse
hdrmerge
hugin
]
++ lib.optionals cfg.video-editing-light [ffmpeg losslesscut-bin]
++ lib.optionals cfg.video-editing-heavy [
davinci-resolve

View File

@@ -0,0 +1,36 @@
{
config,
lib,
pkgs,
...
}: let
cfg = config.hive.programs.spotify-shortcuts;
in {
options.hive.programs.spotify-shortcuts = {
enable = lib.mkEnableOption "Enable Spotify Shortcuts";
clientIdSopsKey = lib.mkOption {
type = lib.types.singleLineStr;
description = "Spotify API Client ID sops secret name";
};
clientSecretSopsKey = lib.mkOption {
type = lib.types.singleLineStr;
description = "Spotify API Client Secret Path sops secret name";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [pkgs.hive.spotify-shortcuts];
environment.variables = {
SPOTIFY_SHORTCUTS_CONFIG = config.sops.templates."spotify-shortcuts-client.json".path;
};
sops.templates."spotify-shortcuts-client.json" = {
mode = "444";
content = ''
{
"clientId": "${config.sops.placeholder.${cfg.clientIdSopsKey}}",
"clientSecret": "${config.sops.placeholder.${cfg.clientSecretSopsKey}}"
}
'';
};
};
}