init
This commit is contained in:
63
modules/nixos/base.nix
Normal file
63
modules/nixos/base.nix
Normal file
@@ -0,0 +1,63 @@
|
||||
# Module: Base System Configuration
|
||||
# Description: Core NixOS configuration with Nix settings, base packages, fonts,
|
||||
# localization (FR), Fish shell, and security (GPG)
|
||||
# Services: gvfs, udisks2, gnupg-agent
|
||||
|
||||
{ pkgs, customConfig, ... }:
|
||||
|
||||
{
|
||||
nix.settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://parsec-cloud.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"parsec-cloud.cachix.org-1:MuWfCBKBfuUWqwB6xKFK0armIJ+A+Mi++HohuB6YvTk="
|
||||
];
|
||||
};
|
||||
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
clean.enable = true;
|
||||
clean.extraArgs = "--keep-since 4d --keep 3";
|
||||
flake = builtins.toString customConfig.configFlakePath;
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
time.timeZone = customConfig.timezone;
|
||||
|
||||
services.gvfs.enable = true;
|
||||
services.udisks2.enable = true;
|
||||
|
||||
i18n.defaultLocale = customConfig.locale;
|
||||
|
||||
programs.fish.enable = true;
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
jq
|
||||
linuxPackages.cpupower
|
||||
|
||||
element-desktop
|
||||
ntfs3g
|
||||
zip
|
||||
unzip
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.dejavu-sans-mono
|
||||
nerd-fonts.droid-sans-mono
|
||||
];
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
# WARNING: DO NOT CHANGE this value after installation!
|
||||
# See: https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
Reference in New Issue
Block a user