mirror of
https://github.com/Cian-H/My_NixOS_Config.git
synced 2026-08-20 00:52:48 +01:00
Made noctalia plugin settings mutable
This commit is contained in:
@@ -15,30 +15,16 @@
|
|||||||
|
|
||||||
makeNoctaliaEntries = plugin: let
|
makeNoctaliaEntries = plugin: let
|
||||||
pluginSource = ./dotfiles/dot_config/noctalia/plugins-repo + "/${plugin}";
|
pluginSource = ./dotfiles/dot_config/noctalia/plugins-repo + "/${plugin}";
|
||||||
settingsFile = ./dotfiles/dot_config/noctalia/plugins-settings + "/${plugin}/settings.json";
|
in {
|
||||||
hasSettings = builtins.pathExists settingsFile;
|
name = "noctalia-plugin-${plugin}";
|
||||||
in
|
value = {
|
||||||
[
|
source = pluginSource;
|
||||||
{
|
target = ".config/noctalia/plugins/${plugin}";
|
||||||
name = "noctalia-plugin-${plugin}";
|
recursive = true;
|
||||||
value = {
|
};
|
||||||
source = pluginSource;
|
};
|
||||||
target = ".config/noctalia/plugins/${plugin}";
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ lib.optionals hasSettings [
|
|
||||||
{
|
|
||||||
name = "noctalia-settings-${plugin}";
|
|
||||||
value = {
|
|
||||||
source = settingsFile;
|
|
||||||
target = ".config/noctalia/plugins/${plugin}/settings.json";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
noctaliaPluginFiles = builtins.listToAttrs (builtins.concatMap makeNoctaliaEntries noctaliaPlugins);
|
noctaliaPluginFiles = builtins.listToAttrs (map makeNoctaliaEntries noctaliaPlugins);
|
||||||
in {
|
in {
|
||||||
home.file =
|
home.file =
|
||||||
{
|
{
|
||||||
@@ -80,7 +66,7 @@ in {
|
|||||||
! (
|
! (
|
||||||
(lib.hasInfix "/plugins/" name)
|
(lib.hasInfix "/plugins/" name)
|
||||||
|| (lib.hasInfix "/plugins-repo/" name)
|
|| (lib.hasInfix "/plugins-repo/" name)
|
||||||
|| (lib.hasInfix "/plugins-settings/" name)
|
# || (lib.hasInfix "/plugins-settings/" name)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
target = ".config/noctalia";
|
target = ".config/noctalia";
|
||||||
@@ -108,6 +94,12 @@ in {
|
|||||||
}
|
}
|
||||||
// noctaliaPluginFiles;
|
// noctaliaPluginFiles;
|
||||||
|
|
||||||
|
# Move across noctalia plugin settings as a writable overlay
|
||||||
|
home.activation.overlayNoctaliaSettings = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
mkdir -p "$HOME/.config/noctalia/plugins"
|
||||||
|
cp -rL --no-preserve=mode "$HOME/.config/noctalia/plugins-settings/"* "$HOME/.config/noctalia/plugins/"
|
||||||
|
'';
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"bat".source = ./dotfiles/dot_config/bat;
|
"bat".source = ./dotfiles/dot_config/bat;
|
||||||
"path.env".source = ./dotfiles/dot_config/path.env;
|
"path.env".source = ./dotfiles/dot_config/path.env;
|
||||||
|
|||||||
Reference in New Issue
Block a user