diff options
author | Rory& <root@rory.gay> | 2024-06-10 17:33:26 +0200 |
---|---|---|
committer | Rory& <root@rory.gay> | 2024-07-04 14:45:02 +0200 |
commit | e37b430512bbef89dfe8ab75454286de4836ab6e (patch) | |
tree | af3468855573725fefc29ab8935edcc663d6b6a3 /host/Rory-portable/configuration.nix | |
parent | Bunch of changes (diff) | |
download | Rory-Open-Architecture-e37b430512bbef89dfe8ab75454286de4836ab6e.tar.xz |
Add portable config, some updates
Diffstat (limited to 'host/Rory-portable/configuration.nix')
-rw-r--r-- | host/Rory-portable/configuration.nix | 277 |
1 files changed, 277 insertions, 0 deletions
diff --git a/host/Rory-portable/configuration.nix b/host/Rory-portable/configuration.nix new file mode 100644 index 0000000..579a655 --- /dev/null +++ b/host/Rory-portable/configuration.nix @@ -0,0 +1,277 @@ +{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }: + +{ + imports = + [ + # base imports + ../../modules/base-client.nix + ../../modules/packages/vim.nix +# ../../modules/environments/home.nix + #../../modules/software-templates/profilers.nix + #./postgres.nix + #./nginx.nix + + # hardware-specific imports + #./optional/hardware-specific/amd.nix + + #./printing.nix + ./ollama.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" + ''; + + 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; + }; + + time.timeZone = "Europe/Brussels"; + i18n.defaultLocale = "en_US.UTF-8"; + + services = { + xserver = { + enable = true; + updateDbusEnvironment = true; + #videoDrivers = ["amdgpu"]; #"nvidia" + #desktopManager.gnome.enable = true; + libinput.enable = true; + layout = "us"; + windowManager.i3.enable = true; + windowManager.i3.extraSessionCommands = '' + # output from arandr: + #xrandr --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --output HDMI-2 --off --output DP-2 --off + #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 + ${pkgs.polybarFull}/bin/polybar & + ${pkgs.dunst}/bin/dunst & + ${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../modules/users/Rory/wallpaper.webp} + ''; + }; + picom.enable = true; + picom.vSync = false; + picom.backend = "glx"; + + openssh = { + enable = true; + extraConfig = '' + MaxAuthTries 32 + ''; + }; + pipewire = { + enable = true; + audio.enable = true; + pulse.enable = true; + wireplumber.enable = true; + jack.enable = true; + alsa.enable = true; + }; + }; + + sound.enable = true; + + users.users = { + Rory = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ + #gimp-with-plugins + + #xterm + #gnomeExtensions.vitals + #gnomeExtensions.runcat + ]; + initialPassword = "password"; + }; + }; + + 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 ../../modules/packages/dotnet-pack.nix { inherit pkgs; }) + + #games + osu-lazer-bin + #steam + steam-run + + # extra packages + dmenu + + cinnamon.nemo + gnome.file-roller + firefox-bin + ungoogled-chromium #needed for Rider in order to debug WASM + + peek + + unrar-wrapper + + #(schildichat-desktop.override { electron = electron; }) + (callPackage ../../modules/packages/nheko-git.nix { inherit nhekoSrc; inherit mtxclientSrc; voipSupport = false; }) + #(callPackage ../../modules/packages/mc/server/modpack/curseforge/techopolis-2/5.4.nix { }) + + #vesktop + virt-viewer + + # (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 ../../modules/packages/xdg-desktop-portal-gtk.nix { }) + ]; + config = { + common = { + default = [ "gtk" ]; + }; + }; + xdgOpenUsePortal = true; + gtkUsePortal = true; + + }; + #sounds.enable = true; + #mime.enable = true; + #menus.enable = true; + #icons.enable = true; + #autostart.enable = true; + }; + fonts = { + fonts = with pkgs; [ + (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + 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; + }; + nix = { + settings = { + experimental-features = [ "nix-command" "flakes" ]; + auto-optimise-store = true; + }; + }; + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-25.9.0" + ]; + }; + + }; + security = { + polkit.enable = true; + sudo.wheelNeedsPassword = false; + }; + + hardware = { + pulseaudio.enable = 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! +} + |