forked from Drift/pvv-nixos-config
3a707b00d3
Now by default we source .bashrc and .profile unless the user has actually read the manual. Tested in vm
80 lines
1.9 KiB
Nix
80 lines
1.9 KiB
Nix
{ pkgs, lib, fp, ... }:
|
|
|
|
{
|
|
imports = [
|
|
(fp /users)
|
|
(fp /modules/snakeoil-certs.nix)
|
|
|
|
./networking.nix
|
|
./nix.nix
|
|
|
|
./services/acme.nix
|
|
./services/auto-upgrade.nix
|
|
./services/dbus.nix
|
|
./services/fwupd.nix
|
|
./services/irqbalance.nix
|
|
./services/logrotate.nix
|
|
./services/nginx.nix
|
|
./services/openssh.nix
|
|
./services/postfix.nix
|
|
./services/smartd.nix
|
|
./services/thermald.nix
|
|
./services/userborn.nix
|
|
./services/userdbd.nix
|
|
];
|
|
|
|
boot.tmp.cleanOnBoot = lib.mkDefault true;
|
|
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
|
|
|
time.timeZone = "Europe/Oslo";
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
keyMap = "no";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
file
|
|
git
|
|
gnupg
|
|
htop
|
|
nano
|
|
ripgrep
|
|
rsync
|
|
screen
|
|
tmux
|
|
vim
|
|
wget
|
|
|
|
kitty.terminfo
|
|
];
|
|
|
|
# .bash_profile already works, but lets also use .bashrc like literally every other distro
|
|
# https://man.archlinux.org/man/core/bash/bash.1.en#INVOCATION
|
|
# home-manager usually handles this for you: https://github.com/nix-community/home-manager/blob/22a36aa709de7dd42b562a433b9cefecf104a6ee/modules/programs/bash.nix#L203-L209
|
|
# btw, programs.bash.shellInit just goes into environment.shellInit which in turn goes into /etc/profile, spooky shit
|
|
programs.bash.shellInit = ''
|
|
if [ -n "''${BASH_VERSION:-}" ]; then
|
|
if [[ ! -f ~/.bash_profile && ! -f ~/.bash_login ]]; then
|
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
|
fi
|
|
fi
|
|
'';
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
security.lockKernelModules = true;
|
|
security.protectKernelImage = true;
|
|
security.sudo.execWheelOnly = true;
|
|
security.sudo.extraConfig = ''
|
|
Defaults lecture = never
|
|
'';
|
|
|
|
users.groups."drift".name = "drift";
|
|
|
|
# Trusted users on the nix builder machines
|
|
users.groups."nix-builder-users".name = "nix-builder-users";
|
|
}
|
|
|