Init Config
This commit is contained in:
99
nixos/default.nix
Normal file
99
nixos/default.nix
Normal file
@@ -0,0 +1,99 @@
|
||||
{ pkgs, inputs, primaryUser, ... }: {
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./sops.nix
|
||||
./regreet.nix
|
||||
./plymouth.nix
|
||||
./audio.nix
|
||||
./ssh.nix
|
||||
./locale.nix
|
||||
./tailscale.nix
|
||||
./virt.nix
|
||||
./webcam.nix
|
||||
|
||||
inputs.catppuccin.nixosModules.catppuccin
|
||||
];
|
||||
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
accent = "sky";
|
||||
flavor = "mocha";
|
||||
cache.enable = true;
|
||||
|
||||
cursors = {
|
||||
enable = true;
|
||||
accent = "sapphire";
|
||||
};
|
||||
|
||||
fcitx5.enable = false;
|
||||
forgejo.enable = false;
|
||||
gitea.enable = false;
|
||||
sddm.enable = false;
|
||||
};
|
||||
|
||||
# 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 = false; # Keep man pages
|
||||
info.enable = false; # Skip info pages
|
||||
};
|
||||
|
||||
nixpkgs.config = { allowUnfree = true; };
|
||||
|
||||
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 = false;
|
||||
};
|
||||
|
||||
services.gnome = {
|
||||
tinysparql.enable = true;
|
||||
localsearch.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