{ config, lib, pkgs, unstable_pkgs, nwm, oxwm, ... }: let ns = pkgs.writeShellScriptBin "ns" (builtins.readFile ./scripts/nixpkgs.sh); # dwlsesh = pkgs.writeShellScriptBin "dwlsesh" (builtins.readFile ./scripts/dwlsesh.sh); cinit = pkgs.writeShellScriptBin "cinit" (builtins.readFile ./scripts/cinit.sh); # myDwl = pkgs.dwl.overrideAttrs (old: { # src = ./config/dwl; # nativeBuildInputs = # (old.nativeBuildInputs or []) # ++ [ # pkgs.pkg-config # pkgs.wayland # pkgs.wayland-protocols # pkgs.scdoc # ]; # # buildInputs = # (old.buildInputs or []) # ++ [ # unstable_pkgs.wlroots # unstable_pkgs.libdrm # pkgs.wayland # unstable_pkgs.fcft # pkgs.pixman # pkgs.fontconfig # pkgs.freetype # pkgs.harfbuzz # pkgs.libxkbcommon # ]; # patches = []; # }); in { # hardware-configuration.nix imported per-host in flake.nix boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # networking.hostName set per-host in flake.nix networking.networkmanager.enable = true; programs.nix-ld.enable = true; time.timeZone = "America/Los_Angeles"; services = { picom.enable = true; displayManager = { ly.enable = true; }; xserver = { enable = true; autoRepeatDelay = 200; autoRepeatInterval = 35; windowManager = { xmonad = { enable = true; enableContribAndExtras = true; extraPackages = hpkgs: [ hpkgs.xmonad hpkgs.xmonad-extras hpkgs.xmonad-contrib ]; }; qtile.enable = true; oxwm.enable = true; dwm = { enable = true; package = unstable_pkgs.dwm.overrideAttrs { src = ./config/dwm; }; }; }; modules = [pkgs.xorg.xf86inputlibinput]; displayManager.sessionCommands = '' xwallpaper --zoom ~/walls/waifus/waifu3.jpg ''; }; }; users.users.tony = { isNormalUser = true; extraGroups = ["wheel"]; packages = with pkgs; [ tree ]; }; users.users.sandbox = { isNormalUser = true; extraGroups = ["wheel" "video" "audio"]; }; # programs.hyprland = { # enable = true; # xwayland.enable = true; # package = unstable_pkgs.hyprland; # }; programs.mango = { enable = true; }; # programs.sway = { # enable = true; # wrapperFeatures.gtk = true; # xwayland.enable = true; # }; services.desktopManager.cosmic.enable = true; programs.firefox.enable = true; environment.systemPackages = [ pkgs.vim pkgs.wget pkgs.alacritty pkgs.git pkgs.pavucontrol pkgs.xorg.xinit pkgs.xorg.xf86inputlibinput pkgs.ncurses.dev pkgs.pkg-config unstable_pkgs.haskellPackages.xmonad-contrib unstable_pkgs.hyprland unstable_pkgs.uwsm (unstable_pkgs.writeShellScriptBin "reload_waybar" '' pkill waybar sleep 0.2 waybar -c ~/.config/mango/config.jsonc & '') (unstable_pkgs.writeShellScriptBin "snip" '' ${unstable_pkgs.grim}/bin/grim -l 0 -g "$(${unstable_pkgs.slurp}/bin/slurp)" - | wl-copy '') ns # dwlsesh # myDwl cinit unstable_pkgs.xmobar ]; # Hack for now.. will fix later # services.displayManager.sessionPackages = [ # (pkgs.writeTextFile { # name = "dwl-session"; # destination = "/share/wayland-sessions/dwl.desktop"; # text = '' # [Desktop Entry] # Name=dwl # Comment=dwl window manager # Exec=dwlsesh # TryExec=dwl # Type=Application # ''; # passthru.providedSessions = ["dwl"]; # }) # ]; fonts.packages = with pkgs; [ nerd-fonts.jetbrains-mono ]; nixpkgs.config.allowUnfree = true; # programs.niri.enable = true; nix.settings = { experimental-features = ["nix-command" "flakes"]; # Increase download buffer size limit download-buffer-size = 268435456; # 256 MB }; system.stateVersion = "25.05"; }