{ inputs, outputs, lib, config, pkgs, nix-rice, nix-std, ... }: { nixpkgs = { overlays = [ inputs.nur.overlay outputs.overlays.additions outputs.overlays.pkg-sets inputs.nix-rice.overlays.default outputs.overlays.rice inputs.helix.overlays.default inputs.nixd.overlays.default inputs.nix-ld-rs.overlays.default ]; config = { allowUnfree = true; allowUnfreePredicate = _: true; }; }; nix = { registry = lib.mapAttrs (_: value: {flake = value;}) inputs; settings = { trusted-users = ["bolt" "plank"]; experimental-features = "nix-command flakes"; substitute = true; substituters = ["https://cosmic.cachix.org/"]; trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; }; extraOptions = '' keep-outputs = true keep-derivations = true ''; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; }; imports = []; systemd.services.NetworkManager-wait-online.enable = true; # for some reason nm doesn't enable without this environment.pathsToLink = ["/share/zsh"]; hardware.enableRedistributableFirmware = true; hardware.enableAllFirmware = true; boot.loader.systemd-boot.consoleMode = "max"; boot.loader.timeout = 3; boot.loader.systemd-boot.enable = true; boot.tmp.useTmpfs = true; networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. time.timeZone = "Australia/Sydney"; # fix windows to use utc instead time.hardwareClockInLocalTime = false; # Select internationalisation properties. i18n.defaultLocale = "en_AU.UTF-8"; i18n.supportedLocales = ["en_AU.UTF-8/UTF-8"]; console = { font = "Lat2-Terminus16"; useXkbConfig = true; # use xkbOptions in tty. }; hardware.opengl.enable = true; hardware.opengl.driSupport32Bit = true; #input stuff services.xserver = { enable = true; # SDDM requires this xkb.options = "caps:escape"; xkb.layout = "us"; libinput.enable = true; desktopManager.plasma5 = { enable = true; # enableQt5Integration = true; # for plasma6 runUsingSystemd = true; }; # displayManager.sddm = { # # wayland.enable = true; # experimental? # # wayland.compositor = "kwin"; # enable = true; # }; # displayManager.defaultSession = "plasmawayland"; }; services.desktopManager.cosmic.enable = true; services.displayManager.cosmic-greeter.enable = true; services.udisks2.enable = true; environment.plasma5.excludePackages = with pkgs.libsForQt5; [ konsole gwenview ]; services.flatpak.enable = true; security.polkit.enable = true; xdg.autostart.enable = true; xdg.portal.enable = true; services.resolved = { enable = true; fallbackDns = ["103.1.206.179" "168.138.8.38" "168.138.12.137"]; dnssec = "false"; }; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; qt.enable = true; qt.platformTheme = "kde"; qt.style = "kvantum"; programs.dconf.enable = true; services.colord.enable = true; programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; # services.tailscale.enable = true; environment.systemPackages = with pkgs; [ man-pages man-pages-posix nixd home-manager cachix curl eza swaybg git starship cachix alejandra libsForQt5.qtstyleplugin-kvantum ]; services.atuin.enable = true; documentation.dev.enable = true; documentation.man.enable = true; documentation.enable = true; programs.nix-index-database.comma.enable = true; programs.nix-index.enableZshIntegration = false; programs.nix-index.enableBashIntegration = false; services.gvfs.enable = true; services.mullvad-vpn.enable = true; programs.nix-ld = { enable = true; package = pkgs.nix-ld-rs; }; # networking.firewall = { # checkReversePath = "loose"; # }; # give cpuset to user systemd.services."user@".serviceConfig.Delegate = "memory pids cpu cpuset"; system.stateVersion = "22.11"; # Did you read the comment? }