summary refs log tree commit diff
path: root/host/Arc/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'host/Arc/configuration.nix')
-rw-r--r--host/Arc/configuration.nix240
1 files changed, 240 insertions, 0 deletions
diff --git a/host/Arc/configuration.nix b/host/Arc/configuration.nix
new file mode 100644

index 0000000..b97a8fa --- /dev/null +++ b/host/Arc/configuration.nix
@@ -0,0 +1,240 @@ +args@{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ + # base imports + ../../modules/base-client.nix + ../../packages/vim.nix + ../../modules/users/Arci.nix + + # hardware-specific imports + #./optional/hardware-specific/nvidia.nix + + #./optional/gui/x11.nix + ./optional/gui/wayland.nix + ]; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + loader = { + grub = { + configurationLimit = 10; + enable = true; + device = "nodev"; # nodev for EFI only + # EFI + efiSupport = true; + efiInstallAsRemovable = true; + }; + }; + }; + programs.noisetorch.enable = true; + programs.gamemode.enable = true; + users.users.Rory.extraGroups = [ "gamemode" ]; + users.users.Arci.extraGroups = [ "gamemode" ]; + + environment.sessionVariables = { + ZSH_DISABLE_COMPFIX = "true"; + }; + + networking = { + hostName = "Arc"; + networkmanager.enable = true; + wireless.enable = false; + firewall = { + enable = false; + # allowedTCPPorts = [ ... ]; + # allowedUDPPorts = [ ... ]; + }; + + #useDHCP = true; # Doesn't work with NetworkManager, investigate + }; + + time.timeZone = "Europe/Brussels"; + i18n.defaultLocale = "en_US.UTF-8"; + + services = { + xserver = { + displayManager.gdm.enable = true; + displayManager.lightdm.enable = false; + enable = true; + updateDbusEnvironment = true; + xkb.layout = "us"; + }; + libinput.enable = true; + + openssh = { + enable = true; + extraConfig = '' + MaxAuthTries 32 + ''; + settings.PermitRootLogin = "yes"; + }; + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + wireplumber.enable = true; + jack.enable = true; + alsa.enable = true; + }; + + desktopManager.plasma6.enable = true; + }; + + services.desktopManager.gnome.enable = false; + environment.systemPackages = with pkgs; [ + eog + #mpv + #libreoffice + qt6.qtwayland + + #easyeffects + kitty + #youtube-music + + dbeaver-bin + vscode + + # - Utilities + #inkscape-with-extensions + #gimp + + # - Languages + #dotnet-sdk_8 + dotnetCorePackages.sdk_9_0 + + #games + #osu-lazer-bin + #steam + steam-run + #steam-acf + + # extra packages + dmenu + + nemo + file-roller + firefox-bin + #ungoogled-chromium #needed for Rider in order to debug WASM + + unrar-wrapper + #mangohud + #prismlauncher + #vesktop + #mindustry + + blueman + ft2-clone + ]; + + programs.steam = { + enable = false; + gamescopeSession.enable = true; + extraCompatPackages = with pkgs; [ + steam-play-none + proton-ge-bin + ]; + }; + virtualisation.waydroid.enable = false; + + xdg = { + portal = { + enable = true; + extraPortals = with pkgs; [ + #xdg-desktop-portal-gtk + xdg-desktop-portal-xapp + # (callPackage ../../modules/packages/xdg-desktop-portal-gtk.nix { }) + ]; + config = { + common = { + default = [ "gtk" ]; + }; + }; + xdgOpenUsePortal = true; + }; + #sounds.enable = true; + #mime.enable = true; + #menus.enable = true; + #icons.enable = true; + #autostart.enable = true; + }; + fonts = { + packages = with pkgs; [ + #(nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + nerd-fonts.jetbrains-mono + noto-fonts-monochrome-emoji + ]; + fontconfig.defaultFonts.monospace = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; + fontconfig.defaultFonts.sansSerif = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; + fontconfig.defaultFonts.serif = with pkgs; [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; + fontconfig.defaultFonts.emoji = with pkgs; [ "freefont" ]; + enableDefaultPackages = lib.mkForce false; + enableGhostscriptFonts = lib.mkForce false; + }; + + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-25.9.0" + "olm-3.2.16" + "dotnet-sdk-wrapped-7.0.410" + "dotnet-sdk-7.0.410" + ]; + }; + }; + security = { + polkit.enable = true; + sudo.wheelNeedsPassword = false; + }; + + hardware = { + pulseaudio.enable = false; + }; + + programs.dconf.enable = true; + + #networking.wireguard.interfaces = { + # wg-KP-Ran = { + + #}; + # }; + + virtualisation.libvirtd.enable = true; + programs.virt-manager.enable = true; + + monitoring = { + monitorAll = false; + localPrometheus = true; + exposePrometheus = true; + localGrafana = true; + exposeGrafana = true; + nginxHost = "monitoring.localhost"; + nginxSsl = false; + }; + networking.hosts."127.0.0.1" = builtins.attrNames config.services.nginx.virtualHosts; + + services.gvfs.enable = true; + zramSwap = { + enable = true; + memoryPercent = 200; + }; + services.pcscd.enable = true; + + virtualisation.vmVariant = { + users = { + mutableUsers = false; + users.Rory.password = "password"; + }; + networking.interfaces.enp34s0 = lib.mkForce { }; + }; + + system.stateVersion = "24.11"; # DO NOT EDIT! +}