mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-07 12:19:07 +00:00
config: share Nix settings for NixOS and home-manager
This commit is contained in:
parent
d4fac02340
commit
2622101910
91
flake.nix
91
flake.nix
@ -152,22 +152,6 @@
|
|||||||
# BOOOOOOOOOOOOO! Somebody give me a tomato!
|
# BOOOOOOOOOOOOO! Somebody give me a tomato!
|
||||||
services.xserver.excludePackages = with pkgs; [ xterm ];
|
services.xserver.excludePackages = with pkgs; [ xterm ];
|
||||||
|
|
||||||
# Parallel downloads! PARALLEL DOWNLOADS! It's like Pacman 6.0 all over
|
|
||||||
# again.
|
|
||||||
nix.package = pkgs.nixUnstable;
|
|
||||||
|
|
||||||
# I want to capture the usual flakes to its exact version so we're
|
|
||||||
# making them available to our system. This will also prevent the
|
|
||||||
# annoying downloads since it always get the latest revision.
|
|
||||||
nix.registry =
|
|
||||||
lib.mapAttrs'
|
|
||||||
(name: flake:
|
|
||||||
let
|
|
||||||
name' = if (name == "self") then "config" else name;
|
|
||||||
in
|
|
||||||
lib.nameValuePair name' { inherit flake; })
|
|
||||||
inputs;
|
|
||||||
|
|
||||||
# Set several paths for the traditional channels.
|
# Set several paths for the traditional channels.
|
||||||
nix.nixPath =
|
nix.nixPath =
|
||||||
lib.mapAttrsToList
|
lib.mapAttrsToList
|
||||||
@ -181,33 +165,6 @@
|
|||||||
"/nix/var/nix/profiles/per-user/root/channels"
|
"/nix/var/nix/profiles/per-user/root/channels"
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
# Set several binary caches.
|
|
||||||
substituters = [
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://foo-dogsquared.cachix.org"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"foo-dogsquared.cachix.org-1:/2fmqn/gLGvCs5EDeQmqwtus02TUmGy0ZlAEXqRE70E="
|
|
||||||
];
|
|
||||||
|
|
||||||
# Sane config for the package manager.
|
|
||||||
# TODO: Remove this after nix-command and flakes has been considered stable.
|
|
||||||
#
|
|
||||||
# Since we're using flakes to make this possible, we need it. Plus, the
|
|
||||||
# UX of Nix CLI is becoming closer to Guix's which is a nice bonus.
|
|
||||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
|
||||||
auto-optimise-store = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Stallman-senpai will be disappointed.
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Extend nixpkgs with our overlays except for the NixOS-focused modules
|
|
||||||
# here.
|
|
||||||
nixpkgs.overlays = overlays;
|
|
||||||
|
|
||||||
# Please clean your temporary crap.
|
# Please clean your temporary crap.
|
||||||
boot.tmp.cleanOnBoot = lib.mkDefault true;
|
boot.tmp.cleanOnBoot = lib.mkDefault true;
|
||||||
|
|
||||||
@ -287,6 +244,52 @@
|
|||||||
json.enable = true;
|
json.enable = true;
|
||||||
manpages.enable = true;
|
manpages.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixSettingsSharedConfig = { config, lib, pkgs, ... }: {
|
||||||
|
# I want to capture the usual flakes to its exact version so we're
|
||||||
|
# making them available to our system. This will also prevent the
|
||||||
|
# annoying downloads since it always get the latest revision.
|
||||||
|
nix.registry =
|
||||||
|
lib.mapAttrs'
|
||||||
|
(name: flake:
|
||||||
|
let
|
||||||
|
name' = if (name == "self") then "config" else name;
|
||||||
|
in
|
||||||
|
lib.nameValuePair name' { inherit flake; })
|
||||||
|
inputs;
|
||||||
|
|
||||||
|
# Parallel downloads! PARALLEL DOWNLOADS! It's like Pacman 6.0 all over
|
||||||
|
# again.
|
||||||
|
nix.package = pkgs.nixUnstable;
|
||||||
|
|
||||||
|
# Set the configurations for the package manager.
|
||||||
|
nix.settings = {
|
||||||
|
# Set several binary caches.
|
||||||
|
substituters = [
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
"https://foo-dogsquared.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"foo-dogsquared.cachix.org-1:/2fmqn/gLGvCs5EDeQmqwtus02TUmGy0ZlAEXqRE70E="
|
||||||
|
];
|
||||||
|
|
||||||
|
# Sane config for the package manager.
|
||||||
|
# TODO: Remove this after nix-command and flakes has been considered
|
||||||
|
# stable.
|
||||||
|
#
|
||||||
|
# Since we're using flakes to make this possible, we need it. Plus, the
|
||||||
|
# UX of Nix CLI is becoming closer to Guix's which is a nice bonus.
|
||||||
|
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
||||||
|
auto-optimise-store = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Stallman-senpai will be disappointed.
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Extend nixpkgs with our overlays except for the NixOS-focused modules
|
||||||
|
# here.
|
||||||
|
nixpkgs.overlays = overlays;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -316,6 +319,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
hostSharedConfig
|
hostSharedConfig
|
||||||
|
nixSettingsSharedConfig
|
||||||
path
|
path
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
@ -364,6 +368,7 @@
|
|||||||
targets.genericLinux.enable = true;
|
targets.genericLinux.enable = true;
|
||||||
})
|
})
|
||||||
userSharedConfig
|
userSharedConfig
|
||||||
|
nixSettingsSharedConfig
|
||||||
path
|
path
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
|
Loading…
Reference in New Issue
Block a user