flake/nixos/profiles/core/default.nix

108 lines
2.4 KiB
Nix
Raw Normal View History

{
config,
lib,
2023-12-10 15:56:40 +00:00
inputs,
2023-12-25 14:27:42 +00:00
pkgs,
...
}: {
imports =
[
./nix
./fun.nix
2024-07-09 23:12:02 +00:00
./hardening.nix
./networking.nix
]
++ (with inputs; [
aagl.nixosModules.default
disko.nixosModules.disko
home-manager.nixosModules.home-manager
impermanence.nixosModules.impermanence
lanzaboote.nixosModules.lanzaboote
nixos-sensible.nixosModules.default
nur.nixosModules.nur
self.nixosModules.default
sops-nix.nixosModules.sops
]);
2023-12-10 15:56:40 +00:00
2024-02-06 10:05:14 +00:00
nixpkgs.overlays = [
inputs.self.overlays.patches
2024-02-06 10:05:14 +00:00
];
2024-01-17 04:47:27 +00:00
### home-manager
2024-07-09 23:12:02 +00:00
home-manager.users.guanranwang = import ../../../home;
2024-01-17 04:47:27 +00:00
2023-12-16 08:58:10 +00:00
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {inherit inputs;}; # ??? isnt specialArgs imported by default ???
};
2023-10-16 08:26:06 +00:00
2024-07-09 23:12:02 +00:00
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
2023-11-20 12:21:34 +00:00
2023-12-16 08:58:10 +00:00
### Default Programs
# In addition of https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/system-path.nix
2023-12-25 14:27:42 +00:00
environment.systemPackages = with pkgs; [
unzip
wget
tree
file
htop
lsof
ltrace
strace
2023-12-25 14:27:42 +00:00
dnsutils
pciutils
usbutils
];
2023-12-16 08:58:10 +00:00
services.openssh = {
enable = true;
2024-04-22 18:35:50 +00:00
settings.PermitRootLogin = lib.mkDefault "no"; # mkDefault for colmena
2023-12-16 08:58:10 +00:00
settings.PasswordAuthentication = false;
};
2024-06-05 09:50:46 +00:00
users.users = rec {
"guanranwang" = {
isNormalUser = true;
description = "Guanran Wang";
hashedPasswordFile = config.sops.secrets."hashed-passwd".path;
shell = pkgs.fish;
extraGroups = [
"wheel"
"nix-access-tokens"
];
openssh.authorizedKeys.keys = [
# same as git signing
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMmd/uqiBahzKcKMJ+gT3dkUIdrWQgudspsDchDlx1E/ guanran928@outlook.com"
];
};
"root" = {
openssh.authorizedKeys.keys = guanranwang.openssh.authorizedKeys.keys;
};
2024-01-17 04:47:27 +00:00
};
programs.dconf.enable = true;
2024-01-17 04:47:27 +00:00
programs.fish.enable = true;
users.groups."nix-access-tokens" = {};
nix.extraOptions = "!include ${config.sops.secrets.nix-access-tokens.path}";
### sops-nix
sops = {
2024-07-09 23:12:02 +00:00
defaultSopsFile = ../../../secrets.yaml;
2024-01-17 04:47:27 +00:00
age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
gnupg.sshKeyPaths = [];
secrets = {
"hashed-passwd" = {
neededForUsers = true;
};
"nix-access-tokens" = {
group = config.users.groups."nix-access-tokens".name;
mode = "0440";
};
};
};
2023-09-19 00:17:43 +00:00
}