{ config, lib, pkgs, ... }: { imports = [ ./xserver.nix ./fonts.nix ./sound.nix ./kernel.nix ./rtlsdr.nix /home/grfn/code/urb/urbos/system ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.useDHCP = false; networking.networkmanager.enable = true; # Select internationalisation properties. # i18n = { # consoleFont = "Lat2-Terminus16"; # consoleKeyMap = "us"; # defaultLocale = "en_US.UTF-8"; # }; # Set your time zone. time.timeZone = "America/New_York"; environment.systemPackages = with pkgs; [ wget vim zsh git w3m libnotify file lm_sensors ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; # pinentryFlavor = "gnome3"; # }; programs.nm-applet.enable = true; services.openssh.enable = true; programs.ssh.startAgent = true; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. networking.firewall.enable = false; # Enable CUPS to print documents. # services.printing.enable = true; users.mutableUsers = true; programs.zsh.enable = true; environment.pathsToLink = [ "/share/zsh" ]; users.users.grfn = { isNormalUser = true; initialPassword = "password"; extraGroups = [ "wheel" "networkmanager" "audio" "docker" ]; shell = pkgs.zsh; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "20.03"; # Did you read the comment? nixpkgs.config.allowUnfree = true; services.geoclue2.enable = true; powerManagement = { enable = true; cpuFreqGovernor = lib.mkDefault "powersave"; powertop.enable = true; }; # Hibernate on low battery laptop.onLowBattery = { enable = true; action = "hibernate"; thresholdPercentage = 5; }; nix = { trustedUsers = [ "grfn" ]; autoOptimiseStore = true; buildMachines = [{ hostName = "172.16.0.3"; sshUser = "griffin"; sshKey = "/home/grfn/.ssh/id_rsa"; system = "x86_64-darwin"; maxJobs = 4; } { hostName = "172.16.0.4"; sshUser = "griffin"; sshKey = "/home/grfn/.ssh/id_rsa"; system = "x86_64-darwin"; maxJobs = 8; # 16 cpus }]; distributedBuilds = true; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; }; urbos.enable = true; urbos.username = "grfn"; services.udev.extraRules = '' # UDEV rules for Teensy USB devices ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" ''; }