102 lines
3.3 KiB
Nix
102 lines
3.3 KiB
Nix
# 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, lib, inputs, ... }:
|
||
|
||
{
|
||
imports =
|
||
[ # Include the results of the hardware scan.
|
||
./hardware-configuration.nix
|
||
./../../modules/nixos/cspark-desktop-plasma/module.nix
|
||
./../../modules/nixos/cspark-desktop-gnome/module.nix
|
||
./../../modules/nixos/cspark-desktop-sway/module.nix
|
||
./../../modules/nixos/cspark-desktop-niri/module.nix
|
||
./../../modules/nixos/cspark-desktop-exwm/module.nix
|
||
inputs.home-manager.nixosModules.default
|
||
];
|
||
|
||
# Bootloader.
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
networking.hostName = "cspark-nixos-laptop"; # Define your hostname.
|
||
|
||
# Enable networking
|
||
networking.networkmanager.enable = true;
|
||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||
|
||
# Setting up my desktop computer to be able to build files for my laptop
|
||
# Make remote builder desktop a known host
|
||
programs.ssh = {
|
||
knownHosts = {
|
||
cspark-desktop-nixremotebuilder = {
|
||
extraHostNames = [ "cspark-nixos-desktop" "192.168.1.110" ];
|
||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/A49FhfRM7cI4MykQAtKdcOXgEya2dV9nCHnO2rqHt";
|
||
};
|
||
};
|
||
extraConfig = ''
|
||
Host cspark-desktop-nixremotebuilder
|
||
Hostname 192.168.1.110
|
||
IdentitiesOnly yes
|
||
IdentityFile /root/.ssh/cspark-desktop-nixremotebuilder
|
||
# The weakly privileged user on the remote builder – if not set, 'root' is used – which will hopefully fail
|
||
User nixremotebuilder
|
||
'';
|
||
};
|
||
nix.buildMachines = [ {
|
||
hostName = "cspark-desktop-nixremotebuilder";
|
||
sshUser = "nixremotebuilder";
|
||
system = "x86_64-linux";
|
||
protocol = "ssh-ng";
|
||
# if the builder supports building for multiple architectures,
|
||
# replace the previous line by, e.g.
|
||
# systems = ["x86_64-linux" "aarch64-linux"];
|
||
maxJobs = 1;
|
||
speedFactor = 2;
|
||
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||
mandatoryFeatures = [ ];
|
||
}] ;
|
||
nix.distributedBuilds = true;
|
||
# optional, useful when the builder has a faster internet connection than yours
|
||
nix.extraOptions = ''
|
||
builders-use-substitutes = true
|
||
'';
|
||
|
||
# Custom desktop environments
|
||
# cspark-desktop-plasma.enable = true;
|
||
# cspark-desktop-gnome.enable = true;
|
||
# cspark-desktop-sway.enable = true;
|
||
cspark-desktop-niri.enable = true;
|
||
# cspark-desktop-exwm.enable = true;
|
||
|
||
# Home Manager Configuration
|
||
home-manager = {
|
||
extraSpecialArgs = { inherit inputs; };
|
||
users = {
|
||
"cspark" = import ./home.nix;
|
||
};
|
||
};
|
||
|
||
# Steam Game Platform
|
||
#programs.steam = {
|
||
# enable = true;
|
||
# # remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||
# # dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||
# gamescopeSession.enable = true;
|
||
#};
|
||
|
||
# Waydroid Android Emulation
|
||
virtualisation.waydroid.enable = true;
|
||
|
||
# Docker for development
|
||
virtualisation.docker.enable = true;
|
||
|
||
# List packages installed in system profile. To search, run:
|
||
# $ nix search wget
|
||
environment.systemPackages = with pkgs; [
|
||
nvtopPackages.intel
|
||
];
|
||
|
||
}
|