modularized hosts creatorforge.nix

This commit is contained in:
specCon18 2023-04-18 02:42:12 -04:00
parent 38d653d2ff
commit 43ed213a93
14 changed files with 146 additions and 123 deletions

View file

@ -1,64 +0,0 @@
{ modulesPath, config, pkgs, lib, self, ... }:
{
system.stateVersion = "22.11";
time.timeZone = "America/Detroit";
# Allow non opensource software to be installed
nixpkgs.config.allowUnfree = true;
nix = {
## NIX FLAKES ##
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
# enable flakes
extraOptions = ''experimental-features = nix-command flakes'';
# auto maintainence
settings.auto-optimise-store = lib.mkDefault true;
# prevent tampering
readOnlyStore = true;
# garbage collections
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# base packages
environment.systemPackages = with pkgs; [
ripgrep
tree
cargo
feh
unrar
unzip
gzip
p7zip
bzip2
dconf2nix
rustc
bat
exa
mdbook
uutils-coreutils
htop
zsh
tailscale
dig #dns lookup
rage #file encryption
age-plugin-yubikey #plugin for rage to manage yubi-2fa
sops #file based secrets operations
direnv #used for development environments
python39
] ++ [self.inputs.devenv.packages.x86_64-linux.devenv];
networking = {
hostName = "creatorforge"; # Define your hostname.
useDHCP = lib.mkForce true;
firewall = {
enable = true;
allowedTCPPorts = [];
allowedUDPPorts = [];
checkReversePath = "loose";
};
};
}

View file

@ -0,0 +1,27 @@
{ modulesPath, config, pkgs, lib, self, ... }:
{
# Sets the default version to track for system-pkgs
system.stateVersion = "22.11";
# Set the default timezone
time.timeZone = lib.mkDefault "America/Detroit";
# Allow non opensource software to be installed
nixpkgs.config.allowUnfree = true;
# NixOS Settings
nix = {
# Sets flakes to unstable track instead of stable #
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
# Enable flakes and nix-command
extraOptions = ''experimental-features = nix-command flakes'';
# Auto maintainence
settings.auto-optimise-store = lib.mkDefault true;
# Prevent tampering of the pkgstore
readOnlyStore = true;
# Garbage collection
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
}

View file

@ -0,0 +1,13 @@
{ modulesPath, config, pkgs, lib, self, ... }:
{
networking = {
hostName = "creatorforge"; # Define your hostname.
useDHCP = lib.mkForce true;
firewall = {
enable = true;
allowedTCPPorts = [];
allowedUDPPorts = [];
checkReversePath = "loose";
};
};
}

View file

@ -0,0 +1,29 @@
{ modulesPath, config, pkgs, lib, self, ... }:
{
environment.systemPackages = with pkgs; [
ripgrep
tree
cargo
feh
unrar
unzip
gzip
p7zip
bzip2
dconf2nix
rustc
bat
exa
mdbook
uutils-coreutils
htop
zsh
tailscale
dig #dns lookup
rage #file encryption
age-plugin-yubikey #plugin for rage to manage yubi-2fa
sops #file based secrets operations
direnv #used for development environments
python39
];
}