about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-05-02 01:21:35 +0200
committeraszlig <aszlig@redmoonstudios.org>2014-05-02 01:21:35 +0200
commit7a99937b12abbceadbdb227f9f661efb09fbe5b2 (patch)
tree02ed069dd84e4f6d9ea96207ce21544d6a730015
parent279a97b5f972b2229b3d76a3a859b11b016c4aca (diff)
Move i3 configuration into its own module.
We want to keep common.nix nice and clean and in the long term the whole
config should be more modular.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r--common.nix56
-rw-r--r--modules/i3/default.nix56
-rw-r--r--modules/i3/i3.conf (renamed from cfgfiles/i3.conf)0
3 files changed, 58 insertions, 54 deletions
diff --git a/common.nix b/common.nix
index 0796ae98..0892a72a 100644
--- a/common.nix
+++ b/common.nix
@@ -1,7 +1,8 @@
 {config, pkgs, ...}:
 {
-  require = [
+  imports = [
     <nixpkgs/nixos/modules/programs/virtualbox.nix>
+    ./modules/i3
   ];
 
   nix = {
@@ -114,59 +115,6 @@
         ${pkgs.redshift}/bin/redshift -l 48.428404:10.866007 &
       '';
 
-      windowManager = {
-        default = "i3";
-
-        i3.enable = true;
-        i3.configFile = with pkgs.lib; pkgs.substituteAll ({
-          name = "i3.conf";
-          src = ./cfgfiles/i3.conf;
-
-          inherit (pkgs) conky dmenu xterm pvolctrl;
-          inherit (pkgs.xorg) xsetroot;
-          leftHead = head config.services.xserver.xrandrHeads;
-          rightHead = last config.services.xserver.xrandrHeads;
-
-          primaryNetInterface = "enp0s25";
-
-          conkyrc = pkgs.writeText "conkyrc" ''
-            cpu_avg_samples 2
-            net_avg_samples 2
-            no_buffers yes
-            out_to_console yes
-            out_to_ncurses no
-            out_to_stderr no
-            extra_newline no
-            update_interval 1.0
-            uppercase no
-            use_spacer none
-            pad_percents 3
-            use_spacer left
-            TEXT
-          '';
-        } // (let
-          # Workaround for Synergy: we need to have polarizing heads.
-          leftHead = head config.services.xserver.xrandrHeads;
-          rightHead = last config.services.xserver.xrandrHeads;
-        in if config.networking.hostName == "mmrnmhrm"
-           then { inherit leftHead rightHead; }
-           else { leftHead = rightHead; rightHead = leftHead; }
-        ) // (let
-          wsConfig = if config.networking.hostName == "mmrnmhrm"
-                     then [ "XMPP" null "chromium" null null
-                            null   null null       null null ]
-                     else [ "chromium" null null null null
-                            null       null null null null ];
-
-          mkWsName = num: name: let
-            mkPair = nameValuePair "ws${toString num}";
-          in if name == null
-             then mkPair (toString num)
-             else mkPair "${toString num}: ${name}";
-
-        in listToAttrs (imap mkWsName wsConfig)));
-      };
-
       desktopManager.default = "none";
       desktopManager.xterm.enable = false;
 
diff --git a/modules/i3/default.nix b/modules/i3/default.nix
new file mode 100644
index 00000000..99849bf4
--- /dev/null
+++ b/modules/i3/default.nix
@@ -0,0 +1,56 @@
+{ pkgs, config, ... }:
+
+{
+  services.xserver.windowManager = {
+    default = "i3";
+
+    i3.enable = true;
+    i3.configFile = with pkgs.lib; pkgs.substituteAll ({
+      name = "i3.conf";
+      src = ./i3.conf;
+
+      inherit (pkgs) conky dmenu xterm pvolctrl;
+      inherit (pkgs.xorg) xsetroot;
+      leftHead = head config.services.xserver.xrandrHeads;
+      rightHead = last config.services.xserver.xrandrHeads;
+
+      primaryNetInterface = "enp0s25";
+
+      conkyrc = pkgs.writeText "conkyrc" ''
+        cpu_avg_samples 2
+        net_avg_samples 2
+        no_buffers yes
+        out_to_console yes
+        out_to_ncurses no
+        out_to_stderr no
+        extra_newline no
+        update_interval 1.0
+        uppercase no
+        use_spacer none
+        pad_percents 3
+        use_spacer left
+        TEXT
+      '';
+    } // (let
+      # Workaround for Synergy: we need to have polarizing heads.
+      leftHead = head config.services.xserver.xrandrHeads;
+      rightHead = last config.services.xserver.xrandrHeads;
+    in if config.networking.hostName == "mmrnmhrm"
+       then { inherit leftHead rightHead; }
+       else { leftHead = rightHead; rightHead = leftHead; }
+    ) // (let
+      wsConfig = if config.networking.hostName == "mmrnmhrm"
+                 then [ "XMPP" null "chromium" null null
+                        null   null null       null null ]
+                 else [ "chromium" null null null null
+                        null       null null null null ];
+
+      mkWsName = num: name: let
+        mkPair = nameValuePair "ws${toString num}";
+      in if name == null
+         then mkPair (toString num)
+         else mkPair "${toString num}: ${name}";
+
+    in listToAttrs (imap mkWsName wsConfig)));
+  };
+}
diff --git a/cfgfiles/i3.conf b/modules/i3/i3.conf
index 6ae4a3a7..6ae4a3a7 100644
--- a/cfgfiles/i3.conf
+++ b/modules/i3/i3.conf