deleted generated files
This commit is contained in:
+38
-72
@@ -734,90 +734,56 @@ in
|
||||
** =generated/modules/apps/zenbrowser.nix=
|
||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/zenbrowser.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
# ./generated/modules/apps/zenbrowser.nix
|
||||
{ lib, pkgs, ... }:
|
||||
{ lib, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = "henrov"; # vervang door je echte gebruikersnaam
|
||||
# --- Program-specific paths/assets ---
|
||||
programName = "zenbrowser";
|
||||
programAssets = ../../../assets/system/conf/${programName};
|
||||
programFiles = builtins.readDir programAssets;
|
||||
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
|
||||
src = "${programAssets}/${name}";
|
||||
});
|
||||
in
|
||||
{
|
||||
flake.nixosModules.zenbrowser = { config, pkgs, lib, ... }:
|
||||
# Top-level toggle for this program
|
||||
options.enable${lib.str.capitalize programName} =
|
||||
lib.mkEnableOption "Enable ${programName} program";
|
||||
|
||||
{
|
||||
options.mySystem.apps.zenbrowser.enable =
|
||||
lib.mkEnableOption "Enable Zen Browser";
|
||||
# Wrap everything in config if enabled
|
||||
config = { config, pkgs, ... }: let
|
||||
# Determine whether the program is enabled
|
||||
enableProgram = config.enableZenbrowser or false;
|
||||
|
||||
config = lib.mkIf (config.mySystem.apps.zenbrowser.enable or false) {
|
||||
# Determine username safely *after config exists*
|
||||
username = config.defaultUser or "henrov";
|
||||
|
||||
# --- Home Manager gebruiker ---
|
||||
home-manager.users.${username} = {
|
||||
home.stateVersion = "26.05";
|
||||
home.username = username;
|
||||
home.homeDirectory = "/home/${username}";
|
||||
in lib.mkIf enableProgram {
|
||||
|
||||
# --- Thunar en plugins ---
|
||||
home.packages = with pkgs; [
|
||||
zen-browser
|
||||
];
|
||||
# Top-level container for all apps
|
||||
myApps = {
|
||||
${programName} = {
|
||||
enable = true;
|
||||
assetsDir = programAssets;
|
||||
files = files;
|
||||
user = username;
|
||||
|
||||
# Optional: more program-specific options can go here
|
||||
# e.g., theme = "dark";
|
||||
# plugins = [ "adblock" "session-manager" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/apps/packages.nix=
|
||||
This will import all packages listed in ./assets/system/apps/packages.conf
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/packages.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ lib, ... }:
|
||||
# --- Home Manager user configuration ---
|
||||
home-manager.users.${username} = {
|
||||
home.stateVersion = "26.05";
|
||||
home.username = username;
|
||||
home.homeDirectory = "/home/${username}";
|
||||
|
||||
let
|
||||
# --- Path naar je packages.conf, relatief aan dit bestand ---
|
||||
packagesConfPath = ./assets/system/apps/packages.conf;
|
||||
|
||||
# --- Lees en split ---
|
||||
raw = builtins.readFile packagesConfPath;
|
||||
rawLines = lib.splitString "\n" raw;
|
||||
|
||||
_guard = assert !(builtins.stringLength raw > 1 &&
|
||||
builtins.length rawLines == builtins.stringLength raw); true;
|
||||
|
||||
cleanLine = line:
|
||||
let
|
||||
noCR = lib.replaceStrings [ "\r" ] [ "" ] line;
|
||||
noComment = lib.head (lib.splitString "#" noCR);
|
||||
in
|
||||
lib.strings.trim noComment;
|
||||
|
||||
entries = builtins.filter (l: l != "") (map cleanLine rawLines);
|
||||
|
||||
in
|
||||
{
|
||||
# --- Flake NixOS module export ---
|
||||
flake.nixosModules.packages = { config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# Resolve packages via pkgs
|
||||
resolvePkg = name:
|
||||
let
|
||||
parts = lib.splitString "." name;
|
||||
found = lib.attrByPath parts null pkgs;
|
||||
in
|
||||
if found == null then
|
||||
throw ''
|
||||
packages.nix: package not found in pkgs
|
||||
Token : ${builtins.toJSON name}
|
||||
packages.conf : ${toString packagesConfPath}
|
||||
''
|
||||
else
|
||||
found;
|
||||
|
||||
packages = builtins.seq _guard (map resolvePkg entries);
|
||||
in
|
||||
{
|
||||
options.mySystem.system.packages.enable = lib.mkEnableOption "Enable packages from packages.conf";
|
||||
|
||||
config = lib.mkIf (config.mySystem.system.packages.enable or false) {
|
||||
environment.systemPackages = packages;
|
||||
# Install the package symbolically
|
||||
home.packages = [
|
||||
pkgs.zen-browser
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user