forked from jan-leila/nix-config
		
	moved overlays to own folder
made environments folder
This commit is contained in:
		
							parent
							
								
									3b76e4a8a8
								
							
						
					
					
						commit
						d20cf49ba2
					
				
					 7 changed files with 189 additions and 132 deletions
				
			
		
							
								
								
									
										72
									
								
								enviroments/client/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								enviroments/client/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | |||
| { pkgs, ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     ../common | ||||
|   ]; | ||||
| 
 | ||||
|   # Enable CUPS to print documents. | ||||
|   services.printing.enable = true; | ||||
| 
 | ||||
|   # Enable networking | ||||
|   networking.networkmanager.enable = true; | ||||
| 
 | ||||
|   # 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; | ||||
|   services.xserver.desktopManager.xterm.enable = false;  | ||||
| 
 | ||||
|   # Get rid of xTerm | ||||
|   services.xserver.excludePackages = [ pkgs.xterm ]; | ||||
| 
 | ||||
|   # Configure keymap in X11 | ||||
|   services.xserver = { | ||||
|     layout = "us,it,de"; | ||||
|     xkbVariant = ""; | ||||
|   }; | ||||
| 
 | ||||
|   # 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; | ||||
|     # 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; | ||||
|   }; | ||||
| 
 | ||||
|   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"; | ||||
|   }; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     # version control | ||||
|     git | ||||
|      | ||||
|     # helvetica font | ||||
|     aileron | ||||
| 
 | ||||
|     # system debuging tools | ||||
|     iputils | ||||
|     dnsutils | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										16
									
								
								enviroments/common/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								enviroments/common/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { pkgs, ... }: | ||||
| { | ||||
|   imports = [ | ||||
|       ../../users | ||||
|   ]; | ||||
| 
 | ||||
|   nix.settings.experimental-features = [ "nix-command" "flakes" ]; | ||||
| 
 | ||||
|   # Set your time zone. | ||||
|   time.timeZone = "America/Chicago"; | ||||
| 
 | ||||
|   # List packages installed in system profile. | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     wget | ||||
|   ]; | ||||
| } | ||||
|  | @ -8,7 +8,7 @@ | |||
| 
 | ||||
|       ./hardware-configuration.nix | ||||
|        | ||||
|       ../../users | ||||
|       ../../enviroments/client | ||||
|     ]; | ||||
| 
 | ||||
|   sops.defaultSopsFile = ../../secrets/secrets.yaml; | ||||
|  | @ -26,68 +26,7 @@ | |||
|    | ||||
|   boot.kernelModules = [ "sg" ]; | ||||
| 
 | ||||
|   nix.settings.experimental-features = [ "nix-command" "flakes" ]; | ||||
| 
 | ||||
|   networking.hostName = "horizon"; # 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/Chicago"; | ||||
| 
 | ||||
|   # 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"; | ||||
|   }; | ||||
| 
 | ||||
|   # 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; | ||||
|   services.xserver.desktopManager.xterm.enable = false;  | ||||
| 
 | ||||
|   # Get rid of xTerm | ||||
|   services.xserver.excludePackages = [ pkgs.xterm ]; | ||||
| 
 | ||||
|   # 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; | ||||
|     # 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; | ||||
|   }; | ||||
| 
 | ||||
|   # enabled virtualisation for docker | ||||
|   # virtualisation.docker.enable = true; | ||||
|  | @ -127,24 +66,6 @@ | |||
|   # Allow unfree packages | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
| 
 | ||||
|   # List packages installed in system profile. To search, run: | ||||
|   # $ nix search wget | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|   #  vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. | ||||
|     # wget | ||||
|     # resilio-sync | ||||
|     # yt-dlp | ||||
|     # spotdl | ||||
|     # ffmpeg | ||||
|     # chromaprint | ||||
|     # docker | ||||
|     aileron | ||||
| #    sox | ||||
| #    songrec | ||||
| #    csvkit | ||||
| #    losslessaudiochecker | ||||
|   ]; | ||||
| 
 | ||||
|   # Some programs need SUID wrappers, can be configured further or are | ||||
|   # started in user sessions. | ||||
|   # programs.mtr.enable = true; | ||||
|  |  | |||
							
								
								
									
										19
									
								
								overlays/intellij.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								overlays/intellij.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| { ... }: | ||||
