nix settings: unify for NixOS and nix-darwin
moved into a common module
This commit is contained in:
parent
4976cea39d
commit
f08a7540ef
|
@ -13,6 +13,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./nitrokey.nix
|
./nitrokey.nix
|
||||||
|
./nix-settings.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.davfs2.enable = true;
|
services.davfs2.enable = true;
|
||||||
|
@ -221,27 +222,7 @@ in
|
||||||
# Enable all sysrq functions (useful to recover from some issues):
|
# Enable all sysrq functions (useful to recover from some issues):
|
||||||
boot.kernel.sysctl."kernel.sysrq" = 1; # NixOS default: 16 (only the sync command)
|
boot.kernel.sysctl."kernel.sysrq" = 1; # NixOS default: 16 (only the sync command)
|
||||||
|
|
||||||
nix = {
|
nix.settings.trusted-users = [ "spiollinux" ];
|
||||||
# expose all flake inputs through nix Path and registry
|
|
||||||
registry = (lib.mapAttrs (_: value: { flake = value; }) inputs) // {
|
|
||||||
nixpkgs.flake = inputs.nixpkgs;
|
|
||||||
};
|
|
||||||
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
|
||||||
# keep build-time deps around for offline-rebuilding
|
|
||||||
settings = {
|
|
||||||
# keep around all inputs necessary for offline-rebuilding the system
|
|
||||||
keep-outputs = true;
|
|
||||||
keep-derivations = true;
|
|
||||||
trusted-users = [ "spiollinux" ];
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
"repl-flake"
|
|
||||||
];
|
|
||||||
# use all cores for building
|
|
||||||
cores = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# override tmpdir for daemon
|
# override tmpdir for daemon
|
||||||
#systemd.services.nix-daemon.environment.TMPDIR = "/var/tmp";
|
#systemd.services.nix-daemon.environment.TMPDIR = "/var/tmp";
|
||||||
|
|
||||||
|
|
34
common/nix-settings.nix
Normal file
34
common/nix-settings.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# needs to be kept compatible to both NixOS and nix-darwin
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inputs = config.inputInjection.flake-inputs;
|
||||||
|
unstable = inputs.nixos-unstable;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
# expose all flake inputs through nix Path and registry
|
||||||
|
registry = (lib.mapAttrs (_: value: { flake = value; }) inputs) // {
|
||||||
|
nixpkgs.flake = inputs.nixpkgs;
|
||||||
|
};
|
||||||
|
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
||||||
|
};
|
||||||
|
nix.settings = builtins.mapAttrs (_: lib.mkDefault) {
|
||||||
|
# keep around all inputs necessary for offline-rebuilding the system
|
||||||
|
keep-outputs = true;
|
||||||
|
keep-derivations = true;
|
||||||
|
trusted-users = [ "spiollinux" ];
|
||||||
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
"repl-flake"
|
||||||
|
];
|
||||||
|
# use all cores for building
|
||||||
|
cores = 0;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [ ../common/nix-settings.nix ];
|
||||||
|
nix.settings.trusted-users = [ "os" ];
|
||||||
# List packages installed in system profile. To search by name, run:
|
# List packages installed in system profile. To search by name, run:
|
||||||
# $ nix-env -qaP | grep wget
|
# $ nix-env -qaP | grep wget
|
||||||
environment.systemPackages = [ pkgs.vim ];
|
environment.systemPackages = [ pkgs.vim ];
|
||||||
|
|
|
@ -112,7 +112,10 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
darwinConfigurations."OS-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
darwinConfigurations."OS-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
||||||
modules = [ ./darwin/configuration.nix ];
|
modules = [
|
||||||
|
./darwin/configuration.nix
|
||||||
|
inputInjection
|
||||||
|
];
|
||||||
};
|
};
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
spiollinux-desktop = mkHomeManager "desktop" "spiollinux" systems.x86_64-linux;
|
spiollinux-desktop = mkHomeManager "desktop" "spiollinux" systems.x86_64-linux;
|
||||||
|
|
Loading…
Reference in a new issue