mirror of
https://github.com/davegallant/nix-config
synced 2025-10-06 00:06:01 +00:00
Compare commits
6 Commits
2be6340eaf
...
4555aeb8bc
Author | SHA1 | Date | |
---|---|---|---|
|
4555aeb8bc | ||
|
5376f71551 | ||
|
64010efb3a | ||
|
5bd52383ae | ||
|
1e78420397 | ||
|
de80f54c55 |
110
darwin.nix
110
darwin.nix
@@ -1,110 +0,0 @@
|
|||||||
{ config
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
checkBrew = "command -v brew > /dev/null";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
users.users."dave.gallant".home = "/Users/dave.gallant";
|
|
||||||
environment = {
|
|
||||||
extraInit = ''
|
|
||||||
${checkBrew} || >&2 echo "brew is not installed (install it via https://brew.sh)"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
system.defaults = {
|
|
||||||
loginwindow = {
|
|
||||||
GuestEnabled = false;
|
|
||||||
SHOWFULLNAME = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
finder = {
|
|
||||||
AppleShowAllExtensions = true;
|
|
||||||
FXEnableExtensionChangeWarning = true;
|
|
||||||
_FXShowPosixPathInTitle = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
trackpad = {
|
|
||||||
ActuationStrength = 0;
|
|
||||||
Clicking = true;
|
|
||||||
FirstClickThreshold = 1;
|
|
||||||
SecondClickThreshold = 1;
|
|
||||||
TrackpadRightClick = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
# firewall
|
|
||||||
alf = {
|
|
||||||
# 0 = disabled 1 = enabled 2 = blocks all connections except for essential services
|
|
||||||
globalstate = 1;
|
|
||||||
loggingenabled = 0;
|
|
||||||
stealthenabled = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
dock = {
|
|
||||||
autohide = true;
|
|
||||||
autohide-delay = 0.0;
|
|
||||||
autohide-time-modifier = 1.0;
|
|
||||||
tilesize = 50;
|
|
||||||
static-only = false;
|
|
||||||
showhidden = false;
|
|
||||||
show-recents = false;
|
|
||||||
show-process-indicators = true;
|
|
||||||
orientation = "bottom";
|
|
||||||
mru-spaces = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
NSGlobalDomain = {
|
|
||||||
"com.apple.sound.beep.feedback" = 0;
|
|
||||||
"com.apple.sound.beep.volume" = 0.000;
|
|
||||||
ApplePressAndHoldEnabled = false;
|
|
||||||
InitialKeyRepeat = 10;
|
|
||||||
KeyRepeat = 2;
|
|
||||||
AppleShowAllExtensions = true;
|
|
||||||
AppleShowScrollBars = "Automatic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
homebrew = {
|
|
||||||
enable = true;
|
|
||||||
onActivation.autoUpdate = false;
|
|
||||||
onActivation.upgrade = false;
|
|
||||||
global = {
|
|
||||||
brewfile = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
brews = [
|
|
||||||
"coreutils"
|
|
||||||
"gnu-sed"
|
|
||||||
"gnu-tar"
|
|
||||||
"netdata"
|
|
||||||
"node"
|
|
||||||
"podman"
|
|
||||||
"podman-compose"
|
|
||||||
];
|
|
||||||
|
|
||||||
casks = [
|
|
||||||
"dbeaver-community"
|
|
||||||
"font-fira-code-nerd-font"
|
|
||||||
"font-hack-nerd-font"
|
|
||||||
"karabiner-elements"
|
|
||||||
"logseq"
|
|
||||||
"lulu"
|
|
||||||
"notunes"
|
|
||||||
"obsidian"
|
|
||||||
"podman-desktop"
|
|
||||||
"postman"
|
|
||||||
"raycast"
|
|
||||||
"rectangle"
|
|
||||||
"stats"
|
|
||||||
"warp"
|
|
||||||
];
|
|
||||||
|
|
||||||
taps = [
|
|
||||||
"homebrew/bundle"
|
|
||||||
"homebrew/cask-fonts"
|
|
||||||
"homebrew/cask-versions"
|
|
||||||
"homebrew/services"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
12
flake.lock
generated
12
flake.lock
generated
@@ -204,11 +204,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709780214,
|
"lastModified": 1710066242,
|
||||||
"narHash": "sha256-p4iDKdveHMhfGAlpxmkCtfQO3WRzmlD11aIcThwPqhk=",
|
"narHash": "sha256-bO7kahLdawW7rBqUTfWgf9mdPYrnOo5DGvWRJa9N8Do=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f945939fd679284d736112d3d5410eb867f3b31c",
|
"rev": "db339f1706f555794b71aa4eb26a5a240fb6a599",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -220,11 +220,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709677081,
|
"lastModified": 1710021367,
|
||||||
"narHash": "sha256-tix36Y7u0rkn6mTm0lA45b45oab2cFLqAzDbJxeXS+c=",
|
"narHash": "sha256-FuMVdWqXMT38u1lcySYyv93A7B8wU0EGzUr4t4jQu8g=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "880992dcc006a5e00dd0591446fdf723e6a51a64",
|
"rev": "b94a96839afcc56de3551aa7472b8d9a3e77e05d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
120
flake.nix
120
flake.nix
@@ -23,5 +23,123 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { ... } @ args: import ./outputs.nix args;
|
outputs =
|
||||||
|
{ self
|
||||||
|
, darwin
|
||||||
|
, home-manager
|
||||||
|
, nixpkgs
|
||||||
|
, nixpkgs-unstable
|
||||||
|
, nixos-hardware
|
||||||
|
, nix-ld
|
||||||
|
, ...
|
||||||
|
} @ inputs: {
|
||||||
|
nixosConfigurations =
|
||||||
|
let
|
||||||
|
modulesDir = ./modules;
|
||||||
|
unstable = import nixpkgs-unstable {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
config.allowUnfree = true;
|
||||||
|
config.permittedInsecurePackages = [ ];
|
||||||
|
};
|
||||||
|
defaultModules = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
./fonts.nix
|
||||||
|
./packages.nix
|
||||||
|
./upgrade-diff.nix
|
||||||
|
|
||||||
|
({ config
|
||||||
|
, lib
|
||||||
|
, ...
|
||||||
|
}: {
|
||||||
|
config = {
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
sandbox = false;
|
||||||
|
substituters = [ "https://davegallant.cachix.org" ];
|
||||||
|
trusted-users = [ "root" "dave" ];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"davegallant.cachix.org-1:SsUMqL4+tF2R3/G6X903E9laLlY1rES2QKFfePegF08="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
registry = { nixpkgs.flake = nixpkgs; };
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "daily";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ./overlays)
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.dave.imports = [
|
||||||
|
./home/default.nix
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
];
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit unstable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
hephaestus = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit unstable; };
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
./machines/hephaestus/configuration.nix
|
||||||
|
./services/netdata/default.nix
|
||||||
|
]
|
||||||
|
++ defaultModules;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
darwinConfigurations =
|
||||||
|
let
|
||||||
|
system = "aarch64-darwin";
|
||||||
|
unstable = import nixpkgs-unstable {
|
||||||
|
config.allowUnfree = true;
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
zelus = darwin.lib.darwinSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = { inherit unstable; };
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
home-manager.darwinModules.home-manager
|
||||||
|
./machines/zelus/configuration.nix
|
||||||
|
./packages.nix
|
||||||
|
./upgrade-diff.nix
|
||||||
|
|
||||||
|
({ config, ... }: {
|
||||||
|
config = {
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ./overlays)
|
||||||
|
];
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users."dave.gallant".imports = [
|
||||||
|
./home/default.nix
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
];
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit unstable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
font-awesome
|
font-awesome
|
||||||
google-fonts
|
google-fonts
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
|
nerdfonts
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
{ config
|
{ config
|
||||||
|
, lib
|
||||||
|
, modulesPath
|
||||||
, pkgs
|
, pkgs
|
||||||
, unstable
|
, unstable
|
||||||
, ...
|
, ...
|
||||||
@@ -19,11 +21,88 @@ let
|
|||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./hardware.nix ];
|
|
||||||
|
|
||||||
hardware.opengl.enable = true;
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
boot = {
|
||||||
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
xpadneo
|
||||||
|
];
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages;
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "nodev";
|
||||||
|
efiSupport = true;
|
||||||
|
enableCryptodisk = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
supportedFilesystems = [ "ntfs" ];
|
||||||
|
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"sd_mod"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"xhci_pci"
|
||||||
|
];
|
||||||
|
luks.devices."root" = {
|
||||||
|
allowDiscards = true;
|
||||||
|
device = "/dev/disk/by-uuid/21cd166c-1528-49a4-b31b-0d408d48aa80";
|
||||||
|
preLVM = true;
|
||||||
|
keyFile = "./keyfile0.bin";
|
||||||
|
};
|
||||||
|
secrets = {
|
||||||
|
"keyfile0.bin" = "/etc/secrets/initrd/keyfile0.bin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/a6723178-6f18-428e-b541-9ac901861125";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/e3ab2e1a-bddf-4ae0-b00a-bf954c6c182b";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot/efi" = {
|
||||||
|
device = "/dev/disk/by-uuid/3CFD-D749";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/synology-2b/media" = {
|
||||||
|
device = "192.168.1.178:/volume1/Media";
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/synology-2b/backups" = {
|
||||||
|
device = "192.168.1.178:/volume1/Backups";
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/5d6d0388-2b15-4ff1-9f0f-391818a76090"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
hostPlatform = "x86_64-linux";
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"nix-2.16.2"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
iproute2.enable = true;
|
iproute2.enable = true;
|
||||||
@@ -41,9 +120,6 @@ in
|
|||||||
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages;
|
|
||||||
boot.supportedFilesystems = [ "ntfs" ];
|
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
autoUpgrade.enable = true;
|
autoUpgrade.enable = true;
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
@@ -68,19 +144,21 @@ in
|
|||||||
|
|
||||||
time.timeZone = "America/Toronto";
|
time.timeZone = "America/Toronto";
|
||||||
|
|
||||||
hardware.pulseaudio.enable = true;
|
hardware = {
|
||||||
|
opengl.enable = true;
|
||||||
|
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
pulseaudio.enable = true;
|
||||||
|
# Vulkan
|
||||||
|
opengl.driSupport = true;
|
||||||
|
opengl.driSupport32Bit = true;
|
||||||
|
# Steam
|
||||||
|
opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
||||||
|
pulseaudio.support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Vulkan
|
|
||||||
hardware.opengl.driSupport = true;
|
|
||||||
hardware.opengl.driSupport32Bit = true;
|
|
||||||
|
|
||||||
# Steam
|
|
||||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
remotePlay.openFirewall = true;
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
|
@@ -1,77 +0,0 @@
|
|||||||
{ config
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, modulesPath
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"ahci"
|
|
||||||
"nvme"
|
|
||||||
"sd_mod"
|
|
||||||
"usb_storage"
|
|
||||||
"usbhid"
|
|
||||||
"xhci_pci"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
|
||||||
xpadneo
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
|
||||||
|
|
||||||
boot.loader.grub = {
|
|
||||||
enable = true;
|
|
||||||
device = "nodev";
|
|
||||||
efiSupport = true;
|
|
||||||
enableCryptodisk = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd = {
|
|
||||||
luks.devices."root" = {
|
|
||||||
allowDiscards = true;
|
|
||||||
device = "/dev/disk/by-uuid/21cd166c-1528-49a4-b31b-0d408d48aa80";
|
|
||||||
preLVM = true;
|
|
||||||
keyFile = "./keyfile0.bin";
|
|
||||||
};
|
|
||||||
secrets = {
|
|
||||||
"keyfile0.bin" = "/etc/secrets/initrd/keyfile0.bin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/a6723178-6f18-428e-b541-9ac901861125";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/e3ab2e1a-bddf-4ae0-b00a-bf954c6c182b";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot/efi" = {
|
|
||||||
device = "/dev/disk/by-uuid/3CFD-D749";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/mnt/synology-2b/media" = {
|
|
||||||
device = "192.168.1.178:/volume1/Media";
|
|
||||||
fsType = "nfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/mnt/synology-2b/backups" = {
|
|
||||||
device = "192.168.1.178:/volume1/Backups";
|
|
||||||
fsType = "nfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{ device = "/dev/disk/by-uuid/5d6d0388-2b15-4ff1-9f0f-391818a76090"; }
|
|
||||||
];
|
|
||||||
}
|
|
@@ -1,7 +1,16 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
nixpkgs.config.allowUnfree = true;
|
let
|
||||||
|
checkBrew = "command -v brew > /dev/null";
|
||||||
environment = { variables = { LANG = "en_US.UTF-8"; }; };
|
in
|
||||||
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"nix-2.16.2"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking = { hostName = "zelus"; };
|
networking = { hostName = "zelus"; };
|
||||||
|
|
||||||
@@ -17,4 +26,89 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
|
users.users."dave.gallant".home = "/Users/dave.gallant";
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
extraInit = ''
|
||||||
|
${checkBrew} || >&2 echo "brew is not installed (install it via https://brew.sh)"
|
||||||
|
'';
|
||||||
|
variables = { LANG = "en_US.UTF-8"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
system.defaults = {
|
||||||
|
|
||||||
|
trackpad = {
|
||||||
|
ActuationStrength = 0;
|
||||||
|
Clicking = true;
|
||||||
|
FirstClickThreshold = 1;
|
||||||
|
SecondClickThreshold = 1;
|
||||||
|
TrackpadRightClick = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dock = {
|
||||||
|
autohide = true;
|
||||||
|
autohide-delay = 0.0;
|
||||||
|
autohide-time-modifier = 1.0;
|
||||||
|
tilesize = 50;
|
||||||
|
static-only = false;
|
||||||
|
showhidden = false;
|
||||||
|
show-recents = false;
|
||||||
|
show-process-indicators = true;
|
||||||
|
orientation = "bottom";
|
||||||
|
mru-spaces = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
NSGlobalDomain = {
|
||||||
|
"com.apple.sound.beep.feedback" = 0;
|
||||||
|
"com.apple.sound.beep.volume" = 0.000;
|
||||||
|
ApplePressAndHoldEnabled = false;
|
||||||
|
InitialKeyRepeat = 10;
|
||||||
|
KeyRepeat = 2;
|
||||||
|
AppleShowAllExtensions = true;
|
||||||
|
AppleShowScrollBars = "Automatic";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
onActivation.autoUpdate = false;
|
||||||
|
onActivation.upgrade = false;
|
||||||
|
global = {
|
||||||
|
brewfile = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
brews = [
|
||||||
|
"coreutils"
|
||||||
|
"gnu-sed"
|
||||||
|
"gnu-tar"
|
||||||
|
"netdata"
|
||||||
|
"node"
|
||||||
|
"podman"
|
||||||
|
"podman-compose"
|
||||||
|
];
|
||||||
|
|
||||||
|
casks = [
|
||||||
|
"dbeaver-community"
|
||||||
|
"font-fira-code-nerd-font"
|
||||||
|
"font-hack-nerd-font"
|
||||||
|
"karabiner-elements"
|
||||||
|
"logseq"
|
||||||
|
"lulu"
|
||||||
|
"notunes"
|
||||||
|
"obsidian"
|
||||||
|
"postman"
|
||||||
|
"raycast"
|
||||||
|
"rectangle"
|
||||||
|
"stats"
|
||||||
|
"warp"
|
||||||
|
];
|
||||||
|
|
||||||
|
taps = [
|
||||||
|
"homebrew/bundle"
|
||||||
|
"homebrew/cask-fonts"
|
||||||
|
"homebrew/cask-versions"
|
||||||
|
"homebrew/services"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
127
outputs.nix
127
outputs.nix
@@ -1,127 +0,0 @@
|
|||||||
{ self
|
|
||||||
, darwin
|
|
||||||
, home-manager
|
|
||||||
, nixpkgs
|
|
||||||
, nixpkgs-unstable
|
|
||||||
, nixos-hardware
|
|
||||||
, nix-ld
|
|
||||||
, ...
|
|
||||||
} @ inputs: {
|
|
||||||
nixosConfigurations =
|
|
||||||
let
|
|
||||||
modulesDir = ./modules;
|
|
||||||
unstable = import nixpkgs-unstable {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
config.allowUnfree = true;
|
|
||||||
config.permittedInsecurePackages = [
|
|
||||||
"electron-25.9.0" # caused by obsidian
|
|
||||||
];
|
|
||||||
};
|
|
||||||
defaultModules = [
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
./fonts.nix
|
|
||||||
./packages.nix
|
|
||||||
./upgrade-diff.nix
|
|
||||||
|
|
||||||
({ config
|
|
||||||
, lib
|
|
||||||
, lib'
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
config = {
|
|
||||||
_module.args = {
|
|
||||||
lib' = lib // import ./lib { inherit config lib; };
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
sandbox = false;
|
|
||||||
substituters = [ "https://davegallant.cachix.org" ];
|
|
||||||
trusted-users = [ "root" "dave" ];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"davegallant.cachix.org-1:SsUMqL4+tF2R3/G6X903E9laLlY1rES2QKFfePegF08="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
registry = { nixpkgs.flake = nixpkgs; };
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "daily";
|
|
||||||
options = "--delete-older-than 14d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(import ./overlays)
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users.dave.imports = [
|
|
||||||
./home/default.nix
|
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
|
||||||
];
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit unstable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
hephaestus = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit unstable; };
|
|
||||||
modules =
|
|
||||||
[
|
|
||||||
./machines/hephaestus/configuration.nix
|
|
||||||
./machines/hephaestus/hardware.nix
|
|
||||||
./services/netdata/default.nix
|
|
||||||
]
|
|
||||||
++ defaultModules;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
darwinConfigurations =
|
|
||||||
let
|
|
||||||
system = "aarch64-darwin";
|
|
||||||
unstable = import nixpkgs-unstable {
|
|
||||||
config.allowUnfree = true;
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
zelus = darwin.lib.darwinSystem {
|
|
||||||
inherit system;
|
|
||||||
specialArgs = { inherit unstable; };
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
home-manager.darwinModules.home-manager
|
|
||||||
./darwin.nix
|
|
||||||
./machines/zelus/configuration.nix
|
|
||||||
./packages.nix
|
|
||||||
./upgrade-diff.nix
|
|
||||||
|
|
||||||
({ config, ... }: {
|
|
||||||
config = {
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(import ./overlays)
|
|
||||||
];
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users."dave.gallant".imports = [
|
|
||||||
./home/default.nix
|
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
|
||||||
];
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit unstable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Reference in New Issue
Block a user