91 lines
2.5 KiB
Nix
91 lines
2.5 KiB
Nix
{ config, lib, pkgs, options, inputs, ...}@args:
|
|
let
|
|
cfg = config.nixfiles.profile.base;
|
|
in
|
|
{
|
|
options.nixfiles.profile.base = {
|
|
enable = lib.mkEnableOption "base config";
|
|
};
|
|
# TODO was gonna add something but i forgor and now i'm too lazy
|
|
# to delete this
|
|
config = lib.mkMerge [
|
|
(lib.mkIf cfg.enable {
|
|
|
|
# Enable my account
|
|
nixfiles.common.me = lib.mkDefault true;
|
|
|
|
# locale settings
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
extraLocaleSettings = {
|
|
LC_ALL = "en_US.UTF-8";
|
|
};
|
|
};
|
|
|
|
# Enable flakes
|
|
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
|
|
|
# fallback to building locally if binary cache fails (home-manager should be
|
|
# able to handle simple rebuilds offline)
|
|
nix.settings.fallback = true;
|
|
|
|
# Allow unfree packages
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# networking.hostName = "nixos"; # Define your hostname.
|
|
# Pick only one of the below networking options.
|
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
networking.networkmanager.enable = lib.mkDefault true; # Easiest to use and most distros use this by default.
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = with pkgs; [
|
|
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
wget
|
|
curl
|
|
git
|
|
git-lfs
|
|
stow
|
|
zsh
|
|
ntfs3g
|
|
openssh
|
|
sshfs
|
|
file
|
|
|
|
fd
|
|
ripgrep
|
|
sbctl # TODO move this elsewhere
|
|
comma
|
|
nil
|
|
|
|
# network utilities
|
|
inetutils
|
|
socat
|
|
nmap
|
|
hping
|
|
|
|
# system utilities
|
|
htop
|
|
lshw
|
|
pciutils
|
|
];
|
|
|
|
# this makes comma and legacy nix utils use the flake nixpkgs for ABI
|
|
# compatibility becasue once `, vkcube` couldn't find the correct opengl
|
|
# driver or something (also it reduces the download size of temporary shell
|
|
# closures)
|
|
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ] ++ options.nix.nixPath.default;
|
|
|
|
programs.ssh.enableAskPassword = false;
|
|
programs.fuse.userAllowOther = true;
|
|
|
|
programs.gnupg.agent = {
|
|
enable = lib.mkDefault true;
|
|
enableSSHSupport = lib.mkDefault true;
|
|
};
|
|
|
|
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 15;
|
|
})
|
|
];
|
|
}
|