# ___________ _____ _____ # | _ | ___ \_ _|____ | # | | | | |_/ / | | / / # | | | | __/ | | \ \ # \ \_/ / | _| |_.___/ / # \___/\_| \___/\____/ { config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ./networks.nix ./kernel.nix ./samba.nix ]; boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; boot.kernel.sysctl = { "vm.swappiness" = 10; "vm.dirty_background_ratio" = 5; "vm.vfs_cache_pressure" = 50; }; networking.hostName = "opi3n"; # Define your hostname. # Set your time zone. time.timeZone = "Europe/Moscow"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_NUMERIC = "ru_RU.UTF-8"; LC_TIME = "ru_RU.UTF-8"; LC_MONETARY = "ru_RU.UTF-8"; LC_PAPER = "ru_RU.UTF-8"; LC_MEASUREMENT = "ru_RU.UTF-8"; }; # Enable the X11 windowing system. programs.xwayland.enable = true; services.xserver = { enable = true; layout = "us,ru"; xkbOptions = "grp:caps_toggle"; xkbVariant = ",phonetic_winkeys"; libinput.enable = true; displayManager.startx.enable = false; videoDrivers = [ "modesetting" "fbdev" "panfrost" ]; }; services.xserver.displayManager.lightdm = { enable = true; greeters.gtk.enable = true; }; # i3 services.xserver.windowManager.i3.enable = true; services.xserver.windowManager.i3.extraPackages = with pkgs; [ rofi kitty i3status-rust i3lock ncpamixer networkmanager_dmenu ]; # Sway programs.sway.enable = true; programs.sway.extraPackages = with pkgs; [ swaylock swayidle rxvt-unicode kitty dmenu wofi ]; # Enable CUPS to print documents. # services.printing.enable = true; # Enable sound. sound.enable = true; #hardware.pulseaudio.enable = true; services.pipewire = { enable = true; pulse.enable = true; jack.enable = true; media-session.enable =true; }; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ neovim aria2 fd ranger git curl exa bat bottom neofetch tmux mosh rsync synergy ncdu pciutils tldr atool ]; # 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; # }; # List services that you want to enable: # Enable the OpenSSH daemon. services.openssh.enable = true; programs.vim.defaultEditor = true; programs.neovim.vimAlias = true; programs.zsh.enable = true; # Users users.users.neothefox = { isNormalUser = true; shell = pkgs.zsh; extraGroups = [ "wheel" "sshusers" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMlvGBRMTZaoCOyNBMHuxhsfuS3GVjETioWfXSd6kOOc neothefox@Master" "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBBzBJORk3FEiIsgX9dhJnh7DD/5WhlX61xfkWvxXggB7kTNUgaWCU/2KbxW7kTywllw8ikxVzUYY2CJWI/uMYMMAAAAEc3NoOg== neothefox@pipboy14s" ]; }; programs.zsh.ohMyZsh = { enable = true; customPkgs = [ pkgs.nix-zsh-completions ]; plugins = [ "gitfast" "sudo" "man" ]; theme = "eastwood"; }; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. networking.firewall.enable = false; # 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 = "21.05"; # Did you read the comment? }