Compare commits

..
3 Commits
Author SHA1 Message Date
Olaf f923fb7717 emacs Sha 2026-09-16 14:23:19 +02:00
kolkman 969e5e5dd3 excluded nightsky on x86 2026-09-15 20:55:37 +02:00
kolkman 3e6a7391df Architecture split. 2026-09-15 20:46:52 +02:00
3 changed files with 75 additions and 28 deletions
+71 -26
View File
@@ -2,23 +2,36 @@
description = "Starter configuration for macOS with nix-darwin";
inputs = {
nixpkgs = {
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgsAarch64 = {
url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
home-manager = {
nixpkgsX86 = {
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
};
homeManagerAarch64 = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgsAarch64";
};
homeManagerX86 = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgsX86";
};
nixd = {
url = "github:nix-community/nixd";
};
darwin = {
# url = "github:nix-darwin/nix-darwin";
darwinAarch64 = {
url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgsAarch64";
};
darwinX86 = {
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgsX86";
};
brew-src = {
@@ -43,7 +56,7 @@
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgsAarch64";
};
nix-vscode-extensions = {
@@ -67,12 +80,15 @@
outputs =
{
self,
darwin,
darwinAarch64,
darwinX86,
nix-homebrew,
homebrew-core,
homebrew-cask,
home-manager,
nixpkgs,
homeManagerAarch64,
homeManagerX86,
nixpkgsAarch64,
nixpkgsX86,
nixd,
sops-nix,
nix-vscode-extensions,
@@ -82,17 +98,33 @@
}@inputs:
let
user = "olaf";
lib = nixpkgsAarch64.lib;
darwinSystems = [
"aarch64-darwin"
"x86_64-darwin"
];
forAllSystems = f: nixpkgs.lib.genAttrs darwinSystems f;
perSystem = {
aarch64-darwin = {
nixpkgs = nixpkgsAarch64;
darwin = darwinAarch64;
home-manager = homeManagerAarch64;
pkgs = nixpkgsAarch64.legacyPackages.aarch64-darwin;
};
x86_64-darwin = {
nixpkgs = nixpkgsX86;
darwin = darwinX86;
home-manager = homeManagerX86;
pkgs = nixpkgsX86.legacyPackages.x86_64-darwin;
};
};
forAllSystems = f: lib.genAttrs darwinSystems f;
devShell =
system:
let
pkgs = nixpkgs.legacyPackages.${system};
pkgs = perSystem.${system}.pkgs;
in
{
default =
@@ -125,18 +157,23 @@
};
};
mkApp = scriptName: system: {
type = "app";
program = "${
(nixpkgs.legacyPackages.${system}.writeScriptBin scriptName ''
mkApp =
scriptName: system:
let
pkgs = perSystem.${system}.pkgs;
in
{
type = "app";
program = "${
(pkgs.writeScriptBin scriptName ''
#!/usr/bin/env bash
PATH=${nixpkgs.legacyPackages.${system}.git}/bin:$PATH
PATH=${pkgs.git}/bin:$PATH
echo "Running ${scriptName} for ${system}"
sudo chmod +x ${self}/apps/${system}/${scriptName}
exec ${self}/apps/${system}/${scriptName}
'')
}/bin/${scriptName}";
};
}/bin/${scriptName}";
};
mkDarwinApps = system: {
"apply" = mkApp "apply" system;
@@ -147,15 +184,23 @@
in
{
devShells = forAllSystems devShell;
apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
apps = lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
darwinConfigurations = lib.genAttrs darwinSystems (
system:
darwin.lib.darwinSystem {
let
systemConfig = perSystem.${system};
in
systemConfig.darwin.lib.darwinSystem {
inherit system;
specialArgs = inputs // { inherit system; };
specialArgs = inputs // {
inherit system;
nixpkgs = systemConfig.nixpkgs;
darwin = systemConfig.darwin;
home-manager = systemConfig.home-manager;
};
modules = [
home-manager.darwinModules.home-manager
systemConfig.home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
{
nix-homebrew = {
@@ -170,7 +215,7 @@
};
home-manager.sharedModules =
nixpkgs.lib.optionals (system != "x86_64-darwin") [
lib.optionals (system != "x86_64-darwin") [
catppuccin.homeModules.catppuccin
];
}
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:
let
emacsOverlaySha256 = "1abfqnjs3ysmg8k41hwncwzphkcw9884sskmfp2kj24cd9j7kpsz";
emacsOverlaySha256 = "0h15850dpx3p2jr5g4nv0gir0w9dgml1mqzc5yq8686y246r33br";
in
{
home-manager.backupFileExtension = "nix-backup";
+3 -1
View File
@@ -68,7 +68,6 @@ in
"LibreOffice" = 1630474372;
"Monal - XMPP Chatting " = 1637078500;
"MQTT Explorer" = 1455214828; # (0.3.5)
"Night Sky" = 475772902; # 475772902
"Native SQLite Manager" = 1416282836; # (1.31.0)
"Remarkable Desktop" = 1276493162; # (3.19.0)
"Slack for Desktop" = 803453959; # (4.45.60)
@@ -76,6 +75,9 @@ in
"Windows App Installer" = 1295203466; # (1.0.16)
"Wireguard" = 1451685025; # (1.0.16)
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
}
// lib.optionalAttrs (system != "x86_64-darwin") {
"Night Sky" = 475772902; # 475772902
};
};