7HR54K3XGCRMVISYFXSVXY64JHJGQNN42QYABKAVQ243RK4Q2VWQC { ... }: {imports = [../common/racknerd../common/optional/headscale.nix../common/optional/nginx.nix];}
{ ... }: {services.tailscale = {enable = true;useRoutingFeatures = "both";};networking.firewall = {checkReversePath = "loose";allowedUDPPorts = [ 41641 ];};}
{ ... }:{services.openssh = {enable = true;settings = {PermitRootLogin = "yes";PasswordAuthentication = false;}}}
{services.fail2ban = {enable = true;};}
{imports = [./fail2ban.nix./tailscale.nix];}
{ modulesPath, ... }:{# Set your system kind (needed for flakes)nixpkgs.hostPlatform = "x86_64-linux";imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];boot.loader.grub.device = "/dev/vda";boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ];boot.initrd.kernelModules = [ "nvme" ];fileSystems."/" = { device = "/dev/vda1"; fsType = "ext4"; };swapDevices = [ { device = "/dev/vda2"; } ];}
{ ... }: {imports = [./configuration.nix./hardware-configuration.nix];}
# This is your system's configuration file.# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix){inputs,lib,config,pkgs,...}: {# You can import other NixOS modules hereimports = [# If you want to use modules from other flakes (such as nixos-hardware):# inputs.hardware.nixosModules.common-cpu-amd# inputs.hardware.nixosModules.common-ssd# You can also split up your configuration and import pieces of it here:# ./users.nix../services# Import your generated (nixos-generate-config) hardware configuration./hardware-configuration.nix];nixpkgs = {# You can add overlays hereoverlays = [# If you want to use overlays exported from other flakes:# neovim-nightly-overlay.overlays.default# Or define it inline, for example:# (final: prev: {# hi = final.hello.overrideAttrs (oldAttrs: {# patches = [ ./change-hello-to-hi.patch ];# });# })];# Configure your nixpkgs instanceconfig = {# Disable if you don't want unfree packagesallowUnfree = true;};};nix = letflakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;in {settings = {# Enable flakes and new 'nix' commandexperimental-features = "nix-command flakes";# Opinionated: disable global registryflake-registry = "";# Workaround for https://github.com/NixOS/nix/issues/9574nix-path = config.nix.nixPath;};# Opinionated: disable channelschannel.enable = false;# Opinionated: make flake registry and nix path match flake inputsregistry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;};users.users = {root = {openssh.authorizedKeys.keys = [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPHS1VnYpuq5W2WWfd/t47rB/nEv0BNtRqz55jLxnbHL'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJwRqzBdvd8HiPGMjH2tU1tZKzT+9i/2mRbafag0KcpI grantchristophera@gmail.com''];};};security.acme = {acceptTerms = true;defaults.email = "webmaster+acme@aptenodytes.ca";};# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersionsystem.stateVersion = "24.05";}
{ lib, config, ... }:{services = {nginx = {enable = true;recommendedTlsSettings = true;recommendedProxySettings = true;recommendedGzipSettings = true;recommendedOptimisation = true;};};networking.firewall.allowedTCPPorts = [ 80 443 ];}
{ config, lib, ... }:letderpPort = 3478;hsdomain = "rune.aptenodytes.ca";in{services = {headscale = {enable = true;address = "0.0.0.0";port = 8080;settings = {base_domain = "pharaoh";logtail.enabled = false;metrics_listen_addr = "127.0.0.1:8095";server_url = "https://${hsdomain}";derp.server = {enable = true;region_id = 999;stun_listen_addr = "0.0.0.0:${toString derpPort}";};};};nginx.virtualHosts.${hsdomain} = {enableACME = true;forceSSL = true;locations = {"/" = {proxyPass = "http://localhost:${toString config.services.headscale.port}";proxyWebsockets = true;};"/metrics" = {proxyPass = "http://${config.services.headscale.settings.metrics_listen_addr}/metrics";};};};};networking.firewall.allowedUDPPorts = [ derpPort ];environment.systemPackages = [ config.services.headscale.package ];}
{ ... }: {imports = [../common/racknerd];}
{ ... }: {imports = [../common/racknerd];}
# This is your home-manager configuration file# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix){inputs,lib,config,pkgs,username,...}: {# You can import other home-manager modules hereimports = [# If you want to use home-manager modules from other flakes (such as nix-colors):# inputs.nix-colors.homeManagerModule# You can also split up your configuration and import pieces of it here:# ./nvim.nix];nixpkgs = {# You can add overlays hereoverlays = [# If you want to use overlays exported from other flakes:# neovim-nightly-overlay.overlays.default# Or define it inline, for example:# (final: prev: {# hi = final.hello.overrideAttrs (oldAttrs: {# patches = [ ./change-hello-to-hi.patch ];# });# })];# Configure your nixpkgs instanceconfig = {# Disable if you don't want unfree packagesallowUnfree = true;# Workaround for https://github.com/nix-community/home-manager/issues/2942allowUnfreePredicate = _: true;};};home = {username = mkDefault username;homeDirectory = "/home/${username}";};# Add stuff for your user as you see fit:# programs.neovim.enable = true;# home.packages = with pkgs; [ steam ];# Enable home-manager and gitprograms.home-manager.enable = true;programs.git.enable = true;# Nicely reload system units when changing configssystemd.user.startServices = "sd-switch";# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersionhome.stateVersion = "24.05";}
{description = "Master nix configuration";inputs = {# Nixpkgsnixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";# Home managerhome-manager.url = "github:nix-community/home-manager/release-23.11";home-manager.inputs.nixpkgs.follows = "nixpkgs";};outputs = {self,nixpkgs,home-manager,...} @ inputs: letinherit (self) outputs;in {# NixOS configuration entrypoint# Available through 'nixos-rebuild --flake .#your-hostname'nixosConfigurations = {alys = nixpkgs.lib.nixosSystem {specialArgs = {inherit inputs outputs; };modules = [./hosts/alys];};chaz = nixpkgs.lib.nixosSystem {specialArgs = {inherit inputs outputs; };modules = [./hosts/chaz];};rune = nixpkgs.lib.nixosSystem {specialArgs = {inherit inputs outputs; };modules = [./hosts/rune];};};# Standalone home-manager configuration entrypoint# Available through 'home-manager --flake .#your-username@your-hostname'homeConfigurations = {"hucaseal@alys" = home-manager.lib.homeManagerConfiguration {pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instanceextraSpecialArgs = {inherit inputs outputs;};# > Our main home-manager configuration file <modules = [./home-manager/home.nix];};"ramar@chaz" = home-manager.lib.homeManagerConfiguration {pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instanceextraSpecialArgs = {inherit inputs outputs;};# > Our main home-manager configuration file <modules = [./home-manager/home.nix];};"fomarl@rune" = home-manager.lib.homeManagerConfiguration {pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instanceextraSpecialArgs = {inherit inputs outputs;};# > Our main home-manager configuration file <modules = [./home-manager/home.nix];};};};}
{"nodes": {"home-manager": {"inputs": {"nixpkgs": ["nixpkgs"]},"locked": {"lastModified": 1714043624,"narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=","owner": "nix-community","repo": "home-manager","rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411","type": "github"},"original": {"owner": "nix-community","ref": "release-23.11","repo": "home-manager","type": "github"}},"nixpkgs": {"locked": {"lastModified": 1713995372,"narHash": "sha256-fFE3M0vCoiSwCX02z8VF58jXFRj9enYUSTqjyHAjrds=","owner": "nixos","repo": "nixpkgs","rev": "dd37924974b9202f8226ed5d74a252a9785aedf8","type": "github"},"original": {"owner": "nixos","ref": "nixos-23.11","repo": "nixpkgs","type": "github"}},"root": {"inputs": {"home-manager": "home-manager","nixpkgs": "nixpkgs"}}},"root": "root","version": 7}