Add darwin configuration into
@@ -1,5 +1,22 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"brew-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769363988,
|
||||||
|
"narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=",
|
||||||
|
"owner": "Homebrew",
|
||||||
|
"repo": "brew",
|
||||||
|
"rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Homebrew",
|
||||||
|
"ref": "5.0.12",
|
||||||
|
"repo": "brew",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
@@ -39,6 +56,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"homebrew-cask": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770811300,
|
||||||
|
"narHash": "sha256-sSxLj4so0NJYjin13DJqEnZbKyYF5XYblnjDiv1eyfc=",
|
||||||
|
"owner": "homebrew",
|
||||||
|
"repo": "homebrew-cask",
|
||||||
|
"rev": "29406a41146145e7e32c4a5ff4c6c1471c2eda56",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "homebrew",
|
||||||
|
"repo": "homebrew-cask",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"homebrew-core": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770811629,
|
||||||
|
"narHash": "sha256-qzjYPCYuRo+dbVJArHRbC030OwO5iilVlCG2A02CtrA=",
|
||||||
|
"owner": "homebrew",
|
||||||
|
"repo": "homebrew-core",
|
||||||
|
"rev": "779ff21375317500a9b0089e2fcbb1802abae658",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "homebrew",
|
||||||
|
"repo": "homebrew-core",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"import-tree": {
|
"import-tree": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763762820,
|
"lastModified": 1763762820,
|
||||||
@@ -54,6 +103,45 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770736414,
|
||||||
|
"narHash": "sha256-x5xdJgUxNflO9j2sJHIHnPujDy6eAWJPCMQml5y9XB4=",
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "7c952d9a524ffbbd5b5edca38fe6d943499585cc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-homebrew": {
|
||||||
|
"inputs": {
|
||||||
|
"brew-src": "brew-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769437432,
|
||||||
|
"narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=",
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-homebrew",
|
||||||
|
"rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-homebrew",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769089682,
|
"lastModified": 1769089682,
|
||||||
@@ -105,7 +193,11 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"homebrew-cask": "homebrew-cask",
|
||||||
|
"homebrew-core": "homebrew-core",
|
||||||
"import-tree": "import-tree",
|
"import-tree": "import-tree",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nix-homebrew": "nix-homebrew",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,36 +9,98 @@
|
|||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Nix Darwin
|
||||||
|
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
|
||||||
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
# Nix Homebrew
|
||||||
|
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
||||||
|
homebrew-core = {
|
||||||
|
url = "github:homebrew/homebrew-core";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
homebrew-cask = {
|
||||||
|
url = "github:homebrew/homebrew-cask";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{
|
inputs@{
|
||||||
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nix-darwin,
|
||||||
flake-parts,
|
flake-parts,
|
||||||
import-tree,
|
import-tree,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
nix-homebrew,
|
||||||
|
homebrew-core,
|
||||||
|
homebrew-cask,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } (
|
flake-parts.lib.mkFlake { inherit inputs; } (
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
systems = [ "x86_64-linux" ];
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
flake = {
|
flake = {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
nixos = nixpkgs.lib.nixosSystem {
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
import-tree = import-tree;
|
||||||
|
home-manager = home-manager;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
(import-tree ./modules/system)
|
(import-tree ./hosts/common)
|
||||||
./modules/hardware-configuration.nix
|
(import ./hosts/nixos/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
||||||
(import ./modules/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
|
||||||
|
(import-tree ./modules/system/common)
|
||||||
|
(import-tree ./modules/system/nixos)
|
||||||
|
(import-tree ./hosts/nixos/system)
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
|
(import-tree ./hosts/common)
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
(import ./modules/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
(import /hosts/nixos/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
||||||
(import ./modules/users/home.nix { inherit import-tree home-manager; })
|
|
||||||
|
(import-tree ./modules/home/common)
|
||||||
|
(import-tree ./modules/home/nixos)
|
||||||
|
(import-tree ./hosts/darwin/home)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
darwinConfigurations = {
|
||||||
|
"MacBook-Air-de-Laurent" = nix-darwin.lib.darwinSystem {
|
||||||
|
specialArgs = {
|
||||||
|
self = self;
|
||||||
|
import-tree = import-tree;
|
||||||
|
home-manager = home-manager;
|
||||||
|
homebrew-core = homebrew-core;
|
||||||
|
homebrew-cask = homebrew-cask;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
(import-tree ./hosts/common)
|
||||||
|
nix-homebrew.darwinModules.nix-homebrew
|
||||||
|
(import ./hosts/nixos/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
||||||
|
|
||||||
|
(import-tree ./modules/system/common)
|
||||||
|
(import-tree ./hosts/darwin/system)
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
(import-tree ./hosts/common)
|
||||||
|
home-manager.darwinModules.home-manager
|
||||||
|
(import /hosts/nixos/overlays.nix { inherit nixpkgs nixpkgs-unstable; })
|
||||||
|
|
||||||
|
(import-tree ./modules/home/common)
|
||||||
|
(import-tree ./modules/home/darwin)
|
||||||
|
(import-tree ./hosts/darwin/home)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.overwriteBackup = true;
|
||||||
|
home-manager.backupFileExtension = "bak";
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
system.primaryUser = "alistreaza";
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
trusted-users = [
|
||||||
|
# Needed by Devenv
|
||||||
|
"root"
|
||||||
|
"alistreaza"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home-manager.users.alistreaza = {
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "alistreaza";
|
||||||
|
homeDirectory = /Users/alistreaza;
|
||||||
|
};
|
||||||
|
|
||||||
|
# No Home Application Folders
|
||||||
|
targets.darwin.linkApps.enable = false;
|
||||||
|
targets.darwin.copyApps.enable = false;
|
||||||
|
|
||||||
|
# Apps
|
||||||
|
home.shell.zsh = true;
|
||||||
|
home.shell.git = true;
|
||||||
|
|
||||||
|
# Homebrew apps
|
||||||
|
home.homebrew.iterm = true;
|
||||||
|
home.homebrew.zed = true;
|
||||||
|
home.homebrew.jetbrain = true;
|
||||||
|
|
||||||
|
home.homebrew.iina = true;
|
||||||
|
home.homebrew.zen = true;
|
||||||
|
home.homebrew.obsidian = true;
|
||||||
|
home.homebrew.microsoft = true;
|
||||||
|
|
||||||
|
home.homebrew.keka = true;
|
||||||
|
|
||||||
|
# The state version is required and should stay at the version you
|
||||||
|
# originally installed.
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ import-tree, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./partials/users.nix
|
||||||
|
(import-tree ./apps)
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
homebrew.enable = true;
|
||||||
|
homebrew.taps = builtins.attrNames config.nix-homebrew.taps;
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
homebrew-core,
|
||||||
|
homebrew-cask,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
nix-homebrew = {
|
||||||
|
# User owning the Homebrew prefix
|
||||||
|
user = "alistreaza";
|
||||||
|
|
||||||
|
# Install Homebrew under the default prefix
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
|
||||||
|
enableRosetta = false;
|
||||||
|
|
||||||
|
# Optional: Declarative tap management
|
||||||
|
taps = {
|
||||||
|
"homebrew/homebrew-core" = homebrew-core;
|
||||||
|
"homebrew/homebrew-cask" = homebrew-cask;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Optional: Enable fully-declarative tap management
|
||||||
|
#
|
||||||
|
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
|
||||||
|
mutableTaps = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ self, ... }:
|
||||||
|
{
|
||||||
|
# Add ability to use TouchID for sudo
|
||||||
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
|
||||||
|
system = {
|
||||||
|
stateVersion = 6;
|
||||||
|
configurationRevision = self.rev or self.dirtyRev or null;
|
||||||
|
defaults = {
|
||||||
|
controlcenter.BatteryShowPercentage = true;
|
||||||
|
dock = {
|
||||||
|
show-recents = false;
|
||||||
|
tilesize = 30;
|
||||||
|
autohide = false;
|
||||||
|
orientation = "bottom";
|
||||||
|
};
|
||||||
|
finder = {
|
||||||
|
ShowHardDrivesOnDesktop = false;
|
||||||
|
ShowMountedServersOnDesktop = false;
|
||||||
|
ShowExternalHardDrivesOnDesktop = false;
|
||||||
|
ShowRemovableMediaOnDesktop = false;
|
||||||
|
FXRemoveOldTrashItems = true;
|
||||||
|
NewWindowTarget = "Home";
|
||||||
|
};
|
||||||
|
loginwindow = {
|
||||||
|
GuestEnabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
users.users = {
|
||||||
|
alistreaza = {
|
||||||
|
home = /Users/alistreaza;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
@@ -0,0 +1,36 @@
|
|||||||
|
{ import-tree, ... }:
|
||||||
|
{
|
||||||
|
home-manager.users.alistreaza = {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(import-tree ./options)
|
||||||
|
(import-tree ./partials)
|
||||||
|
];
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "alistreaza";
|
||||||
|
homeDirectory = "/home/alistreaza";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.shell.zsh = true;
|
||||||
|
home.shell.git = true;
|
||||||
|
|
||||||
|
# Code editor
|
||||||
|
home.ide.zed.enable = true;
|
||||||
|
|
||||||
|
# IDE Jetbrains
|
||||||
|
home.ide.jetbrains.idea.enable = false;
|
||||||
|
home.ide.jetbrains.pycharm.enable = false;
|
||||||
|
home.ide.jetbrains.phpstorm.enable = false;
|
||||||
|
home.ide.jetbrains.rustrover.enable = false;
|
||||||
|
|
||||||
|
# IDE Data Jetbrains
|
||||||
|
home.ide.jetbrains.datagrip.enable = false;
|
||||||
|
home.ide.jetbrains.dataspell.enable = false;
|
||||||
|
|
||||||
|
# Markdown Editor
|
||||||
|
home.editor.obsidian.enable = false;
|
||||||
|
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nix.settings.experimental-features = "nix-command flakes";
|
|
||||||
|
|
||||||
# System services
|
# System services
|
||||||
os.boot.systemd.enable = true;
|
os.boot.systemd.enable = true;
|
||||||
os.boot.plymouth.enable = true;
|
os.boot.plymouth.enable = true;
|
||||||
@@ -37,6 +35,9 @@
|
|||||||
os.shell.dev.enable = true;
|
os.shell.dev.enable = true;
|
||||||
os.shell.devenv.enable = true;
|
os.shell.devenv.enable = true;
|
||||||
|
|
||||||
|
# Ssh
|
||||||
|
programs.ssh.enableAskPassword = false; # No-window git push fix
|
||||||
|
|
||||||
# System version
|
# System version
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,6 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nix.settings.trusted-users = [
|
|
||||||
# Needed by Devenv
|
|
||||||
"root"
|
|
||||||
"alistreaza"
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
alistreaza = {
|
alistreaza = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.shell.zsh;
|
cfg = config.home.shell.zsh;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.shell.zsh = {
|
options.home.shell.zsh = {
|
||||||
enable = mkEnableOption "System zsh service";
|
enable = mkEnableOption "System zsh service";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -12,13 +12,12 @@ in
|
|||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestions.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
};
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
programs.neovim = {
|
theme = "af-magic";
|
||||||
enable = true;
|
};
|
||||||
defaultEditor = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.clion;
|
cfg = config.home.ide.jetbrains.clion;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.clion = {
|
options.home.ide.jetbrains.clion = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.datagrip;
|
cfg = config.home.ide.jetbrains.datagrip;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.datagrip = {
|
options.home.ide.jetbrains.datagrip = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.dataspell;
|
cfg = config.home.ide.jetbrains.dataspell;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.dataspell = {
|
options.home.ide.jetbrains.dataspell = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.goland;
|
cfg = config.home.ide.jetbrains.goland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.goland = {
|
options.home.ide.jetbrains.goland = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.idea;
|
cfg = config.home.ide.jetbrains.idea;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.idea = {
|
options.home.ide.jetbrains.idea = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.phpstorm;
|
cfg = config.home.ide.jetbrains.phpstorm;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.phpstorm = {
|
options.home.ide.jetbrains.phpstorm = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.pycharm;
|
cfg = config.home.ide.jetbrains.pycharm;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.pycharm = {
|
options.home.ide.jetbrains.pycharm = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.rider;
|
cfg = config.home.ide.jetbrains.rider;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.rider = {
|
options.home.ide.jetbrains.rider = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.rubymine;
|
cfg = config.home.ide.jetbrains.rubymine;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.rubymine = {
|
options.home.ide.jetbrains.rubymine = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.rustrover;
|
cfg = config.home.ide.jetbrains.rustrover;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.rustrover = {
|
options.home.ide.jetbrains.rustrover = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.jetbrains.webstorm;
|
cfg = config.home.ide.jetbrains.webstorm;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.jetbrains.webstorm = {
|
options.home.ide.jetbrains.webstorm = {
|
||||||
enable = mkEnableOption "JetBrains options";
|
enable = mkEnableOption "JetBrains options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -6,17 +6,17 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.editor.obsidian;
|
cfg = config.home.editor.obsidian;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.editor.obsidian = {
|
options.home.editor.obsidian = {
|
||||||
enable = mkEnableOption "Obsidian options";
|
enable = mkEnableOption "Obsidian options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
obsidian
|
obsidian
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -6,20 +6,16 @@
|
|||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.ide.zed;
|
cfg = config.home.ide.zed;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.ide.zed = {
|
options.home.ide.zed = {
|
||||||
enable = mkEnableOption "Zen Editor options";
|
enable = mkEnableOption "Zen Editor options";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
zed-editor
|
zed-editor
|
||||||
nil
|
|
||||||
nixd
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.os.shell.neovim;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.os.shell.neovim = {
|
||||||
|
enable = mkEnableOption "System neovim service";
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.os.shell.dev;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.os.shell.dev = {
|
|
||||||
enable = mkEnableOption "System git service";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gcc
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.os.shell.git;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.os.shell.git = {
|
|
||||||
enable = mkEnableOption "System git service";
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh.enableAskPassword = false;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{ import-tree, ... }:
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.overwriteBackup = true;
|
|
||||||
home-manager.backupFileExtension = "bak";
|
|
||||||
|
|
||||||
home-manager.users = {
|
|
||||||
alistreaza = {
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
(import-tree ./options)
|
|
||||||
(import-tree ./partials)
|
|
||||||
];
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "alistreaza";
|
|
||||||
homeDirectory = "/home/alistreaza";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Apps shell
|
|
||||||
programs.git = {
|
|
||||||
settings = {
|
|
||||||
user = {
|
|
||||||
name = "Laurent Gueret";
|
|
||||||
email = "gueretlob@pm.me";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Code editor
|
|
||||||
os.ide.zed.enable = true;
|
|
||||||
|
|
||||||
# IDE Jetbrains
|
|
||||||
os.ide.jetbrains.idea.enable = false;
|
|
||||||
os.ide.jetbrains.pycharm.enable = false;
|
|
||||||
os.ide.jetbrains.phpstorm.enable = false;
|
|
||||||
os.ide.jetbrains.rustrover.enable = false;
|
|
||||||
|
|
||||||
# IDE Data Jetbrains
|
|
||||||
os.ide.jetbrains.datagrip.enable = false;
|
|
||||||
os.ide.jetbrains.dataspell.enable = false;
|
|
||||||
|
|
||||||
# Markdown Editor
|
|
||||||
os.editor.obsidian.enable = false;
|
|
||||||
|
|
||||||
home.stateVersion = "25.11";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||