2023-07-01 10:23:32 +02:00
|
|
|
|
{ lib, config, pkgs, ... }: {
|
2023-06-29 14:00:39 +02:00
|
|
|
|
imports =
|
|
|
|
|
[
|
2023-07-04 08:37:53 +02:00
|
|
|
|
# Desktop Environments
|
2023-07-05 14:58:58 +02:00
|
|
|
|
./desktops/common.nix
|
2023-07-10 13:51:13 +02:00
|
|
|
|
./desktops/gnome-unstable.nix
|
2023-07-04 08:37:53 +02:00
|
|
|
|
|
|
|
|
|
# Services
|
2023-07-12 13:52:15 +02:00
|
|
|
|
./services/openssh.nix
|
|
|
|
|
./services/promtail.nix
|
|
|
|
|
./services/fail2ban.nix
|
|
|
|
|
./services/telegraf.nix
|
|
|
|
|
|
|
|
|
|
# Modules
|
|
|
|
|
./modules/nixos.nix # General NixOS items. Flake enablement, etc
|
|
|
|
|
./modules/secureboot.nix # Secureboot Configs
|
|
|
|
|
./modules/fonts.nix # Font Configs
|
|
|
|
|
./modules/networking.nix # Initial Networking configs
|
2023-06-29 14:00:39 +02:00
|
|
|
|
];
|
2023-06-29 08:32:19 +02:00
|
|
|
|
|
2023-07-13 11:08:12 +02:00
|
|
|
|
# Allow unfree packages
|
2023-07-15 14:26:08 +02:00
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
2023-06-29 14:00:39 +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";
|
2023-06-29 08:32:19 +02:00
|
|
|
|
};
|
|
|
|
|
|
2023-07-12 13:52:15 +02:00
|
|
|
|
# Define a user account.
|
2023-06-29 14:00:39 +02:00
|
|
|
|
users.users.albert = {
|
|
|
|
|
isNormalUser = true;
|
|
|
|
|
description = "Albert J. Copeland";
|
|
|
|
|
extraGroups = [ "networkmanager" "wheel" ];
|
2023-07-10 14:29:51 +02:00
|
|
|
|
hashedPassword = "$y$j9T$wKLsIWaA4Gf63RvjedwLJ0$EHKL6BBJV0CAxEKcHHjaBqW085KJ/MGvmbyWzmcWOy6";
|
2023-06-29 08:32:19 +02:00
|
|
|
|
};
|
|
|
|
|
|
2023-07-02 11:14:32 +02:00
|
|
|
|
# List packages installed in system profile
|
2023-06-29 14:00:39 +02:00
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
# Secureboot
|
|
|
|
|
sbctl
|
2023-06-30 16:22:59 +02:00
|
|
|
|
|
2023-07-01 12:15:17 +02:00
|
|
|
|
# Bash powerline
|
|
|
|
|
powerline-go
|
2023-06-29 14:00:39 +02:00
|
|
|
|
wget
|
2023-07-16 09:49:12 +02:00
|
|
|
|
killall
|
2023-07-01 14:21:31 +02:00
|
|
|
|
neovim
|
2023-06-29 14:00:39 +02:00
|
|
|
|
git
|
|
|
|
|
curl
|
|
|
|
|
htop
|
2023-07-15 14:44:41 +02:00
|
|
|
|
btop
|
2023-06-29 14:00:39 +02:00
|
|
|
|
iftop
|
|
|
|
|
nload
|
|
|
|
|
iotop
|
|
|
|
|
glxinfo
|
|
|
|
|
tailscale
|
2023-06-30 15:51:09 +02:00
|
|
|
|
neofetch
|
2023-07-03 10:17:57 +02:00
|
|
|
|
gnupg
|
2023-07-04 08:37:53 +02:00
|
|
|
|
fail2ban
|
2023-06-29 14:00:39 +02:00
|
|
|
|
];
|
|
|
|
|
|
2023-07-15 15:16:10 +02:00
|
|
|
|
# Enable tailscale
|
2023-07-02 11:27:23 +02:00
|
|
|
|
services = {
|
2023-07-02 11:14:32 +02:00
|
|
|
|
tailscale.enable = true;
|
|
|
|
|
};
|
2023-06-29 14:00:39 +02:00
|
|
|
|
|
|
|
|
|
# This value determines the NixOS release from which the default
|
|
|
|
|
# settings for stateful data, like file locations and database versions
|
|
|
|
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
|
|
|
# this value at the release version of the first install of this system.
|
|
|
|
|
# Before changing this value read the documentation for this option
|
|
|
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
2023-08-14 07:55:14 +02:00
|
|
|
|
# system.stateVersion = "23.05"; # Did you read the comment?
|
|
|
|
|
system.stateVersion = "unstable"
|
2023-07-02 15:46:14 +02:00
|
|
|
|
}
|