diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2023-09-29 14:22:24 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2023-09-29 14:22:24 -0400 |
commit | f819e30b03dffcf9e74af4b8552e4a8ab8f54c58 (patch) | |
tree | c05f4f1db738d6cd9d2824b5000c6afc3b1d61d1 /modules/desktop/awesome/default.nix | |
parent | d3bb6cbb4724bc8f18f72fa3fea3e65f73ae8d09 (diff) | |
download | nix-config-f819e30b03dffcf9e74af4b8552e4a8ab8f54c58.tar.gz nix-config-f819e30b03dffcf9e74af4b8552e4a8ab8f54c58.tar.bz2 nix-config-f819e30b03dffcf9e74af4b8552e4a8ab8f54c58.zip |
major reorganizing to seperate modules
Diffstat (limited to 'modules/desktop/awesome/default.nix')
-rw-r--r-- | modules/desktop/awesome/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/modules/desktop/awesome/default.nix b/modules/desktop/awesome/default.nix new file mode 100644 index 0000000..1959770 --- /dev/null +++ b/modules/desktop/awesome/default.nix @@ -0,0 +1,51 @@ +{ config, lib, pkgs, user, ... }: +with lib; +let + awesomeLuaModules = with pkgs.luaPackages; [ + luarocks + luadbi-mysql + ]; +in +{ + options = { + awesome = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + }; + + config = mkIf (config.awesome.enable) + { + xserver.enable = true; + rofi.enable = true; + + services.xserver = { + displayManager = { + sddm.enable = true; + defaultSession = "none+awesome"; + }; + windowManager.awesome = { + enable = true; + luaModules = awesomeLuaModules; + }; + }; + + home-manager.users.${user} = { + xsession.windowManager = { + awesome = { + enable = true; + luaModules = awesomeLuaModules; + }; + }; + + home.activation.installAwesomeWMConfig = '' +if [ ! -d "$HOME/.config/awesome" ]; then + ln -s "/etc/nixos/modules/desktop/awesome" "$HOME/.config/awesome" + chmod -R +w "$HOME/.config/awesome" +fi + ''; + }; + }; +} |