This commit is contained in:
Peder Bergebakken Sundt 2023-06-18 22:17:36 +02:00
parent b99126d3c0
commit 389fe5ed48
5 changed files with 153 additions and 0 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ result
/hardware-configuration.nix /hardware-configuration.nix
.direnv .direnv
.remote.toml .remote.toml
_*

View File

@ -104,6 +104,7 @@
noximilien = mkConfig "noximilien" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel ]); noximilien = mkConfig "noximilien" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel ]);
bolle = mkConfig "bolle" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel ]); bolle = mkConfig "bolle" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel ]);
nord = mkConfig "nord" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel-cpu-only common-gpu-amd ]); nord = mkConfig "nord" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel-cpu-only common-gpu-amd ]);
sopp = mkConfig "sopp" "x86_64-linux" (with nm; [ common-pc common-pc-ssd common-cpu-intel ]); # TODO: common-gpu-nvidia
}; };
homeConfigurations = forAllSystems (system: let homeConfigurations = forAllSystems (system: let

111
hosts/sopp/default.nix Normal file
View File

@ -0,0 +1,111 @@
{ config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
services.xserver.displayManager.autoLogin.enable = true;
services.xserver.displayManager.autoLogin.user = "pbsds";
# tmp: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229
systemd.services."getty@tty1".enable = false;
systemd.services."autovt@tty1".enable = false;
boot.kernelPackages = pkgs.linuxPackages_latest; # amdgpu audio fix when at 4k@60fps
imports = [
./hardware-configuration.nix
#../../hardware/rocm.nix # TODO: CUDA
../../hardware/opengl-intel.nix
../../users # home-manager
../../users/pbsds
../../profiles/mounts/reidun-nfs.nix
../../profiles/shell/base.nix
../../profiles/shell/archives.nix
../../profiles/shell/nix-utils.nix
#../../profiles/shell/binfmt-emu.nix
../../profiles/desktop/gnome # configures gdm
#../../profiles/desktop/sound/alsa.nix
#../../profiles/desktop/sound/pulseaudio.nix
../../profiles/desktop/sound/pipewire.nix
../../profiles/desktop/steam.nix
../../profiles/desktop/flatpak.nix
../../profiles/remote-builders
#../../profiles/autossh-reverse-tunnels
#../../profiles/domeneshop-dyndns # handled by noximilien
];
networking.firewall.allowedTCPPorts = [ 57621 ]; # spotify local discovery
services.thermald.enable = true;
# Virtualization
#virtualisation.podman.enable = true;
#virtualisation.podman.dockerCompat = true; # alias docker to podman
#virtualisation.oci-containers.backend = "podman"; # default
# Networking
networking.networkmanager.enable = true;
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.interfaces.eno1.ipv4.addresses = [
{ address = "192.168.1.7"; prefixLength = 24; }
];
networking.defaultGateway.address = "192.168.1.254";
networking.defaultGateway.interface = "enp3s0";
networking.nameservers = [
"192.168.1.254"
"8.8.8.8"
"1.1.1.1"
];
#networking.useDHCP = true;
#TODO: avahi? resolved? https://git.pvv.ntnu.no/Drift/pvv-nixos-config/src/main/base.nix#L15-L18
# Installed system packages
environment.systemPackages = with pkgs; [
cage
weston
dialog
zenith
vimix-gtk-themes
flat-remix-icon-theme
feh
zotero
firefox
];
# TODO: remove? Move?
programs.dconf.enable = true;
# OpenSSH
services.openssh.enable = true;
services.openssh.settings.X11Forwarding = true;
# System fonts
fonts.fontDir.enable = true; # creates /run/current-system/sw/share/X11/fonts
fonts.enableDefaultFonts = true; # dejavu, freefont, gyre, liberation, unifont, noto-fonts-emoji
fonts.fonts = with pkgs; [
noto-fonts # includes Cousine
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
];
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = 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 = "23.05"; # Did you read the comment?
}

View File

@ -0,0 +1,39 @@
# 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 + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" "wl" ];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4bdb8a48-2493-4043-80fa-254fbf910643";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D961-06AD";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/e9b56879-e406-44c7-ab60-fcd374fdf0ea"; }
];
# 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.enp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -35,6 +35,7 @@
"bolle.pbsds.net".proxyJump = "isvegg.pvv.ntnu.no"; "bolle.pbsds.net".proxyJump = "isvegg.pvv.ntnu.no";
"knut.pbsds.net".port = 23; "knut.pbsds.net".port = 23;
"nord.pbsds.net".port = 24; "nord.pbsds.net".port = 24;
"sopp.pbsds.net".port = 25;
"noximilien.pbsds.net" = {}; "noximilien.pbsds.net" = {};
"rocm.pbsds.net".proxyJump = "isvegg.pvv.ntnu.no"; "rocm.pbsds.net".proxyJump = "isvegg.pvv.ntnu.no";