Merge integration branch with darwin support
Amp-Thread-ID: https://ampcode.com/threads/T-0748e36c-aff2-4360-bbfe-f185d2e11209 Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -38,6 +38,33 @@
|
||||
# Matrix
|
||||
nix-matrix-appservices.url = "gitlab:coffeetables/nix-matrix-appservices";
|
||||
|
||||
# Darwin
|
||||
darwin = {
|
||||
url = "github:LnL7/nix-darwin/nix-darwin-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-homebrew = {
|
||||
url = "github:zhaofengli-wip/nix-homebrew";
|
||||
};
|
||||
homebrew-bundle = {
|
||||
url = "github:homebrew/homebrew-bundle";
|
||||
flake = false;
|
||||
};
|
||||
homebrew-core = {
|
||||
url = "github:homebrew/homebrew-core";
|
||||
flake = false;
|
||||
};
|
||||
homebrew-cask = {
|
||||
url = "github:homebrew/homebrew-cask";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
# Steam Deck / Gaming
|
||||
jovian = {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "unstable";
|
||||
};
|
||||
|
||||
# Others
|
||||
nur.url = "github:nix-community/NUR";
|
||||
rust-overlay = {
|
||||
@@ -61,7 +88,8 @@
|
||||
|
||||
outputs = { self, nixpkgs, unstable, nixos-hardware, home-manager, deploy-rs
|
||||
, agenix, disko, basant, grasp, nix-matrix-appservices, nur, tidalcycles
|
||||
, rust-overlay, vimwikicli, autohide-tdrop, ... }@inputs:
|
||||
, rust-overlay, vimwikicli, autohide-tdrop, darwin, nix-homebrew, homebrew-bundle
|
||||
, homebrew-core, homebrew-cask, jovian, ... }@inputs:
|
||||
let
|
||||
forAllSystems = nixpkgs.lib.genAttrs [
|
||||
"aarch64-linux"
|
||||
@@ -124,6 +152,65 @@
|
||||
tidalcycles.overlays.default # needed for nvim which comes pre-installed lol
|
||||
];
|
||||
});
|
||||
|
||||
# Package set for Darwin systems
|
||||
darwinPkgsFor = forAllSystems (system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
allowUnfreePredicate = pkg:
|
||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||
"ripcord"
|
||||
"vcv-rack"
|
||||
"SunVox"
|
||||
"renoise"
|
||||
];
|
||||
};
|
||||
overlays = [
|
||||
rust-overlay.overlays.default
|
||||
tidalcycles.overlays.default
|
||||
agenix.overlays.default
|
||||
nur.overlay
|
||||
unstableOverlay
|
||||
vimwikiOverlay
|
||||
self.overlays.additions
|
||||
self.overlays.modifications
|
||||
];
|
||||
});
|
||||
|
||||
# Package set for Steam Deck (gaming-focused)
|
||||
deckPkgsFor = forAllSystems (system:
|
||||
import unstable {
|
||||
inherit system;
|
||||
config = {
|
||||
permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
allowUnfreePredicate = pkg:
|
||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||
"ripcord"
|
||||
"vcv-rack"
|
||||
"SunVox"
|
||||
"renoise"
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-runtime"
|
||||
];
|
||||
};
|
||||
overlays = [
|
||||
rust-overlay.overlays.default
|
||||
tidalcycles.overlays.default
|
||||
agenix.overlays.default
|
||||
nur.overlay
|
||||
unstableOverlay
|
||||
vimwikiOverlay
|
||||
self.overlays.additions
|
||||
self.overlays.modifications
|
||||
];
|
||||
});
|
||||
in {
|
||||
# Your custom packages
|
||||
# Acessible through 'nix build', 'nix shell', etc
|
||||
@@ -230,6 +317,48 @@
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
deck = unstable.lib.nixosSystem rec {
|
||||
specialArgs = { inherit inputs self; };
|
||||
system = "x86_64-linux";
|
||||
pkgs = deckPkgsFor.${system};
|
||||
modules = [
|
||||
./hosts/deck
|
||||
jovian.nixosModules.default
|
||||
self.nixosModules.wireguard
|
||||
agenix.nixosModules.age
|
||||
self.nixosModules.backup
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
nix.registry.nixpkgs.flake = unstable;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.anish = import ./home/gui;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Darwin configuration entrypoint
|
||||
darwinConfigurations = {
|
||||
"Anishs-MacBook-Pro" = darwin.lib.darwinSystem rec {
|
||||
system = "aarch64-darwin";
|
||||
pkgs = darwinPkgsFor.${system};
|
||||
specialArgs = { inherit inputs self; };
|
||||
modules = [
|
||||
./hosts/darwin
|
||||
home-manager.darwinModules.home-manager
|
||||
agenix.darwinModules.default
|
||||
{
|
||||
users.users.anishlakhwara.home = "/Users/anishlakhwara";
|
||||
home-manager = {
|
||||
users.anishlakhwara = import ./home/darwin;
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Standalone home-manager configuration entrypoint
|
||||
|
||||
Reference in New Issue
Block a user