{ inputs, outputs, lib, config, pkgs, ... }: { # You can import other NixOS modules here imports = [ # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example # Or modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-ssd ./hardware-configuration.nix inputs.home-manager.nixosModules.home-manager ]; nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages # You can also add overlays exported from other flakes: # neovim-nightly-overlay.overlays.default ]; config = { allowUnfree = true; }; }; nix = { # This will add each flake input as a registry # To make nix3 commands consistent with your flake registry = lib.mapAttrs (_: value: { flake = value; }) inputs; # This will additionally add your inputs to the system's legacy channels # Making legacy nix commands consistent as well, awesome! nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 1w"; }; settings = { # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Deduplicate and optimize nix store auto-optimise-store = true; }; }; networking.hostName = "ltrr"; boot.loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; services = { xserver = { enable = true; # dm displayManager = { defaultSession = "none+bspwm"; sddm = { enable = true; theme = "sugar-dark"; }; }; # wm windowManager.bspwm.enable = true; # Layout layout = "us,ru"; xkbOptions = "grp:win_space_toggle,grp:alt_shift_toggle"; }; # Printing printing.enable = true; printing.drivers = [ pkgs.hplipWithPlugin ]; avahi = { enable = true; nssmdns = true; openFirewall = true; }; pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; }; v2raya.enable = true; }; environment.systemPackages = with pkgs; [ vim git killall btrfs-progs ntfs3g sddm-sugar-dark-theme ]; services.udisks2 = { enable = true; mountOnMedia = true; }; i18n.defaultLocale = "ru_RU.UTF-8"; programs.fish.enable = true; users.users = { jerpo = { isNormalUser = true; shell = pkgs.fish; openssh.authorizedKeys.keys = [ # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect ]; extraGroups = [ "networkmanager" "wheel" ]; }; }; home-manager = { extraSpecialArgs = { inherit inputs outputs; }; useGlobalPkgs = true; useUserPackages = true; users.jerpo = import ../home-manager/home.nix; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "23.05"; }