111 lines
2.5 KiB
Nix
111 lines
2.5 KiB
Nix
{ config, lib, pkgs, inputs, ... }:
|
|
|
|
{
|
|
imports = [];
|
|
# Use the systemd-boot EFI boot loader.
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
networking.networkmanager.enable = true;
|
|
networking.firewall.allowedTCPPorts = [22 42069];
|
|
services.openssh = {
|
|
enable = true;
|
|
ports = [22];
|
|
settings.X11Forwarding = true;
|
|
};
|
|
|
|
systemd.services."gitea-runner-homelab".serviceConfig = {
|
|
ReadWritePaths = [ "/servers/site" ];
|
|
DynamicUser = lib.mkForce false;
|
|
User = lib.mkForce "gitea-runner";
|
|
};
|
|
|
|
environment.binsh = "${pkgs.bash}/bin/bash";
|
|
services.gitea-actions-runner.instances."homelab" = {
|
|
enable = true;
|
|
url = "https://git.jeremyjanella.com";
|
|
tokenFile = "/servers/gitea/runner-token";
|
|
name = "predator";
|
|
labels = [ "homelab:host" "nixos:host" "predator:host" ];
|
|
settings = {
|
|
container.network = "host";
|
|
};
|
|
};
|
|
|
|
time.timeZone = "America/Toronto";
|
|
|
|
virtualisation.docker.enable = true;
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
backupFileExtension = "not-nix"; # Add this line
|
|
users.jeremy = { pkgs, ... }: {
|
|
home.stateVersion = "25.11";
|
|
programs.neovim = { # Configure nvim
|
|
enable = true;
|
|
extraConfig = ''
|
|
set number relativenumber
|
|
set tabstop=2
|
|
set softtabstop=2
|
|
set shiftwidth=2
|
|
set expandtab
|
|
set cc=80
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
users.users.jeremy = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "docker" "networkmanager" ];
|
|
shell = pkgs.bash;
|
|
home = "/home/jeremy";
|
|
createHome = true;
|
|
packages = with pkgs; [
|
|
nixfmt # nix file formatting
|
|
direnv # develop projects in custom environments
|
|
];
|
|
};
|
|
|
|
users.users.gitea-runner = {
|
|
isSystemUser = true;
|
|
group = "gitea-runner";
|
|
};
|
|
users.groups.gitea-runner = {};
|
|
|
|
# Use https://search.nixos.org/ to find more packages (and options).
|
|
environment.systemPackages = with pkgs; [
|
|
gcc
|
|
htop
|
|
neovim
|
|
wget
|
|
ncdu
|
|
nmap
|
|
git
|
|
unzip
|
|
bluez # Bluetooth support
|
|
bluez-tools # Bluetooth tools
|
|
polkit_gnome
|
|
usbutils # for lsusb
|
|
networkmanagerapplet
|
|
wireguard-tools
|
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.typst # bleeding edge html exports for typst
|
|
];
|
|
|
|
environment.sessionVariables = {
|
|
SUDO_EDITOR = "nvim";
|
|
};
|
|
|
|
hardware.bluetooth = {
|
|
enable = true;
|
|
powerOnBoot = true;
|
|
};
|
|
|
|
system.stateVersion = "25.11";
|
|
|
|
}
|
|
|