Restructuring
This commit is contained in:
		
							parent
							
								
									79a809d8cb
								
							
						
					
					
						commit
						9c6bc18271
					
				
					 7 changed files with 148 additions and 184 deletions
				
			
		|  | @ -43,6 +43,7 @@ | |||
|         inherit system; | ||||
|         modules = [ | ||||
|           home-manager.nixosModule | ||||
|           ./modules | ||||
|         ]; | ||||
|       }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,30 +1,22 @@ | |||
| # 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, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = | ||||
|     [ | ||||
|       ./hardware-configuration.nix | ||||
|     ]; | ||||
| 
 | ||||
|   # Nix Flakes | ||||
|   nix.package = pkgs.nixFlakes; | ||||
|   nix.extraOptions = '' | ||||
|     experimental-features = nix-command flakes | ||||
|   ''; | ||||
|   imports = [ | ||||
|     ./hardware-configuration.nix | ||||
| 
 | ||||
|     ../../modules/apps/virtualbox | ||||
|     ../../modules/des/gnome | ||||
|   ]; | ||||
|    | ||||
|   # Use the systemd-boot EFI boot loader.] | ||||
|   boot.loader = { | ||||
|     systemd-boot.enable = true; | ||||
|     efi = { | ||||
|        canTouchEfiVariables = true; | ||||
|        efiSysMountPoint = "/boot/efi"; | ||||
|       canTouchEfiVariables = true; | ||||
|       efiSysMountPoint = "/boot/efi"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|    | ||||
|   # Setup keyfile | ||||
|   boot.initrd.secrets = { | ||||
|     "/crypto_keyfile.bin" = null; | ||||
|  | @ -34,14 +26,14 @@ | |||
|   # Pick only one of the below networking options. | ||||
|   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. | ||||
|   networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default. | ||||
| 
 | ||||
|    | ||||
|   # Set your time zone. | ||||
|   time.timeZone = "Europe/Brussels"; | ||||
| 
 | ||||
|    | ||||
|   # Configure network proxy if necessary | ||||
|   # networking.proxy.default = "http://user:password@proxy:port/"; | ||||
|   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; | ||||
| 
 | ||||
|    | ||||
|   # Select internationalisation properties. | ||||
|   i18n.defaultLocale = "en_GB.UTF-8"; | ||||
|   # console = { | ||||
|  | @ -54,27 +46,15 @@ | |||
|     enable = true; | ||||
| 
 | ||||
|     videoDrivers = [ "nvidia" ]; # Also for wayland compositors | ||||
|    | ||||
|     # Enable the GNOME Desktop Environment. | ||||
|     displayManager.gdm.enable = true; | ||||
|     desktopManager.gnome.enable = true; | ||||
| 
 | ||||
| 
 | ||||
|     # Enable the Plasma 5 Desktop Environment. | ||||
|     # displayManager.sddm = { | ||||
|     #   enable = true; | ||||
|     #   defaultSession = "plasmawayland"; | ||||
|     # }; | ||||
|     # desktopManager.plasma.enable = true; | ||||
|    | ||||
|      | ||||
|     # Configure keymap in X11 | ||||
|     layout = "us"; | ||||
|     xkbVariant = ""; | ||||
|   };   | ||||
| 
 | ||||
|    | ||||
|   # Enable CUPS to print documents. | ||||
|   # services.printing.enable = true; | ||||
| 
 | ||||
|    | ||||
|   # Enable sound with pipewire. | ||||
|   sound.enable = true; | ||||
|   hardware.pulseaudio.enable = false; | ||||
|  | @ -86,50 +66,36 @@ | |||
|     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 Bluetooth. | ||||
|   hardware.bluetooth.enable = true; | ||||
| 
 | ||||
|    | ||||
|   # Enable touchpad support (enabled default in most desktopManager). | ||||
|   services.xserver.libinput.enable = true; | ||||
| 
 | ||||
|    | ||||
|   # NVIDIA drivers | ||||
|   hardware.opengl.enable = true; | ||||
|   hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; | ||||
|   hardware.nvidia.modesetting.enable = true; | ||||
| 
 | ||||
|   # Define a user account. Don't forget to set a password with ‘passwd’. | ||||
|   users.users.tdpeuter = { | ||||
|     description = "Tibo De Peuter"; | ||||
|     isNormalUser = true; | ||||
|     extraGroups = [ "networkmanager" "wheel" ]; | ||||
|     initialPassword = "ChangeMe"; | ||||
|     packages = with pkgs; [ | ||||
|       home-manager | ||||
|     ]; | ||||
|     shell = pkgs.zsh; | ||||
|   hardware = { | ||||
|     opengl.enable = true; | ||||
|     nvidia = { | ||||
|       open = true; | ||||
|       #     package = config.boot.kernelPackages.nvidiaPackages.stable; | ||||
|       modesetting.enable = true; | ||||
|       #     prime = { | ||||
|       #         offload.enable = true; | ||||
|       #         intelBusId = "PCI::00:02:0"; | ||||
|       #         nvidiaBusId = "PCI:01:00:0"; | ||||
|       #     }; | ||||
|     }; | ||||
|   }; | ||||
|    | ||||
|   # Allow unfree packages | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
| 
 | ||||
|   # List packages installed in system profile. To search, run: | ||||
|   # $ nix search wget | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|   ]; | ||||
|    | ||||
|   # Computer architecture | ||||
|   virtualisation.virtualbox.host.enable = true; | ||||
|   virtualisation.virtualbox.host.enableExtensionPack = true; | ||||
|   virtualisation.virtualbox.guest.enable = true; | ||||
|   virtualisation.virtualbox.guest.x11 = true; | ||||
|   users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ]; | ||||
| 
 | ||||
|   # Some programs need SUID wrappers, can be configured further or are | ||||
|   # started in user sessions. | ||||
|   # programs.mtr.enable = true; | ||||
|  | @ -137,23 +103,23 @@ | |||
|   #   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; | ||||
| 
 | ||||
|    | ||||
|   # 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 | ||||
|  |  | |||
							
								
								
									
										8
									
								
								nixos/modules/apps/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nixos/modules/apps/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| { | ||||
|     imports = [ | ||||
|         ./alacritty | ||||
|         ./firefox | ||||
|         ./thunderbird | ||||
|         # ./virtualbox | ||||
|     ]; | ||||
| } | ||||
							
								
								
									
										97
									
								
								nixos/modules/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								nixos/modules/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,97 @@ | |||
| { inputs, lib, config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|     imports = [ | ||||
|         ./apps | ||||
|         ./shells | ||||
|         ./utils | ||||
|     ]; | ||||
|      | ||||
|     # Nix Flakes | ||||
|     nix.package = pkgs.nixFlakes; | ||||
|     nix.extraOptions = '' | ||||
|         experimental-features = nix-command flakes | ||||
|         keep-outputs = true | ||||
|         keep-derivations = true | ||||
|     ''; | ||||
| 
 | ||||
|     users.users.tdpeuter = { | ||||
|         description = "Tibo De Peuter"; | ||||
|         isNormalUser = true; | ||||
|         extraGroups = [ "networkmanager" "wheel" ]; | ||||
|         initialPassword = "ChangeMe"; | ||||
|         packages = with pkgs; [ | ||||
|             home-manager | ||||
|         ]; | ||||
|         shell = pkgs.zsh; | ||||
|     }; | ||||
| 
 | ||||
|     home-manager.users.tdpeuter = { pkgs, ... }: { | ||||
|         home = { | ||||
|             username = "tdpeuter"; | ||||
|             homeDirectory = "/home/tdpeuter"; | ||||
|             stateVersion = "22.11"; | ||||
|            | ||||
|             packages = with pkgs; [ | ||||
|                 brave | ||||
|                 caprine-bin | ||||
|                 direnv | ||||
|                 discord | ||||
|                 duf | ||||
|                 git-crypt | ||||
|                 gnupg | ||||
|                 jellyfin-media-player | ||||
|                 libreoffice-fresh-unwrapped | ||||
|                 lynx | ||||
|                 mattermost-desktop | ||||
|                 nextcloud-client | ||||
|                 obsidian | ||||
|                 pinentry_qt | ||||
|                 spotify | ||||
|                 w3m | ||||
|                 zathura | ||||
|                 zenith | ||||
|                 zoom-us | ||||
|                  | ||||
|                 # Fonts | ||||
|                 corefonts      # Calibri for Uni | ||||
|             ]; | ||||
|         }; | ||||
|          | ||||
|         programs = { | ||||
|             home-manager.enable = true; | ||||
|              | ||||
|             direnv = { | ||||
|                 enable = true; | ||||
|                 nix-direnv.enable = true; | ||||
|             }; | ||||
|              | ||||
|             git = { | ||||
|                 enable = true; | ||||
|                 userName = "tdpeuter"; | ||||
|                 userEmail = "tibo.depeuter@gmail.com"; | ||||
|                 extraConfig = { | ||||
|                     core.editor = "vim"; | ||||
|                 }; | ||||
|                 includes = [ | ||||
|                     { | ||||
|                         path = "~/.gitconfig-ugent"; | ||||
|                         condition = "gitdir:~/Nextcloud/Documenten/UGent"; | ||||
|                     } | ||||
|                 ]; | ||||
|             }; | ||||
|              | ||||
|             gpg.enable = true; | ||||
|              | ||||
|         }; | ||||
|          | ||||
|         services = { | ||||
|             gpg-agent = { | ||||
|                 enable = true; | ||||
|                 pinentryFlavor = "qt"; | ||||
|             }; | ||||
|              | ||||
|         }; | ||||
|     }; | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										5
									
								
								nixos/modules/shells/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								nixos/modules/shells/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| { | ||||
|     imports = [ | ||||
|         ./zsh | ||||
|     ]; | ||||
| } | ||||
|  | @ -1,6 +1,7 @@ | |||
| { | ||||
|     imports = [ | ||||
|         ./vifm | ||||
|         ./vim | ||||
|         ./zellij | ||||
|     ]; | ||||
| } | ||||
|  |  | |||
|  | @ -1,114 +0,0 @@ | |||
| { inputs, lib, config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   # Check documentation at | ||||
|   # https://rycee.gitlab.io/home-manager/options.html | ||||
| 
 | ||||
|   imports = [ | ||||
|   ]; | ||||
| 
 | ||||
|   # Home manager | ||||
|   home = { | ||||
|     # Home Manager needs a bit of information about you and the | ||||
|     # paths it should manage. | ||||
|     username = "tdpeuter"; | ||||
|     homeDirectory = "/home/tdpeuter"; | ||||
| 
 | ||||
|     # This value determines the Home Manager release that your | ||||
|     # configuration is compatible with. This helps avoid breakage | ||||
|     # when a new Home Manager release introduces backwards | ||||
|     # incompatible changes. | ||||
|     # | ||||
|     # You can update Home Manager without changing this value. See | ||||
|     # the Home Manager release notes for a list of state version | ||||
|     # changes in each release. | ||||
|     stateVersion = "22.11"; | ||||
|    | ||||
|     packages = with pkgs; [ | ||||
|       alacritty | ||||
|       discord | ||||
|       duf | ||||
|       git-crypt | ||||
|       gnupg | ||||
|       libreoffice-fresh-unwrapped | ||||
|       lynx | ||||
|       mattermost-desktop | ||||
|       nextcloud-client | ||||
|       pinentry_qt | ||||
|       spotify | ||||
|       vifm | ||||
|       vim | ||||
|       w3m | ||||
|       zathura | ||||
|       zellij | ||||
|       zenith | ||||
|       zoom-us | ||||
| 
 | ||||
|       # Webdevelopment | ||||
|       jetbrains.webstorm | ||||
| 
 | ||||
|       # Software Engineering Lab 1 | ||||
|       android-studio | ||||
| 
 | ||||
|       # Fonts | ||||
|       font-awesome_5 # Vifm and zsh dependency | ||||
|     ]; | ||||
| 
 | ||||
|     file = { | ||||
|       ".config/alacritty".source = ../../../stow/alacritty/.config/alacritty; | ||||
|       ".config/vifm".source = ../../../stow/vifm/.config/vifm; | ||||
|       ".vim".source = ../../../stow/vim/.vim; | ||||
|       ".vimrc".source = ../../../stow/vim/.vimrc; | ||||
|       ".config/zellij".source = ../../../stow/zellij/.config/zellij; | ||||
|       ".oh-my-zsh".source = ../../../stow/zsh/.oh-my-zsh; | ||||
|     }; | ||||
| 
 | ||||
|   }; | ||||
| 
 | ||||
|   programs = { | ||||
|     # Let Home Manager install and manage itself. | ||||
|     home-manager.enable = true; | ||||
| 
 | ||||
|     git = { | ||||
|       enable = true; | ||||
|       userName = "tdpeuter"; | ||||
|       userEmail = "tibo.depeuter@gmail.com"; | ||||
|       extraConfig = { | ||||
|         core.editor = "vim"; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     gpg.enable = true; | ||||
| 
 | ||||
|     zsh = { | ||||
|       enable = true; | ||||
|       oh-my-zsh = { | ||||
|         enable = true; | ||||
|         custom = "$HOME/.oh-my-zsh"; | ||||
|         plugins = [ "dirhistory" "git" "screen" ]; | ||||
|         theme = "mrfortem"; | ||||
|       }; | ||||
|       plugins = [ | ||||
|         { | ||||
|           name = "cmdtime"; | ||||
|           src = pkgs.fetchFromGitHub { | ||||
|             owner  = "tom-auger"; | ||||
|             repo   = "cmdtime"; | ||||
|             rev    = "ffc72641dcfa0ee6666ceb1dc712b61be30a1e8b"; | ||||
|             hash = "sha256-v6wCfNoPXDD3sS6yUYE6lre8Ir1yJcLGoAW3O8sUOCg="; | ||||
|           }; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
| 
 | ||||
|   services = { | ||||
|     gpg-agent = { | ||||
|       enable = true; | ||||
|       pinentryFlavor = "qt"; | ||||
|     }; | ||||
| 
 | ||||
|   }; | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue