Init
This commit is contained in:
101
nixos/default.nix
Normal file
101
nixos/default.nix
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
primaryUser,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./sops.nix
|
||||
./regreet.nix
|
||||
./plymouth
|
||||
./audio.nix
|
||||
./ssh.nix
|
||||
./locale.nix
|
||||
./tailscale.nix
|
||||
./virt.nix
|
||||
./webcam.nix
|
||||
];
|
||||
|
||||
# nix config
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
max-jobs = "auto";
|
||||
cores = 0;
|
||||
substituters = [
|
||||
"https://hyprland.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
|
||||
# Garbage collection
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
};
|
||||
|
||||
# Disable Docs
|
||||
documentation = {
|
||||
enable = true;
|
||||
doc.enable = false; # Skip large documentation
|
||||
man.enable = true; # Keep man pages
|
||||
info.enable = false; # Skip info pages
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${primaryUser} = {
|
||||
imports = [ ../home ];
|
||||
};
|
||||
extraSpecialArgs = { inherit inputs primaryUser; };
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
steam.enable = true;
|
||||
dconf.enable = true;
|
||||
appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
};
|
||||
|
||||
security = {
|
||||
pam.services.swaylock = { };
|
||||
polkit.enable = true;
|
||||
apparmor.enable = true;
|
||||
};
|
||||
|
||||
users.users.${primaryUser} = {
|
||||
home = "/home/${primaryUser}";
|
||||
shell = pkgs.fish;
|
||||
isNormalUser = true;
|
||||
openssh.authorizedKeys.keyFiles = [ ./ssh-key ];
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"video"
|
||||
"audio"
|
||||
"libvirtd"
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user