Compare commits
2 Commits
ef7d9fdbf5
...
f0676f9fc7
| Author | SHA1 | Date | |
|---|---|---|---|
| f0676f9fc7 | |||
| 4c85cbdc59 |
+22
-21
@@ -943,36 +943,37 @@ This file installs and configures fonts
|
|||||||
** =generated/modules/desktop/waybar.nix=
|
** =generated/modules/desktop/waybar.nix=
|
||||||
This file installs and configures waybar
|
This file installs and configures waybar
|
||||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/modules/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ lib, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "henrov";
|
programName = "waybar";
|
||||||
waybarAssets = ../../../assets/system/conf/waybar;
|
|
||||||
waybarFiles = builtins.readDir waybarAssets;
|
# Path to configuration assets
|
||||||
waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: {
|
programAssets = ../../../assets/system/conf/${programName};
|
||||||
src = "${waybarAssets}/${name}";
|
programFiles = builtins.readDir programAssets;
|
||||||
|
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
|
||||||
|
src = "${programAssets}/${name}";
|
||||||
});
|
});
|
||||||
|
|
||||||
enableWaybar = true;
|
# Toggle variable referring to the top-level option
|
||||||
in
|
enableProgram = config.enableWaybar or false;
|
||||||
{
|
|
||||||
# Declare a top-level option
|
|
||||||
options.myApps = lib.mkOption {
|
|
||||||
type = lib.types.attrsOf lib.types.any;
|
|
||||||
default = {};
|
|
||||||
description = "Top-level collection of custom apps";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
# Default user fallback
|
||||||
|
defaultUser = "henrov";
|
||||||
|
|
||||||
|
in {
|
||||||
|
# Top-level toggle for the module
|
||||||
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
||||||
|
|
||||||
# Everything goes under config safely
|
# Wrap all actual configuration in mkIf(enableProgram)
|
||||||
config = lib.mkIf enableWaybar {
|
config = lib.mkIf enableProgram {
|
||||||
|
# myApps container for dendritic structure
|
||||||
myApps = {
|
myApps = {
|
||||||
waybar = {
|
${programName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = username;
|
user = config.defaultUser or defaultUser;
|
||||||
assetsDir = waybarAssets;
|
assetsDir = programAssets;
|
||||||
files = waybarConfs;
|
files = files;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,33 +1,34 @@
|
|||||||
{ lib, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "henrov";
|
programName = "waybar";
|
||||||
waybarAssets = ../../../assets/system/conf/waybar;
|
|
||||||
waybarFiles = builtins.readDir waybarAssets;
|
# Path to configuration assets
|
||||||
waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: {
|
programAssets = ../../../assets/system/conf/${programName};
|
||||||
src = "${waybarAssets}/${name}";
|
programFiles = builtins.readDir programAssets;
|
||||||
|
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
|
||||||
|
src = "${programAssets}/${name}";
|
||||||
});
|
});
|
||||||
|
|
||||||
enableWaybar = true;
|
# Toggle variable referring to the top-level option
|
||||||
in
|
enableProgram = config.enableWaybar or false;
|
||||||
{
|
|
||||||
# Declare a top-level option
|
|
||||||
options.myApps = lib.mkOption {
|
|
||||||
type = lib.types.attrsOf lib.types.any;
|
|
||||||
default = {};
|
|
||||||
description = "Top-level collection of custom apps";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
# Default user fallback
|
||||||
|
defaultUser = "henrov";
|
||||||
|
|
||||||
|
in {
|
||||||
|
# Top-level toggle for the module
|
||||||
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
||||||
|
|
||||||
# Everything goes under config safely
|
# Wrap all actual configuration in mkIf(enableProgram)
|
||||||
config = lib.mkIf enableWaybar {
|
config = lib.mkIf enableProgram {
|
||||||
|
# myApps container for dendritic structure
|
||||||
myApps = {
|
myApps = {
|
||||||
waybar = {
|
${programName} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = username;
|
user = config.defaultUser or defaultUser;
|
||||||
assetsDir = waybarAssets;
|
assetsDir = programAssets;
|
||||||
files = waybarConfs;
|
files = files;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user