mirror of
https://github.com/srid/nixos-config.git
synced 2026-05-11 17:36:07 +08:00
separate out nixos and nix-darwin toplevel
This commit is contained in:
parent
a0b850b1a6
commit
2991d29adb
3 changed files with 114 additions and 116 deletions
101
flake.nix
101
flake.nix
|
|
@ -77,86 +77,33 @@
|
|||
in
|
||||
{
|
||||
# Configurations for Linux (NixOS) systems
|
||||
nixosConfigurations =
|
||||
let
|
||||
mkLinuxSystem = extraModules: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
# Arguments to pass to all modules.
|
||||
specialArgs = { inherit system inputs; };
|
||||
modules = [
|
||||
self.nixosModules.default
|
||||
{
|
||||
home-manager.users.${userName} = { pkgs, ... }: {
|
||||
imports = [
|
||||
self.homeModules.common-linux
|
||||
./home/shellcommon.nix
|
||||
(import ./home/git.nix {
|
||||
userName = "Sridhar Ratnakumar";
|
||||
userEmail = "srid@srid.ca";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
] ++ extraModules;
|
||||
};
|
||||
in
|
||||
{
|
||||
# My Linux development computer (on Hetzner)
|
||||
pinch = mkLinuxSystem
|
||||
[
|
||||
./systems/hetzner/ax41.nix
|
||||
./nixos/server/harden.nix
|
||||
nixosConfigurations = {
|
||||
# My Linux development computer (on Hetzner)
|
||||
pinch = self.lib.mkLinuxSystem userName
|
||||
[
|
||||
./systems/hetzner/ax41.nix
|
||||
./nixos/server/harden.nix
|
||||
|
||||
# Temporarily sharing with Uday.
|
||||
{
|
||||
users.users.uday.isNormalUser = true;
|
||||
home-manager.users."uday" = {
|
||||
imports = [
|
||||
self.homeModules.common-linux
|
||||
(import ./home/git.nix {
|
||||
userName = "Uday Kiran";
|
||||
userEmail = "udaycruise2903@gmail.com";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
# Temporarily sharing with Uday.
|
||||
{
|
||||
users.users.uday.isNormalUser = true;
|
||||
home-manager.users."uday" = {
|
||||
imports = [
|
||||
self.homeModules.common-linux
|
||||
(import ./home/git.nix {
|
||||
userName = "Uday Kiran";
|
||||
userEmail = "udaycruise2903@gmail.com";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Configurations for macOS systems (using nix-darwin)
|
||||
darwinConfigurations =
|
||||
let
|
||||
mkMacosSystem = darwin.lib.darwinSystem;
|
||||
defaultMacosSystem = mkMacosSystem rec {
|
||||
system = "aarch64-darwin";
|
||||
specialArgs = {
|
||||
inherit inputs system;
|
||||
rosettaPkgs = import nixpkgs { system = "x86_64-darwin"; };
|
||||
};
|
||||
modules = [
|
||||
self.darwinModules.default
|
||||
./systems/darwin.nix
|
||||
{
|
||||
home-manager.users.${userName} = { pkgs, ... }: {
|
||||
imports = [
|
||||
self.homeModules.common-darwin
|
||||
./home/shellcommon.nix
|
||||
(import ./home/git.nix {
|
||||
userName = "Sridhar Ratnakumar";
|
||||
userEmail = "srid@srid.ca";
|
||||
})
|
||||
];
|
||||
programs.zsh.initExtra = ''
|
||||
export PATH=/etc/profiles/per-user/${userName}/bin:/run/current-system/sw/bin/:$PATH
|
||||
'';
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
default = defaultMacosSystem;
|
||||
};
|
||||
darwinConfigurations = {
|
||||
default = self.lib.mkMacosSystem userName;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,49 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
# Configuration common to all macOS systems
|
||||
flake.darwinModules = {
|
||||
common = self.nixosConfig.common;
|
||||
home.imports = [
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
({
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
system = "aarch64-darwin";
|
||||
};
|
||||
})
|
||||
];
|
||||
default.imports =
|
||||
self.darwinModules.common ++
|
||||
self.darwinModules.home.imports;
|
||||
flake = {
|
||||
darwinModules = {
|
||||
common = self.nixosConfig.common;
|
||||
home.imports = [
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
({
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
system = "aarch64-darwin";
|
||||
};
|
||||
})
|
||||
];
|
||||
default.imports =
|
||||
self.darwinModules.common ++
|
||||
self.darwinModules.home.imports;
|
||||
};
|
||||
mkMacosSystem = userName: inputs.darwin.lib.darwinSystem rec {
|
||||
system = "aarch64-darwin";
|
||||
specialArgs = {
|
||||
inherit inputs system;
|
||||
rosettaPkgs = import inputs.nixpkgs { system = "x86_64-darwin"; };
|
||||
};
|
||||
modules = [
|
||||
self.darwinModules.default
|
||||
../systems/darwin.nix
|
||||
{
|
||||
home-manager.users.${userName} = { pkgs, ... }: {
|
||||
imports = [
|
||||
self.homeModules.common-darwin
|
||||
../home/shellcommon.nix
|
||||
(import ../home/git.nix {
|
||||
userName = "Sridhar Ratnakumar";
|
||||
userEmail = "srid@srid.ca";
|
||||
})
|
||||
];
|
||||
programs.zsh.initExtra = ''
|
||||
export PATH=/etc/profiles/per-user/${userName}/bin:/run/current-system/sw/bin/:$PATH
|
||||
'';
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,52 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
# Configuration common to all Linux systems
|
||||
flake.nixosModules = {
|
||||
# These imports are platform independent.
|
||||
common.imports = [
|
||||
./caches
|
||||
];
|
||||
home.imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
({
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
})
|
||||
];
|
||||
default.imports =
|
||||
self.nixosModules.common.imports ++
|
||||
self.nixosModules.home.imports ++
|
||||
[
|
||||
./self-ide.nix
|
||||
./takemessh
|
||||
./current-location.nix
|
||||
flake = {
|
||||
nixosModules = {
|
||||
# These imports are platform independent.
|
||||
common.imports = [
|
||||
./caches
|
||||
];
|
||||
home.imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
({
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
})
|
||||
];
|
||||
default.imports =
|
||||
self.nixosModules.common.imports ++
|
||||
self.nixosModules.home.imports ++
|
||||
[
|
||||
./self-ide.nix
|
||||
./takemessh
|
||||
./current-location.nix
|
||||
];
|
||||
};
|
||||
|
||||
lib.mkLinuxSystem = userName: extraModules: inputs.nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
# Arguments to pass to all modules.
|
||||
specialArgs = { inherit system inputs; };
|
||||
modules = [
|
||||
self.nixosModules.default
|
||||
{
|
||||
home-manager.users.${userName} = { pkgs, ... }: {
|
||||
imports = [
|
||||
self.homeModules.common-linux
|
||||
../home/shellcommon.nix
|
||||
(import ../home/git.nix {
|
||||
userName = "Sridhar Ratnakumar";
|
||||
userEmail = "srid@srid.ca";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
] ++ extraModules;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue