nix-managed-macbook/flake.nix

118 lines
3.2 KiB
Nix
Raw Normal View History

{
2024-01-31 16:00:03 +05:30
description = "Nix Darwin + Home Manager configuration of Abhinav Sarkar";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
2025-01-13 23:08:39 +05:30
nixpkgs-stable.url = "github:nixos/nixpkgs/nixpkgs-24.11-darwin";
flake.lock: Update Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/5f6aa268e419d053c3d5025da740e390b12ac936?narHash=sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg%3D' (2025-01-01) → 'github:nix-community/home-manager/fc52a210b60f2f52c74eac41a8647c1573d2071d?narHash=sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m%2BYq%2B%2BC9AyE%3D' (2025-01-13) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/53a0c2fe6ed46ab33fc4a221c9f907a7b4c8a91c?narHash=sha256-rTpBl3xmKYDQTRWF8CRk/r1FoKPDVwqLHGoU7tfECvY%3D' (2024-12-28) → 'github:LnL7/nix-darwin/6ace2f2d12bdf74235d5cbf9fbd34a71c9716685?narHash=sha256-mG9lRZBcPiAGiVJ9B97BJoIGQcSBWIVlBiN30QYCtG0%3D' (2025-01-11) • Updated input 'nix-vscode-extensions': 'github:nix-community/nix-vscode-extensions/adf374ae7e5237a3aa03e88503644732ea15045d?narHash=sha256-UMLwX1WiR2cjJndlKHm4WXQ8fBKJPMMSUsk%2BYjsjTl8%3D' (2024-12-29) → 'github:nix-community/nix-vscode-extensions/44474e2ca975af013f1594abd6c922f2c8dba022?narHash=sha256-6232F8et5z7XTxK0RuX6bocT6yYGJhlmlHbFdZuHcP0%3D' (2025-01-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/69b9a8c860bdbb977adfa9c5e817ccb717884182?narHash=sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy%2B8eSckoo%3D' (2024-12-31) → 'github:nixos/nixpkgs/ef56e777fedaa4da8c66a150081523c5de1e0171?narHash=sha256-a3MMEY7i/wdF0gb7WFNTn6onzaiMOvwj7OerRVenA8o%3D' (2025-01-13) • Updated input 'nixpkgs-stable': 'github:nixos/nixpkgs/42f30f55ec9d396b67c456683b4409cd7d07fc7b?narHash=sha256-YJwQfdSFep6IFrhZGEjug/HuCauGntDAesjCS5mxTis%3D' (2024-12-25) → 'github:nixos/nixpkgs/1e7a8f391f1a490460760065fa0630b5520f9cf8?narHash=sha256-HB/FA0%2B1gpSs8%2B/boEavrGJH%2BEq08/R2wWNph1sM1Dg%3D' (2024-12-30)
2025-01-13 22:36:24 +05:30
nixpkgs-ghostty.url = "github:nixos/nixpkgs/69b9a8c860bdbb977adfa9c5e817ccb717884182";
2023-11-25 16:13:20 +05:30
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-02-17 13:33:32 +05:30
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-09-14 12:15:52 +05:30
nix-vscode-extensions = {
url = "github:nix-community/nix-vscode-extensions";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
2025-03-14 15:47:39 +05:30
nixd = {
url = "github:nix-community/nixd/2.6.1";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-01-21 14:38:47 +05:30
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
2024-09-14 12:15:52 +05:30
flake-utils.url = "github:numtide/flake-utils";
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
dm-mono-font = {
url = "github:googlefonts/dm-mono";
flake = false;
};
};
2024-10-22 18:53:09 +05:30
outputs =
inputs@{
self,
nixpkgs,
nixpkgs-stable,
flake.lock: Update Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/5f6aa268e419d053c3d5025da740e390b12ac936?narHash=sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg%3D' (2025-01-01) → 'github:nix-community/home-manager/fc52a210b60f2f52c74eac41a8647c1573d2071d?narHash=sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m%2BYq%2B%2BC9AyE%3D' (2025-01-13) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/53a0c2fe6ed46ab33fc4a221c9f907a7b4c8a91c?narHash=sha256-rTpBl3xmKYDQTRWF8CRk/r1FoKPDVwqLHGoU7tfECvY%3D' (2024-12-28) → 'github:LnL7/nix-darwin/6ace2f2d12bdf74235d5cbf9fbd34a71c9716685?narHash=sha256-mG9lRZBcPiAGiVJ9B97BJoIGQcSBWIVlBiN30QYCtG0%3D' (2025-01-11) • Updated input 'nix-vscode-extensions': 'github:nix-community/nix-vscode-extensions/adf374ae7e5237a3aa03e88503644732ea15045d?narHash=sha256-UMLwX1WiR2cjJndlKHm4WXQ8fBKJPMMSUsk%2BYjsjTl8%3D' (2024-12-29) → 'github:nix-community/nix-vscode-extensions/44474e2ca975af013f1594abd6c922f2c8dba022?narHash=sha256-6232F8et5z7XTxK0RuX6bocT6yYGJhlmlHbFdZuHcP0%3D' (2025-01-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/69b9a8c860bdbb977adfa9c5e817ccb717884182?narHash=sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy%2B8eSckoo%3D' (2024-12-31) → 'github:nixos/nixpkgs/ef56e777fedaa4da8c66a150081523c5de1e0171?narHash=sha256-a3MMEY7i/wdF0gb7WFNTn6onzaiMOvwj7OerRVenA8o%3D' (2025-01-13) • Updated input 'nixpkgs-stable': 'github:nixos/nixpkgs/42f30f55ec9d396b67c456683b4409cd7d07fc7b?narHash=sha256-YJwQfdSFep6IFrhZGEjug/HuCauGntDAesjCS5mxTis%3D' (2024-12-25) → 'github:nixos/nixpkgs/1e7a8f391f1a490460760065fa0630b5520f9cf8?narHash=sha256-HB/FA0%2B1gpSs8%2B/boEavrGJH%2BEq08/R2wWNph1sM1Dg%3D' (2024-12-30)
2025-01-13 22:36:24 +05:30
nixpkgs-ghostty,
2024-10-22 18:53:09 +05:30
nix-darwin,
home-manager,
2025-02-17 13:33:32 +05:30
nix-index-database,
2025-01-21 14:38:47 +05:30
lix-module,
2024-10-22 18:53:09 +05:30
...
}:
let
2024-11-23 22:49:32 +05:30
system = "aarch64-darwin";
pkgs = import nixpkgs {
inherit system;
2024-10-22 18:53:09 +05:30
config = {
allowUnfree = true;
};
};
2024-10-18 17:41:54 +05:30
pkgs-stable = import nixpkgs-stable {
inherit system;
2024-10-22 18:53:09 +05:30
config = {
allowUnfree = true;
};
2024-10-18 17:41:54 +05:30
};
flake.lock: Update Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/5f6aa268e419d053c3d5025da740e390b12ac936?narHash=sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg%3D' (2025-01-01) → 'github:nix-community/home-manager/fc52a210b60f2f52c74eac41a8647c1573d2071d?narHash=sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m%2BYq%2B%2BC9AyE%3D' (2025-01-13) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/53a0c2fe6ed46ab33fc4a221c9f907a7b4c8a91c?narHash=sha256-rTpBl3xmKYDQTRWF8CRk/r1FoKPDVwqLHGoU7tfECvY%3D' (2024-12-28) → 'github:LnL7/nix-darwin/6ace2f2d12bdf74235d5cbf9fbd34a71c9716685?narHash=sha256-mG9lRZBcPiAGiVJ9B97BJoIGQcSBWIVlBiN30QYCtG0%3D' (2025-01-11) • Updated input 'nix-vscode-extensions': 'github:nix-community/nix-vscode-extensions/adf374ae7e5237a3aa03e88503644732ea15045d?narHash=sha256-UMLwX1WiR2cjJndlKHm4WXQ8fBKJPMMSUsk%2BYjsjTl8%3D' (2024-12-29) → 'github:nix-community/nix-vscode-extensions/44474e2ca975af013f1594abd6c922f2c8dba022?narHash=sha256-6232F8et5z7XTxK0RuX6bocT6yYGJhlmlHbFdZuHcP0%3D' (2025-01-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/69b9a8c860bdbb977adfa9c5e817ccb717884182?narHash=sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy%2B8eSckoo%3D' (2024-12-31) → 'github:nixos/nixpkgs/ef56e777fedaa4da8c66a150081523c5de1e0171?narHash=sha256-a3MMEY7i/wdF0gb7WFNTn6onzaiMOvwj7OerRVenA8o%3D' (2025-01-13) • Updated input 'nixpkgs-stable': 'github:nixos/nixpkgs/42f30f55ec9d396b67c456683b4409cd7d07fc7b?narHash=sha256-YJwQfdSFep6IFrhZGEjug/HuCauGntDAesjCS5mxTis%3D' (2024-12-25) → 'github:nixos/nixpkgs/1e7a8f391f1a490460760065fa0630b5520f9cf8?narHash=sha256-HB/FA0%2B1gpSs8%2B/boEavrGJH%2BEq08/R2wWNph1sM1Dg%3D' (2024-12-30)
2025-01-13 22:36:24 +05:30
pkgs-ghostty = import nixpkgs-ghostty {
inherit system;
config = {
allowUnfree = true;
};
};
2024-10-22 18:53:09 +05:30
in
{
2024-11-23 22:49:32 +05:30
darwinConfigurations."Abhinavs-M4-MacBook-Pro" = nix-darwin.lib.darwinSystem {
2023-11-25 16:13:20 +05:30
inherit system;
2024-10-22 18:53:09 +05:30
specialArgs = {
inherit inputs pkgs-stable;
};
2023-11-25 16:13:20 +05:30
modules = [
./configuration.nix
2024-01-31 16:00:03 +05:30
./homebrew.nix
2025-01-21 14:38:47 +05:30
lix-module.nixosModules.default
2023-11-25 16:13:20 +05:30
home-manager.darwinModules.home-manager
2025-02-17 13:33:32 +05:30
nix-index-database.darwinModules.nix-index
2023-11-25 16:13:20 +05:30
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2024-05-02 19:05:26 +05:30
home-manager.backupFileExtension = "backup";
2023-11-25 16:13:20 +05:30
home-manager.users.abhinav = import ./home.nix;
2024-10-22 18:53:09 +05:30
home-manager.extraSpecialArgs = {
flake.lock: Update Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/5f6aa268e419d053c3d5025da740e390b12ac936?narHash=sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg%3D' (2025-01-01) → 'github:nix-community/home-manager/fc52a210b60f2f52c74eac41a8647c1573d2071d?narHash=sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m%2BYq%2B%2BC9AyE%3D' (2025-01-13) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/53a0c2fe6ed46ab33fc4a221c9f907a7b4c8a91c?narHash=sha256-rTpBl3xmKYDQTRWF8CRk/r1FoKPDVwqLHGoU7tfECvY%3D' (2024-12-28) → 'github:LnL7/nix-darwin/6ace2f2d12bdf74235d5cbf9fbd34a71c9716685?narHash=sha256-mG9lRZBcPiAGiVJ9B97BJoIGQcSBWIVlBiN30QYCtG0%3D' (2025-01-11) • Updated input 'nix-vscode-extensions': 'github:nix-community/nix-vscode-extensions/adf374ae7e5237a3aa03e88503644732ea15045d?narHash=sha256-UMLwX1WiR2cjJndlKHm4WXQ8fBKJPMMSUsk%2BYjsjTl8%3D' (2024-12-29) → 'github:nix-community/nix-vscode-extensions/44474e2ca975af013f1594abd6c922f2c8dba022?narHash=sha256-6232F8et5z7XTxK0RuX6bocT6yYGJhlmlHbFdZuHcP0%3D' (2025-01-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/69b9a8c860bdbb977adfa9c5e817ccb717884182?narHash=sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy%2B8eSckoo%3D' (2024-12-31) → 'github:nixos/nixpkgs/ef56e777fedaa4da8c66a150081523c5de1e0171?narHash=sha256-a3MMEY7i/wdF0gb7WFNTn6onzaiMOvwj7OerRVenA8o%3D' (2025-01-13) • Updated input 'nixpkgs-stable': 'github:nixos/nixpkgs/42f30f55ec9d396b67c456683b4409cd7d07fc7b?narHash=sha256-YJwQfdSFep6IFrhZGEjug/HuCauGntDAesjCS5mxTis%3D' (2024-12-25) → 'github:nixos/nixpkgs/1e7a8f391f1a490460760065fa0630b5520f9cf8?narHash=sha256-HB/FA0%2B1gpSs8%2B/boEavrGJH%2BEq08/R2wWNph1sM1Dg%3D' (2024-12-30)
2025-01-13 22:36:24 +05:30
inherit inputs pkgs-stable pkgs-ghostty;
2025-03-14 15:47:39 +05:30
nixd = inputs.nixd.packages.${system}.nixd;
2024-10-22 18:53:09 +05:30
};
2023-11-25 16:13:20 +05:30
}
2025-02-17 13:33:32 +05:30
{ programs.nix-index-database.comma.enable = true; }
2023-11-25 16:13:20 +05:30
];
};
devShells.${system}.default = pkgs.mkShell {
2024-10-22 18:53:09 +05:30
buildInputs = with pkgs; [
(import home-manager { inherit pkgs; }).home-manager
just
2024-11-23 22:49:32 +05:30
nix-output-monitor
nvd
2024-10-22 18:53:09 +05:30
];
shellHook = ''
2023-11-25 16:13:20 +05:30
export NIXPKGS_PATH=${pkgs.path};
'';
};
};
}