{ self, inputs, ... }: { flake.nixosModules.crowConfiguration = { pkgs, ... }: { imports = [ self.nixosModules.crowHardware self.nixosModules.nest self.nixosModules.niri self.nixosModules.git self.nixosModules.sddm self.nixosModules.hsr self.nixosModules.zsh self.nixosModules.vesktop self.nixosModules.fuzzel self.nixosModules.flameshot ]; environment.systemPackages = with pkgs; [ pavucontrol bolt-launcher wine usbutils virt-manager prismlauncher kubectl kompose lens htop zip unzip dig traceroute neovim wget pciutils alacritty brave lutris steam easyeffects openssl jq # Wrap Element so it knows where gnome-libsecret is # Additionally, override the config to disable legacy call protocol (let elementConfig = pkgs.writeText "element-config.json" (builtins.toJSON { default_server_config = { "m.homeserver" = { base_url = "https://starling.mynest.love"; server_name = "starling.mynest.love"; }; }; features = { "feature_group_calls" = true; "feature_video_rooms" = true; "feature_element_call_video_rooms" = true; }; element_call = { url = null; use_exclusively = true; }; jitsi = { preferred_domain = null; }; }); in symlinkJoin { name = "element-desktop"; paths = [ element-desktop ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/element-desktop \ --add-flags "--password-store=gnome-libsecret" \ --set ELEMENT_DESKTOP_CONFIG_JSON "${elementConfig}" ''; }) ]; nixpkgs.overlays = [ # Open LDAP currently has a problem # with one of the tests. Just disable it (final: prev: { openldap = prev.openldap.overrideAttrs (oldAttrs: { doCheck = false; }); }) ]; networking.networkmanager.enable = true; networking.hostName = "crow"; fonts.packages = with pkgs; [ nerd-fonts.fira-code nerd-fonts.droid-sans-mono noto-fonts ]; services = { openssh.enable = true; blueman.enable = true; }; services.ollama = { enable = true; package = pkgs.ollama-rocm; environmentVariables = { HSA_OVERRIDE_GFX_VERSION = "10.3.0"; }; loadModels = [ "deepseek-r1:32b" "qwen3.5:14b" ]; }; services.open-webui = { enable = true; host = "127.0.0.1"; port = 8080; environment = { OLLAMA_API_BASE_URL = "http://127.0.0.1:11434"; # Keep telemetry disabled to ensure complete privacy ANONYMIZED_TELEMETRY = "False"; DO_NOT_TRACK = "True"; SCARF_NO_ANALYTICS = "True"; }; }; boot = { loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; timeout = 1; }; kernelPackages = pkgs.linuxPackages_latest; kernelModules = [ "amdgpu" ]; # "Silent" boot initrd.verbose = false; kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ]; }; time.timeZone = "America/New_York"; time.hardwareClockInLocalTime = false; hardware.graphics = { enable = true; enable32Bit = true; }; nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.auto-optimise-store = true; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; nixpkgs.config.allowUnfree = true; system.stateVersion = "26.05"; }; }