clean up laptop config

This commit is contained in:
k 2024-09-07 11:30:41 -04:00
parent 17e64562dd
commit cf4133344f
2 changed files with 135 additions and 156 deletions

View File

@ -1,16 +1,58 @@
# 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, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
imports = imports = [ ./hardware-configuration.nix ];
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
system.autoUpgrade.enable = true;
time.timeZone = "America/New_York";
security.rtkit.enable = true;
powerManagement.enable = true;
nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
gc.automatic = true;
};
networking = {
hostName = "laptop";
networkmanager.enable = true;
firewall.enable = true;
};
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
};
services = {
xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
fwupd.enable = true;
printing.enable = true;
fprintd.enable = true;
thermald.enable = true;
};
stylix = { stylix = {
enable = true; enable = true;
@ -24,133 +66,69 @@
}; };
}; };
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. hardware = {
sensor.iio.enable = true;
# Configure network proxy if necessary pulseaudio.enable = false;
# networking.proxy.default = "http://user:password@proxy:port/"; graphics.enable32Bit = true;
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
}; };
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
environment.gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
xterm
cheese # webcam tool
gnome-music
gnome-weather
gnome-calendar
gnome-contacts
gnome-clocks
gnome-maps
epiphany # web browser
geary # email reader
evince # document viewer
gnome-characters
totem # video player
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]);
hardware.sensor.iio.enable = true;
networking.hostName = "laptop"; # Define your hostname.
services.fwupd.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
services.fprintd.enable = true;
services.thermald.enable = true;
powerManagement.powertop.enable = true;
powerManagement.enable = true;
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;
dockerCompat = true; dockerCompat = true;
}; };
# Enable sound with pipewire. programs = {
hardware.pulseaudio.enable = false; nix-ld.enable = true;
security.rtkit.enable = true; nix-ld.libraries = with pkgs; [ glibc glib ];
services.pipewire = { zsh.enable = true;
enable = true; steam.enable = true;
alsa.enable = true; steam.gamescopeSession.enable = true;
alsa.support32Bit = true; gamemode.enable = true;
pulse.enable = true;
jack.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.
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [glibc glib];
programs.zsh.enable = true;
users.users.k = { users.users.k = {
isNormalUser = true; isNormalUser = true;
description = "k"; description = "k";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [zsh]; packages = with pkgs; [ zsh ];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
home-manager = { home-manager = {
users = { users = { "k" = import ./home.nix; };
"k" = import ./home.nix;
};
};
programs.steam.enable = true;
programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true;
environment.sessionVariables = {
MOZ_USE_XINPUT2 = "1";
}; };
environment = {
system.autoUpgrade.enable = true; sessionVariables = { MOZ_USE_XINPUT2 = "1"; };
nix.gc.automatic = true; gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
# List packages installed in system profile. To search, run: xterm
# $ nix search wget cheese # webcam tool
environment.systemPackages = with pkgs; [ gnome-music
intel-vaapi-driver gnome-weather
intel-compute-runtime gnome-calendar
intel-media-driver gnome-contacts
microcodeIntel gnome-clocks
neovim gnome-maps
gtk2 epiphany # web browser
gtk3 geary # email reader
gtk4 evince # document viewer
]; gnome-characters
networking.firewall.enable = true; totem # video player
hardware.graphics.enable32Bit = true; tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]);
systemPackages = with pkgs; [
intel-vaapi-driver
intel-compute-runtime
intel-media-driver
microcodeIntel
neovim
];
};
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions

View File

@ -1,46 +1,47 @@
{ config, pkgs, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
home.enableNixpkgsReleaseCheck = false;
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
home.username = "k"; home = {
home.homeDirectory = "/home/k"; username = "k";
home.stateVersion = "23.11"; homeDirectory = "/home/k";
stateVersion = "23.11";
enableNixpkgsReleaseCheck = false;
packages = [
pkgs.nerdfonts
pkgs.firefox
pkgs.keepassxc
pkgs.syncthing
pkgs.thunderbird
pkgs.blender
pkgs.vesktop
pkgs.btop
pkgs.zip
pkgs.spotify
pkgs.distrobox
home.packages = [ pkgs.modrinth-app
pkgs.nerdfonts pkgs.emacs
pkgs.firefox pkgs.direnv
pkgs.keepassxc ];
pkgs.syncthing
pkgs.thunderbird
pkgs.blender
pkgs.vesktop
pkgs.btop
pkgs.zip
pkgs.spotify
pkgs.distrobox
pkgs.modrinth-app
pkgs.emacs
pkgs.direnv
];
programs.git = {
enable = true;
userName = "k";
userEmail = "markers711@gmail.com";
}; };
programs.starship.enable = true; programs = {
programs.zsh = { git = {
enable = true; enable = true;
autosuggestion.enable = true; userName = "k";
enableCompletion = true; userEmail = "markers711@gmail.com";
syntaxHighlighting.enable = true; };
autocd = true;
plugins = [ starship.enable = true;
{ zsh = {
enable = true;
autosuggestion.enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
autocd = true;
plugins = [{
name = "zsh-nix-shell"; name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh"; file = "nix-shell.plugin.zsh";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
@ -49,9 +50,9 @@
rev = "v0.8.0"; rev = "v0.8.0";
sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7"; sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7";
}; };
} }];
]; };
}; };
services.syncthing.enable = true; services = { syncthing.enable = true; };
} }