genesis
This commit is contained in:
		
							
								
								
									
										158
									
								
								configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								configuration.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,158 @@ | ||||
| { config, pkgs, lib, ... }: | ||||
|  | ||||
| { | ||||
| 	 | ||||
| 	imports = | ||||
| 		 | ||||
| 		[  | ||||
| 			  | ||||
| 			./modules/modules.nix | ||||
|  | ||||
| 		]; | ||||
|  | ||||
| 	# Bootloader. | ||||
| 	boot.loader.systemd-boot.enable = true; | ||||
| 	boot.loader.efi.canTouchEfiVariables = true; | ||||
| 	boot.kernelPackages =  pkgs.linuxPackages_latest; | ||||
|  | ||||
| 	nix = { | ||||
| 		package = pkgs.nixUnstable; | ||||
| 		extraOptions = '' | ||||
| 				experimental-features = nix-command flakes | ||||
| 			''; | ||||
| 		}; | ||||
|  | ||||
| 	networking.hostName = "nixos"; # Define your hostname. | ||||
| 	# networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. | ||||
|  | ||||
| 	# Enable networking | ||||
| 	networking.networkmanager.enable = true; | ||||
|  | ||||
| 	# Set your time zone. | ||||
| 	time.timeZone = "America/Los_Angeles"; | ||||
|  | ||||
| 	# Select internationalisation properties. | ||||
| 	i18n.defaultLocale = "en_US.UTF-8"; | ||||
|  | ||||
| 	# Enable the X11 windowing system. | ||||
| 	services.xserver.enable = true; | ||||
|  | ||||
| 	# Enable the GNOME Desktop Environment. | ||||
| 	services.xserver.displayManager.gdm.enable = true; | ||||
| 	services.xserver.desktopManager.gnome.enable = true; | ||||
|  | ||||
| 	# Configure keymap in X11 | ||||
| 	services.xserver = { | ||||
| 		layout = "us"; | ||||
| 		xkbVariant = ""; | ||||
| 	}; | ||||
|  | ||||
| 	# Enable CUPS to print documents. | ||||
| 	services.printing.enable = true; | ||||
|  | ||||
| 	# Enable sound with pipewire. | ||||
| 	sound.enable = true; | ||||
| 	hardware.pulseaudio.enable = false; | ||||
| 	security.rtkit.enable = true; | ||||
| 	services.pipewire = { | ||||
| 		enable = true; | ||||
| 		alsa.enable = true; | ||||
| 		alsa.support32Bit = true; | ||||
| 		pulse.enable = true; | ||||
| 	}; | ||||
|  | ||||
| 	users.users = { | ||||
| 		free = { | ||||
| 			isNormalUser = true; | ||||
| 			description = "free"; | ||||
| 			extraGroups = [ "networkmanager" "wheel" ]; | ||||
| 		}; | ||||
|  | ||||
| 	# Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229 | ||||
| 	systemd.services."getty@tty1".enable = true; | ||||
| 	systemd.services."autovt@tty1".enable = true; | ||||
|  | ||||
| 	# Allow Flatpak | ||||
| 	services.flatpak.enable = true; | ||||
|  | ||||
| 	# Allow unfree packages | ||||
| 	nixpkgs.config.allowUnfree = true; | ||||
|  | ||||
| 	# List packages installed in system profile. To search, run: | ||||
| 	# $ nix search wget | ||||
| 	environment.systemPackages = with pkgs; [ | ||||
| 		git | ||||
| 		wget | ||||
| 		librewolf | ||||
| 		fish | ||||
| 		htop | ||||
| 		gnomeExtensions.dash-to-dock | ||||
| 		gnomeExtensions.transparent-top-bar-adjustable-transparency | ||||
| 		gnomeExtensions.vitals | ||||
| 		gnomeExtensions.pop-shell | ||||
| 		gnomeExtensions.just-perfection | ||||
| 		gnomeExtensions.appindicator | ||||
| 		gnomeExtensions.systemd-manager | ||||
| 		gnomeExtensions.date-menu-formatter | ||||
| 		gnome.gnome-tweaks | ||||
| 		papirus-icon-theme | ||||
| 		ranger | ||||
| 		sparrow | ||||
| 		bisq-desktop | ||||
| 		neofetch | ||||
| 		gnome.gedit | ||||
| 		openssl | ||||
| 		pwgen | ||||
| 		aspell | ||||
| 		aspellDicts.en | ||||
| 		lm_sensors | ||||
| 		hunspell | ||||
| 		hunspellDicts.en_US | ||||
| 		ncdu_2 | ||||
| 		bitwarden | ||||
| 		gparted | ||||
| 		pv | ||||
| 		unzip | ||||
| 		parted | ||||
| 		screen | ||||
| 		gnome.zenity | ||||
| 		libargon2 | ||||
| 		gnome.gnome-terminal | ||||
| 		dig | ||||
| 		nextcloud-client | ||||
| 		ungoogled-chromium | ||||
|  | ||||
| 	]; | ||||
|  | ||||
| 	nixpkgs.config.permittedInsecurePackages = [ | ||||
| 							 ]; | ||||
|  | ||||
|  | ||||
| 	programs.bash.promptInit = "fish"; | ||||
| 	programs.fish = { | ||||
| 		enable = true; | ||||
| 		promptInit = "neofetch"; | ||||
| 	}; | ||||
|  | ||||
|  | ||||
| 	####### TOR ####### | ||||
| 	services.tor = { | ||||
| 		enable = true; | ||||
| 	client.enable = true; | ||||
| 	torsocks.enable = true; | ||||
| 	}; | ||||
|  | ||||
|  | ||||
| 	networking.firewall.enable = true; | ||||
|  | ||||
| 	 | ||||
| 	####### AUTO COLLECT GARABAGE ####### | ||||
| 	nix.gc = { | ||||
| 		automatic = true; | ||||
| 		dates = "weekly"; | ||||
| 		options = "--delete-older-than 7d"; | ||||
| 	}; | ||||
|  | ||||
| 	system.stateVersion = "24.05"; | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user