about summary refs log tree commit diff
path: root/modules/nixos/dwm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/dwm.nix')
-rw-r--r--modules/nixos/dwm.nix171
1 files changed, 0 insertions, 171 deletions
diff --git a/modules/nixos/dwm.nix b/modules/nixos/dwm.nix
deleted file mode 100644
index 912be0c..0000000
--- a/modules/nixos/dwm.nix
+++ /dev/null
@@ -1,171 +0,0 @@
-{
-  config,
-  lib,
-  pkgs,
-  ...
-}:
-with lib;
-let
-  cfg = config.nixfiles.modules.dwm;
-in
-{
-  options.nixfiles.modules.dwm.enable = mkEnableOption "dwm";
-
-  config = mkIf cfg.enable {
-    nixfiles.modules.x11.enable = true;
-
-    hm.xsession = {
-      enable = true;
-
-      windowManager.command =
-        let
-          pkg = pkgs.dwm.override {
-            conf =
-              let
-                font = with config.stylix.fonts; "${monospace.name}:size=${toString sizes.terminal}";
-              in
-              ''
-                static const unsigned int borderpx = 1;
-                static const unsigned int snap = 32;
-                static const int showbar = 1;
-                static const int topbar = 1;
-
-                static const char *fonts[] = {
-                  "${font}"
-                };
-
-                static const char *colors[][3] = {
-                  [SchemeNorm] = {
-                    "${config.color.base06}",
-                    "${config.color.base01}",
-                    "${config.color.base01}",
-                  },
-                  [SchemeSel] = {
-                    "${config.color.base01}",
-                    "${config.color.base06}",
-                    "${config.color.base06}",
-                  },
-                };
-
-                static const char *tags[] = {
-                  "1",
-                  "2",
-                  "3",
-                  "4",
-                  "5",
-                  "6",
-                  "7",
-                  "8",
-                  "9"
-                };
-
-                static const Rule rules[] = {
-                  { "Emacs", NULL, NULL, 1 << 0, 0, -1 },
-                };
-
-                static const float mfact = 0.666;
-                static const int nmaster = 1;
-                static const int resizehints = 0;
-                static const int lockfullscreen = 1;
-
-                static const Layout layouts[] = {
-                  { "[]=", tile },
-                  { "><>", NULL },
-                  { "[M]", monocle },
-                };
-
-                #define MODKEY Mod4Mask
-                #define TAGKEYS(KEY,TAG) \
-                  { MODKEY,                       KEY, view,       { .ui = 1 << TAG } }, \
-                  { MODKEY|ControlMask,           KEY, toggleview, { .ui = 1 << TAG } }, \
-                  { MODKEY|ShiftMask,             KEY, tag,        { .ui = 1 << TAG } }, \
-                  { MODKEY|ControlMask|ShiftMask, KEY, toggletag,  { .ui = 1 << TAG } },
-
-                static char dmenumon[2] = "0";
-                static const char *dmenucmd[] = {
-                  "${pkgs.dmenu}/bin/dmenu_run",
-                  "-m", dmenumon,
-                  "-fn", "${font}",
-                  "-nb", "${config.color.base01}",
-                  "-nf", "${config.color.base06}",
-                  "-sb", "${config.color.base06}",
-                  "-sf", "${config.color.base01}",
-                  NULL,
-                };
-                static const char *termcmd[] = {
-                  "${getExe pkgs.alacritty}",
-                  NULL,
-                };
-
-                static const Key keys[] = {
-                  { MODKEY,           XK_x,      spawn,          {.v = dmenucmd}       },
-                  { MODKEY,           XK_Return, spawn,          {.v = termcmd}        },
-                  { MODKEY,           XK_b,      togglebar,      {0}                   },
-                  { MODKEY,           XK_j,      focusstack,     {.i = +1}             },
-                  { MODKEY,           XK_k,      focusstack,     {.i = -1}             },
-                  { MODKEY|ShiftMask, XK_k,      incnmaster,     {.i = +1}             },
-                  { MODKEY|ShiftMask, XK_j,      incnmaster,     {.i = -1}             },
-                  { MODKEY,           XK_comma,  setmfact,       {.f = -0.05}          },
-                  { MODKEY,           XK_period, setmfact,       {.f = +0.05}          },
-                  { MODKEY,           XK_p,      zoom,           {0}                   },
-                  { MODKEY,           XK_Tab,    view,           {0}                   },
-                  { MODKEY,           XK_d,      killclient,     {0}                   },
-                  { MODKEY,           XK_t,      setlayout,      {.v = &layouts[0]}    },
-                  { MODKEY,           XK_m,      setlayout,      {.v = &layouts[1]}    },
-                  { MODKEY,           XK_f,      setlayout,      {.v = &layouts[2]}    },
-                  { MODKEY,           XK_o,      togglefloating, {0}                   },
-                  { MODKEY,           XK_0,      view,           {.ui = ~0}            },
-                  { MODKEY|ShiftMask, XK_0,      tag,            {.ui = ~0}            },
-                  { MODKEY,           XK_h,      focusmon,       {.i = -1}             },
-                  { MODKEY,           XK_l,      focusmon,       {.i = +1}             },
-                  { MODKEY|ShiftMask, XK_h,      tagmon,         {.i = -1}             },
-                  { MODKEY|ShiftMask, XK_l,      tagmon,         {.i = +1}             },
-                  TAGKEYS(            XK_1,                      0)
-                  TAGKEYS(            XK_2,                      1)
-                  TAGKEYS(            XK_3,                      2)
-                  TAGKEYS(            XK_4,                      3)
-                  TAGKEYS(            XK_5,                      4)
-                  TAGKEYS(            XK_6,                      5)
-                  TAGKEYS(            XK_7,                      6)
-                  TAGKEYS(            XK_8,                      7)
-                  TAGKEYS(            XK_9,                      8)
-                  { MODKEY|ShiftMask, XK_q,      quit,           {0}                   },
-                };
-
-                static const Button buttons[] = {
-                  { ClkLtSymbol,   0,      Button1, setlayout,      {0}                },
-                  { ClkLtSymbol,   0,      Button3, setlayout,      {.v = &layouts[2]} },
-                  { ClkWinTitle,   0,      Button2, zoom,           {0}                },
-                  { ClkStatusText, 0,      Button2, spawn,          {.v = termcmd}     },
-                  { ClkClientWin,  MODKEY, Button1, movemouse,      {0}                },
-                  { ClkClientWin,  MODKEY, Button2, togglefloating, {0}                },
-                  { ClkClientWin,  MODKEY, Button3, resizemouse,    {0}                },
-                  { ClkTagBar,     0,      Button1, view,           {0}                },
-                  { ClkTagBar,     0,      Button3, toggleview,     {0}                },
-                  { ClkTagBar,     MODKEY, Button1, tag,            {0}                },
-                  { ClkTagBar,     MODKEY, Button3, toggletag,      {0}                },
-                };
-              '';
-          };
-        in
-        getExe' pkg "dwm";
-    };
-
-    hm.services.dwm-status = {
-      enable = true;
-      # package = pkgs.dwm-status.override {
-      #   enableAlsaUtils = false;
-      # };
-      order = [
-        "audio"
-        "backlight"
-        "battery"
-        "cpu_load"
-        "network"
-        "time"
-      ];
-    };
-
-    services.xserver.displayManager.startx.enable = true;
-  };
-}

Consider giving Nix/NixOS a try! <3