common aspects reworked into base aspect
This commit is contained in:
parent
bfa2521ed0
commit
5d1b54c8bf
15 changed files with 72 additions and 112 deletions
48
aspects/base/base.nix
Normal file
48
aspects/base/base.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
flake.modules.nixos.base =
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
boot
|
||||
console
|
||||
firewall
|
||||
locale
|
||||
nix
|
||||
security
|
||||
ssh
|
||||
];
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
git
|
||||
fastfetch
|
||||
nixos-firewall-tool
|
||||
sysz
|
||||
wget
|
||||
yazi
|
||||
];
|
||||
shellAliases = {
|
||||
cat = "${lib.getExe pkgs.bat} --paging=never --style=plain";
|
||||
ls = "${lib.getExe pkgs.eza} --git --icons --group-directories-first";
|
||||
tree = "ls --tree";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
command-not-found.enable = false;
|
||||
fish = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
dbus.implementation = "broker";
|
||||
irqbalance.enable = true;
|
||||
fstrim.enable = true;
|
||||
tailscale = {
|
||||
enable = true;
|
||||
extraUpFlags = [ "--operator=user" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
23
aspects/base/boot.nix
Normal file
23
aspects/base/boot.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.boot =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
boot = {
|
||||
loader = {
|
||||
timeout = 1;
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
editor = false;
|
||||
consoleMode = "max";
|
||||
sortKey = "aa";
|
||||
netbootxyz = {
|
||||
enable = true;
|
||||
sortKey = "zz";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
11
aspects/base/console.nix
Normal file
11
aspects/base/console.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.console =
|
||||
{ ... }:
|
||||
{
|
||||
console = {
|
||||
useXkbConfig = true;
|
||||
earlySetup = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
11
aspects/base/firewall.nix
Normal file
11
aspects/base/firewall.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.firewall =
|
||||
{ ... }:
|
||||
{
|
||||
networking = {
|
||||
firewall.enable = true;
|
||||
nftables.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
24
aspects/base/locale.nix
Normal file
24
aspects/base/locale.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.locale =
|
||||
{ ... }:
|
||||
{
|
||||
time.timeZone = "America/Bahia";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pt_BR.utf8";
|
||||
LC_COLLATE = "pt_BR.utf8";
|
||||
LC_IDENTIFICATION = "pt_BR.utf8";
|
||||
LC_MEASUREMENT = "pt_BR.utf8";
|
||||
LC_MONETARY = "pt_BR.utf8";
|
||||
LC_NAME = "pt_BR.utf8";
|
||||
LC_NUMERIC = "pt_BR.utf8";
|
||||
LC_PAPER = "pt_BR.utf8";
|
||||
LC_TELEPHONE = "pt_BR.utf8";
|
||||
LC_TIME = "en_IE.utf8";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
43
aspects/base/nix.nix
Normal file
43
aspects/base/nix.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.nix =
|
||||
{ inputs, ... }:
|
||||
{
|
||||
imports = [ inputs.nixos-cli.nixosModules.nixos-cli ];
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
connect-timeout = 10;
|
||||
log-lines = 25;
|
||||
min-free = 128000000;
|
||||
max-free = 1000000000;
|
||||
trusted-users = [ "@wheel" ];
|
||||
};
|
||||
extraOptions = "experimental-features = nix-command flakes";
|
||||
gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 8d";
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
enableParallelBuilding = true;
|
||||
buildManPages = false;
|
||||
buildDocs = false;
|
||||
};
|
||||
|
||||
services.nixos-cli = {
|
||||
enable = true;
|
||||
config = {
|
||||
use_nvd = true;
|
||||
ignore_dirty_tree = true;
|
||||
apply.reexec_as_root = true;
|
||||
confirmation.empty = "default-yes";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
};
|
||||
}
|
||||
13
aspects/base/security.nix
Normal file
13
aspects/base/security.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ ... }:
|
||||
{
|
||||
flake.modules.nixos.security =
|
||||
{ ... }:
|
||||
{
|
||||
security.sudo = {
|
||||
wheelNeedsPassword = false;
|
||||
extraConfig = ''
|
||||
Defaults lecture = never
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
32
aspects/base/ssh.nix
Normal file
32
aspects/base/ssh.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
flake.modules.nixos.ssh =
|
||||
{ ... }:
|
||||
{
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings.PermitRootLogin = "no";
|
||||
extraConfig = ''
|
||||
PrintLastLog no
|
||||
'';
|
||||
};
|
||||
programs = {
|
||||
bash.interactiveShellInit = ''
|
||||
if { [ -n "$SSH_CONNECTION" ] && [ -z "$IN_NIX_SHELL" ]; } || [ -z "$TMUX" ]; then
|
||||
export TERM=xterm-256color
|
||||
clear
|
||||
fastfetch
|
||||
fi
|
||||
'';
|
||||
fish.interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
if set -q SSH_CONNECTION; and not set -q IN_NIX_SHELL; or not set -q TMUX
|
||||
export TERM=xterm-256color
|
||||
clear
|
||||
fastfetch
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue