finally set up some of nix-darwin
This commit is contained in:
209
flake.lock
generated
209
flake.lock
generated
@@ -33,6 +33,23 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"brew-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751910772,
|
||||
"narHash": "sha256-jQNdIkq2iRDNWskd5f8kX6q9BO/CBSXhMH41WNRft8E=",
|
||||
"owner": "Homebrew",
|
||||
"repo": "brew",
|
||||
"rev": "700d67a85e0129ab8a893ff69246943479e33df1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Homebrew",
|
||||
"ref": "4.5.9",
|
||||
"repo": "brew",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1731098351,
|
||||
@@ -185,6 +202,25 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"desktop-nix-vscode-extensions": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752373577,
|
||||
"narHash": "sha256-5ipIQ1dp4qLfgVOBRU3NqnESjF6CqD/HQVYlEXC4P0s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "b8780c4b346250b6e86a7127dbe5e43a4bb394eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"desktop-nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1750837715,
|
||||
@@ -497,6 +533,24 @@
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"nas-authentik-nix",
|
||||
@@ -517,9 +571,9 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -534,9 +588,9 @@
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -552,9 +606,9 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -678,6 +732,38 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"homebrew-cask": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1752451414,
|
||||
"narHash": "sha256-XNUBW6GZOWG8kJrju3MIf5GCbNhUA24rArCS/IIkpEE=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"rev": "68607571486a0c82a71e0a4c8c8ce8de77164522",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"homebrew-core": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1752438625,
|
||||
"narHash": "sha256-oKbf2JYEevxOJ55+z9t1R1mZDPAA4o3QWKGqgLfambk=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"rev": "dd264970344897aa005931dec441fa46cbaf0b2c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
@@ -760,7 +846,7 @@
|
||||
"mac-nixos-apple-silicon": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751622568,
|
||||
@@ -843,14 +929,14 @@
|
||||
"authentik-src": "authentik-src",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"napalm": "napalm",
|
||||
"nixpkgs": [
|
||||
"nas-nixpkgs"
|
||||
],
|
||||
"pyproject-build-systems": "pyproject-build-systems",
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
"systems": "systems",
|
||||
"systems": "systems_2",
|
||||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
@@ -892,7 +978,7 @@
|
||||
},
|
||||
"nas-crowdsec": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nas-nixpkgs"
|
||||
]
|
||||
@@ -974,8 +1060,8 @@
|
||||
},
|
||||
"nas-nix-vscode-extensions": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749002682,
|
||||
@@ -993,8 +1079,8 @@
|
||||
},
|
||||
"nas-nixai": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749000216,
|
||||
@@ -1166,6 +1252,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-homebrew": {
|
||||
"inputs": {
|
||||
"brew-src": "brew-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752160973,
|
||||
"narHash": "sha256-BCC8KB7TEtwv7vZN1WDu870tRbXtzUcmF9xNr6ws5Wc=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-homebrew",
|
||||
"rev": "69c1aa2f136f3c3326d9b6770e0eb54f12832971",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-homebrew",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-images": {
|
||||
"inputs": {
|
||||
"nixos-stable": [
|
||||
@@ -1196,7 +1300,7 @@
|
||||
"inputs": {
|
||||
"argononed": "argononed",
|
||||
"nixos-images": "nixos-images",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749156319,
|
||||
@@ -1372,6 +1476,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1748460289,
|
||||
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
||||
@@ -1387,7 +1507,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
@@ -1403,7 +1523,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1748693115,
|
||||
"narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=",
|
||||
@@ -1419,7 +1539,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1748882666,
|
||||
"narHash": "sha256-z2uanxifOXGEqdiprquIGZu0XaRYih3FHXDQwLc1xis=",
|
||||
@@ -1435,7 +1555,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
@@ -1828,10 +1948,13 @@
|
||||
"desktop-home-manager": "desktop-home-manager",
|
||||
"desktop-impermanence": "desktop-impermanence",
|
||||
"desktop-lanzaboote": "desktop-lanzaboote",
|
||||
"desktop-nix-vscode-extensions": "desktop-nix-vscode-extensions",
|
||||
"desktop-nixos-hardware": "desktop-nixos-hardware",
|
||||
"desktop-nixpkgs": "desktop-nixpkgs",
|
||||
"desktop-sops-nix": "desktop-sops-nix",
|
||||
"desktop-steam-rom-manager": "desktop-steam-rom-manager",
|
||||
"homebrew-cask": "homebrew-cask",
|
||||
"homebrew-core": "homebrew-core",
|
||||
"mac-home-manager": "mac-home-manager",
|
||||
"mac-impermanence": "mac-impermanence",
|
||||
"mac-nixos-apple-silicon": "mac-nixos-apple-silicon",
|
||||
@@ -1850,6 +1973,7 @@
|
||||
"nas-nixpkgs-stable": "nas-nixpkgs-stable",
|
||||
"nas-sops-nix": "nas-sops-nix",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-homebrew": "nix-homebrew",
|
||||
"nixos-raspberrypi": "nixos-raspberrypi",
|
||||
"nixpkgs-stable": "nixpkgs-stable_5",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
@@ -2051,7 +2175,7 @@
|
||||
"flake-schemas": "flake-schemas_2",
|
||||
"home-manager": "home-manager_2",
|
||||
"jovian": "jovian_2",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"rust-overlay": "rust-overlay_7"
|
||||
},
|
||||
"locked": {
|
||||
@@ -2248,21 +2372,6 @@
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@@ -2277,6 +2386,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -2307,6 +2431,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
||||
30
flake.nix
30
flake.nix
@@ -58,6 +58,8 @@
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
desktop-nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||||
|
||||
#####################################################
|
||||
# NAS #
|
||||
#####################################################
|
||||
@@ -278,6 +280,17 @@
|
||||
url = "github:LnL7/nix-darwin";
|
||||
inputs.nixpkgs.follows = "desktop-nixpkgs";
|
||||
};
|
||||
|
||||
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
||||
|
||||
homebrew-core = {
|
||||
url = "github:homebrew/homebrew-core";
|
||||
flake = false;
|
||||
};
|
||||
homebrew-cask = {
|
||||
url = "github:homebrew/homebrew-cask";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
#####################################################
|
||||
# Macbook Nix #
|
||||
@@ -336,6 +349,7 @@
|
||||
desktop-sops-nix,
|
||||
desktop-steam-rom-manager,
|
||||
desktop-cosmic,
|
||||
desktop-nix-vscode-extensions,
|
||||
|
||||
# NAS
|
||||
nas-nixpkgs,
|
||||
@@ -384,6 +398,9 @@
|
||||
|
||||
# MacBook
|
||||
nix-darwin,
|
||||
nix-homebrew,
|
||||
homebrew-core,
|
||||
homebrew-cask,
|
||||
|
||||
# MacBook Nix
|
||||
mac-nixpkgs,
|
||||
@@ -795,14 +812,27 @@
|
||||
darwinConfigurations = {
|
||||
"MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
specialArgs = {
|
||||
inherit inputs outputs;
|
||||
};
|
||||
modules = [
|
||||
./hosts/mac/configuration.nix
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
desktop-home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.mattjallen = import ./hosts/mac/home.nix;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
(
|
||||
{ ... }:
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
desktop-nix-vscode-extensions.overlays.default
|
||||
];
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,76 +1,24 @@
|
||||
{ pkgs, ... }:
|
||||
{ config, inputs, pkgs, ... }:
|
||||
{
|
||||
#nix run nix-darwin -- switch --flake ~/nix-config
|
||||
imports = [
|
||||
./nix.nix
|
||||
./homebrew.nix
|
||||
./programs.nix
|
||||
./system.nix
|
||||
];
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
asitop
|
||||
mas
|
||||
python3
|
||||
python3Packages.beautifulsoup4
|
||||
python3Packages.requests
|
||||
python3Packages.selenium
|
||||
vim
|
||||
];
|
||||
|
||||
# Homebrew
|
||||
homebrew.enable = true;
|
||||
homebrew.casks = [
|
||||
"spotify"
|
||||
"protonvpn"
|
||||
"omnissa-horizon-client"
|
||||
"tg-pro"
|
||||
"steam"
|
||||
"orcaslicer"
|
||||
"vscodium"
|
||||
"epic-games"
|
||||
"wine-stable"
|
||||
"scroll-reverser"
|
||||
];
|
||||
|
||||
homebrew.masApps = {
|
||||
Tailscale = 1475387142;
|
||||
Infuse = 1136220934;
|
||||
Amphetamine = 937984704;
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
asitop
|
||||
mas
|
||||
nh
|
||||
];
|
||||
};
|
||||
# homebrew.global.autoUpdate = true;
|
||||
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
# services.nix-daemon.enable = true;
|
||||
# nix.package = pkgs.nix;
|
||||
|
||||
# Necessary for using flakes on this system.
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
|
||||
# Allow unfree
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
|
||||
system = {
|
||||
defaults = {
|
||||
trackpad.Clicking = true;
|
||||
dock.autohide = false;
|
||||
|
||||
NSGlobalDomain = {
|
||||
AppleInterfaceStyle = "Dark";
|
||||
"com.apple.mouse.tapBehavior" = 1;
|
||||
"com.apple.keyboard.fnState" = false;
|
||||
};
|
||||
};
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
stateVersion = 5;
|
||||
};
|
||||
|
||||
# The platform the configuration will be used on.
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
users.users.mattjallen = {
|
||||
name = "mattjallen";
|
||||
home = "/Users/mattjallen";
|
||||
|
||||
@@ -1,111 +1,59 @@
|
||||
{ ... }:
|
||||
{ lib, pkgs, home, ... }:
|
||||
let
|
||||
shellAliases = {
|
||||
update-switch = "darwin-rebuild switch --flake ~/nix-config";
|
||||
update-flake = "nix flake update ~/nix-config";
|
||||
ducks = "du -cksh * | sort -hr | head -n 15";
|
||||
};
|
||||
|
||||
gitAliases = {
|
||||
co = "checkout";
|
||||
ci = "commit";
|
||||
cia = "commit --amend";
|
||||
s = "status";
|
||||
st = "status";
|
||||
b = "branch";
|
||||
p = "pull --rebase";
|
||||
pu = "push";
|
||||
};
|
||||
packages = with pkgs; [
|
||||
age
|
||||
cpufetch
|
||||
deadnix
|
||||
direnv
|
||||
nixfmt-rfc-style
|
||||
sops
|
||||
tree
|
||||
wget
|
||||
];
|
||||
in
|
||||
{
|
||||
imports = [ ./trampoline-apps ];
|
||||
imports = [
|
||||
../../modules/home/defaults.nix
|
||||
../../modules/home/git.nix
|
||||
../../modules/home/shell.nix
|
||||
../../modules/home/vscode.nix
|
||||
];
|
||||
# Home Manager needs a bit of information about you and the
|
||||
# paths it should manage.
|
||||
home.username = "mattjallen";
|
||||
home.homeDirectory = "/Users/mattjallen";
|
||||
|
||||
# This value determines the Home Manager release that your
|
||||
# configuration is compatible with. This helps avoid breakage
|
||||
# when a new Home Manager release introduces backwards
|
||||
# incompatible changes.
|
||||
#
|
||||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
programs = {
|
||||
# Let Home Manager install and manage itself.
|
||||
home-manager = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
vscode = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
btop.enable = true;
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
shellAliases = shellAliases;
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" ];
|
||||
theme = "fishy";
|
||||
};
|
||||
};
|
||||
|
||||
librewolf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"identity.fxaccounts.enabled" = true; # Enable Firefox Accounts
|
||||
"privacy.clearOnShutdown.history" = false; # Disable clearing history on shutdown
|
||||
"privacy.clearOnShutdown.downloads" = false; # Disable clearing downloads on shutdown
|
||||
"privacy.clearOnShutdown.cache" = false; # Disable clearing cache on shutdown
|
||||
"privacy.clearOnShutdown.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown
|
||||
"privacy.clearOnShutdown.cookies" = false; # Disable clearing cookies on shutdown
|
||||
"privacy.clearOnShutdown_v2.cache" = false; # Disable clearing cache on shutdown
|
||||
"privacy.clearOnShutdown_v2.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown
|
||||
"privacy.clearOnShutdown.formdata" = false; # Disable clearing form data on shutdown
|
||||
"privacy.clearOnShutdown.offlineApps" = false; # Disable clearing offline apps on shutdown
|
||||
"privacy.clearHistory.cache" = false; # Disable clearing cache on history clear
|
||||
"privacy.clearHistory.cookiesAndStorage" = false; # Disable clearing cookies on history clear
|
||||
"privacy.clearHistory.historyFormDataAndDownloads" = false; # Disable clearing history, form data, and downloads on history clear
|
||||
"privacy.clearHistory.browsingHistoryAndDownloads" = false; # Disable clearing browsing history and downloads on history clear
|
||||
"privacy.clearSiteData.cache" = false; # Disable clearing cache on site data clear
|
||||
"privacy.clearSiteData.cookiesAndStorage" = false; # Disable clearing cookies on site data clear
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.cache" = true; # Enable syncing cache clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = true; # Enable syncing cookies clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.downloads" = true; # Enable syncing downloads clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.formdata" = true; # Enable syncing form data clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.history" = true; # Enable syncing history clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps" = true; # Enable syncing offline apps clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.sessions" = true; # Enable syncing sessions clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings" = true; # Enable syncing site settings clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cache" = true; # Enable syncing cache clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = true; # Enable syncing cookies clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.downloads" = true; # Enable syncing downloads clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; # Enable syncing form data clear on shutdown
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.siteSettings" = true; # Enable syncing site settings clear on shutdown
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = true; # Enable top sites on new tab page
|
||||
"browser.newtabpage.activity-stream.topSitesRows" = 3; # Set number of rows for top sites on new tab page
|
||||
};
|
||||
home = {
|
||||
username = "mattjallen";
|
||||
homeDirectory = "/Users/mattjallen";
|
||||
packages = lib.mkForce packages;
|
||||
sessionVariables = {
|
||||
NH_DARWIN_FLAKE = "${home.homeDirectory}/nix-config";
|
||||
};
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "mjallen18";
|
||||
userEmail = "matt.l.jallen@gmail.com";
|
||||
aliases = gitAliases;
|
||||
programs = {
|
||||
zsh = {
|
||||
shellAliases = shellAliases;
|
||||
};
|
||||
};
|
||||
|
||||
# Manage bug in compilations - who uses manpages in 2024 anyways? :P
|
||||
manual.manpages.enable = false;
|
||||
|
||||
# Override defaults that arent supported
|
||||
programs = {
|
||||
mangohud.enable = lib.mkForce false;
|
||||
|
||||
nh = {
|
||||
flake = "${home.homeDirectory}/nix-config";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
pass-secret-service.enable = lib.mkForce false;
|
||||
nextcloud-client.enable = lib.mkForce false;
|
||||
};
|
||||
}
|
||||
|
||||
65
hosts/mac/homebrew.nix
Normal file
65
hosts/mac/homebrew.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ config, inputs, ... }:
|
||||
{
|
||||
nix-homebrew = {
|
||||
user = config.system.primaryUser;
|
||||
enable = true;
|
||||
autoMigrate = true;
|
||||
enableRosetta = true;
|
||||
mutableTaps = false;
|
||||
taps = {
|
||||
"homebrew/homebrew-core" = inputs.homebrew-core;
|
||||
"homebrew/homebrew-cask" = inputs.homebrew-cask;
|
||||
};
|
||||
};
|
||||
|
||||
# Homebrew
|
||||
homebrew = {
|
||||
enable = true;
|
||||
taps = builtins.attrNames config.nix-homebrew.taps;
|
||||
global = {
|
||||
autoUpdate = false;
|
||||
brewfile = true;
|
||||
};
|
||||
onActivation = {
|
||||
autoUpdate = false;
|
||||
cleanup = "zap";
|
||||
};
|
||||
casks = [
|
||||
"aldente"
|
||||
"bartender"
|
||||
"betterdisplay"
|
||||
"chromium"
|
||||
"discord"
|
||||
"epic-games"
|
||||
"gstreamer-runtime"
|
||||
"iterm2"
|
||||
"kitty"
|
||||
"minecraft"
|
||||
"omnissa-horizon-client"
|
||||
"onlyoffice"
|
||||
"orcaslicer"
|
||||
"proton-drive"
|
||||
"proton-pass"
|
||||
"protonvpn"
|
||||
"scroll-reverser"
|
||||
"steam"
|
||||
"tabby"
|
||||
"tg-pro"
|
||||
"utm"
|
||||
"vesktop"
|
||||
"vlc"
|
||||
"vscodium"
|
||||
"wine-stable"
|
||||
"xquartz"
|
||||
];
|
||||
masApps = {
|
||||
Amphetamine = 937984704;
|
||||
Infuse = 1136220934;
|
||||
"Proton Pass for Safari" = 6502835663;
|
||||
Tailscale = 1475387142;
|
||||
Termius = 1176074088;
|
||||
};
|
||||
};
|
||||
|
||||
# homebrew.global.autoUpdate = true;
|
||||
}
|
||||
17
hosts/mac/nix.nix
Normal file
17
hosts/mac/nix.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ ... }:
|
||||
{
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
# services.nix-daemon.enable = true;
|
||||
# nix.package = pkgs.nix;
|
||||
|
||||
# Necessary for using flakes on this system.
|
||||
nix = {
|
||||
settings.experimental-features = "nix-command flakes";
|
||||
};
|
||||
|
||||
# The platform the configuration will be used on.
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
hostPlatform = "aarch64-darwin";
|
||||
};
|
||||
}
|
||||
24
hosts/mac/programs.nix
Normal file
24
hosts/mac/programs.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
nix-index = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
ssh.knownHosts = {
|
||||
desktop = {
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos";
|
||||
};
|
||||
nas = {
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIwoHWOLSTGVif9hAhaMLl0qDA4roIzCNuyR6kyIXDOj admin@jallen-nas";
|
||||
};
|
||||
};
|
||||
|
||||
zsh.enable = true; # default shell on catalina
|
||||
};
|
||||
}
|
||||
50
hosts/mac/system.nix
Normal file
50
hosts/mac/system.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
system = {
|
||||
primaryUser = config.users.users.mattjallen.name;
|
||||
defaults = {
|
||||
controlcenter = {
|
||||
AirDrop = true;
|
||||
BatteryShowPercentage = true;
|
||||
Bluetooth = true;
|
||||
Display = true;
|
||||
FocusModes = true;
|
||||
NowPlaying = true;
|
||||
};
|
||||
dock = {
|
||||
minimize-to-application = true;
|
||||
mouse-over-hilite-stack = true;
|
||||
show-recents = false;
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
AppleShowAllFiles = true;
|
||||
_FXSortFoldersFirst = true;
|
||||
_FXSortFoldersFirstOnDesktop = true;
|
||||
FXEnableExtensionChangeWarning = false;
|
||||
ShowPathbar = true; # breadcrumb nav at bottom
|
||||
ShowStatusBar = true; # file count & disk space
|
||||
};
|
||||
loginwindow = {
|
||||
GuestEnabled = false;
|
||||
};
|
||||
NSGlobalDomain = {
|
||||
"com.apple.keyboard.fnState" = false;
|
||||
AppleInterfaceStyle = "Dark";
|
||||
"com.apple.mouse.tapBehavior" = 1;
|
||||
AppleShowAllExtensions = true;
|
||||
AppleShowAllFiles = true;
|
||||
};
|
||||
trackpad = {
|
||||
Clicking = true;
|
||||
};
|
||||
WindowManager = {
|
||||
EnableTiledWindowMargins = false;
|
||||
};
|
||||
};
|
||||
startup.chime = false;
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
stateVersion = 5;
|
||||
};
|
||||
}
|
||||
@@ -36,7 +36,8 @@ in
|
||||
vscode-extensions.redhat.vscode-yaml
|
||||
vscode-extensions.yy0931.vscode-sqlite3-editor
|
||||
|
||||
open-remote-ssh
|
||||
# open-remote-ssh
|
||||
nix-vscode-extensions.open-vsx.jeanp413.open-remote-ssh
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "copilot-mcp";
|
||||
|
||||
Reference in New Issue
Block a user