{ config, lib, pkgs, pkgs-stable, ... }: let ns = pkgs.writeShellScriptBin "ns" (builtins.readFile ./scripts/nixpkgs.sh); cinit = pkgs.writeShellScriptBin "cinit" (builtins.readFile ./scripts/cinit.sh); dotlink = pkgs.writeShellScriptBin "dotlink" (builtins.readFile ./scripts/dotlink.sh); sync = pkgs.writeShellScriptBin "sync" (builtins.readFile ./scripts/sync.sh); in { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.networkmanager.enable = true; # But NixOS Isn't FHS Compiant!!!! programs.nix-ld.enable = true; time.timeZone = "America/Los_Angeles"; services = { desktopManager.cosmic.enable = true; displayManager = { ly.enable = true; }; xserver = { enable = true; autoRepeatDelay = 200; autoRepeatInterval = 35; desktopManager.xfce.enable = true; windowManager = { i3.enable = true; xmonad = { enable = true; enableContribAndExtras = true; extraPackages = hpkgs: [ hpkgs.xmonad hpkgs.xmonad-extras hpkgs.xmonad-contrib ]; }; qtile.enable = true; dwm = { enable = true; package = pkgs.dwm.overrideAttrs { src = ./config/dwm; }; }; }; modules = [pkgs.xorg.xf86inputlibinput]; displayManager.sessionCommands = '' xwallpaper --zoom ~/walls/waifus/waifu3.jpg & picom --config ~/nixos-dotfiles/config/picom/picom.conf & ''; }; }; users.users.tony = { isNormalUser = true; extraGroups = ["wheel" "seatd" "input" "video" "libvirtd"]; packages = with pkgs; [ tree ]; }; virtualisation = { spiceUSBRedirection.enable = true; libvirtd.enable = true; }; programs = { virt-manager.enable = true; mango.enable = true; firefox.enable = true; sway = { enable = true; xwayland.enable = true; }; hyprland = { enable = true; xwayland.enable = true; }; }; environment.systemPackages = with pkgs; [ nheko emacs.pkgs.treesit-grammars.with-all-grammars gnupg pinentry-curses vim picom wget alacritty git pavucontrol xorg.xinit xorg.xf86inputlibinput ncurses.dev pkg-config dino haskellPackages.xmonad-contrib hyprland uwsm (writeShellScriptBin "reload_waybar" '' pkill waybar sleep 0.2 waybar -c ~/.config/mango/config.jsonc & '') (writeShellScriptBin "snip" '' ${grim}/bin/grim -l 0 -g "$(${slurp}/bin/slurp)" - | wl-copy '') ns cinit dotlink sync xmobar rustc cargo distrobox podman rofi fastfetch xwallpaper pcmanfm tldr xclip maim pfetch-rs lxappearance jq eza acpi tmux gh gimp libreoffice xorg.xclock direnv qbittorrent slides presenterm dunst libnotify heaptrack figlet bear libvterm libtool cmake lm_sensors xfce4-whiskermenu-plugin ripgrep fd gcc sqlite neovim fzf gopls nil nixpkgs-fmt lua-language-server pyright rust-analyzer clang-tools rustfmt alejandra vscode-json-languageserver prettier zig zls (haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [ xmonad xmonad-contrib ])) haskell-language-server nodejs gnumake nitch bat nix-search-tv delta btop c3c c3-lsp intelephense brave emacs (pkgs.st.overrideAttrs (_: { src = ./config/st; patches = []; })) (pkgs.dmenu.overrideAttrs (_: { src = ./config/dmenu; patches = []; })) (pkgs.dwmblocks.overrideAttrs (_: { src = ./config/dwmblocks; patches = []; })) discord claude-code slack zoom jetbrains.datagrip arc-theme materia-theme qogir-theme orchis-theme numix-gtk-theme gtk-engine-murrine catppuccin-gtk candy-icons foot wayland xwayland libdrm fcft wmenu wofi bemenu grim slurp wl-clipboard swaybg swaylock swayidle procps waybar hyprpaper fuzzel xwayland-satellite evil-helix zed-editor mpv gajim ] ++ (with pkgs-stable; [ kdePackages.kdenlive obs-studio ]); fonts.packages = with pkgs; [ nerd-fonts.jetbrains-mono nerd-fonts.iosevka ]; # Sorry Uncle Richard nixpkgs.config.allowUnfree = true; services.seatd.enable = true; nix.settings = { experimental-features = ["nix-command" "flakes"]; download-buffer-size = 268435456; }; nixpkgs.config.permittedInsecurePackages = [ "olm-3.2.16" ]; system.stateVersion = "25.05"; }