3 Commits
Author SHA1 Message Date
Olaf 9d42bfdf15 Trying to use brew-nix - still to much broken 2026-07-30 16:04:47 +02:00
Olaf 45bf546b85 Fixed brew inconstistency andded tigervnc 2026-07-30 14:32:13 +02:00
Olaf c260e93db8 emacs hash 2026-07-30 12:00:52 +02:00
5 changed files with 139 additions and 160 deletions
+21 -36
View File
@@ -16,8 +16,13 @@
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05"; url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
brew-src = {
url = "github:Homebrew/brew/master";
flake = false;
};
nix-homebrew = { nix-homebrew = {
url = "github:zhaofengli-wip/nix-homebrew"; url = "github:zhaofengli-wip/nix-homebrew";
inputs.brew-src.follows = "brew-src";
}; };
homebrew-bundle = { homebrew-bundle = {
url = "github:homebrew/homebrew-bundle"; url = "github:homebrew/homebrew-bundle";
@@ -48,6 +53,14 @@
llm-agents = { llm-agents = {
url = "github:numtide/llm-agents.nix"; url = "github:numtide/llm-agents.nix";
}; };
brew-api = {
url = "github:BatteredBunny/brew-api";
flake = false;
};
brew-nix = {
url = "github:BatteredBunny/brew-nix";
inputs.brew-api.follows = "brew-api";
};
# mac-app-util doesn't work with OCLP installed on X86 # mac-app-util doesn't work with OCLP installed on X86
# mac-app-util = { # mac-app-util = {
@@ -70,6 +83,8 @@
nix-vscode-extensions, nix-vscode-extensions,
catppuccin, catppuccin,
llm-agents, llm-agents,
brew-api,
brew-nix,
... ...
}@inputs: }@inputs:
let let
@@ -100,7 +115,7 @@
export EDITOR=vim export EDITOR=vim
''; '';
buildInputs = with pkgs; [ buildInputs = with pkgs; [
rnix-lsp bash
]; ];
}; };
}; };
@@ -129,9 +144,8 @@
}; };
in in
{ {
devShells = forAllSystems devShell; devShells = nixpkgs.lib.genAttrs darwinSystems devShell;
apps = apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
nixpkgs.lib.genAttrs linuxSystems mkLinuxApps // nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems ( darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
system: system:
@@ -139,22 +153,12 @@
inherit system; inherit system;
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [
brew-nix.darwinModules.default
# sops-nix.nixosModules.sops # sops-nix.nixosModules.sops
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
# mac-app-util.darwinModules.default # mac-app-util.darwinModules.default
{ {
nix-homebrew = { brew-nix.enable = true;
inherit user;
enable = true;
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-bundle" = homebrew-bundle;
};
mutableTaps = false;
autoMigrate = true;
};
home-manager.sharedModules = [ home-manager.sharedModules = [
# mac-app-util.homeManagerModules.default # mac-app-util.homeManagerModules.default
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
@@ -166,25 +170,6 @@
} }
); );
nixosConfigurations = nixpkgs.lib.genAttrs linuxSystems ( nixosConfigurations = { };
system:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = inputs;
modules = [
sops-nix.nixosModules.sops
disko.nixosModules.disko
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${user} = import ./modules/nixos/home-manager.nix;
};
}
./hosts/nixos
];
}
);
}; };
} }
+78 -68
View File
@@ -1,79 +1,89 @@
_: { pkgs }:
let
casks = pkgs.brewCasks;
# the override to replace the packages source fetch itself rather than just changing a downstream hash field
overrideCaskWithHash = name: hash:
casks.${name}.overrideAttrs (oldAttrs: {
src = pkgs.fetchurl {
url = builtins.head oldAttrs.src.urls;
hash = hash;
};
});
overriddenCasks = {
"box-tools" = overrideCaskWithHash "box-tools" "sha256-e7QZ/mWye86d7GDSgD+CtHDLCp/odiFwDcdg7/qxqKc=";
daisydisk = overrideCaskWithHash "daisydisk" "sha256-Re9GOfK03Gogb4Ep1itUJm60L94qvGfXgjqpLg8GQlc=";
keybase = overrideCaskWithHash "keybase" "sha256-CnFlLeU/BIhiUYebtRpUjJWE0QrsdZsiiZGzRUi31zg=";
};
in
[ [
# Development Tools # Development tools
"arduino-ide" casks.arduino-ide
"homebrew/cask/docker-desktop" casks."docker-desktop"
"iterm2" casks.iterm2
"oracle-jdk" casks.oracle-jdk
"visual-studio-code" casks."visual-studio-code"
# Creatative tools # Creative tools
"blender" casks.blender
"gimp" casks.gimp
"inkscape" casks.inkscape
"vcv-rack" casks."vcv-rack"
#"affinity-designer"
#"affinity-photo"
#"affinity-publisher"
# Communication Tools # Communication tools
"adium" casks.adium
"discord" casks.discord
"signal" casks.signal
"webex" casks.webex
"whatsapp" casks.whatsapp
"zoom" casks.zoom
# Utility tools
# These casks currently fail during Homebrew download/build in this environment.
# casks."blackhole-16ch"
# casks."blackhole-2ch"
casks."box-drive"
# box-tools currently fails during unpack/install in this environment.
# overriddenCasks."box-tools"
# daisydisk currently fails with an upstream hash mismatch in this environment.
# overriddenCasks.daisydisk
# casks."karabiner-elements"
overriddenCasks.keybase
(overrideCaskWithHash "smartsheet" "sha256-ShCJAKDWMWy++3IC00YdyABvsmLW6DrpvJABAkFQXOA=")
casks.spamsieve
casks."syncthing-app"
casks."synology-drive"
# Utility Tools # Entertainment tools
casks.qobuz
casks.steam
casks."handbrake-app"
casks."jellyfin-media-player"
casks.mediaelch
casks.obs
casks."vimediamanager"
casks.vlc
"blackhole-16ch" # Productivity tools
"blackhole-2ch" casks."1password"
"box-drive" casks.bitwarden
"box-tools" casks.calibre
"daisydisk" casks."dbeaver-community"
"karabiner-elements" casks.element
"keybase" casks."gpg-suite"
"spamsieve" casks."macdown-3000"
"syncthing-app" casks.mailmate
"synology-drive" casks.orcaslicer
casks.remanager
# Entertainment Tools casks."qmk-toolbox"
"qobuz" casks.smartsheet
"steam" casks."copilot-cli"
"handbrake-app"
"jellyfin-media-player"
"mediaelch"
"obs"
"vimediamanager"
"vlc"
# Productivity Tools
"1Password"
"bitwarden"
"calibre"
"dbeaver-community"
"element"
"gpg-suite"
"macdown-3000"
"mailmate"
"orcaslicer"
"remanager"
"qmk-toolbox"
"smartsheet"
"spamsieve"
# "sqlitestudio" # Doesn't work without Rosetta
# "virtualbox" # build error?
"copilot-cli"
# Browsers # Browsers
"brave-browser" casks."brave-browser"
"firefox" casks.firefox
"google-chrome" casks."google-chrome"
# X11
casks.xquartz
# x11
"xquartz"
] ]
+4 -41
View File
@@ -9,6 +9,7 @@
let let
user = "olaf"; user = "olaf";
casks = import ./casks.nix { inherit pkgs; };
# Define the content of your file as a derivation # Define the content of your file as a derivation
myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" '' myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" ''
#!/bin/sh #!/bin/sh
@@ -32,49 +33,11 @@ in
}; };
homebrew = { homebrew = {
enable = true; enable = false;
casks = pkgs.callPackage ./casks.nix { };
onActivation = {
cleanup = "uninstall";
autoUpdate = true;
upgrade = true;
};
# These app IDs are from using the mas CLI app
# mas = mac app store
# https://github.com/mas-cli/mas
#
# $ nix shell nixpkgs#mas
# $ mas search <app name>
#
# If you have previously added these apps to your Mac App Store profile (but not installed them on this system),
# you may receive an error message "Redownload Unavailable with This Apple ID".
# This message is safe to ignore. (https://github.com/dustinlyons/nixos-config/issues/83)
masApps = {
"1Password for Safari" = 1569813296; # (8.10.82)
"Affinity Designer 2" = 1616831348;
"Affinity Photo 2: Image Editor" = 1616822987;
"Affinity Publisher 2" = 1606941598;
# "DaisyDisk" = 411643860; # (4.32) # Don't use this, we need the official version that is not sandboxed
"Fantastical - Calendar" = 975937182;
" Fedistar" = 6445863996; # (1.13.1)
"Home Assistant" = 1099568401; # (2025.7.1)
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
"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)
"WiFi Explorer: Scanner" = 494803304; # (3.5.6)
"Wireguard" = 1451685025; # (1.0.16)
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
};
}; };
environment.systemPackages = casks;
# Enable home-manager # Enable home-manager
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
+35 -14
View File
@@ -11,21 +11,42 @@ let
shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; }; shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; };
shared-files = import ../shared/files.nix { inherit config pkgs; }; shared-files = import ../shared/files.nix { inherit config pkgs; };
polybar-user_modules = builtins.readFile ( polybar-user_modules = builtins.replaceStrings
pkgs.replaceVars { [
src = ./config/polybar/user_modules.ini; "@packages@"
packages = "${xdg_configHome}/polybar/bin/check-nixos-updates.sh"; "@searchpkgs@"
searchpkgs = "${xdg_configHome}/polybar/bin/search-nixos-updates.sh"; "@launcher@"
launcher = "${xdg_configHome}/polybar/bin/launcher.sh"; "@powermenu@"
powermenu = "${xdg_configHome}/rofi/bin/powermenu.sh"; "@calendar@"
calendar = "${xdg_configHome}/polybar/bin/popup-calendar.sh"; ]
} [
); "${xdg_configHome}/polybar/bin/check-nixos-updates.sh"
"${xdg_configHome}/polybar/bin/search-nixos-updates.sh"
"${xdg_configHome}/polybar/bin/launcher.sh"
"${xdg_configHome}/rofi/bin/powermenu.sh"
"${xdg_configHome}/polybar/bin/popup-calendar.sh"
]
(builtins.readFile ./config/polybar/user_modules.ini);
polybar-config = pkgs.replaceVars { polybar-config = {
src = ./config/polybar/config.ini; "global/wm" = {
font0 = "DejaVu Sans:size=12;3"; margin-bottom = 0;
font1 = "feather:size=12;3"; # from overlay margin-top = 0;
};
"bar/main" = {
width = "98%";
height = 40;
background = "#000000";
foreground = "#ffffff";
font-0 = "DejaVu Sans:size=12;3";
font-1 = "feather:size=12;3";
modules-left = "launcher workspaces";
modules-center = "date popup-calendar";
modules-right = "pulseaudio memory cpu updates sysmenu";
};
settings = {
screenchange-reload = false;
};
}; };
polybar-modules = builtins.readFile ./config/polybar/modules.ini; polybar-modules = builtins.readFile ./config/polybar/modules.ini;
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
emacsOverlaySha256 = "10fa9g1hrm9siwmdpira1nyxwbdsqmsyacbjvlz62js12z2y7yfb"; emacsOverlaySha256 = "0pqnl05j86pyvrlqh5kk4sximi749xqgiffq47grw7v98nqd2yin";
in in
{ {