Migrate global configuration to and expand home
- Move lots of system config to home (browser, editors, etc.)
- Improve catppuccin support (kitty, cursors, etc.)
- Improve overall theme (fonts, icons in kitty)
- Add coded's system hardware configuration ("shorthair")
- Add the ed editor
- Split minion's system hardware configuration ("greylag") into several files
- Improve shell support (aliases, useful packages, replacements, etc.)
Change-Id: Ie6d40f809b2662268a9a6fa8b241641bbfef9442
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/383
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
diff --git a/modules/home/editor/ed/default.nix b/modules/home/editor/ed/default.nix
new file mode 100644
index 0000000..80e4ac6
--- /dev/null
+++ b/modules/home/editor/ed/default.nix
@@ -0,0 +1,24 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+{
+ options.chimera.editor.ed = {
+ enable = lib.mkEnableOption "Enable the standard text editor, the greatest WYGIWYG editor of all, the only viable text editor, Ed";
+ defaultEditor = lib.mkOption {
+ type = lib.types.bool;
+ description = "Use Ed as the default editor";
+ default = true;
+ };
+ };
+
+ config = lib.mkIf config.chimera.editor.ed.enable {
+ home.packages = [ pkgs.ed ];
+
+ home.sessionVariables = lib.mkIf config.chimera.editor.ed.defaultEditor {
+ EDITOR = "${pkgs.ed}/bin/ed";
+ };
+ };
+}
diff --git a/modules/home/editor/emacs/default.nix b/modules/home/editor/emacs/default.nix
new file mode 100644
index 0000000..4151db1
--- /dev/null
+++ b/modules/home/editor/emacs/default.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+{
+ options.chimera.editor.emacs = {
+ enable = lib.mkEnableOption "Enable emacs editor";
+ defaultEditor = lib.mkOption {
+ type = lib.types.bool;
+ description = "Use emacs as the default editor";
+ default = true;
+ };
+ };
+
+ config = lib.mkIf config.chimera.editor.emacs.enable {
+ programs.emacs.enable = true;
+ services.emacs = {
+ enable = true;
+ defaultEditor = config.chimera.editor.emacs.defaultEditor;
+ };
+ };
+}
diff --git a/modules/home/editor/neovim/default.nix b/modules/home/editor/neovim/default.nix
new file mode 100644
index 0000000..7098365
--- /dev/null
+++ b/modules/home/editor/neovim/default.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+{
+ options.chimera.editor.neovim = {
+ enable = lib.mkEnableOption "Enable neovim editor";
+ defaultEditor = lib.mkOption {
+ type = lib.types.bool;
+ description = "Use neovim as the default editor";
+ default = true;
+ };
+ };
+
+ config = lib.mkIf config.chimera.editor.neovim.enable {
+ programs.neovim = {
+ enable = true;
+ defaultEditor = config.chimera.editor.neovim.defaultEditor;
+ };
+ };
+}