forked from jan-leila/nix-config
		
	created program option entries for all packages that needs continual state
This commit is contained in:
		
							parent
							
								
									5484f9ba04
								
							
						
					
					
						commit
						9fe35e74ad
					
				
					 21 changed files with 374 additions and 63 deletions
				
			
		|  | @ -12,41 +12,47 @@ in { | ||||||
|     # See https://search.nixos.org/packages for all options |     # See https://search.nixos.org/packages for all options | ||||||
|     home.packages = lib.lists.optionals userConfig.isDesktopUser ( |     home.packages = lib.lists.optionals userConfig.isDesktopUser ( | ||||||
|       with pkgs; [ |       with pkgs; [ | ||||||
|         firefox |  | ||||||
|         bitwarden |  | ||||||
|         discord |  | ||||||
|         makemkv |  | ||||||
|         signal-desktop-bin |  | ||||||
|         ungoogled-chromium |         ungoogled-chromium | ||||||
|       ] |       ] | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|     # Packages that need to be installed with some extra configuration |     # Packages that need to be installed with some extra configuration | ||||||
|     # See https://home-manager-options.extranix.com/ for all options |     # See https://home-manager-options.extranix.com/ for all options | ||||||
|     programs = { |     programs = lib.mkMerge [ | ||||||
|       # Let Home Manager install and manage itself. |       { | ||||||
|       home-manager.enable = true; |         # Let Home Manager install and manage itself. | ||||||
|  |         home-manager.enable = true; | ||||||
|  |       } | ||||||
|  |       (lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) { | ||||||
|  |         git = { | ||||||
|  |           enable = true; | ||||||
|  |           userName = "Eve"; | ||||||
|  |           userEmail = "evesnrobins@gmail.com"; | ||||||
|  |           extraConfig.init.defaultBranch = "main"; | ||||||
|  |         }; | ||||||
| 
 | 
 | ||||||
|       git = { |         openssh = { | ||||||
|         enable = true; |           enable = true; | ||||||
|         userName = "Eve"; |           hostKeys = [ | ||||||
|         userEmail = "evesnrobins@gmail.com"; |             { | ||||||
|         extraConfig.init.defaultBranch = "main"; |               type = "ed25519"; | ||||||
|       }; |               path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; | ||||||
|  |             } | ||||||
|  |           ]; | ||||||
|  |         }; | ||||||
|  |       }) | ||||||
|  |       (lib.mkIf userConfig.isDesktopUser { | ||||||
|  |         vscode = { | ||||||
|  |           enable = true; | ||||||
|  |           package = pkgs.vscodium; | ||||||
|  |         }; | ||||||
| 
 | 
 | ||||||
|       vscode = { |         firefox.enable = true; | ||||||
|         enable = true; |         bitwarden.enable = true; | ||||||
|         package = pkgs.vscodium; |         discord.enable = true; | ||||||
|       }; |         makemkv.enable = true; | ||||||
| 
 |         signal-desktop-bin.enable = true; | ||||||
|       openssh = { |       }) | ||||||
|         hostKeys = [ |     ]; | ||||||
|           { |  | ||||||
|             type = "ed25519"; |  | ||||||
|             path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; |  | ||||||
|           } |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -45,10 +45,6 @@ in { | ||||||
|         ++ ( |         ++ ( | ||||||
|           lib.lists.optionals hardware.directAccess.enable (with pkgs; [ |           lib.lists.optionals hardware.directAccess.enable (with pkgs; [ | ||||||
|             #foss platforms |             #foss platforms | ||||||
|             # TODO: move signal to package with impermanence |  | ||||||
|             signal-desktop-bin |  | ||||||
|             # TODO: move bitwarden to package with impermanence |  | ||||||
|             bitwarden |  | ||||||
|             ungoogled-chromium |             ungoogled-chromium | ||||||
|             libreoffice |             libreoffice | ||||||
|             inkscape |             inkscape | ||||||
|  | @ -57,42 +53,25 @@ in { | ||||||
|             freecad |             freecad | ||||||
|             # cura |             # cura | ||||||
|             # kicad-small |             # kicad-small | ||||||
|             # TODO: move makemkv to package with configs set and impermanence |  | ||||||
|             makemkv |  | ||||||
|             onionshare |             onionshare | ||||||
|             # rhythmbox |             # rhythmbox | ||||||
| 
 | 
 | ||||||
|             # TODO: move obs to package with impermanence |  | ||||||
|             (lib.mkIf hardware.graphicsAcceleration.enable obs-studio) |  | ||||||
|             # wireshark |             # wireshark | ||||||
|             # rpi-imager |             # rpi-imager | ||||||
|             # fritzing |             # fritzing | ||||||
|             mfoc |             mfoc | ||||||
|             tor-browser |             tor-browser | ||||||
|             anki |  | ||||||
|             pdfarranger |             pdfarranger | ||||||
|             calibre |  | ||||||
|             qbittorrent |  | ||||||
|             picard |             picard | ||||||
| 
 | 
 | ||||||
|             # proprietary platforms |             # proprietary platforms | ||||||
|             # TODO: move discord to package with impermanence |  | ||||||
|             discord |  | ||||||
|             # TODO: move obsidian to package with impermanence |  | ||||||
|             obsidian |  | ||||||
|             # TODO: move prostudiomasters to package with impermanence |  | ||||||
|             prostudiomasters |  | ||||||
|             (lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve) |             (lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve) | ||||||
| 
 | 
 | ||||||
|             # development tools |             # development tools | ||||||
|             # androidStudioPackages.canary |             # androidStudioPackages.canary | ||||||
|             # TODO: move idea to package with impermanence and installed extensions |  | ||||||
|             jetbrains.idea-community |  | ||||||
|             qFlipper |             qFlipper | ||||||
| 
 | 
 | ||||||
|             # system tools |             # system tools | ||||||
|             # TODO: move protonvpn to package with impermanence and installed extensions |  | ||||||
|             protonvpn-gui |  | ||||||
|             openvpn |             openvpn | ||||||
|             noisetorch |             noisetorch | ||||||
| 
 | 
 | ||||||
|  | @ -103,12 +82,35 @@ in { | ||||||
|           ]) |           ]) | ||||||
|         ) |         ) | ||||||
|       ); |       ); | ||||||
|       programs = { |       programs = lib.mkMerge [ | ||||||
|         # Let Home Manager install and manage itself. |         { | ||||||
|         home-manager.enable = true; |           # Let Home Manager install and manage itself. | ||||||
| 
 |           home-manager.enable = true; | ||||||
|         bash.enable = true; |           bash.enable = true; | ||||||
|       }; |         } | ||||||
|  |         (lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) { | ||||||
|  |           git.enable = true; | ||||||
|  |           openssh.enable = true; | ||||||
|  |         }) | ||||||
|  |         (lib.mkIf hardware.directAccess.enable { | ||||||
|  |           anki.enable = true; | ||||||
|  |           bitwarden.enable = true; | ||||||
|  |           signal-desktop-bin.enable = true; | ||||||
|  |           makemkv.enable = true; | ||||||
|  |           obs-studio.enable = hardware.graphicsAcceleration.enable; | ||||||
|  |           calibre.enable = true; | ||||||
|  |           qbittorrent.enable = true; | ||||||
|  |           discord.enable = true; | ||||||
|  |           obsidian.enable = true; | ||||||
|  |           prostudiomasters.enable = true; | ||||||
|  |           jetbrains.idea-community.enable = true; | ||||||
|  |           protonvpn-gui.enable = true; | ||||||
|  |         }) | ||||||
|  |         (lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) { | ||||||
|  |           vscode.enable = true; | ||||||
|  |           firefox.enable = true; | ||||||
|  |         }) | ||||||
|  |       ]; | ||||||
|     }) |     }) | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,12 +2,10 @@ | ||||||
|   lib, |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   inputs, | ||||||
|   config, |  | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|   config = { |   config = { | ||||||
|     programs.firefox = { |     programs.firefox = { | ||||||
|       enable = config.user.isDesktopUser; |  | ||||||
|       profiles.leyla = { |       profiles.leyla = { | ||||||
|         settings = { |         settings = { | ||||||
|           "browser.search.defaultenginename" = "Searx"; |           "browser.search.defaultenginename" = "Searx"; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,7 @@ | ||||||
| {config, ...}: { | {...}: { | ||||||
|   config = { |   config = { | ||||||
|     programs = { |     programs = { | ||||||
|       git = { |       git = { | ||||||
|         enable = config.user.isDesktopUser || config.user.isTerminalUser; |  | ||||||
|         userName = "Leyla Becker"; |         userName = "Leyla Becker"; | ||||||
|         userEmail = "git@jan-leila.com"; |         userEmail = "git@jan-leila.com"; | ||||||
|         extraConfig.init.defaultBranch = "main"; |         extraConfig.init.defaultBranch = "main"; | ||||||
|  |  | ||||||
|  | @ -6,7 +6,6 @@ | ||||||
|   config = { |   config = { | ||||||
|     programs = { |     programs = { | ||||||
|       openssh = { |       openssh = { | ||||||
|         enable = config.user.isDesktopUser; |  | ||||||
|         authorizedKeys = [ |         authorizedKeys = [ | ||||||
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" |           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" | ||||||
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant" |           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant" | ||||||
|  | @ -20,6 +19,5 @@ | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|     # TODO: impermanence module, prob in home-manager-modules? |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -26,8 +26,6 @@ in { | ||||||
|         open-vsx = extensions.open-vsx; |         open-vsx = extensions.open-vsx; | ||||||
|         vscode-marketplace = extensions.vscode-marketplace; |         vscode-marketplace = extensions.vscode-marketplace; | ||||||
|       in { |       in { | ||||||
|         enable = true; |  | ||||||
| 
 |  | ||||||
|         package = pkgs.vscodium; |         package = pkgs.vscodium; | ||||||
| 
 | 
 | ||||||
|         mutableExtensionsDir = false; |         mutableExtensionsDir = false; | ||||||
|  |  | ||||||
|  | @ -6,5 +6,6 @@ | ||||||
|     ./i18n.nix |     ./i18n.nix | ||||||
|     ./openssh.nix |     ./openssh.nix | ||||||
|     ./continue.nix |     ./continue.nix | ||||||
|  |     ./programs | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/anki.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/anki.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.anki = { | ||||||
|  |     enable = lib.mkEnableOption "enable anki"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.anki.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         anki | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for anki | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/bitwarden.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/bitwarden.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.bitwarden = { | ||||||
|  |     enable = lib.mkEnableOption "enable bitwarden"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.bitwarden.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         bitwarden | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for bitwarden | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/calibre.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/calibre.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.calibre = { | ||||||
|  |     enable = lib.mkEnableOption "enable calibre"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.calibre.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         calibre | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for calibre | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										17
									
								
								modules/home-manager-modules/programs/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/home-manager-modules/programs/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | {...}: { | ||||||
|  |   imports = [ | ||||||
|  |     ./firefox.nix | ||||||
|  |     ./signal.nix | ||||||
|  |     ./bitwarden.nix | ||||||
|  |     ./makemkv.nix | ||||||
|  |     ./obs.nix | ||||||
|  |     ./anki.nix | ||||||
|  |     ./qbittorrent.nix | ||||||
|  |     ./discord.nix | ||||||
|  |     ./obsidian.nix | ||||||
|  |     ./prostudiomasters.nix | ||||||
|  |     ./idea.nix | ||||||
|  |     ./protonvpn.nix | ||||||
|  |     ./calibre.nix | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/discord.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/discord.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.discord = { | ||||||
|  |     enable = lib.mkEnableOption "enable discord"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.discord.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         discord | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for discord | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								modules/home-manager-modules/programs/firefox.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								modules/home-manager-modules/programs/firefox.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | {...}: { | ||||||
|  |   # TODO: map firefox impermanence | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/idea.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/idea.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.jetbrains.idea-community = { | ||||||
|  |     enable = lib.mkEnableOption "enable idea-community"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.jetbrains.idea-community.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         jetbrains.idea-community | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for idea-community | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										25
									
								
								modules/home-manager-modules/programs/makemkv.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/home-manager-modules/programs/makemkv.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.makemkv = { | ||||||
|  |     enable = lib.mkEnableOption "enable makemkv"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.makemkv.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         makemkv | ||||||
|  |       ]; | ||||||
|  |       # TODO: write config file for makemkv | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for makemkv | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/obs.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/obs.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.obs-studio = { | ||||||
|  |     # enable = lib.mkEnableOption "enable obs"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.obs-studio.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         obs-studio | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for obs | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/obsidian.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/obsidian.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.obsidian = { | ||||||
|  |     # enable = lib.mkEnableOption "enable obsidian"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.obsidian.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         obsidian | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for obsidian | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/prostudiomasters.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/prostudiomasters.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.prostudiomasters = { | ||||||
|  |     enable = lib.mkEnableOption "enable prostudiomasters"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.prostudiomasters.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         prostudiomasters | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for prostudiomasters | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/protonvpn.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/protonvpn.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.protonvpn-gui = { | ||||||
|  |     enable = lib.mkEnableOption "enable protonvpn"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.protonvpn-gui.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         protonvpn-gui | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for protonvpn | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/qbittorrent.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/qbittorrent.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.qbittorrent = { | ||||||
|  |     enable = lib.mkEnableOption "enable qbittorrent"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.qbittorrent.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         qbittorrent | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for qbittorrent | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/home-manager-modules/programs/signal.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home-manager-modules/programs/signal.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   options.programs.signal-desktop-bin = { | ||||||
|  |     enable = lib.mkEnableOption "enable signal"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   config = lib.mkIf config.programs.signal-desktop-bin.enable (lib.mkMerge [ | ||||||
|  |     { | ||||||
|  |       home.packages = with pkgs; [ | ||||||
|  |         signal-desktop-bin | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |     ( | ||||||
|  |       lib.mkIf osConfig.host.impermanence.enable { | ||||||
|  |         # TODO: map impermanence for signal | ||||||
|  |       } | ||||||
|  |     ) | ||||||
|  |   ]); | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue