Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 355e81d677 | |||
| 7972e83829 |
+8
-22
@@ -734,10 +734,9 @@ in
|
|||||||
** =generated/modules/apps/zenbrowser.nix=
|
** =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
|
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
|
#+BEGIN_SRC nix :tangle generated/modules/apps/zenbrowser.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ lib, flakeRoot, ... }:
|
{ lib, flakeRoot, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# --- Program-specific paths/assets ---
|
|
||||||
programName = "zenbrowser";
|
programName = "zenbrowser";
|
||||||
programAssets = ../../../assets/system/conf/${programName};
|
programAssets = ../../../assets/system/conf/${programName};
|
||||||
programFiles = builtins.readDir programAssets;
|
programFiles = builtins.readDir programAssets;
|
||||||
@@ -746,44 +745,31 @@ let
|
|||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Top-level toggle for this program
|
# Top-level toggle (must be quoted)
|
||||||
options.enable${lib.str.capitalize programName} =
|
"enable${lib.str.capitalize programName}" = lib.mkEnableOption "Enable ${programName} program";
|
||||||
lib.mkEnableOption "Enable ${programName} program";
|
|
||||||
|
|
||||||
# Wrap everything in config if enabled
|
# Configuration (must be a function so `config` exists)
|
||||||
config = { config, pkgs, ... }: let
|
config = { config, pkgs, ... }: let
|
||||||
# Determine whether the program is enabled
|
enableProgram = config."enable${lib.str.capitalize programName}" or false;
|
||||||
enableProgram = config.enableZenbrowser or false;
|
|
||||||
|
|
||||||
# Determine username safely *after config exists*
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
in lib.mkIf enableProgram {
|
in lib.mkIf enableProgram {
|
||||||
|
|
||||||
# Top-level container for all apps
|
# Dendritic top-level container
|
||||||
myApps = {
|
myApps = {
|
||||||
${programName} = {
|
${programName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
assetsDir = programAssets;
|
assetsDir = programAssets;
|
||||||
files = files;
|
files = files;
|
||||||
user = username;
|
user = username;
|
||||||
|
|
||||||
# Optional: more program-specific options can go here
|
|
||||||
# e.g., theme = "dark";
|
|
||||||
# plugins = [ "adblock" "session-manager" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- Home Manager user configuration ---
|
# Home Manager user config
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
home.stateVersion = "26.05";
|
home.stateVersion = "26.05";
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
|
home.packages = [ pkgs.zen-browser ];
|
||||||
# Install the package symbolically
|
|
||||||
home.packages = [
|
|
||||||
pkgs.zen-browser
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{ lib, flakeRoot, ... }:
|
{ lib, flakeRoot, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# --- Program-specific paths/assets ---
|
|
||||||
programName = "zenbrowser";
|
programName = "zenbrowser";
|
||||||
programAssets = ../../../assets/system/conf/${programName};
|
programAssets = ../../../assets/system/conf/${programName};
|
||||||
programFiles = builtins.readDir programAssets;
|
programFiles = builtins.readDir programAssets;
|
||||||
@@ -10,44 +9,31 @@ let
|
|||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Top-level toggle for this program
|
# Top-level toggle (must be quoted)
|
||||||
options.enable${lib.str.capitalize programName} =
|
"enable${lib.str.capitalize programName}" = lib.mkEnableOption "Enable ${programName} program";
|
||||||
lib.mkEnableOption "Enable ${programName} program";
|
|
||||||
|
|
||||||
# Wrap everything in config if enabled
|
# Configuration (must be a function so `config` exists)
|
||||||
config = { config, pkgs, ... }: let
|
config = { config, pkgs, ... }: let
|
||||||
# Determine whether the program is enabled
|
enableProgram = config."enable${lib.str.capitalize programName}" or false;
|
||||||
enableProgram = config.enableZenbrowser or false;
|
|
||||||
|
|
||||||
# Determine username safely *after config exists*
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
in lib.mkIf enableProgram {
|
in lib.mkIf enableProgram {
|
||||||
|
|
||||||
# Top-level container for all apps
|
# Dendritic top-level container
|
||||||
myApps = {
|
myApps = {
|
||||||
${programName} = {
|
${programName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
assetsDir = programAssets;
|
assetsDir = programAssets;
|
||||||
files = files;
|
files = files;
|
||||||
user = username;
|
user = username;
|
||||||
|
|
||||||
# Optional: more program-specific options can go here
|
|
||||||
# e.g., theme = "dark";
|
|
||||||
# plugins = [ "adblock" "session-manager" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- Home Manager user configuration ---
|
# Home Manager user config
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
home.stateVersion = "26.05";
|
home.stateVersion = "26.05";
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
|
home.packages = [ pkgs.zen-browser ];
|
||||||
# Install the package symbolically
|
|
||||||
home.packages = [
|
|
||||||
pkgs.zen-browser
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user