mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-12 03:07:17 +00:00
Integrates home-manager with nix-darwin
This commit is contained in:
parent
6ea3eb4b19
commit
2b6ff3f566
23 changed files with 90 additions and 104 deletions
|
@ -13,5 +13,7 @@
|
|||
|
||||
username = "willem";
|
||||
|
||||
dotrepopath = "~/.config/dotfiles.nix";
|
||||
|
||||
sshAuthorizedKeyFiles = [./sshpubkeys/willem-nixbox ./sshpubkeys/willem-thinkpad ./sshpubkeys/willem-zeus];
|
||||
}
|
||||
|
|
29
flake.nix
29
flake.nix
|
@ -64,37 +64,24 @@
|
|||
inherit inputs globals;
|
||||
overlays = self.overlays;
|
||||
};
|
||||
modules = [definition];
|
||||
modules = definition;
|
||||
});
|
||||
|
||||
mkNixos = arch: (mkSystem nixpkgs.lib.nixosSystem "${arch}-linux");
|
||||
mkDarwin = arch: (mkSystem darwin.lib.darwinSystem "${arch}-darwin");
|
||||
|
||||
mkHome = system: config: (home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit globals inputs;
|
||||
overlays = self.overlays;
|
||||
};
|
||||
modules = [{nix.package = nixpkgs.legacyPackages.${system}.nix;} config];
|
||||
});
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
in {
|
||||
nixosConfigurations.x86_64-live = mkNixos "x86_64" ./nixos/hosts/x86_64-live.nix;
|
||||
nixosConfigurations.aarch64-live = mkNixos "aarch64" ./nixos/hosts/aarch64-live.nix;
|
||||
nixosConfigurations.x86_64-live = mkNixos "x86_64" [./nixos/hosts/x86_64-live.nix];
|
||||
nixosConfigurations.aarch64-live = mkNixos "aarch64" [./nixos/hosts/aarch64-live.nix];
|
||||
|
||||
nixosConfigurations.p4box = mkNixos "i686" ./nixos/hosts/p4box.nix;
|
||||
nixosConfigurations.nixbox = mkNixos "x86_64" ./nixos/hosts/nixbox.nix;
|
||||
nixosConfigurations.thinkpad = mkNixos "x86_64" ./nixos/hosts/thinkpad.nix;
|
||||
nixosConfigurations.nixbox = mkNixos "x86_64" [./nixos/hosts/nixbox.nix];
|
||||
nixosConfigurations.thinkpad = mkNixos "x86_64" [./nixos/hosts/thinkpad.nix];
|
||||
|
||||
nixosConfigurations.darwin-arm-minimal-vm = mkNixos "aarch64" ./nixos/hosts/vms/aarch64-darwin-host/minimal.nix;
|
||||
nixosConfigurations.darwin-arm-homeconsole-vm = mkNixos "aarch64" ./nixos/hosts/vms/aarch64-darwin-host/home-console.nix;
|
||||
nixosConfigurations.darwin-arm-minimal-vm = mkNixos "aarch64" [./nixos/hosts/vms/aarch64-darwin-host/minimal.nix];
|
||||
nixosConfigurations.darwin-arm-homeconsole-vm = mkNixos "aarch64" [./nixos/hosts/vms/aarch64-darwin-host/home-console.nix];
|
||||
|
||||
darwinConfigurations.zeus = mkDarwin "aarch64" ./nixos/hosts/zeus.nix;
|
||||
|
||||
homeConfigurations = forAllSystems (system: {
|
||||
willem = mkHome system ./home/${builtins.replaceStrings ["aarch64-" "x86_64-"] ["" ""] system}/default.nix;
|
||||
});
|
||||
darwinConfigurations.zeus = mkDarwin "aarch64" [./nixos/hosts/zeus.nix];
|
||||
|
||||
packages.aarch64-darwin.minimal-vm = self.nixosConfigurations.darwin-arm-minimal-vm.config.system.build.vm;
|
||||
packages.aarch64-darwin.homeconsole-vm = self.nixosConfigurations.darwin-arm-homeconsole-vm.config.system.build.vm;
|
||||
|
|
|
@ -5,16 +5,12 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
../modules/nix/use-flake-pkgs.nix
|
||||
../modules/nix/pkgs-config.nix
|
||||
../default.nix
|
||||
./finder.nix
|
||||
./keybinds.nix
|
||||
./launchd.nix
|
||||
];
|
||||
|
||||
home.homeDirectory = "/Users/willem";
|
||||
|
||||
programs.ssh.includes = ["/Users/willem/.colima/ssh_config"];
|
||||
|
||||
home.file.".gnupg/gpg-agent.conf" = {
|
||||
|
@ -27,8 +23,8 @@
|
|||
};
|
||||
|
||||
programs.zsh.shellAliases = {
|
||||
drs = "nix run nix-darwin -- switch --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
dbs = "nix run nix-darwin -- build --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
drs = "darwin-rebuild switch --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
dbs = "darwin-rebuild build --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
o = "open";
|
||||
oa = "open -a";
|
||||
};
|
||||
|
|
|
@ -11,6 +11,8 @@ in rec {
|
|||
./modules/emacs.nix
|
||||
./packages.nix
|
||||
./programs/default.nix
|
||||
./modules/nix/pkgs-config.nix
|
||||
./modules/nix/use-flake-pkgs.nix
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
];
|
||||
|
||||
|
|
|
@ -7,12 +7,10 @@
|
|||
../default.nix
|
||||
./services.nix
|
||||
./hyprland.nix
|
||||
../modules/nix/pkgs-config.nix
|
||||
../modules/nix/use-flake-pkgs.nix
|
||||
];
|
||||
|
||||
programs.zsh.shellAliases = {
|
||||
nrs = "nixos-rebuild switch --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
nrs = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
nbs = "nixos-rebuild build --flake ${config.home.homeDirectory}/.config/dotfiles.nix#";
|
||||
};
|
||||
|
||||
|
|
|
@ -61,8 +61,8 @@
|
|||
};
|
||||
|
||||
hishtory = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enable = false;
|
||||
enableZshIntegration = false;
|
||||
};
|
||||
|
||||
java = {
|
||||
|
|
|
@ -4,5 +4,16 @@
|
|||
../modules/apple-silicon.nix
|
||||
];
|
||||
|
||||
isoImage.makeEfiBootable = true;
|
||||
|
||||
hardware.asahi.extractPeripheralFirmware = false;
|
||||
|
||||
networking.wireless.enable = false;
|
||||
|
||||
networking.wireless.iwd = {
|
||||
enable = true;
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
|
||||
networking.hostName = "nixos-live-aarch64";
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
../profiles/hyprland.nix
|
||||
../profiles/default.nix
|
||||
../users/willem/home.nix
|
||||
../users/willem/home/linux.nix
|
||||
../modules/zerotier.nix
|
||||
];
|
||||
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
../profiles/default.nix
|
||||
../users/willem
|
||||
../modules/zerotier.nix
|
||||
];
|
||||
|
||||
boot.loader.grub.enable = true;
|
||||
|
||||
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "sata_sil" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/4f558bc6-e3b3-46e4-a3b1-520eab6d090f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/413077c1-e921-4377-8c7d-ca2acf8a60d2";}
|
||||
];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
networking.hostName = "p4box";
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "i686-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
../profiles/hyprland.nix
|
||||
../profiles/default.nix
|
||||
../users/willem/home.nix
|
||||
../users/willem/home/linux.nix
|
||||
../modules/zerotier.nix
|
||||
];
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
../../common/system.nix
|
||||
../modules/nix/link-inputs.nix
|
||||
../modules/nix/use-flake-pkgs.nix
|
||||
../users/willem/base.nix
|
||||
../users/willem/home/darwin.nix
|
||||
];
|
||||
|
||||
nix = {
|
||||
|
@ -16,6 +16,8 @@
|
|||
networking.hostName = "zeus";
|
||||
networking.computerName = "Zeus";
|
||||
|
||||
nix.gc.interval.Hour = 5;
|
||||
|
||||
environment.etc."nix/user-sandbox.sb".text = ''
|
||||
(version 1)
|
||||
(allow default)
|
||||
|
@ -46,10 +48,4 @@
|
|||
'';
|
||||
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
users.users.willem = {
|
||||
home = "/Users/willem";
|
||||
isHidden = false;
|
||||
name = "willem";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{...}: {
|
||||
config.home-manager = {
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "bak";
|
||||
|
|
7
nixos/modules/nix/optimise.nix
Normal file
7
nixos/modules/nix/optimise.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{...}: {
|
||||
nix = {
|
||||
settings.auto-optimise-store = true;
|
||||
gc.automatic = true;
|
||||
gc.options = "--delete-older-than 14d";
|
||||
};
|
||||
}
|
|
@ -7,12 +7,15 @@
|
|||
imports = [
|
||||
../../common/system.nix
|
||||
../modules/nix/use-flake-pkgs.nix
|
||||
../users/willem/default.nix
|
||||
../modules/nix/optimise.nix
|
||||
../users/willem/linux.nix
|
||||
];
|
||||
|
||||
console.keyMap = "colemak";
|
||||
console.packages = [pkgs.terminus_font];
|
||||
|
||||
nix.gc.dates = "daily";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
programs.zsh.loginShellInit = ''
|
||||
|
|
|
@ -41,9 +41,7 @@
|
|||
];
|
||||
|
||||
# Include support for various filesystems and tools to create / manipulate them.
|
||||
boot.supportedFilesystems =
|
||||
["btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"]
|
||||
++ lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) "zfs";
|
||||
boot.supportedFilesystems = ["ntfs" "vfat" "xfs"];
|
||||
|
||||
boot.enableContainers = false;
|
||||
|
||||
|
|
9
nixos/users/willem/darwin.nix
Normal file
9
nixos/users/willem/darwin.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{...}: {
|
||||
imports = [./default.nix];
|
||||
|
||||
users.users.willem = {
|
||||
isHidden = false;
|
||||
|
||||
home = "/Users/willem";
|
||||
};
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{...}: {
|
||||
imports = [./base.nix];
|
||||
imports = [./sshkeys.nix];
|
||||
users.users.willem = {
|
||||
extraGroups = ["networkmanager" "wheel" "video" "udev"];
|
||||
isNormalUser = true;
|
||||
name = "willem";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
globals,
|
||||
overlays,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
home-manager.users.willem = {
|
||||
imports = [
|
||||
../../../home/linux/default.nix
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.extraSpecialArgs = {inherit inputs overlays globals;};
|
||||
}
|
8
nixos/users/willem/home/darwin.nix
Normal file
8
nixos/users/willem/home/darwin.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{inputs, ...}: {
|
||||
imports = [
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
./default.nix
|
||||
../darwin.nix
|
||||
];
|
||||
home-manager.users.willem = ../../../../home/darwin/default.nix;
|
||||
}
|
8
nixos/users/willem/home/default.nix
Normal file
8
nixos/users/willem/home/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
inputs,
|
||||
globals,
|
||||
overlays,
|
||||
...
|
||||
}: {
|
||||
home-manager.extraSpecialArgs = {inherit inputs overlays globals;};
|
||||
}
|
8
nixos/users/willem/home/linux.nix
Normal file
8
nixos/users/willem/home/linux.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{inputs, ...}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
./default.nix
|
||||
../linux.nix
|
||||
];
|
||||
home-manager.users.willem = ../../../../home/linux/default.nix;
|
||||
}
|
9
nixos/users/willem/linux.nix
Normal file
9
nixos/users/willem/linux.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{...}: {
|
||||
imports = [./default.nix];
|
||||
users.users.willem = {
|
||||
extraGroups = ["networkmanager" "wheel" "video" "udev"];
|
||||
isNormalUser = true;
|
||||
|
||||
home = "/home/willem";
|
||||
};
|
||||
}
|
Loading…
Add table
Reference in a new issue