about summary refs log tree commit diff
path: root/profiles
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-04-08 08:31:15 -0700
committerFranck Cuny <franck@fcuny.net>2022-04-08 08:31:15 -0700
commitab204364dfeefc4069a37e1070ee8009f34ecf4d (patch)
tree304ee131838ab62f545e524c1d954e693ef6687a /profiles
parentmodules: add a few more (diff)
downloadworld-ab204364dfeefc4069a37e1070ee8009f34ecf4d.tar.gz
profiles: create a few new profiles
Diffstat (limited to 'profiles')
-rw-r--r--profiles/default.nix2
-rw-r--r--profiles/desktop/default.nix19
-rw-r--r--profiles/gtk/default.nix13
-rw-r--r--profiles/trusted/default.nix16
-rw-r--r--profiles/wm/default.nix18
5 files changed, 67 insertions, 1 deletions
diff --git a/profiles/default.nix b/profiles/default.nix
index 0e5d948..8cf62de 100644
--- a/profiles/default.nix
+++ b/profiles/default.nix
@@ -1 +1 @@
-{ ... }: { imports = [ ./laptop ]; }
+{ ... }: { imports = [ ./laptop ./gtk ./trusted ./wm ./desktop ]; }
diff --git a/profiles/desktop/default.nix b/profiles/desktop/default.nix
new file mode 100644
index 0000000..0ad6e12
--- /dev/null
+++ b/profiles/desktop/default.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+let cfg = config.my.profiles.desktop;
+in {
+  options.my.profiles.desktop = with lib; {
+    enable = mkEnableOption "desktop profile";
+  };
+  config = lib.mkIf cfg.enable {
+    my.systems.fonts.enable = true;
+    my.services.gnome.enable = true;
+    my.programs.sway.enable = true;
+    my.home.emacs.enable = true;
+    my.home.firefox.enable = true;
+    my.home.terminal.program = "alacritty";
+    my.home.xdg.enable = true;
+    my.profiles.gtk.enable = true;
+    my.profiles.trusted.enable = true;
+    my.profiles.wm.windowManager = "sway";
+  };
+}
diff --git a/profiles/gtk/default.nix b/profiles/gtk/default.nix
new file mode 100644
index 0000000..c84832b
--- /dev/null
+++ b/profiles/gtk/default.nix
@@ -0,0 +1,13 @@
+{ config, lib, ... }:
+let cfg = config.my.profiles.gtk;
+in {
+  options.my.profiles.gtk = with lib; {
+    enable = mkEnableOption "gtk profile";
+  };
+  config = lib.mkIf cfg.enable {
+    # Allow setting GTK configuration using home-manager
+    programs.dconf.enable = true;
+    # GTK theme configuration
+    my.home.gtk.enable = true;
+  };
+}
diff --git a/profiles/trusted/default.nix b/profiles/trusted/default.nix
new file mode 100644
index 0000000..9567ddb
--- /dev/null
+++ b/profiles/trusted/default.nix
@@ -0,0 +1,16 @@
+{ config, lib, ... }:
+let cfg = config.my.profiles.trusted;
+in {
+  options.my.profiles.trusted = with lib; {
+    enable = mkEnableOption "trusted profile";
+  };
+  config = lib.mkIf cfg.enable {
+    my.home.gpg = {
+      enable = true;
+      pinentry = "gnome3";
+      defaultKey = "23348B57F01D4234B5CFBA0923208AC01EB6EEA1";
+    };
+    my.home.mail.enable = true;
+    my.home.pass.enable = true;
+  };
+}
diff --git a/profiles/wm/default.nix b/profiles/wm/default.nix
new file mode 100644
index 0000000..7b1fe39
--- /dev/null
+++ b/profiles/wm/default.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+let cfg = config.my.profiles.wm;
+in {
+  options.my.profiles.wm = with lib; {
+    windowManager = mkOption {
+      type = with types; nullOr (enum [ "sway" ]);
+      default = null;
+      example = "sway";
+      description = "Which window manager to use";
+    };
+  };
+  config = lib.mkMerge [
+    (lib.mkIf (cfg.windowManager == "sway") {
+      # Enable sway
+      my.home.wm.windowManager = "sway";
+    })
+  ];
+}