mirror of
https://github.com/sstent/vmimages.git
synced 2026-01-25 22:51:49 +00:00
180 lines
4.7 KiB
Nix
180 lines
4.7 KiB
Nix
<<<<<<< HEAD
|
|
# This file (and the global directory) holds config that i use on all hosts
|
|
{
|
|
lib,
|
|
inputs,
|
|
outputs,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: {
|
|
imports =
|
|
[
|
|
inputs.home-manager.nixosModules.home-manager
|
|
inputs.sops-nix.nixosModules.sops
|
|
]
|
|
++ (builtins.attrValues outputs.nixosModules);
|
|
|
|
###dotfiles path variable
|
|
options._dotfiles = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "${inputs.self}/home-manager/dotfiles";
|
|
description = "Path to the dotfiles in this repository";
|
|
};
|
|
|
|
###secrets path variable
|
|
options._secrets = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "/run/user/1000/secrets";
|
|
description = "Path to the Secrets runtime";
|
|
};
|
|
|
|
###secretstore path variable
|
|
options._secretstore = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "${inputs.self}/secrets";
|
|
description = "Path to the Secrets storage";
|
|
};
|
|
|
|
config = {
|
|
system.stateVersion = "23.05";
|
|
|
|
sops = {
|
|
defaultSopsFile = "${config._secretstore}/host-secrets.yaml";
|
|
age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
|
};
|
|
|
|
home-manager = {
|
|
useUserPackages = true;
|
|
extraSpecialArgs = {inherit inputs outputs;};
|
|
sharedModules = [
|
|
inputs.sops-nix.homeManagerModules.sops
|
|
];
|
|
};
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
programs.fuse.userAllowOther = true;
|
|
security.sudo.wheelNeedsPassword = false;
|
|
|
|
# nixpkgs.overlays = overlays;
|
|
# Enable nix flakes
|
|
nix.package = pkgs.nixFlakes;
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
|
# nix.nixPath = [ "nixpkgs=pkgs.outPath" ];
|
|
networking.search = ["node.dc1.consul" "service.dc1.consul"];
|
|
|
|
#services.envfs.enable = true;
|
|
environment.systemPackages = [
|
|
pkgs.git
|
|
pkgs.home-manager
|
|
pkgs.sops
|
|
pkgs.ssh-to-age
|
|
pkgs.age
|
|
pkgs.bitwarden-cli
|
|
];
|
|
|
|
nix.gc = {
|
|
automatic = true; # Enable the automatic garbage collector
|
|
dates = "03:15"; # When to run the garbage collector
|
|
options = "-d"; # Arguments to pass to nix-collect-garbage
|
|
};
|
|
};
|
|
}
|
|
=======
|
|
# This file (and the global directory) holds config that i use on all hosts
|
|
{ lib, inputs, outputs, pkgs, config, ... }:
|
|
{
|
|
imports = [
|
|
inputs.home-manager.nixosModules.home-manager
|
|
inputs.sops-nix.nixosModules.sops
|
|
# ./binfmt.nix
|
|
]++ (builtins.attrValues outputs.nixosModules);
|
|
|
|
###dotfiles path variable
|
|
options._dotfiles = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "${inputs.self}/home-manager/dotfiles";
|
|
description = "Path to the dotfiles in this repository";
|
|
};
|
|
|
|
###secrets path variable
|
|
options._secrets = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "/run/user/1000/secrets";
|
|
description = "Path to the Secrets runtime";
|
|
};
|
|
|
|
|
|
###secretstore path variable
|
|
options._secretstore = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "${inputs.self}/secrets";
|
|
description = "Path to the Secrets storage";
|
|
};
|
|
|
|
config = {
|
|
system.stateVersion = "23.05";
|
|
|
|
|
|
sops = {
|
|
defaultSopsFile = "${config._secretstore}/host-secrets.yaml";
|
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
};
|
|
|
|
|
|
home-manager = {
|
|
useUserPackages = true;
|
|
extraSpecialArgs = { inherit inputs outputs; };
|
|
sharedModules = [
|
|
inputs.sops-nix.homeManagerModules.sops
|
|
];
|
|
};
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
programs.fuse.userAllowOther = true;
|
|
security.sudo.wheelNeedsPassword = false;
|
|
|
|
# nixpkgs.overlays = overlays;
|
|
# Enable nix flakes
|
|
nix.package = pkgs.nixFlakes;
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
|
# nix.extra-platforms = aarch64-linux i686-linux;
|
|
|
|
# nix.nixPath = [ "nixpkgs=pkgs.outPath" ];
|
|
# boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
boot.binfmt.emulatedSystems = ["armv7l-linux" "aarch64-linux"];
|
|
|
|
nix.settings.substituters = [
|
|
"https://fbleagh.cachix.org"
|
|
"https://cache.armv7l.xyz"
|
|
"https://arm.cachix.org"
|
|
"https://thefloweringash-armv7.cachix.org" ];
|
|
nix.settings.trusted-public-keys = [
|
|
"fbleagh.cachix.org-1:HNgEVkx9HfKmEQdR+9IeCwqFza0k8d8fJgcYvOTVDB8="
|
|
"cache.armv7l.xyz-1:kBY/eGnBAYiqYfg0fy0inWhshUo+pGFM3Pj7kIkmlBk="
|
|
"arm.cachix.org-1:K3XjAeWPgWkFtSS9ge5LJSLw3xgnNqyOaG7MDecmTQ8="
|
|
"thefloweringash-armv7.cachix.org-1:v+5yzBD2odFKeXbmC+OPWVqx4WVoIVO6UXgnSAWFtso="
|
|
];
|
|
nix.settings.trusted-users = [ "root" "sstent" ];
|
|
|
|
#services.envfs.enable = true;
|
|
environment.systemPackages = [
|
|
pkgs.git
|
|
pkgs.home-manager
|
|
pkgs.sops
|
|
pkgs.ssh-to-age
|
|
pkgs.age
|
|
pkgs.qemu
|
|
pkgs.cachix
|
|
];
|
|
|
|
};
|
|
}
|
|
>>>>>>> dacf7df (updates)
|