2024-03-14 06:10:27 +01:00
|
|
|
{ inputs, lib, pkgs, hostname, stateVersion, username, desktop, system, ... }: {
|
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
|
2024-02-17 14:38:35 +01:00
|
|
|
./common/software/cli/weechat.nix
|
2023-08-23 07:30:15 +02:00
|
|
|
|
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; [
|
2024-03-14 06:08:10 +01:00
|
|
|
tmux # terminal multiplexer
|
2024-03-04 01:29:14 +01:00
|
|
|
rbw # CLI app for Bitwarden
|
2024-02-28 02:41:49 +01:00
|
|
|
nfs-utils # nfs network share tools
|
2024-02-20 00:25:37 +01:00
|
|
|
nixfmt # Formatting nix output
|
2024-02-14 06:57:26 +01:00
|
|
|
dconf # Required for stylix
|
2024-02-08 11:08:43 +01:00
|
|
|
ripgrep # Better grep
|
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
|
2024-02-08 13:11:24 +01:00
|
|
|
nodejs # Required by fx
|
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 14:25:06 +01:00
|
|
|
busybox # Linux utilities
|
2024-01-07 07:21:41 +01:00
|
|
|
ethtool # Ethernet troubleshooting
|
2024-02-13 04:46:56 +01:00
|
|
|
fd # alternative to "Find"
|
|
|
|
lazygit # Decent Git TUI
|
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";
|
|
|
|
};
|
|
|
|
|
2024-01-22 07:47:48 +01:00
|
|
|
# https://github.com/NixOS/nixpkgs/issues/180175#issuecomment-1658731959
|
|
|
|
systemd.services.NetworkManager-wait-online = {
|
|
|
|
serviceConfig = {
|
|
|
|
ExecStart = [ "" "${pkgs.networkmanager}/bin/nm-online -q" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-08-23 07:30:15 +02:00
|
|
|
system.stateVersion = stateVersion;
|
2024-02-10 02:32:16 +01:00
|
|
|
nixpkgs.hostPlatform = system;
|
2023-08-23 07:30:15 +02:00
|
|
|
}
|