| { | ||||
|   nixpkgs.overlays = [ | ||||
|     (self: super: { | ||||
|       # idea is too out of date for android gradle things | ||||
|       jetbrains = { | ||||
|         jdk = super.jdk17; | ||||
|         idea-community = super.jetbrains.idea-community.overrideAttrs (oldAttrs: rec { | ||||
|           version = "2023.3.3"; | ||||
|           name = "idea-community-${version}"; | ||||
|           src = super.fetchurl { | ||||
|             sha256 = "sha256-3BI97Tx+3onnzT1NXkb62pa4dj9kjNDNvFt9biYgP9I="; | ||||
|             url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; | ||||
|           }; | ||||
|         }); | ||||
|       }; | ||||
|     }) | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										15
									
								
								overlays/vscodium.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								overlays/vscodium.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| { ... }: | ||||
| { | ||||
|   nixpkgs.overlays = [ | ||||
|     (self: super: { | ||||
|       # ui is broken on 1.84 | ||||
|       vscodium = super.vscodium.overrideAttrs (oldAttrs: rec { | ||||
|         version = "1.85.2.24019"; | ||||
|         src = super.fetchurl { | ||||
|           sha256 = "sha256-OBGFXOSN+Oq9uj/5O6tF0Kp7rxTY1AzNbhLK8G+EqVk="; | ||||
|           url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-linux-x64-${version}.tar.gz"; | ||||
|         }; | ||||
|       }); | ||||
|     }) | ||||
|   ]; | ||||
| } | ||||
|  | @ -3,6 +3,10 @@ let | |||
|   cfg = config.users.leyla; | ||||
| in | ||||
| { | ||||
|   imports =[ | ||||
|     ./packages.nix | ||||
|   ]; | ||||
| 
 | ||||
|   options.users.leyla = { | ||||
|     isNormalUser = lib.mkEnableOption "leyla"; | ||||
|   }; | ||||
|  | @ -30,58 +34,6 @@ in | |||
|           extraGroups = [ "networkmanager" "wheel" ]; | ||||
| 
 | ||||
|           hashedPasswordFile = config.sops.secrets."passwords/leyla".path; | ||||
|            | ||||
|           packages = with pkgs; [ | ||||
|             iputils | ||||
|             dnsutils | ||||
|             git | ||||
|             firefox | ||||
|             signal-desktop | ||||
|             obsidian | ||||
|             bitwarden | ||||
|             vscodium | ||||
|             nextcloud-client | ||||
|             inkscape | ||||
|             steam | ||||
|             discord | ||||
|             rhythmbox | ||||
|             makemkv | ||||
|             protonvpn-gui | ||||
|             transmission-gtk | ||||
|             freecad | ||||
|             mupen64plus | ||||
|             dbeaver | ||||
|             easytag | ||||
|             cura | ||||
|             kicad-small | ||||
|       #        jdk | ||||
|       #        android-tools | ||||
|       #        android-studio | ||||
|             androidStudioPackages.canary | ||||
|             jetbrains.idea-community | ||||
|             ungoogled-chromium | ||||
|             nodejs | ||||
|             exiftool | ||||
|             libreoffice | ||||
|             # N64 Emulator | ||||
|             mupen64plus | ||||
|             # GameCube Emulator and Wii Emulator | ||||
|             dolphin-emu | ||||
|             # Switch Emulator | ||||
|             yuzu-mainline | ||||
|             # Atari 2600 Emulator | ||||
|             stella | ||||
|             # mame Emulator | ||||
|             mame | ||||
|             # Game Boy Advanced Emulator | ||||
|             vbam | ||||
|             # NES Emulator | ||||
|             fceux | ||||
|             # SNES Emulator | ||||
|             zsnes | ||||
|             # DS Emulator | ||||
|             desmume | ||||
|           ]; | ||||
|         } else { | ||||
|           isSystemUser = true; | ||||
|         } | ||||
|  |  | |||
							
								
								
									
										62
									
								
								users/leyla/packages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								users/leyla/packages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | |||
| { lib, config, pkgs, ... }: | ||||
| let | ||||
|   cfg = config.users.leyla; | ||||
| in | ||||
| { | ||||
|   imports = [ | ||||
|     ../../overlays/intellij.nix | ||||
|     ../../overlays/vscodium.nix | ||||
|   ]; | ||||
| 
 | ||||
|   users.users.leyla.packages = lib.mkIf cfg.isNormalUser ( | ||||
|     with pkgs; [ | ||||
|       #foss platforms | ||||
|       signal-desktop | ||||
|       bitwarden | ||||
|       firefox | ||||
|       ungoogled-chromium | ||||
|       libreoffice | ||||
|       inkscape | ||||
|       freecad | ||||
|       kicad-small | ||||
|       cura | ||||
|       makemkv | ||||
|       transmission-gtk | ||||
|       easytag | ||||
|       rhythmbox | ||||
| 
 | ||||
|       # proprietary platforms | ||||
|       discord | ||||
|       obsidian | ||||
|        | ||||
|       # development enviroments | ||||
|       vscodium | ||||
|       androidStudioPackages.canary | ||||
|       jetbrains.idea-community | ||||
|       dbeaver | ||||
| 
 | ||||
|       # development tools | ||||
|       # TODO: move these to flakes | ||||
|       nodejs | ||||
|        | ||||
|       # bridges | ||||
|       protonvpn-gui | ||||
|       nextcloud-client | ||||
|        | ||||
|       # gaming | ||||
|       steam | ||||
|       # emulators | ||||
|       yuzu-mainline # Switch Emulator | ||||
|       dolphin-emu # GameCube and Wii Emulator | ||||
|       desmume # DS Emulator | ||||
|       mupen64plus # N64 Emulator | ||||
|       zsnes # SNES Emulator | ||||
|       vbam # Game Boy Advanced Emulator | ||||
|       fceux # NES Emulator | ||||
|       stella # Atari 2600 Emulator | ||||
|       mame # mame Emulator | ||||
|        | ||||
|        | ||||
|     ] | ||||
|   ); | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue