Merge branch 'main' of github.com:jroeger23/.hive
This commit is contained in:
@@ -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
|
||||
|
||||
5
modules/desktop/themes/default.nix
Normal file
5
modules/desktop/themes/default.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
./layan.nix
|
||||
];
|
||||
}
|
||||
21
modules/desktop/themes/layan.nix
Normal file
21
modules/desktop/themes/layan.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
36
modules/programs/spotify-shortcuts.nix
Normal file
36
modules/programs/spotify-shortcuts.nix
Normal 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}}"
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user