aboutsummaryrefslogtreecommitdiffstats
path: root/modules/development
diff options
context:
space:
mode:
Diffstat (limited to 'modules/development')
-rw-r--r--modules/development/bruno/default.nix7
-rw-r--r--modules/development/delta/default.nix6
-rw-r--r--modules/development/direnv/default.nix6
-rw-r--r--modules/development/git/assertions.nix12
-rw-r--r--modules/development/git/default.nix34
-rw-r--r--modules/development/lazygit/default.nix9
-rw-r--r--modules/development/nixvim/default.nix3
-rw-r--r--modules/development/opencode/default.nix9
-rw-r--r--modules/development/qemu/default.nix7
-rw-r--r--modules/development/ripgrep/default.nix6
-rw-r--r--modules/development/vscodium/default.nix5
11 files changed, 70 insertions, 34 deletions
diff --git a/modules/development/bruno/default.nix b/modules/development/bruno/default.nix
index 7c7afa2..fc08f3c 100644
--- a/modules/development/bruno/default.nix
+++ b/modules/development/bruno/default.nix
@@ -5,6 +5,9 @@
pkgs,
...
}:
+let
+ cfg = config.development.bruno;
+in
{
options.development.bruno = {
enable = lib.mkEnableOption "Enables bruno.";
@@ -16,8 +19,8 @@
};
};
- config = lib.mkIf config.development.bruno.enable {
- home.packages = [ config.development.bruno.package ];
+ config = lib.mkIf cfg.enable {
+ home.packages = [ cfg.package ];
xdg.mimeApps.defaultApplications = {
"x-scheme-handler/bruno" = "bruno.desktop";
diff --git a/modules/development/delta/default.nix b/modules/development/delta/default.nix
index e3daeb3..b4922fe 100644
--- a/modules/development/delta/default.nix
+++ b/modules/development/delta/default.nix
@@ -2,8 +2,12 @@
{
config,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.development.delta;
+in
{
options.development.delta = {
enable = lib.mkEnableOption "Enables delta.";
@@ -15,7 +19,7 @@
};
};
- config = lib.mkIf config.development.delta.enable {
+ config = lib.mkIf cfg.enable {
programs.delta = {
enable = true;
options = {
diff --git a/modules/development/direnv/default.nix b/modules/development/direnv/default.nix
index b16258a..db65145 100644
--- a/modules/development/direnv/default.nix
+++ b/modules/development/direnv/default.nix
@@ -2,8 +2,12 @@
{
config,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.development.direnv;
+in
{
options.development.direnv = {
enable = lib.mkEnableOption "Enables direnv.";
@@ -15,7 +19,7 @@
};
};
- config = lib.mkIf config.development.direnv.enable {
+ config = lib.mkIf cfg.enable {
programs.direnv = {
enable = true;
enableZshIntegration = lib.mkIf config.terminal.zsh.enable true;
diff --git a/modules/development/git/assertions.nix b/modules/development/git/assertions.nix
index c66714a..2baeced 100644
--- a/modules/development/git/assertions.nix
+++ b/modules/development/git/assertions.nix
@@ -3,24 +3,24 @@
{
assertions = [
{
- assertion = !config.development.git.signing.signByDefault || config.development.git.enable;
+ assertion = !config.development.git.signing.sign-by-default || config.development.git.enable;
message = ''
- development.git.signing.signByDefault is enabled but development.git.enable is not.
+ development.git.signing.sign-by-default is enabled but development.git.enable is not.
Enable development.git before enabling commit signing.
'';
}
{
assertion =
- !config.development.git.signing.signByDefault || config.development.git.signing.key != null;
+ !config.development.git.signing.sign-by-default || config.development.git.signing.key != null;
message = ''
- development.git.signing.signByDefault is enabled but development.git.signing.key is not set.
+ development.git.signing.sign-by-default is enabled but development.git.signing.key is not set.
Set a GPG key ID before enabling commit signing by default.
'';
}
{
- assertion = !config.development.git.signing.signByDefault || config.security.gpg.enable;
+ assertion = !config.development.git.signing.sign-by-default || config.security.gpg.enable;
message = ''
- development.git.signing.signByDefault is enabled but security.gpg.enable is not.
+ development.git.signing.sign-by-default is enabled but security.gpg.enable is not.
Commit signing requires the managed GPG configuration. Please enable security.gpg.
'';
}
diff --git a/modules/development/git/default.nix b/modules/development/git/default.nix
index 15dcc80..f2a0d64 100644
--- a/modules/development/git/default.nix
+++ b/modules/development/git/default.nix
@@ -2,8 +2,12 @@
{
config,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.development.git;
+in
{
imports = [
./assertions.nix
@@ -30,29 +34,35 @@
description = "Git email.";
};
- signing = {
- key = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- default = null;
- description = "GPG key ID used for signing commits.";
- };
+ signing = lib.mkOption {
+ type = lib.types.submodule {
+ options = {
+ key = lib.mkOption {
+ type = lib.types.nullOr lib.types.str;
+ default = null;
+ description = "GPG key ID used for signing commits.";
+ };
- signByDefault = lib.mkEnableOption "Sign commits by default.";
+ sign-by-default = lib.mkEnableOption "Sign commits by default.";
+ };
+ };
+ default = { };
+ description = "Git commit signing configuration.";
};
};
- config = lib.mkIf config.development.git.enable {
+ config = lib.mkIf cfg.enable {
programs.git = {
enable = true;
signing = {
- key = config.development.git.signing.key;
- signByDefault = config.development.git.signing.signByDefault;
+ key = cfg.signing.key;
+ signByDefault = cfg.signing.sign-by-default;
};
settings = lib.mkMerge [
{
user = {
- name = config.development.git.username;
- email = config.development.git.email;
+ name = cfg.username;
+ email = cfg.email;
};
core = {
askPass = "";
diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix
index c2e6be8..95d2bf1 100644
--- a/modules/development/lazygit/default.nix
+++ b/modules/development/lazygit/default.nix
@@ -6,6 +6,7 @@
...
}:
let
+ cfg = config.development.lazygit;
base16Colors = import ../../colors/base16 { inherit config lib pkgs; };
in
{
@@ -22,7 +23,7 @@ in
};
};
config = lib.mkMerge [
- (lib.mkIf config.development.lazygit.enable {
+ (lib.mkIf cfg.enable {
programs.lazygit = {
enable = true;
enableBashIntegration = false;
@@ -66,9 +67,9 @@ in
commitHashLength = 4;
showBranchCommitHash = true;
showDivergenceFromBaseBranch = "arrowAndNumber";
- autoFetch = false;
};
git = {
+ autoFetch = false;
overrideGpg = config.security.gpg.enable;
diffRenderers = lib.mkIf config.development.delta.enable [
{
@@ -85,10 +86,10 @@ in
source = ../../../assets/icons/apps/git.svg;
};
})
- (lib.mkIf (config.development.lazygit.enable && config.terminal.kitty.enable) {
+ (lib.mkIf (cfg.enable && config.terminal.kitty.enable) {
xdg.desktopEntries."lazygit" = {
name = "lazygit";
- exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe config.development.lazygit.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe cfg.package}";
icon = "git";
categories = [ "Development" ];
comment = "A simple terminal UI for git commands";
diff --git a/modules/development/nixvim/default.nix b/modules/development/nixvim/default.nix
index 00712cc..a294788 100644
--- a/modules/development/nixvim/default.nix
+++ b/modules/development/nixvim/default.nix
@@ -6,6 +6,7 @@
...
}:
let
+ cfg = config.development.nixvim;
base16Colors = import ../../colors/base16 { inherit config lib pkgs; };
in
{
@@ -25,7 +26,7 @@ in
};
};
- config = lib.mkIf config.development.nixvim.enable {
+ config = lib.mkIf cfg.enable {
programs.nixvim = {
enable = true;
defaultEditor = true;
diff --git a/modules/development/opencode/default.nix b/modules/development/opencode/default.nix
index 011582e..8b61ff9 100644
--- a/modules/development/opencode/default.nix
+++ b/modules/development/opencode/default.nix
@@ -5,6 +5,9 @@
pkgs,
...
}:
+let
+ cfg = config.development.opencode;
+in
{
options.development.opencode = {
enable = lib.mkEnableOption "Enables opencode.";
@@ -17,7 +20,7 @@
};
config = lib.mkMerge [
- (lib.mkIf config.development.opencode.enable {
+ (lib.mkIf cfg.enable {
home.file.".local/share/icons/hicolor/scalable/apps/opencode.svg" = {
source = ../../../assets/icons/apps/opencode.svg;
};
@@ -27,10 +30,10 @@
package = pkgs.opencode;
};
})
- (lib.mkIf (config.development.opencode.enable && config.terminal.kitty.enable) {
+ (lib.mkIf (cfg.enable && config.terminal.kitty.enable) {
xdg.desktopEntries."opencode" = {
name = "opencode";
- exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe config.development.opencode.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe cfg.package}";
icon = "opencode";
categories = [ "Development" ];
comment = "AI-powered coding assistant";
diff --git a/modules/development/qemu/default.nix b/modules/development/qemu/default.nix
index db5f7cf..4dea421 100644
--- a/modules/development/qemu/default.nix
+++ b/modules/development/qemu/default.nix
@@ -5,6 +5,9 @@
pkgs,
...
}:
+let
+ cfg = config.development.qemu;
+in
{
options.development.qemu = {
enable = lib.mkEnableOption "Enables qemu.";
@@ -23,7 +26,7 @@
};
};
- config = lib.mkIf config.development.qemu.enable {
- home.packages = [ config.development.qemu.package ];
+ config = lib.mkIf cfg.enable {
+ home.packages = [ cfg.package ];
};
}
diff --git a/modules/development/ripgrep/default.nix b/modules/development/ripgrep/default.nix
index 16c70d0..b00f61a 100644
--- a/modules/development/ripgrep/default.nix
+++ b/modules/development/ripgrep/default.nix
@@ -2,8 +2,12 @@
{
config,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.development.ripgrep;
+in
{
options.development.ripgrep = {
enable = lib.mkEnableOption "Enables ripgrep.";
@@ -15,7 +19,7 @@
};
};
- config = lib.mkIf config.development.ripgrep.enable {
+ config = lib.mkIf cfg.enable {
programs.ripgrep = {
enable = true;
};
diff --git a/modules/development/vscodium/default.nix b/modules/development/vscodium/default.nix
index b365768..b8de8ca 100644
--- a/modules/development/vscodium/default.nix
+++ b/modules/development/vscodium/default.nix
@@ -5,6 +5,9 @@
pkgs,
...
}:
+let
+ cfg = config.development.vscodium;
+in
{
options.development.vscodium = {
enable = lib.mkEnableOption "Enables vscodium.";
@@ -16,7 +19,7 @@
};
};
- config = lib.mkIf config.development.vscodium.enable {
+ config = lib.mkIf cfg.enable {
programs.vscodium = {
enable = true;
package = pkgs.vscodium;