Compare commits
1
Commits
45bf546b85
...
brew.nix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d42bfdf15 |
@@ -53,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 = {
|
||||||
@@ -75,6 +83,8 @@
|
|||||||
nix-vscode-extensions,
|
nix-vscode-extensions,
|
||||||
catppuccin,
|
catppuccin,
|
||||||
llm-agents,
|
llm-agents,
|
||||||
|
brew-api,
|
||||||
|
brew-nix,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
@@ -105,7 +115,7 @@
|
|||||||
export EDITOR=vim
|
export EDITOR=vim
|
||||||
'';
|
'';
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
rnix-lsp
|
bash
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -134,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:
|
||||||
@@ -144,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
|
||||||
@@ -171,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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+77
-68
@@ -1,80 +1,89 @@
|
|||||||
_:
|
{ pkgs }:
|
||||||
|
let
|
||||||
|
casks = pkgs.brewCasks;
|
||||||
|
|
||||||
|
# the override to replace the package’s 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"
|
||||||
|
|
||||||
# Creative 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
|
|
||||||
"tigervnc"
|
|
||||||
# "virtualbox" # build error?
|
|
||||||
"copilot-cli"
|
|
||||||
|
|
||||||
# Browsers
|
# Browsers
|
||||||
"brave-browser"
|
casks."brave-browser"
|
||||||
"firefox"
|
casks.firefox
|
||||||
"google-chrome"
|
casks."google-chrome"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# x11
|
# X11
|
||||||
"xquartz"
|
casks.xquartz
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user