nix/nixos/default.nix

85 lines
2.9 KiB
Nix
Raw Normal View History

2023-08-31 13:22:44 +02:00
{ lib, config, pkgs, hostname, stateVersion, username, desktop, gpu, inputs, platform, theme, ... }: {
2023-08-23 07:30:15 +02:00
imports = [
2023-09-20 13:29:33 +02:00
# Modules
inputs.disko.nixosModules.disko
2023-08-23 07:30:15 +02:00
# Services
2023-08-23 12:24:47 +02:00
./common/services/openssh.nix
./common/services/promtail.nix
./common/services/fail2ban.nix
2023-08-23 07:30:15 +02:00
./common/services/telegraf.nix
./common/services/tailscale.nix
2023-08-27 13:51:24 +02:00
./common/services/gnupg-agent.nix
2023-08-31 06:11:44 +02:00
./common/services/opensnitch.nix
2023-08-23 07:30:15 +02:00
2023-08-29 06:52:14 +02:00
# CLI Software
./common/software/cli/weechat.nix
2023-08-23 12:24:47 +02:00
# NixOS Modules
2023-10-06 12:41:55 +02:00
./common/modules/fonts.nix # Font Configs
./common/modules/networking.nix # Initial Networking configs
./common/modules/nixos.nix # NixOS related items
./common/modules/remote-builders.nix # Add remote builders
2023-08-23 07:30:15 +02:00
./users/${username}
./hosts/${hostname}
] ++ lib.optional (builtins.isString desktop) ./common/desktops/${desktop};
# List packages installed in system profile
environment.systemPackages = with pkgs; [
2023-09-23 14:31:46 +02:00
sbctl # Secureboot Control
wget # WebGet
killall # Killall
curl # Curl - For web requests
neofetch # system information viewer
rsync # copy/sync
git # git!
duf # replacement / prettier UI for df
ncdu # ncurses style browser for du/dust
du-dust # better UI for 'du"
home-manager # manage dotfiles
btop # like htop, but prettier
iftop # interface top - network usage
nload # network load - Network usage graphs
iotop # I/O top viewer - disk r/w, etc
sops # manage secrets
gnupg # GNU Privacy Guard
2023-10-05 11:32:10 +02:00
fx # Pretty print JSON
2023-09-23 14:31:46 +02:00
eza # like ls, but prettier
cryptsetup # used to open LUKS devices
parted # Disk partitioner / Formatter
screen # Terminal screen manager
e2fsprogs # disk format utilities, like mkfs.ext4
2023-09-28 13:05:34 +02:00
bat # Like cat, but with syntax highlighting
2023-09-28 14:20:50 +02:00
openssl # Used to generate certs, random strings, etc
2023-11-20 10:43:26 +01:00
tree # CLI directory display software
2023-11-30 06:43:25 +01:00
nmap # network mapping / discovery software
2023-12-03 07:52:02 +01:00
busybox # General linux commands, nslookup, dig, etc
2023-12-12 13:50:56 +01:00
sshpass # ssh password helper
2023-12-27 04:41:12 +01:00
cbonsai # ncurses bonsai tree
2024-01-03 05:11:05 +01:00
# busybox # Linux utilities
2024-01-03 05:11:46 +01:00
coreutils-full
2024-01-02 12:16:09 +01:00
at # Job scheduler
2023-08-23 07:30:15 +02:00
];
2024-01-02 12:18:30 +01:00
# Job scheduler
services.atd.enable = true;
2024-01-02 14:40:09 +01:00
services.atd.allowEveryone = true;
2024-01-02 12:18:30 +01:00
2023-08-23 07:30:15 +02:00
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
system.stateVersion = stateVersion;
}