Initial commit of flake-based NixOS config for the whole haus
This commit is contained in:
14
modules/common/docker.nix
Normal file
14
modules/common/docker.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Enable with systemctl --user enable --now docker
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
28
modules/common/libvirt.nix
Normal file
28
modules/common/libvirt.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = pkgs.qemu_kvm;
|
||||
runAsRoot = true;
|
||||
swtpm.enable = true;
|
||||
ovmf = {
|
||||
enable = true;
|
||||
packages = [
|
||||
(pkgs.OVMF.override {
|
||||
secureBoot = true;
|
||||
tpmSupport = true;
|
||||
}).fd
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
virt-manager
|
||||
qemu_kvm
|
||||
];
|
||||
}
|
||||
33
modules/common/networking.nix
Normal file
33
modules/common/networking.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Europe/Bucharest";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "ro_RO.UTF-8";
|
||||
LC_IDENTIFICATION = "ro_RO.UTF-8";
|
||||
LC_MEASUREMENT = "ro_RO.UTF-8";
|
||||
LC_MONETARY = "ro_RO.UTF-8";
|
||||
LC_NAME = "ro_RO.UTF-8";
|
||||
LC_NUMERIC = "ro_RO.UTF-8";
|
||||
LC_PAPER = "ro_RO.UTF-8";
|
||||
LC_TELEPHONE = "ro_RO.UTF-8";
|
||||
LC_TIME = "ro_RO.UTF-8";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
torsocks
|
||||
];
|
||||
|
||||
# 9050,9063,8118(HTTP)
|
||||
services.tor = {
|
||||
enable = true;
|
||||
client.enable = true;
|
||||
openFirewall = true;
|
||||
settings = {ControlPort = 9051;};
|
||||
};
|
||||
}
|
||||
11
modules/common/nix.nix
Normal file
11
modules/common/nix.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
nix.extraOptions = ''
|
||||
trusted-users = root user
|
||||
'';
|
||||
}
|
||||
9
modules/common/security.nix
Normal file
9
modules/common/security.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
lynis
|
||||
];
|
||||
}
|
||||
57
modules/common/shell.nix
Normal file
57
modules/common/shell.nix
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.variables.EDITOR = "nvim";
|
||||
|
||||
users.users.user.shell = pkgs.bash;
|
||||
environment.shells = with pkgs; [bash];
|
||||
programs.bash = {
|
||||
interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
'';
|
||||
};
|
||||
programs.fish.enable = true;
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
command_timeout = 1300;
|
||||
scan_timeout = 50;
|
||||
format = ''
|
||||
$all$nix_shell$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status
|
||||
$username$hostname$directory'';
|
||||
character = {
|
||||
success_symbol = "[](bold green) ";
|
||||
error_symbol = "[✗](bold red) ";
|
||||
};
|
||||
};
|
||||
};
|
||||
#programs.zsh = {
|
||||
# enable = true;
|
||||
# enableCompletion = true;
|
||||
# autosuggestions.enable = true;
|
||||
# syntaxHighlighting.enable = true;
|
||||
#
|
||||
# shellAliases = {
|
||||
# update = "sudo nixos-rebuild switch";
|
||||
# upgrade = "sudo nixos-rebuild switch --upgrade";
|
||||
# proxy-grabber =
|
||||
# "if [ $# -eq 0 ]; then torsocks curl -sL https://cdn.jsdelivr.net/gh/proxifly/free-proxy-list@main/proxies/all/data.txt else countrycode=$(echo $1 | tr '[:lower:]' '[:upper:]') torsocks curl -sL https://cdn.jsdelivr.net/gh/proxifly/free-proxy-list@main/proxies/countries/$countrycode/data.txt fi";
|
||||
# usbdiff =
|
||||
# "lsblk > diff1 && echo 'SLEEPING 5...' && sleep 5 && lsblk > diff2 && diff diff1 diff2 && rm diff1 diff2";
|
||||
# };
|
||||
#
|
||||
# oh-my-zsh = {
|
||||
# enable = true;
|
||||
# plugins = [ "git" ];
|
||||
# theme = "clean";
|
||||
# };
|
||||
#};
|
||||
}
|
||||
27
modules/common/utils.nix
Normal file
27
modules/common/utils.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.neovim = {defaultEditor = true;};
|
||||
environment.systemPackages = with pkgs; [
|
||||
pciutils
|
||||
btop
|
||||
nload
|
||||
htop
|
||||
nethogs
|
||||
uutils-coreutils-noprefix
|
||||
nvim
|
||||
git
|
||||
curl
|
||||
bat
|
||||
eza
|
||||
dua
|
||||
ripgrep
|
||||
dig
|
||||
fd
|
||||
proxychains-ng
|
||||
unzip
|
||||
wget
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user