# 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`). { config, pkgs, lib, inputs, outputs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ../../default.nix ]; # required for hostname specific configurations networking.hostName = "sakotop"; # Define your hostname. modules = { desktop = { kitty.enable = true; bspwm.enable = true; apps = { qutebrowser.enable = true; }; }; hardware = { nvidia.enable = true; pipewire.enable = true; bluetooth.enable = true; }; shell = { nix = { # makes nix search nixpkgs # ALOT faster search.enable = true; }; zsh.enable = true; }; }; # Enable CUPS to print documents. # services.printing.enable = true; # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; # TODO(sako):: put this in different files # Define a user account. Don't forget to set a password with ‘passwd’. users.users.sako= { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ firefox keepassxc tree dmenu #rofi #kitty #polybar steam winetricks wineWowPackages.staging lutris discord networkmanagerapplet gcc python3 python310Packages.pip rustup cargo nodejs yarn newsboat ncmpcpp ]; }; # mpd services.mpd = { enable = true; # pipewire fix user = "sako"; musicDirectory = "/home/sako/music"; extraConfig = builtins.readFile ../../config/mpd/mpd.conf; startWhenNeeded = true; }; # systemd fix pipewire systemd.services.mpd.environment = { XDG_RUNTIME_DIR = "/run/user/1000"; }; # garbage collection nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; home-manager.useUserPackages = true; home-manager.users.sako = { pkgs, ...}: { # CHANGE THIS WHEN THE SYSTEM VERSION CHANGES TOO!!! home.stateVersion = "23.05"; home.packages = []; home.username = "sako"; home.homeDirectory = "/home/sako"; programs.bash.enable = true; programs.home-manager.enable = true; programs.git = { enable = true; package = pkgs.gitFull; }; xdg.configFile = { git = { source = ../../config/git; }; nvim = { source = ../../config/nvim; recursive = true; }; bspwm = { source = ../../config/bspwm; }; sxhkd = { source = ../../config/sxhkd; }; ncmpcpp = { source = ../../config/ncmpcpp; recursive = true; }; }; }; # git crediental manager is in gitFull package # config options happen to be here too #programs.git = { # enable = true; # package = pkgs.gitFull; # userName = "Sakooooo"; # userEmail = "78461130+Sakooooo@users.noreply.github.com"; #}; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget killall alsa-utils pulseaudio pamixer feh unzip gh htop ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; programs.gnupg.agent = { enable = true; pinentryFlavor = "gtk2"; # 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; # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. # system.copySystemConfiguration = true; # 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 = "23.05"; # Did you read the comment? }