{ config, pkgs, lib, ... }: { # Bootloader boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/sda"; boot.loader.grub.useOSProber = true; imports = [ ./hardware-configuration.nix ../../hardware/opengl-intel.nix ../../users # home-manager ../../users/pbsds ../../users/jornane ../../profiles/mounts/reidun-nfs.nix ../../profiles/shell/base.nix ../../profiles/shell/archives.nix ../../profiles/shell/nix-utils.nix ../../profiles/shell/binfmt-emu.nix ../../profiles/services/tmate-server.nix # opens port 42244 ../../profiles/web # enables nginx+acme, defines mkDomain ../../profiles/web/index ../../profiles/web/services/cinny.nix ../../profiles/web/services/element.nix ../../profiles/web/services/flexget.nix ../../profiles/web/services/gitea.nix #../../profiles/web/services/hydra.nix ../../profiles/web/services/invidious.nix ../../profiles/web/services/jellyfin.nix ../../profiles/web/services/libreddit.nix #../../profiles/web/services/mattermost.nix #../../profiles/web/services/navidrome.nix ../../profiles/web/services/netdata.nix ../../profiles/web/services/nitter.nix #../../profiles/web/services/ntopng.nix ../../profiles/web/services/owncast.nix #../../profiles/web/services/paperless.nix ../../profiles/web/services/polaris.nix #../../profiles/web/services/resilio.nix ../../profiles/web/services/roundcube.nix ../../profiles/web/services/thelounge.nix ../../profiles/web/services/vaultwarden.nix ../../profiles/web/services/webdav-zotero.nix #../../profiles/web/services/convos.nix #../../profiles/web/services/cryptpad.nix #../../profiles/web/services/galene.nix #../../profiles/web/services/graphana.nix #../../profiles/web/services/hedgedoc.nix #../../profiles/web/services/home-assistant.nix #../../profiles/web/services/jitsi-meet.nix #../../profiles/web/services/kukkee #../../profiles/web/services/matrix-synapse.nix #../../profiles/web/services/shlink.nix #../../profiles/web/services/sourcegraph.nix #../../profiles/web/services/censordodge.nix #../../profiles/web/services/openspeedtest.nix ../../profiles/web/docs ../../profiles/web/docs/pdoc.nix ../../profiles/web/docs/python-docs.nix ../../profiles/web/docs/nixpkgs.nix ../../profiles/web/docs/home-manager.nix ../../profiles/web/docs/linux-docs.nix ../../profiles/web/docs/programs.nix ../../profiles/web/docs/yagcd.nix ../../profiles/web/sites/linktree-pbsds.nix ../../profiles/web/sites/refleksjon-no.nix ../../profiles/web/sites/roroslyd-no.nix #../../profiles/web/services/trivial-gradios #../../profiles/code-remote # TODO: move into web? services? ../../profiles/domeneshop-dyndns ../../profiles/remote-builders ../../profiles/autossh-reverse-tunnels #../../profiles/xrdp ]; services.domeneshop-updater.target = "olavtr.pbsds.net"; # TODO: remove? Move to where relevant? nixpkgs.overlays = [ /** / (final: prev: { mapcrafter = prev.callPackage /home/pbsds/repos/nixpkgs-mapcrafter/pkgs/tools/games/minecraft/mapcrafter/default.nix { }; mapcrafter-world112 = prev.callPackage /home/pbsds/repos/nixpkgs-mapcrafter/pkgs/tools/games/minecraft/mapcrafter/default.nix { world="world112"; }; }) /**/ ]; 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.iwd.enable = true networking.interfaces.eno1.ipv4.addresses = [ { address = "192.168.1.9"; prefixLength = 24; } ]; networking.nameservers = [ "192.168.1.254" "8.8.8.8" "1.1.1.1" ]; networking.defaultGateway = { address = "192.168.1.254"; interface = "eno1"; }; #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 ]; # TODO: remove? Move? programs.dconf.enable = true; # 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; #}; # OpenSSH services.openssh.enable = true; services.openssh.settings.X11Forwarding = true; # System fonts # Nice to have when X-forwading on headless machines # TODO: move? #hardware.video.hidpi.enable = true; # highdpi (for nord only) #fonts.fontconfig.hinting.enable = true; # lowdpi 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 ]; # 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? }