Working on reshuffling
This commit is contained in:
+17
-24
@@ -1124,38 +1124,31 @@ in
|
|||||||
** =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, pkgs, config, flakeRoot, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "henrov";
|
username = "henrov";
|
||||||
waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config"));
|
waybarAssets = ../../../assets/system/conf/waybar;
|
||||||
waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css"));
|
waybarFiles = builtins.readDir waybarAssets;
|
||||||
|
waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: {
|
||||||
|
src = "${waybarAssets}/${name}";
|
||||||
|
});
|
||||||
|
|
||||||
|
enableWaybar = true;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
# Declare a top-level module option
|
||||||
enable = true;
|
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
||||||
package = pkgs.waybar;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.waybar = {
|
# All actual module configuration wrapped safely
|
||||||
description = "Waybar (status bar for Wayland)";
|
config = lib.mkIf enableWaybar {
|
||||||
wantedBy = [ "graphical-session.target" ];
|
waybar = {
|
||||||
after = [ "graphical-session.target" ];
|
enable = true; # symbolic enable flag
|
||||||
serviceConfig = {
|
user = username;
|
||||||
Type = "simple";
|
assetsDir = waybarAssets;
|
||||||
ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}";
|
files = waybarConfs; # contains "config" and "style.css" keys
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Create symlinks for config and style
|
|
||||||
system.activationScripts.waybarSetup = lib.mkAfter ''
|
|
||||||
mkdir -p /home/${username}/.config/waybar
|
|
||||||
ln -sf ${waybar-config} /home/${username}/.config/waybar/config
|
|
||||||
ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css
|
|
||||||
chown -R ${username}:users /home/${username}/.config/waybar
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,26 @@
|
|||||||
{ lib, pkgs, config, flakeRoot, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = "henrov";
|
username = "henrov";
|
||||||
waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config"));
|
waybarAssets = ../../../assets/system/conf/waybar;
|
||||||
waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css"));
|
waybarFiles = builtins.readDir waybarAssets;
|
||||||
|
waybarConfs = lib.genAttrs (builtins.attrNames waybarFiles) (name: {
|
||||||
|
src = "${waybarAssets}/${name}";
|
||||||
|
});
|
||||||
|
|
||||||
|
enableWaybar = true;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
# Declare a top-level module option
|
||||||
enable = true;
|
options.enableWaybar = lib.mkEnableOption "Enable Waybar status bar";
|
||||||
package = pkgs.waybar;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.waybar = {
|
# All actual module configuration wrapped safely
|
||||||
description = "Waybar (status bar for Wayland)";
|
config = lib.mkIf enableWaybar {
|
||||||
wantedBy = [ "graphical-session.target" ];
|
waybar = {
|
||||||
after = [ "graphical-session.target" ];
|
enable = true; # symbolic enable flag
|
||||||
serviceConfig = {
|
user = username;
|
||||||
Type = "simple";
|
assetsDir = waybarAssets;
|
||||||
ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}";
|
files = waybarConfs; # contains "config" and "style.css" keys
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Create symlinks for config and style
|
|
||||||
system.activationScripts.waybarSetup = lib.mkAfter ''
|
|
||||||
mkdir -p /home/${username}/.config/waybar
|
|
||||||
ln -sf ${waybar-config} /home/${username}/.config/waybar/config
|
|
||||||
ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css
|
|
||||||
chown -R ${username}:users /home/${username}/.config/waybar
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user