Add darwin configuration into

This commit is contained in:
Laurent Gueret
2026-02-11 13:15:26 +01:00
parent 80e5d0b8b5
commit e75b09a750
71 changed files with 562 additions and 151 deletions
+28
View File
@@ -0,0 +1,28 @@
{
lib,
config,
...
}:
with lib;
let
cfg = config.home.shell.git;
in
{
options.home.shell.git = {
enable = mkEnableOption "Zen Editor options";
};
config = mkIf cfg.enable {
programs.git = {
enable = true;
config.init.defaultBranch = "main";
settings = {
user = {
name = "Laurent Gueret";
email = "gueretlob@pm.me";
};
};
};
};
}
+24
View File
@@ -0,0 +1,24 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.shell.zsh;
in
{
options.home.shell.zsh = {
enable = mkEnableOption "System zsh service";
};
config = mkIf cfg.enable {
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "af-magic";
};
};
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.iina;
in
{
options.home.homebrew.iina = {
enable = mkEnableOption "System iina homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"iina"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.iterm;
in
{
options.home.homebrew.iterm = {
enable = mkEnableOption "System iterm homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"iterm2"
];
};
}
+24
View File
@@ -0,0 +1,24 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.jetbrain;
in
{
options.home.homebrew.jetbrain = {
enable = mkEnableOption "System jetbrain homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"intellij-idea"
"pycharm"
"phpstorm"
"rustrover"
"goland"
"datagrip"
"dataspell"
"clion"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.keka;
in
{
options.home.homebrew.keka = {
enable = mkEnableOption "System keka homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"keka"
];
};
}
+20
View File
@@ -0,0 +1,20 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.microsoft;
in
{
options.home.homebrew.microsoft = {
enable = mkEnableOption "System microsoft homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"microsoft-word"
"microsoft-excel"
"microsoft-powerpoint"
"microsoft-teams"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.obsidian;
in
{
options.home.homebrew.obsidian = {
enable = mkEnableOption "System obsidian homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"obsidian"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.zed;
in
{
options.home.homebrew.zed = {
enable = mkEnableOption "System zed homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"zed"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.homebrew.zen;
in
{
options.home.homebrew.zen = {
enable = mkEnableOption "System zen homebrew service";
};
config = mkIf cfg.enable {
homebrew.casks = [
"zen"
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.clion;
in
{
options.home.ide.jetbrains.clion = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.clion
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.datagrip;
in
{
options.home.ide.jetbrains.datagrip = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.datagrip
];
};
}
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.dataspell;
in
{
options.home.ide.jetbrains.dataspell = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.dataspell
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.goland;
in
{
options.home.ide.jetbrains.goland = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.goland
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.idea;
in
{
options.home.ide.jetbrains.idea = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.idea
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.phpstorm;
in
{
options.home.ide.jetbrains.phpstorm = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.phpstorm
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.pycharm;
in
{
options.home.ide.jetbrains.pycharm = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.pycharm
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.rider;
in
{
options.home.ide.jetbrains.rider = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.rider
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.rubymine;
in
{
options.home.ide.jetbrains.rubymine = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.ruby-mine
];
};
}
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.rustrover;
in
{
options.home.ide.jetbrains.rustrover = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.rust-rover
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.jetbrains.webstorm;
in
{
options.home.ide.jetbrains.webstorm = {
enable = mkEnableOption "JetBrains options";
};
config = mkIf cfg.enable {
home.packages = with pkgs.unstable; [
jetbrains.webstorm
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.editor.obsidian;
in
{
options.home.editor.obsidian = {
enable = mkEnableOption "Obsidian options";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
obsidian
];
};
}
+22
View File
@@ -0,0 +1,22 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.zed;
in
{
options.home.ide.zed = {
enable = mkEnableOption "Zen Editor options";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
zed-editor
];
};
}