Files
nixos/system/default.nix
T
biscuit 62d8d36ed8 test
2025-06-30 12:49:36 -05:00

120 lines
2.4 KiB
Nix

{
pkgs,
hostname,
timezone,
touchpadSupport,
inputs,
logitech-hardware,
...
}: {
environment.systemPackages = with pkgs;
[
python313Full
gobject-introspection
gtk3
libxml2
git
cargo
gcc
rustc
nodejs
yarn
busybox
p7zip
btop
tldr
jq
lm_sensors
gparted
notify
mangohud
]
++ [
inputs.matugen.packages.${pkgs.system}.default
]
++ lib.optionals (logitech-hardware.enable == true) [
solaar
];
boot.loader = {
systemd-boot = {
enable = false;
};
efi = {
canTouchEfiVariables = true;
};
grub = {
enable = true;
device = "nodev";
};
};
hardware = {
logitech.wireless.enable = logitech-hardware.enable;
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true; # use xkb.options in tty.
};
networking.hostName = "${hostname}";
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
time.timeZone = "${timezone}";
services = {
openssh = {
enable = true;
ports = [22];
settings = {
PasswordAuthentication = true;
};
};
libinput.enable = touchpadSupport;
blueman.enable = true;
};
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
programs = {
zsh.enable = true;
fish.enable = true;
};
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# ONLY WORKS non-flake
# system.copySystemConfiguration = true;
}