refactor(nix): Seperate home manager stuff from nix-darwin

This commit is contained in:
Ahmad Ansori Palembani 2024-10-16 14:43:06 +07:00
parent 0f33f4e2de
commit 6444b67a4e
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
9 changed files with 110 additions and 134 deletions

View file

@ -97,33 +97,4 @@
done
'';
};
users.users.ziro = {
name = vars.user;
home = "/Users/${vars.user}";
};
home-manager.users.ziro = {
home.stateVersion = "22.05";
programs = {
browserpass = {
enable = true;
browsers = [ "brave" "chrome" ]; # Arc and Chrome share the same `Application Support` dir, not sure why tbh.
};
};
# Swap CapsLock with Esc for better vi-mode experience.
launchd.agents.CapsEscSwap = {
enable = true;
config = {
ProgramArguments = [
"/usr/bin/hidutil"
"property"
"--set"
"{\"UserKeyMapping\":[{\"HIDKeyboardModifierMappingSrc\":0x700000039,\"HIDKeyboardModifierMappingDst\":0x700000029},{\"HIDKeyboardModifierMappingSrc\":0x700000029,\"HIDKeyboardModifierMappingDst\":0x700000039}]}"
];
RunAtLoad = true;
};
};
};
}

View file

@ -1,32 +1,8 @@
{ inputs, nixpkgs, nix-darwin, home-manager, vars, ... }:
{ inputs, nixpkgs, nix-darwin, vars, ... }:
let
mkCommon = import ../mkCommon.nix;
disablePyChecks = pkg: pkg.overridePythonAttrs (old: {
doCheck = false;
doInstallCheck = false;
dontCheck = true;
});
systemConfig = system: {
system = system;
pkgs = import nixpkgs {
inherit system;
overlays = [(final: prev: {
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(pyfinal: pyprev: {
dnspython = (disablePyChecks pyprev.dnspython).overridePythonAttrs (old: {
disabledTests = [
# This test is unreliable when my internet is throttled by Indonesian ISP, timeout everywhere... lovely...
"test_resolver"
] ++ old.disabledTests;
});
pillow = disablePyChecks pyprev.pillow;
cherrypy = disablePyChecks pyprev.cherrypy;
})];
})];
config.allowUnfree = true;
};
};
mkCommon = import ../../lib/mkCommon.nix;
mkSystem = import ../../lib/mkSystem.nix;
in
{
# Host list
@ -37,38 +13,28 @@ in
# Lenovo ThinkPad L460; Intel Core i5-6300U
"ThiccBook-Pro" =
let
inherit (systemConfig "x86_64-darwin") system pkgs;
inherit (mkSystem "x86_64-darwin" nixpkgs) system pkgs;
common = (mkCommon pkgs);
in
nix-darwin.lib.darwinSystem {
inherit system;
specialArgs = { inherit inputs pkgs home-manager vars common; };
specialArgs = { inherit inputs pkgs vars common; };
modules = [
./configuration.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
# Imaginary M1, just for reference
MacBookProM1 =
let
inherit (systemConfig "aarch64-darwin") system pkgs;
inherit (mkSystem "aarch64-darwin" nixpkgs) system pkgs;
common = (mkCommon pkgs);
in
nix-darwin.lib.darwinSystem {
inherit system;
specialArgs = { inherit inputs pkgs home-manager vars common; };
specialArgs = { inherit inputs pkgs vars common; };
modules = [
./configuration.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
}

View file

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
packages = [
pkgs.zsh
];
}

View file

@ -56,33 +56,4 @@
system = {
stateVersion = 4;
};
# users.users.ziro = {
# name = vars.user;
# home = "/Users/${vars.user}";
# };
# home-manager.users.ziro = {
# home.stateVersion = "22.05";
# programs = {
# browserpass = {
# enable = true;
# browsers = [ "brave" "chrome" ]; # Arc and Chrome share the same `Application Support` dir, not sure why tbh.
# };
# };
# # Swap CapsLock with Esc for better vi-mode experience.
# launchd.agents.CapsEscSwap = {
# enable = true;
# config = {
# ProgramArguments = [
# "/usr/bin/hidutil"
# "property"
# "--set"
# "{\"UserKeyMapping\":[{\"HIDKeyboardModifierMappingSrc\":0x700000039,\"HIDKeyboardModifierMappingDst\":0x700000029},{\"HIDKeyboardModifierMappingSrc\":0x700000029,\"HIDKeyboardModifierMappingDst\":0x700000039}]}"
# ];
# RunAtLoad = true;
# };
# };
# };
}

View file

@ -1,49 +1,20 @@
{ inputs, nixpkgs, system-manager, home-manager, vars, ... }:
{ inputs, nixpkgs, system-manager, vars, ... }:
let
mkCommon = import ../mkCommon.nix;
disablePyChecks = pkg: pkg.overridePythonAttrs (old: {
doCheck = false;
doInstallCheck = false;
dontCheck = true;
});
systemConfig = system: {
system = system;
pkgs = import nixpkgs {
inherit system;
overlays = [(final: prev: {
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(pyfinal: pyprev: {
dnspython = (disablePyChecks pyprev.dnspython).overridePythonAttrs (old: {
disabledTests = [
# This test is unreliable when my internet is throttled by Indonesian ISP, timeout everywhere... lovely...
"test_resolver"
] ++ old.disabledTests;
});
pillow = disablePyChecks pyprev.pillow;
cherrypy = disablePyChecks pyprev.cherrypy;
})];
})];
config.allowUnfree = true;
};
};
mkCommon = import ../../lib/mkCommon.nix;
mkSystem = import ../../lib/mkSystem.nix;
in
{
"potato" =
let
inherit (systemConfig "x86_64-linux") system pkgs;
inherit (mkSystem "x86_64-linux" nixpkgs) system pkgs;
common = (mkCommon pkgs);
in
system-manager.lib.makeSystemConfig {
inherit system;
specialArgs = { inherit inputs pkgs home-manager vars common; };
specialArgs = { inherit inputs pkgs vars common; };
modules = [
./configuration.nix
# home-manager.darwinModules.home-manager
# {
# home-manager.useGlobalPkgs = true;
# home-manager.useUserPackages = true;
# }
];
};
}