Now tracking Athena
31
flake.nix
@@ -80,7 +80,7 @@
|
|||||||
{ nixpkgs.overlays = overlays; }
|
{ nixpkgs.overlays = overlays; }
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
./modules/hardware-configuration.nix
|
./modules/hardware-configuration-titan.nix
|
||||||
./modules/configuration-server.nix
|
./modules/configuration-server.nix
|
||||||
home-manager.nixosModules.home-manager {
|
home-manager.nixosModules.home-manager {
|
||||||
# home-manager.useGlobalPkgs = true;
|
# home-manager.useGlobalPkgs = true;
|
||||||
@@ -102,5 +102,34 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
nixosConfigurations.Athena = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit overlays; };
|
||||||
|
modules = [
|
||||||
|
{ nixpkgs.overlays = overlays; }
|
||||||
|
disko.nixosModules.disko
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
./modules/hardware-configuration-athena.nix
|
||||||
|
./modules/configuration-Athena.nix
|
||||||
|
home-manager.nixosModules.home-manager {
|
||||||
|
# home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.sharedModules = [ {nixpkgs.overlays = overlays;} ];
|
||||||
|
home-manager.users.th3r00t = {
|
||||||
|
imports = [
|
||||||
|
./home-server.nix
|
||||||
|
nix-index-database.homeModules.nix-index
|
||||||
|
];
|
||||||
|
home.file.".config/nvim" = {
|
||||||
|
source = inputs.neovim-config;
|
||||||
|
recursive = true;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# home-manager.users.th3r00t = import ./home.nix;
|
||||||
|
# Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
24
hardware-configuration.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
BIN
home/Wallpapers/Fallout_1280x1024.jpg
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
home/Wallpapers/Fallout_1600x1200.jpg
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
home/Wallpapers/Fallout_1920x1080.jpg
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
home/Wallpapers/Fallout_1920x1200.jpg
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
BIN
home/Wallpapers/Fallout_VaultTec_Boy_1280x1024.jpg
Normal file
|
After Width: | Height: | Size: 998 KiB |
BIN
home/Wallpapers/Fallout_VaultTec_Boy_1600x1200.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
home/Wallpapers/Fallout_VaultTec_Boy_1920x1080.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
home/Wallpapers/Fallout_VaultTec_Boy_1920x1200.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
home/Wallpapers/Star_Wars_Linux-1250471.jpg
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
home/Wallpapers/avatar_starship_bridge.png
Normal file
|
After Width: | Height: | Size: 2.8 MiB |
BIN
home/Wallpapers/chatgpt_luther_tokyo.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
home/Wallpapers/cyber_terminal.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
home/Wallpapers/cyberpunk-samurai-on-roof.jpg
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
home/Wallpapers/gonrrogue.jpg
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
home/Wallpapers/jesus_terminal.jpg
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
home/Wallpapers/kylo-ren-dark-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 882 KiB |
BIN
home/Wallpapers/luther.jpg
Normal file
|
After Width: | Height: | Size: 787 KiB |
BIN
home/Wallpapers/overhead_board.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
home/Wallpapers/rogue_developer.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
home/Wallpapers/star-wars-battle-dark-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 318 KiB |
BIN
home/Wallpapers/starwars-hires-sith-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 238 KiB |
BIN
home/Wallpapers/starwars-minimal-battle-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
home/Wallpapers/the-last-jedi-red-wallpaper.jpg
Normal file
|
After Width: | Height: | Size: 264 KiB |
104
modules/configuration-Athena.nix
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration-athena.nix
|
||||||
|
./server-partitioning.nix
|
||||||
|
./configuration-common.nix
|
||||||
|
];
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
trusted-users = [ "root" "th3r00t" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
initrd.availableKernelModules = [
|
||||||
|
"xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
|
kernelModules = [ "fuse" "cifs" ];
|
||||||
|
initrd.kernelModules = [ ];
|
||||||
|
loader.systemd-boot.enable = true;
|
||||||
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
supportedFilesystems = [ "vfat" "btrfs" "cifs" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
extraModprobeConfig = ''
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
networking = {
|
||||||
|
hostName = "Athena"; # Define your hostname.
|
||||||
|
firewall.enable = true;
|
||||||
|
firewall.allowedTCPPorts = [ 21 22 80 443 5900 8080 8384];
|
||||||
|
firewall.allowedUDPPorts = [ 21 22 80 443 5900 8080 8384];
|
||||||
|
};
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = true;
|
||||||
|
fontDir.enable = true;
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.th3r00t = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Mike 'th3r00t' Young";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "input" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
variables.EDITOR = "nvim";
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
curl
|
||||||
|
age
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
mtr.enable = true;
|
||||||
|
gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
printing.enable = false;
|
||||||
|
openssh.enable = true;
|
||||||
|
};
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
|
users.users.root.openssh.authorizedKeys.keys =
|
||||||
|
[
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos"
|
||||||
|
];
|
||||||
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
"10.0.0.39" = [ "chronos" "chronos.lan" ];
|
"10.0.0.39" = [ "chronos" "chronos.lan" ];
|
||||||
"10.0.0.78" = [ "pyshelf" "pyshelf.lan" ];
|
"10.0.0.78" = [ "pyshelf" "pyshelf.lan" ];
|
||||||
"10.0.0.121" = [ "titan" "titan.lan" ];
|
"10.0.0.121" = [ "titan" "titan.lan" ];
|
||||||
|
"10.0.0.141" = [ "athena" "athena.lan" ];
|
||||||
"10.0.0.107" = [ "psql" "psql.lan" ];
|
"10.0.0.107" = [ "psql" "psql.lan" ];
|
||||||
"10.0.0.99" = [ "jelly" "jelly.lan" ];
|
"10.0.0.99" = [ "jelly" "jelly.lan" ];
|
||||||
"10.0.0.207" = [ "sync" "sync.lan" ];
|
"10.0.0.207" = [ "sync" "sync.lan" ];
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration-titan.nix
|
||||||
./server-partitioning.nix
|
./server-partitioning.nix
|
||||||
./configuration-common.nix
|
./configuration-common.nix
|
||||||
];
|
];
|
||||||
|
|||||||
24
modules/hardware-configuration-athena.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
@@ -212,8 +212,32 @@
|
|||||||
ipc = "on";
|
ipc = "on";
|
||||||
splash = false;
|
splash = false;
|
||||||
splash_offset = 2.0;
|
splash_offset = 2.0;
|
||||||
preload = [ "/etc/nixos/home/Wallpapers/tokyonight1.jpg" "/etc/nixos/home/Wallpapers/nord1.jpg" ];
|
preload = [
|
||||||
wallpaper = [ "eDP-1,/etc/nixos/home/Wallpapers/nord1.jpg" ];
|
"/etc/nixos/home/Wallpapers/tokyonight1.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/nord1.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/gonrrogue.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/cyber_terminal.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/jesus_terminal.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/overhead_board.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/rogue_developer.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/luther.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/Fallout_1920x1080.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/chatgpt_luther_tokyo.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/avatar_starship_bridge.png"
|
||||||
|
"/etc/nixos/home/Wallpapers/Star_Wars_Linux-1250471.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/kylo-ren-dark-wallpaper.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/cyberpunk-samurai-on-roof.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/the-last-jedi-red-wallpaper.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/starwars-hires-sith-wallpaper.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/Fallout_1920x1200.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/Fallout_VaultTec_Boy_1920x1080.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/star-wars-battle-dark-wallpaper.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/starwars-minimal-battle-wallpaper.jpg"
|
||||||
|
"/etc/nixos/home/Wallpapers/star-wars-movie-shadow-stormtrooper-wallpaper-3440x1440_15.jpg"
|
||||||
|
];
|
||||||
|
wallpaper = [
|
||||||
|
",/etc/nixos/home/Wallpapers/avatar_starship_bridge.png"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
"d /mnt/roms_ext 0755 root root -"
|
"d /mnt/roms_ext 0755 root root -"
|
||||||
"d /mnt/podcasts 0755 root root -"
|
"d /mnt/podcasts 0755 root root -"
|
||||||
"d /mnt/audiobooks 0755 root root -"
|
"d /mnt/audiobooks 0755 root root -"
|
||||||
|
"d /mnt/movies 0755 root root -"
|
||||||
|
"d /mnt/movies_ext 0755 root root -"
|
||||||
];
|
];
|
||||||
|
|
||||||
fileSystems."/mnt/books" = {
|
fileSystems."/mnt/books" = {
|
||||||
@@ -138,4 +140,32 @@
|
|||||||
"x-systemd.idle-timeout=10min"
|
"x-systemd.idle-timeout=10min"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
fileSystems."/mnt/movies" = {
|
||||||
|
device = "//10.0.0.76/movies";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = [
|
||||||
|
"credentials=/run/secrets/smb"
|
||||||
|
"vers=3.0"
|
||||||
|
"uid=1000" "gid=1000"
|
||||||
|
"file_mode=0664" "dir_mode=0775"
|
||||||
|
"rw" "iocharset=utf8" "cache=strict" "mfsymlinks"
|
||||||
|
"_netdev" "nofail"
|
||||||
|
"x-systemd.automount" "noauto"
|
||||||
|
"x-systemd.idle-timeout=10min"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
fileSystems."/mnt/movies_ext" = {
|
||||||
|
device = "//10.0.0.76/movies_ext";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = [
|
||||||
|
"credentials=/run/secrets/smb"
|
||||||
|
"vers=3.0"
|
||||||
|
"uid=1000" "gid=1000"
|
||||||
|
"file_mode=0664" "dir_mode=0775"
|
||||||
|
"rw" "iocharset=utf8" "cache=strict" "mfsymlinks"
|
||||||
|
"_netdev" "nofail"
|
||||||
|
"x-systemd.automount" "noauto"
|
||||||
|
"x-systemd.idle-timeout=10min"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||