summary refs log tree commit diff
path: root/host/Rory-NTFS
diff options
context:
space:
mode:
Diffstat (limited to 'host/Rory-NTFS')
-rw-r--r--host/Rory-NTFS/configuration.nix233
-rw-r--r--host/Rory-NTFS/optional/gui/wayland.nix37
-rw-r--r--host/Rory-NTFS/optional/hardware-specific/amd.nix45
-rw-r--r--host/Rory-NTFS/optional/hardware-specific/nvidia.nix44
4 files changed, 359 insertions, 0 deletions
diff --git a/host/Rory-NTFS/configuration.nix b/host/Rory-NTFS/configuration.nix
new file mode 100644

index 0000000..47d4497 --- /dev/null +++ b/host/Rory-NTFS/configuration.nix
@@ -0,0 +1,233 @@ +{ + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ + ../../modules/base-client.nix + ../../packages/vim.nix + ./optional/gui/wayland.nix + ]; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + loader = { + grub = { + enable = true; + device = "nodev"; # nodev for EFI only + # EFI + efiSupport = true; + efiInstallAsRemovable = true; + }; + }; + #readOnlyNixStore = false; + }; + + services.udev.extraRules = '' + #SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="users" + # SDP protocol + KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", MODE="0666" + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1fc9", MODE="0666" + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", MODE="0666" + # Flashloader + KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", MODE="0666" + # Controller + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", MODE="0666" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9400", MODE="0660", TAG+="uaccess" + ''; + + #systemd.services.NetworkManager-wait-online.enable = false; + + networking = { + hostName = "Rory-portable"; + networkmanager.enable = true; + wireless.enable = false; + firewall = { + enable = false; + # allowedTCPPorts = [ ... ]; + # allowedUDPPorts = [ ... ]; + }; + + #interfaces.enp34s0.ipv4.addresses = [ { + # address = "192.168.0.3"; + # prefixLength = 24; + #} ]; + # + #defaultGateway = "192.168.0.1"; + # useDHCP = true; + }; + systemd.sleep.extraConfig = '' + AllowSuspend=yes + AllowHibernation=yes + AllowHybridSleep=yes + AllowSuspendThenHibernate=yes + ''; + + services.power-profiles-daemon.enable = true; + time.timeZone = "Europe/Brussels"; + + services = { + libinput.touchpad.naturalScrolling = true; + xserver = { + enable = true; + updateDbusEnvironment = true; + xkb.layout = "us"; + }; + libinput.enable = true; + + openssh = { + enable = true; + settings.PermitRootLogin = "yes"; + extraConfig = '' + MaxAuthTries 32 + ''; + }; + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + wireplumber.enable = true; + jack.enable = true; + alsa.enable = true; + }; + }; + + environment.systemPackages = with pkgs; [ + libreoffice + qt6.qtwayland + + gnome-console + feh + easyeffects + kitty + #youtube-music + + # - IDEs + #jetbrains-toolbox + #jetbrains.rider + #jetbrains.webstorm + #jetbrains.clion + #github-copilot-intellij-agent + + #dbeaver-bin + #insomnia + #vscode + + # - Utilities + #inkscape-with-extensions + #gimp # -with-plugins + + # - Languages + #dotnet-sdk_7 + #dotnet-sdk_8 + #(callPackage ../../packages/dotnet-pack.nix { inherit pkgs; }) + + #games + #osu-lazer-bin + #steam + #steam-run + + # extra packages + dmenu + + nemo + file-roller + firefox-bin + #ungoogled-chromium # needed for Rider in order to debug WASM + + unrar-wrapper + + #(schildichat-desktop.override { electron = electron; }) + (callPackage ../../packages/nheko-git.nix { + inherit nhekoSrc; + inherit mtxclientSrc; + voipSupport = false; + }) + #(callPackage ../../packages/mc/server/modpack/curseforge/techopolis-2/5.4.nix { }) + + #vesktop + virt-viewer + wireguard-tools + + # (dwarf-fortress-packages.dwarf-fortress-full.override { enableStoneSense = true; enableFPS = true; theme = dwarf-fortress-packages.themes.spacefox; }) + ]; + + #programs.steam.enable = true; + #programs.steam.gamescopeSession.enable = true; + + #environment.gnome.excludePackages = [ + # pkgs.orca + # pkgs.gnome-tour + # pkgs.gnome-user-docs + #]; + xdg = { + portal = { + enable = true; + extraPortals = with pkgs; [ + #xdg-desktop-portal-gtk + xdg-desktop-portal-xapp + # (callPackage ../../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; [ + nerd-fonts.jetbrains-mono + noto-fonts-monochrome-emoji + ]; + fontconfig.defaultFonts.monospace = [ + "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" + ]; + fontconfig.defaultFonts.sansSerif = [ + "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" + ]; + fontconfig.defaultFonts.serif = [ "JetBrainsMonoNL Nerd Font,JetBrainsMonoNL NF:style=Regular" ]; + fontconfig.defaultFonts.emoji = [ "freefont" ]; + enableDefaultPackages = lib.mkForce false; + enableGhostscriptFonts = lib.mkForce false; + }; + + programs.dconf.enable = true; + environment.etc."resolv.conf".text = '' + nameserver 8.8.8.8 + nameserver 8.4.4.8 + nameserver 1.1.1.1 + nameserver 1.0.0.1 + ''; + + #networking.wireguard.interfaces = { + # wg-KP-Ran = { + + #}; + # }; + + #virtualisation.libvirtd.enable = true; + #programs.virt-manager.enable = true; + + system.stateVersion = "22.11"; # DO NOT EDIT! + + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-25.9.0" + "olm-3.2.16" + ]; + }; + }; +} diff --git a/host/Rory-NTFS/optional/gui/wayland.nix b/host/Rory-NTFS/optional/gui/wayland.nix new file mode 100644
index 0000000..eac6391 --- /dev/null +++ b/host/Rory-NTFS/optional/gui/wayland.nix
@@ -0,0 +1,37 @@ +{ + pkgs, + ... +}: + +{ + programs.sway = { + enable = true; + + wrapperFeatures.gtk = true; + extraSessionCommands = '' + # -- Wayland fixes + # SDL: + export SDL_VIDEODRIVER=wayland + # QT (needs qt5.qtwayland in systemPackages): + export QT_QPA_PLATFORM=wayland-egl + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # Fix for some Java AWT applications (e.g. Android Studio), + # use this if they aren't displayed properly: + export _JAVA_AWT_WM_NONREPARENTING=1 + ''; + + extraPackages = with pkgs; [ + swaybg + #swayidle + #swaylock + waybar + wl-clipboard + grim + slurp + easyeffects + keepassxc + ]; + }; + + xdg.portal.wlr.enable = true; +} diff --git a/host/Rory-NTFS/optional/hardware-specific/amd.nix b/host/Rory-NTFS/optional/hardware-specific/amd.nix new file mode 100644
index 0000000..4456c6f --- /dev/null +++ b/host/Rory-NTFS/optional/hardware-specific/amd.nix
@@ -0,0 +1,45 @@ +{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ ]; + + boot.initrd.kernelModules = [ "amdgpu" ]; + + services = { + xserver = { + windowManager.i3.extraSessionCommands = '' + xrandr --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-2 --off --output DP-2 --off + ''; + wacom.enable = true; + }; + picom.backend = "glx"; + }; + + environment.systemPackages = with pkgs; [ + rocmPackages.rocm-smi # useful to have + ]; + + hardware = { + graphics = { + enable = true; + #driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ + rocmPackages.clr.icd + amdvlk + ]; + extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ]; + }; + }; + + systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; + + system.stateVersion = "22.11"; # DO NOT EDIT! +} diff --git a/host/Rory-NTFS/optional/hardware-specific/nvidia.nix b/host/Rory-NTFS/optional/hardware-specific/nvidia.nix new file mode 100644
index 0000000..c146c3a --- /dev/null +++ b/host/Rory-NTFS/optional/hardware-specific/nvidia.nix
@@ -0,0 +1,44 @@ +{ + config, + pkgs, + lib, + nhekoSrc, + mtxclientSrc, + ... +}: + +{ + imports = [ + + ]; + + services = { + xserver = { + videoDrivers = [ "nvidia" ]; + #windowManager.i3.extraSessionCommands = '' + # todo: restore + #''; + }; + picom.backend = "glx"; + }; + + hardware = { + graphics = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = true; + nvidiaSettings = true; + nvidiaPersistenced = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; + + system.stateVersion = "22.11"; # DO NOT EDIT! +}