summaryrefslogtreecommitdiffstats
path: root/modules/desktop/awesome/default.nix
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2023-09-29 14:22:24 -0400
committerJon Santmyer <jon@jonsantmyer.com>2023-09-29 14:22:24 -0400
commitf819e30b03dffcf9e74af4b8552e4a8ab8f54c58 (patch)
treec05f4f1db738d6cd9d2824b5000c6afc3b1d61d1 /modules/desktop/awesome/default.nix
parentd3bb6cbb4724bc8f18f72fa3fea3e65f73ae8d09 (diff)
downloadnix-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.nix51
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
+ '';
+ };
+ };
+}