Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- salvo@nixos:~/.dotfiles/ > cat configuration.nix
- # Edit this configuration file to define what should be installed on
- # your system. Help is available in the configuration.nix(5) man page
- # and in the NixOS manual (accessible by running ‘nixos-help’).
- # Rebuild from
- # /home/salvo/.dotfiles
- # nix flake update
- # sudo nixos-rebuild switch --flake .
- # home-manager switch --flake .
- { config, lib, inputs, pkgs, ... }:
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- boot.loader = {
- efi.canTouchEfiVariables = true;
- grub = {
- enable = true;
- devices = [ "nodev" ];
- efiSupport = true;
- useOSProber = true;
- };
- };
- networking.hostName = "nixos"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Enable networking
- networking.networkmanager.enable = true;
- # Set your time zone.
- time.timeZone = "Europe/London";
- # Select internationalisation properties.
- i18n.defaultLocale = "en_GB.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "en_GB.UTF-8";
- LC_IDENTIFICATION = "en_GB.UTF-8";
- LC_MEASUREMENT = "en_GB.UTF-8";
- LC_MONETARY = "en_GB.UTF-8";
- LC_NAME = "en_GB.UTF-8";
- LC_NUMERIC = "en_GB.UTF-8";
- LC_PAPER = "en_GB.UTF-8";
- LC_TELEPHONE = "en_GB.UTF-8";
- LC_TIME = "en_GB.UTF-8";
- };
- nixpkgs.config.nvidia.acceptLicense = true;
- services.xserver.videoDrivers = [ "nvidia" ];
- # hyprland
- programs.hyprland.enable = true;
- #programs.hyprland.package = inputs.hyprland.packages."${pkgs.system}".hyprland;
- # enable crontab
- services.cron.enable = true;
- #Flakes
- nix.settings.experimental-features = [ "nix-command" " flakes" ];
- environment.variables = {
- GBM_BACKEND = "nvidia-drm";
- LIBVA_DRIVER_NAME = "nvidia";
- __GLX_VENDOR_LIBRARY_NAME = "nvidia";
- };
- hardware = {
- nvidia = {
- modesetting.enable = true;
- powerManagement.enable = true;
- package = config.boot.kernelPackages.nvidiaPackages.latest;
- nvidiaSettings = true;
- powerManagement.finegrained = false;
- };
- opengl = {
- enable = true;
- driSupport = true;
- driSupport32Bit = true;
- extraPackages = with pkgs; [
- nvidia-vaapi-driver
- vaapiVdpau
- libvdpau-va-gl
- ];
- };
- };
- services.xserver.enable = true;
- # Enable the KDE Plasma Desktop Environment.
- services.displayManager.sddm.enable = true;
- services.desktopManager.plasma6.enable = true;
- # Configure keymap in X11
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
- # Enable CUPS to print documents.
- services.printing.enable = true;
- # Enable Bluetooth
- hardware.bluetooth.enable = true;
- hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
- # Enable sound with pipewire.
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
- # use the example session manager (no others are packaged yet so this is enabled by default,
- # no need to redefine it in your config for now)
- #media-session.enable = true;
- };
- # Enable touchpad support (enabled default in most desktopManager).
- # services.xserver.libinput.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.salvo = {
- isNormalUser = true;
- description = "Salvatore Greco";
- extraGroups = [ "networkmanager" "wheel" ];
- packages = with pkgs; [
- kdePackages.kate
- # thunderbird
- ];
- };
- # Install firefox.
- programs.firefox.enable = true;
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
- nixpkgs.config.allowInsecure = true;
- # Steam
- programs.steam.enable = true;
- programs.steam.gamescopeSession.enable = true;
- programs.gamemode.enable = true;
- # Commented this out for now
- # programs.steam.protontricks.enable = true;
- environment.sessionVariables = {
- STEAM_EXTRA_COMPAT_TOOLS_PATHS =
- "\${HOME}/.steam/root/compatibilitytools.d";
- };
- # I use zsh btw
- environment.shells = with pkgs; [ zsh ];
- users.defaultUserShell = pkgs.zsh;
- programs.zsh.enable = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- vim
- brave
- pkgs.obsidian
- pkgs._1password-gui
- pkgs.neofetch
- pkgs.telegram-desktop
- pkgs.whatsapp-for-linux
- pkgs.teams-for-linux
- pkgs.discord
- pkgs.freetube
- mangohud
- protonup
- pkgs.neovim
- restic
- # nvidia-vaapi-driver
- # vaapiVdpau
- libvdpau-va-gl
- kitty
- alacritty
- git
- git-crypt
- gnupg
- btop
- pkgs.jetbrains-mono
- pkgs.qemu # Virtual machine software
- pkgs.virt-manager # virtual manager
- pkgs.ckb-next # iCUE like driver for mouse
- #pkgs.cameractrls-gtk4
- vulkan-loader
- vulkan-validation-layers
- vulkan-tools
- ];
- fonts.packages = with pkgs; [
- cifs-utils
- corefonts
- dina-font
- fira-code
- fira-code-symbols
- font-awesome
- jetbrains-mono
- liberation_ttf
- mplus-outline-fonts.githubRelease
- nerdfonts
- noto-fonts
- noto-fonts-cjk
- noto-fonts-emoji
- noto-fonts-extra
- powerline-fonts
- proggyfonts
- ubuntu_font_family
- unifont
- unifont_upper
- ];
- # 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;
- # 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 = "24.05"; # Did you read the comment?
- }
Add Comment
Please, Sign In to add comment