v0.1.1
This commit is contained in:
parent
8b9d3c114d
commit
bcbd699c4c
11 changed files with 786 additions and 124 deletions
96
flake.nix
96
flake.nix
|
|
@ -2,32 +2,29 @@
|
|||
description = "Rasyid's nix-darwin dotfiles";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
darwin.url = "github:LnL7/nix-darwin";
|
||||
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
ghostty.url = "github:ghostty-org/ghostty";
|
||||
ghostty.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nvim-bundle.url = "github:jla2000/nvim-bundle";
|
||||
nvim-bundle.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, darwin, home-manager, ghostty, ... }:
|
||||
outputs = inputs@{ self, nixpkgs, darwin, home-manager, ghostty, ... }:
|
||||
let
|
||||
inherit (nixpkgs.lib) genAttrs;
|
||||
|
||||
systems = [
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
systems = [ "aarch64-darwin" "x86_64-darwin" ];
|
||||
|
||||
forEachSystem = f: genAttrs systems (system: f system);
|
||||
|
||||
overlaysList =
|
||||
[ ghostty.overlays.default ];
|
||||
overlaysList = [ ghostty.overlays.default ];
|
||||
|
||||
mkPkgs = system:
|
||||
import nixpkgs {
|
||||
|
|
@ -36,66 +33,39 @@
|
|||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
mkPkgsUnstable = system:
|
||||
import nixpkgs-unstable {
|
||||
inherit system;
|
||||
overlays = overlaysList;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
sharedModules = [
|
||||
./modules/darwin/system.nix
|
||||
];
|
||||
sharedModules = [ ./modules/darwin/system.nix ];
|
||||
|
||||
user = "rsydn";
|
||||
|
||||
mkDarwin = { hostname, system ? "aarch64-darwin", extraModules ? [ ], homeFile ? ./modules/home/rsydn/base.nix }:
|
||||
let
|
||||
pkgs = mkPkgs system;
|
||||
pkgsUnstable = mkPkgsUnstable system;
|
||||
in
|
||||
darwin.lib.darwinSystem {
|
||||
inherit system pkgs;
|
||||
specialArgs = {
|
||||
inherit inputs overlaysList pkgsUnstable user;
|
||||
};
|
||||
modules =
|
||||
sharedModules
|
||||
++ extraModules
|
||||
++ [
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
nix.registry.self.flake = self;
|
||||
nixpkgs.overlays = overlaysList;
|
||||
mkDarwin = { system ? "aarch64-darwin", extraModules ? [ ]
|
||||
, homeFile ? ./modules/home/rsydn/base.nix }:
|
||||
let pkgs = mkPkgs system;
|
||||
in darwin.lib.darwinSystem {
|
||||
inherit system pkgs;
|
||||
specialArgs = { inherit inputs overlaysList user; };
|
||||
modules = sharedModules ++ extraModules ++ [
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
nix.registry.self.flake = self;
|
||||
nixpkgs.overlays = overlaysList;
|
||||
|
||||
users.users.${user}.home = "/Users/${user}";
|
||||
users.users.${user}.home = "/Users/${user}";
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs pkgsUnstable user;
|
||||
};
|
||||
home-manager.users.${user} = import homeFile;
|
||||
}
|
||||
];
|
||||
};
|
||||
in {
|
||||
darwinConfigurations = {
|
||||
macbook-pro = mkDarwin {
|
||||
hostname = "macbook-pro";
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit inputs user; };
|
||||
home-manager.users.${user} = import homeFile;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
in {
|
||||
darwinConfigurations = { macbook-pro = mkDarwin { }; };
|
||||
|
||||
devShells = forEachSystem (system:
|
||||
let
|
||||
pkgs = mkPkgs system;
|
||||
pkgsUnstable = mkPkgsUnstable system;
|
||||
let pkgs = mkPkgs system;
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
git
|
||||
nixfmt-classic
|
||||
];
|
||||
packages = with pkgs; [ git nixfmt-classic ];
|
||||
shellHook = ''
|
||||
echo "Loaded default shell for ${system}"
|
||||
'';
|
||||
|
|
@ -105,8 +75,6 @@
|
|||
|
||||
formatter = forEachSystem (system: (mkPkgs system).nixfmt-classic);
|
||||
|
||||
packages = forEachSystem (system: {
|
||||
inherit (mkPkgs system) git;
|
||||
});
|
||||
packages = forEachSystem (system: { inherit (mkPkgs system) git; });
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue