diff --git a/README.md b/README.md index c6a22f3..ffec702 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,14 @@ These files are for the systems themselves such as my custom desktop, Thinkpad X | Hostname | About | Role | Architecture | | ----------:| -----:| ----:| ---------------:| | `shepard` | System76 nebula49 | 🖥️ | `x86_64-linux` | +| `garrus` | System76 Lemur Pro (lemp13-b) | 💻 | `x86_64-linux` | | `edi` | Home Server | ☁️ | `x86_64-linux` | -| `garrus` | System76 Lemur Pro (lemp13) | 💻 | `x86_64-linux` | +| `vetra` | Raspberry Pi 4B | ☁️ | `aarch64-linux` | + +### Not Active + | `drack` | Thinkpad X13s | 💻 | `aarch64-linux` | | `jaal` | PineBook Pro | 💻 | `aarch64-linux` | -| `vetra` | Raspberry Pi 4B | ☁️ | `aarch64-linux` | | `sidera` | Raspberry Pi 5 | ☁️ | `aarch64-linux` | | `peebee` | PinePhone | 📱 | `aarch64-linux` | | `lexi` | OnePlus 6T | 📱 | `aarch64-linux` | diff --git a/hosts/x86_64/darp9.nix b/hosts/x86_64/darp9.nix deleted file mode 100644 index 59cbbd4..0000000 --- a/hosts/x86_64/darp9.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "darp9"; - - # System76 - hardware.system76.enableAll = true; -} diff --git a/hosts/x86_64/garrus/configuration.nix b/hosts/x86_64/garrus/configuration.nix index d89cf40..378dd80 100644 --- a/hosts/x86_64/garrus/configuration.nix +++ b/hosts/x86_64/garrus/configuration.nix @@ -1,132 +1,24 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, ... }: { - imports = - [ - ./hardware-configuration.nix - ./dev.nix - ]; + # Latest kernel needed for best support + #boot.kernelPackages = pkgs.linuxPackages_6_15; + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelModules = [ "sg" ]; # sg is for makemkv + + # Name your host machine + networking.hostName = "garrus"; - boot.loader = { - systemd-boot.enable = true; - systemd-boot.consoleMode = "0"; - systemd-boot.configurationLimit = 5; - }; - - boot.plymouth.enable = true; - boot.initrd.systemd.enable = true; - boot.kernelParams = [ "quiet" ]; - boot.binfmt.emulatedSystems = ["i686-linux" "aarch64-linux"]; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems; - nix.settings.trusted-users = [ "root" "aaronh" ]; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 1w"; - }; - - swapDevices = [ { - device = "/var/lib/swapfile"; - size = 16*1024; - } ]; - - zramSwap.enable = true; - - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "America/Denver"; - - # Enter keyboard layout - services.xserver.xkb.layout = "us"; - - # Define user accounts - users.users.aaronh = { - description = "Aaron Honeycutt"; - home = "/home/aaronh"; - extraGroups = [ "wheel" "networkmanager" "adm"]; - isNormalUser = true; - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - - }; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; - - # Install some packages - environment.systemPackages = - with pkgs; - [ - # nixpkgs CLI tools - alejandra - avahi - dmidecode - freshfetch - git - git-lfs - libcamera - lshw - mpv - nh - unzip - wget - xz - vlc - zlib - - # GUI tools - firefox - zed-editor - - # Flake CLI tools - inputs.nixpkgs-ahoneybun.packages.${system}.honeyfetch - #inputs.nixpkgs-ahoneybun.packages.${system}.naviterm - ]; - - # Enable/Disable hardware - ## Turn off PulseAudio - #services.pulseaudio.enable = false; - - # Enable Pipewire - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # Enable Bluetooth - hardware.bluetooth.enable = true; - - # Enable services - services.fwupd.enable = true; - services.printing.enable = true; - services.openssh.enable = true; - - services.avahi = { - enable = true; - #nssmdns4 = true; - openFirewall = true; - # Needed for detecting scanners - publish = { - enable = true; - addresses = true; - userServices = true; - }; - }; - - # Scanner support - hardware.sane.enable = true; - hardware.sane.extraBackends = [ pkgs.sane-airscan ]; - services.ipp-usb.enable = true; - - services.hardware.bolt.enable = true; - - # System - system.stateVersion = "24.11"; - system.autoUpgrade.enable = true; + hardware.system76.enableAll = true; + + environment.systemPackages = with pkgs; [ + system76-keyboard-configurator + firmware-manager + makemkv + rpi-imager + protonvpn-gui + gimp + ]; + + services.tailscale.enable = true; } diff --git a/hosts/x86_64/gaze16-3050.nix b/hosts/x86_64/gaze16-3050.nix deleted file mode 100644 index 6555676..0000000 --- a/hosts/x86_64/gaze16-3050.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "gaze16-3050"; - - # System76 - hardware.system76.enableAll = true; - - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl.enable = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; -} diff --git a/hosts/x86_64/hp-omen.nix b/hosts/x86_64/hp-omen.nix deleted file mode 100644 index f5eab2c..0000000 --- a/hosts/x86_64/hp-omen.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "hp-omen"; - - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl.enable = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - - ## Enable 32 Bit libraries for applications like Steam - hardware.opengl.driSupport32Bit = true; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; - - environment.systemPackages = - with pkgs; - [ - steam - ]; - -} diff --git a/hosts/x86_64/lemp12.nix b/hosts/x86_64/lemp12.nix deleted file mode 100644 index 2d3a183..0000000 --- a/hosts/x86_64/lemp12.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "lemp12"; - - # System76 - hardware.system76.enableAll = true; -} diff --git a/hosts/x86_64/linode.nix b/hosts/x86_64/linode.nix deleted file mode 100644 index 018a464..0000000 --- a/hosts/x86_64/linode.nix +++ /dev/null @@ -1,173 +0,0 @@ -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix -# ./unstable.nix - ]; - - boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelParams = [ "console=ttyS0,19200n8" ]; - - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; - - nix.settings.extra-platforms = [ "aarch64-linux" ]; - nix.settings.auto-optimise-store = true; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - nix.buildMachines = [{ - hostName = "localhost"; - systems = ["x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin"]; - supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; - maxJobs = 8; - }]; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - # Use the GRUB 2 boot loader. - boot.loader.grub.enable = true; - boot.loader.grub.version = 2; - boot.loader.grub.extraConfig = '' - serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; - terminal_input serial; - terminal_output serial - ''; - boot.loader.grub.device = "nodev"; # or "nodev" for efi only - boot.loader.timeout = 10; - - networking.firewall = { - enable = true; - allowedTCPPorts = [ 80 443 ]; - }; - - networking.extraHosts = - '' - 23.32.241.51 r3.o.lencr.org - ''; - - fileSystems."/mnt/swapfile" = - { device = "/dev/disk/by-uuid/82672991-fe8a-485a-8dcf-7c8ae1282b6c"; - fsType = "ext4"; - }; - - services.hydra = { - enable = true; - hydraURL = "localhost:3000"; - notificationSender = "hydra@localhost"; - #buildMachinesFiles = []; - useSubstitutes = true; - }; - - security.acme.acceptTerms = true; - security.acme.defaults.email = "aaronhoneycutt@proton.me"; - - networking.hostName = "nixos-server"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - - # Set your time zone. - # time.timeZone = "Europe/Amsterdam"; - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.aaronh = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - packages = with pkgs; [ - cargo - flatpak - git - git-lfs - just - ]; - }; - - users.users.nathanielw = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" ]; - packages = with pkgs; [ - neofetch - ]; - }; - - users.users.builder = { - isNormalUser = true; - extraGroups = [ "wheel" ]; - packages = with pkgs; [ - neofetch - ]; - }; - - environment.systemPackages = with pkgs; [ - acme-sh - git - inetutils - mtr - neofetch - sysstat - toybox - tree - wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh = { - enable = true; - permitRootLogin = "yes"; - }; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - networking.usePredictableInterfaceNames = false; - networking.useDHCP = false; - networking.interfaces.eth0.useDHCP = true; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.11"; # Did you read the comment? - -} diff --git a/hosts/x86_64/macbook-intel.nix b/hosts/x86_64/misc/macbook-intel.nix similarity index 100% rename from hosts/x86_64/macbook-intel.nix rename to hosts/x86_64/misc/macbook-intel.nix diff --git a/hosts/x86_64/pixel-slate.nix b/hosts/x86_64/misc/pixel-slate.nix similarity index 100% rename from hosts/x86_64/pixel-slate.nix rename to hosts/x86_64/misc/pixel-slate.nix diff --git a/hosts/x86_64/oryp6.nix b/hosts/x86_64/oryp6.nix deleted file mode 100644 index 1a5ccc5..0000000 --- a/hosts/x86_64/oryp6.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "oryp6"; - - # System76 - hardware.system76.enableAll = true; - - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl.enable = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; -} diff --git a/hosts/x86_64/sovereign.nix b/hosts/x86_64/sovereign.nix deleted file mode 100644 index b61b256..0000000 --- a/hosts/x86_64/sovereign.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix -# ./unstable.nix - ./stoners-space.nix - ]; - - boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelParams = [ "console=ttyS0,19200n8" ]; - - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; - - nix.settings.extra-platforms = [ "aarch64-linux" ]; - nix.settings.auto-optimise-store = true; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - nix.buildMachines = [{ - hostName = "localhost"; - systems = ["x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin"]; - supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; - maxJobs = 8; - }]; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - # Use the GRUB 2 boot loader. - boot.loader.grub.enable = true; - boot.loader.grub.version = 2; - boot.loader.grub.extraConfig = '' - serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; - terminal_input serial; - terminal_output serial - ''; - boot.loader.grub.device = "nodev"; # or "nodev" for efi only - boot.loader.timeout = 10; - - networking.firewall = { - enable = true; - allowedTCPPorts = [ 80 443 ]; - }; - - networking.extraHosts = - '' - 23.32.241.51 r3.o.lencr.org - ''; - - # fileSystems."/mnt/swapfile" = - # { device = "/dev/disk/by-uuid/82672991-fe8a-485a-8dcf-7c8ae1282b6c"; - # fsType = "ext4"; - # }; - - # services.hydra = { - # enable = true; - # hydraURL = "localhost:3000"; - # notificationSender = "hydra@localhost"; - # useSubstitutes = true; - # }; - - security.acme.acceptTerms = true; - security.acme.defaults.email = "aaronhoneycutt@proton.me"; - - networking.hostName = "sovereign"; - - # Set your time zone. - # time.timeZone = "Europe/Amsterdam"; - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.aaronh = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - packages = with pkgs; [ - cargo - git - git-lfs - ]; - }; - - users.users.builder = { - isNormalUser = true; - extraGroups = [ "wheel" ]; - packages = with pkgs; [ - neofetch - ]; - }; - - environment.systemPackages = with pkgs; [ - acme-sh - git - mtr - neofetch - sysstat - tree - wget - ]; - - # Enable the OpenSSH daemon. - services.openssh = { - enable = true; - permitRootLogin = "no"; - }; - - networking.usePredictableInterfaceNames = false; - networking.useDHCP = false; - networking.interfaces.eth0.useDHCP = true; - - system.stateVersion = "22.11"; # Did you read the comment? - -} diff --git a/hosts/x86_64/thelio-nvidia.nix b/hosts/x86_64/thelio-nvidia.nix deleted file mode 100644 index 20171f7..0000000 --- a/hosts/x86_64/thelio-nvidia.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "thelio-b1"; - - # System76 - hardware.system76.enableAll = true; - - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl.enable = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - hardware.nvidia.modesetting.enable = true; - - hardware.opengl = { - extraPackages = with pkgs; [ nvidia-vaapi-driver ]; - extraPackages32 = with pkgs.pkgsi686Linux; [ nvidia-vaapi-driver ]; - }; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; -}