From a0b76af476970a563228c7b318b696676ba2955e Mon Sep 17 00:00:00 2001
From: Julian Mutter <julian.mutter@comumail.de>
Date: Tue, 30 Jan 2024 19:29:47 +0100
Subject: [PATCH] home: start migrating i3 configs - not finished

---
 home-manager/home.nix         |  2 ++
 home-manager/modules/i3.nix   | 24 ++++++++++++++++++++++++
 home-manager/modules/rofi.nix | 16 ++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 home-manager/modules/i3.nix
 create mode 100644 home-manager/modules/rofi.nix

diff --git a/home-manager/home.nix b/home-manager/home.nix
index 5c32bb2..adb3e1a 100644
--- a/home-manager/home.nix
+++ b/home-manager/home.nix
@@ -15,6 +15,8 @@
     topgrade.enable = true;
     neovim.enable = true;
     alacritty.enable = true;
+    # i3.enable = true;
+    # rofi.enable = true;
   };
 
   home.packages = with pkgs; [
diff --git a/home-manager/modules/i3.nix b/home-manager/modules/i3.nix
new file mode 100644
index 0000000..44b63a5
--- /dev/null
+++ b/home-manager/modules/i3.nix
@@ -0,0 +1,24 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.modules.i3;
+in {
+  options.modules.i3 = { enable = mkOption { default = false; }; };
+
+  config = mkIf cfg.enable {
+    xsession.windowManager.i3 = { enable = true; };
+    programs = { i3status-rust = { enable = true; }; };
+
+    home.file = {
+      ".config/i3" = {
+        source = ../../i3/i3;
+        recursive = true;
+      };
+      ".config/i3status-rust/config.toml".source =
+        ../../i3/i3status-rust/config.toml;
+    };
+
+    home.file = { ".profile".source = ../../i3/.profile; };
+  };
+}
diff --git a/home-manager/modules/rofi.nix b/home-manager/modules/rofi.nix
new file mode 100644
index 0000000..fe44565
--- /dev/null
+++ b/home-manager/modules/rofi.nix
@@ -0,0 +1,16 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.modules.rofi;
+in {
+  options.modules.rofi = { enable = mkOption { default = false; }; };
+
+  config = mkIf cfg.enable {
+    programs.rofi = { enable = true; };
+
+    home.file = {
+      ".config/rofi/config.rasi".source = ../../i3/rofi/config.rasi;
+    };
+  };
+}