further figration

This commit is contained in:
Danilo Reyes 2025-10-12 14:12:19 -06:00
parent c3d20aa28f
commit 8664061145
18 changed files with 27 additions and 20 deletions

View File

@ -17,6 +17,7 @@ in
++ inputs.self.lib.autoImport ./shell filterNames ++ inputs.self.lib.autoImport ./shell filterNames
++ inputs.self.lib.autoImport ./network filterNames ++ inputs.self.lib.autoImport ./network filterNames
++ [ ++ [
./factories/mkscript.nix
./nix/build.nix ./nix/build.nix
./users/nixremote.nix ./users/nixremote.nix
]; ];

View File

@ -6,7 +6,6 @@
... ...
}: }:
{ {
imports = [ ../factories/mkscript.nix ];
options.my.units = { options.my.units = {
download.enable = lib.mkEnableOption "media download automation scripts"; download.enable = lib.mkEnableOption "media download automation scripts";
downloadManga.enable = lib.mkEnableOption "manga download automation"; downloadManga.enable = lib.mkEnableOption "manga download automation";

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.ffmpeg4discord = { config.my.scripts.ffmpeg4discord = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.ffmpreg = { config.my.scripts.ffmpreg = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.find-dup-episodes = { config.my.scripts.find-dup-episodes = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.library-report = { config.my.scripts.library-report = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.manage-library = { config.my.scripts.manage-library = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.pika-list = { config.my.scripts.pika-list = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.run = { config.my.scripts.run = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.split-dir = { config.my.scripts.split-dir = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -6,7 +6,6 @@
... ...
}: }:
{ {
imports = [ ../factories/mkscript.nix ];
options.my.units.stream-dl.enable = lib.mkEnableOption "streaming media download service"; options.my.units.stream-dl.enable = lib.mkEnableOption "streaming media download service";
config = config =
let let

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.tasks = { config.my.scripts.tasks = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -1,6 +1,5 @@
{ inputs, lib, ... }: { inputs, lib, ... }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.tuh-activity-logger = { config.my.scripts.tuh-activity-logger = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = true; install = true;

View File

@ -6,7 +6,6 @@
... ...
}: }:
{ {
imports = [ ../factories/mkscript.nix ];
config = lib.mkIf config.my.secureHost { config = lib.mkIf config.my.secureHost {
sops.secrets = { sops.secrets = {
cloudflare-api.sopsFile = ../../secrets/env.yaml; cloudflare-api.sopsFile = ../../secrets/env.yaml;

View File

@ -5,7 +5,6 @@
... ...
}: }:
{ {
imports = [ ../factories/mkscript.nix ];
config.my.scripts.update-org-agenda-cache = { config.my.scripts.update-org-agenda-cache = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
install = config.my.emacs.enable; install = config.my.emacs.enable;

View File

@ -29,11 +29,7 @@ in
}; };
widgets = import ./homepage/widgets.nix; widgets = import ./homepage/widgets.nix;
services = import ./homepage/services.nix { inherit lib config; }; services = import ./homepage/services.nix { inherit lib config; };
bookmarks = bookmarks = inputs.self.lib.autoImport ./homepage/bookmarks (_: true) |> map import;
builtins.readDir ./homepage/bookmarks
|> builtins.attrNames
|> builtins.filter (file: builtins.match ".*\\.nix" file != null)
|> map (file: import ./homepage/bookmarks/${file});
}; };
}; };
} }

View File

@ -1,5 +1,6 @@
{ {
config, config,
inputs,
lib, lib,
pkgs, pkgs,
... ...
@ -24,7 +25,7 @@
}; };
gallery-dl = { gallery-dl = {
enable = true; enable = true;
settings = import ../../dotfiles/gallery-dl.nix; settings = inputs.self.lib.importDotfile ../../dotfiles/gallery-dl.nix;
}; };
${config.my.shell.type} = { ${config.my.shell.type} = {
initExtra = lib.mkAfter '' initExtra = lib.mkAfter ''

View File

@ -196,6 +196,29 @@ in
shellType: bashContent: zshContent: shellType: bashContent: zshContent:
if shellType == "bash" then { initExtra = bashContent; } else { initContent = zshContent; }; if shellType == "bash" then { initExtra = bashContent; } else { initContent = zshContent; };
mergeAliases = baseAliases: extraAliases: baseAliases // extraAliases; mergeAliases = baseAliases: extraAliases: baseAliases // extraAliases;
importDotfile = path: import path;
mkScriptOptions = lib: {
enable = lib.mkEnableOption "Whether to enable this script";
install = lib.mkEnableOption "Whether to install the script package";
service = lib.mkEnableOption "Whether to enable the script service";
name = lib.mkOption {
type = lib.types.str;
description = "Name of the script.";
};
timer = lib.mkOption {
type = lib.types.str;
default = "*:0";
description = "Systemd timer schedule.";
};
description = lib.mkOption {
type = lib.types.str;
description = "Description of the service.";
};
package = lib.mkOption {
type = lib.types.package;
description = "Package containing the executable script.";
};
};
getServicesWithNativeFirewall = getServicesWithNativeFirewall =
config: blacklist: config: blacklist:
config.my.servers config.my.servers